1/*  This file is part of GDB.
2
3    Copyright 2004, 2007 Free Software Foundation, Inc.
4
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18    */
19
20
21#include "psim.h"
22#include "options.h"
23#include "registers.h"
24
25#include "ansidecl.h"
26#include "sim_callbacks.h"
27#include "gdb/callback.h"
28#include "gdb/remote-sim.h"
29#include "gdb/sim-ppc.h"
30
31/* Return the name of the register whose number is REGNUM, or zero if
32   REGNUM is an invalid register number.  */
33
34static const char *
35regnum2spr (int spr)
36{
37  if (spr_is_valid (spr))
38    return spr_name (spr);
39  else
40    return NULL;
41}
42
43static const char *
44regnum2name (int regnum)
45{
46  switch (regnum)
47    {
48    case sim_ppc_r0_regnum: return "r0";
49    case sim_ppc_r1_regnum: return "r1";
50    case sim_ppc_r2_regnum: return "r2";
51    case sim_ppc_r3_regnum: return "r3";
52    case sim_ppc_r4_regnum: return "r4";
53    case sim_ppc_r5_regnum: return "r5";
54    case sim_ppc_r6_regnum: return "r6";
55    case sim_ppc_r7_regnum: return "r7";
56    case sim_ppc_r8_regnum: return "r8";
57    case sim_ppc_r9_regnum: return "r9";
58    case sim_ppc_r10_regnum: return "r10";
59    case sim_ppc_r11_regnum: return "r11";
60    case sim_ppc_r12_regnum: return "r12";
61    case sim_ppc_r13_regnum: return "r13";
62    case sim_ppc_r14_regnum: return "r14";
63    case sim_ppc_r15_regnum: return "r15";
64    case sim_ppc_r16_regnum: return "r16";
65    case sim_ppc_r17_regnum: return "r17";
66    case sim_ppc_r18_regnum: return "r18";
67    case sim_ppc_r19_regnum: return "r19";
68    case sim_ppc_r20_regnum: return "r20";
69    case sim_ppc_r21_regnum: return "r21";
70    case sim_ppc_r22_regnum: return "r22";
71    case sim_ppc_r23_regnum: return "r23";
72    case sim_ppc_r24_regnum: return "r24";
73    case sim_ppc_r25_regnum: return "r25";
74    case sim_ppc_r26_regnum: return "r26";
75    case sim_ppc_r27_regnum: return "r27";
76    case sim_ppc_r28_regnum: return "r28";
77    case sim_ppc_r29_regnum: return "r29";
78    case sim_ppc_r30_regnum: return "r30";
79    case sim_ppc_r31_regnum: return "r31";
80
81    case sim_ppc_f0_regnum: return "f0";
82    case sim_ppc_f1_regnum: return "f1";
83    case sim_ppc_f2_regnum: return "f2";
84    case sim_ppc_f3_regnum: return "f3";
85    case sim_ppc_f4_regnum: return "f4";
86    case sim_ppc_f5_regnum: return "f5";
87    case sim_ppc_f6_regnum: return "f6";
88    case sim_ppc_f7_regnum: return "f7";
89    case sim_ppc_f8_regnum: return "f8";
90    case sim_ppc_f9_regnum: return "f9";
91    case sim_ppc_f10_regnum: return "f10";
92    case sim_ppc_f11_regnum: return "f11";
93    case sim_ppc_f12_regnum: return "f12";
94    case sim_ppc_f13_regnum: return "f13";
95    case sim_ppc_f14_regnum: return "f14";
96    case sim_ppc_f15_regnum: return "f15";
97    case sim_ppc_f16_regnum: return "f16";
98    case sim_ppc_f17_regnum: return "f17";
99    case sim_ppc_f18_regnum: return "f18";
100    case sim_ppc_f19_regnum: return "f19";
101    case sim_ppc_f20_regnum: return "f20";
102    case sim_ppc_f21_regnum: return "f21";
103    case sim_ppc_f22_regnum: return "f22";
104    case sim_ppc_f23_regnum: return "f23";
105    case sim_ppc_f24_regnum: return "f24";
106    case sim_ppc_f25_regnum: return "f25";
107    case sim_ppc_f26_regnum: return "f26";
108    case sim_ppc_f27_regnum: return "f27";
109    case sim_ppc_f28_regnum: return "f28";
110    case sim_ppc_f29_regnum: return "f29";
111    case sim_ppc_f30_regnum: return "f30";
112    case sim_ppc_f31_regnum: return "f31";
113
114    case sim_ppc_vr0_regnum: return "vr0";
115    case sim_ppc_vr1_regnum: return "vr1";
116    case sim_ppc_vr2_regnum: return "vr2";
117    case sim_ppc_vr3_regnum: return "vr3";
118    case sim_ppc_vr4_regnum: return "vr4";
119    case sim_ppc_vr5_regnum: return "vr5";
120    case sim_ppc_vr6_regnum: return "vr6";
121    case sim_ppc_vr7_regnum: return "vr7";
122    case sim_ppc_vr8_regnum: return "vr8";
123    case sim_ppc_vr9_regnum: return "vr9";
124    case sim_ppc_vr10_regnum: return "vr10";
125    case sim_ppc_vr11_regnum: return "vr11";
126    case sim_ppc_vr12_regnum: return "vr12";
127    case sim_ppc_vr13_regnum: return "vr13";
128    case sim_ppc_vr14_regnum: return "vr14";
129    case sim_ppc_vr15_regnum: return "vr15";
130    case sim_ppc_vr16_regnum: return "vr16";
131    case sim_ppc_vr17_regnum: return "vr17";
132    case sim_ppc_vr18_regnum: return "vr18";
133    case sim_ppc_vr19_regnum: return "vr19";
134    case sim_ppc_vr20_regnum: return "vr20";
135    case sim_ppc_vr21_regnum: return "vr21";
136    case sim_ppc_vr22_regnum: return "vr22";
137    case sim_ppc_vr23_regnum: return "vr23";
138    case sim_ppc_vr24_regnum: return "vr24";
139    case sim_ppc_vr25_regnum: return "vr25";
140    case sim_ppc_vr26_regnum: return "vr26";
141    case sim_ppc_vr27_regnum: return "vr27";
142    case sim_ppc_vr28_regnum: return "vr28";
143    case sim_ppc_vr29_regnum: return "vr29";
144    case sim_ppc_vr30_regnum: return "vr30";
145    case sim_ppc_vr31_regnum: return "vr31";
146    case sim_ppc_rh0_regnum: return "rh0";
147    case sim_ppc_rh1_regnum: return "rh1";
148    case sim_ppc_rh2_regnum: return "rh2";
149    case sim_ppc_rh3_regnum: return "rh3";
150    case sim_ppc_rh4_regnum: return "rh4";
151    case sim_ppc_rh5_regnum: return "rh5";
152    case sim_ppc_rh6_regnum: return "rh6";
153    case sim_ppc_rh7_regnum: return "rh7";
154    case sim_ppc_rh8_regnum: return "rh8";
155    case sim_ppc_rh9_regnum: return "rh9";
156    case sim_ppc_rh10_regnum: return "rh10";
157    case sim_ppc_rh11_regnum: return "rh11";
158    case sim_ppc_rh12_regnum: return "rh12";
159    case sim_ppc_rh13_regnum: return "rh13";
160    case sim_ppc_rh14_regnum: return "rh14";
161    case sim_ppc_rh15_regnum: return "rh15";
162    case sim_ppc_rh16_regnum: return "rh16";
163    case sim_ppc_rh17_regnum: return "rh17";
164    case sim_ppc_rh18_regnum: return "rh18";
165    case sim_ppc_rh19_regnum: return "rh19";
166    case sim_ppc_rh20_regnum: return "rh20";
167    case sim_ppc_rh21_regnum: return "rh21";
168    case sim_ppc_rh22_regnum: return "rh22";
169    case sim_ppc_rh23_regnum: return "rh23";
170    case sim_ppc_rh24_regnum: return "rh24";
171    case sim_ppc_rh25_regnum: return "rh25";
172    case sim_ppc_rh26_regnum: return "rh26";
173    case sim_ppc_rh27_regnum: return "rh27";
174    case sim_ppc_rh28_regnum: return "rh28";
175    case sim_ppc_rh29_regnum: return "rh29";
176    case sim_ppc_rh30_regnum: return "rh30";
177    case sim_ppc_rh31_regnum: return "rh31";
178
179    case sim_ppc_ev0_regnum: return "ev0";
180    case sim_ppc_ev1_regnum: return "ev1";
181    case sim_ppc_ev2_regnum: return "ev2";
182    case sim_ppc_ev3_regnum: return "ev3";
183    case sim_ppc_ev4_regnum: return "ev4";
184    case sim_ppc_ev5_regnum: return "ev5";
185    case sim_ppc_ev6_regnum: return "ev6";
186    case sim_ppc_ev7_regnum: return "ev7";
187    case sim_ppc_ev8_regnum: return "ev8";
188    case sim_ppc_ev9_regnum: return "ev9";
189    case sim_ppc_ev10_regnum: return "ev10";
190    case sim_ppc_ev11_regnum: return "ev11";
191    case sim_ppc_ev12_regnum: return "ev12";
192    case sim_ppc_ev13_regnum: return "ev13";
193    case sim_ppc_ev14_regnum: return "ev14";
194    case sim_ppc_ev15_regnum: return "ev15";
195    case sim_ppc_ev16_regnum: return "ev16";
196    case sim_ppc_ev17_regnum: return "ev17";
197    case sim_ppc_ev18_regnum: return "ev18";
198    case sim_ppc_ev19_regnum: return "ev19";
199    case sim_ppc_ev20_regnum: return "ev20";
200    case sim_ppc_ev21_regnum: return "ev21";
201    case sim_ppc_ev22_regnum: return "ev22";
202    case sim_ppc_ev23_regnum: return "ev23";
203    case sim_ppc_ev24_regnum: return "ev24";
204    case sim_ppc_ev25_regnum: return "ev25";
205    case sim_ppc_ev26_regnum: return "ev26";
206    case sim_ppc_ev27_regnum: return "ev27";
207    case sim_ppc_ev28_regnum: return "ev28";
208    case sim_ppc_ev29_regnum: return "ev29";
209    case sim_ppc_ev30_regnum: return "ev30";
210    case sim_ppc_ev31_regnum: return "ev31";
211
212    case sim_ppc_sr0_regnum: return "sr0";
213    case sim_ppc_sr1_regnum: return "sr1";
214    case sim_ppc_sr2_regnum: return "sr2";
215    case sim_ppc_sr3_regnum: return "sr3";
216    case sim_ppc_sr4_regnum: return "sr4";
217    case sim_ppc_sr5_regnum: return "sr5";
218    case sim_ppc_sr6_regnum: return "sr6";
219    case sim_ppc_sr7_regnum: return "sr7";
220    case sim_ppc_sr8_regnum: return "sr8";
221    case sim_ppc_sr9_regnum: return "sr9";
222    case sim_ppc_sr10_regnum: return "sr10";
223    case sim_ppc_sr11_regnum: return "sr11";
224    case sim_ppc_sr12_regnum: return "sr12";
225    case sim_ppc_sr13_regnum: return "sr13";
226    case sim_ppc_sr14_regnum: return "sr14";
227    case sim_ppc_sr15_regnum: return "sr15";
228
229    case sim_ppc_pc_regnum: return "pc";
230    case sim_ppc_ps_regnum: return "ps";
231    case sim_ppc_cr_regnum: return "cr";
232    case sim_ppc_fpscr_regnum: return "fpscr";
233    case sim_ppc_acc_regnum: return "acc";
234    case sim_ppc_vscr_regnum: return "vscr";
235
236    case sim_ppc_spr0_regnum: return regnum2spr (0);
237    case sim_ppc_spr1_regnum: return regnum2spr (1);
238    case sim_ppc_spr2_regnum: return regnum2spr (2);
239    case sim_ppc_spr3_regnum: return regnum2spr (3);
240    case sim_ppc_spr4_regnum: return regnum2spr (4);
241    case sim_ppc_spr5_regnum: return regnum2spr (5);
242    case sim_ppc_spr6_regnum: return regnum2spr (6);
243    case sim_ppc_spr7_regnum: return regnum2spr (7);
244    case sim_ppc_spr8_regnum: return regnum2spr (8);
245    case sim_ppc_spr9_regnum: return regnum2spr (9);
246    case sim_ppc_spr10_regnum: return regnum2spr (10);
247    case sim_ppc_spr11_regnum: return regnum2spr (11);
248    case sim_ppc_spr12_regnum: return regnum2spr (12);
249    case sim_ppc_spr13_regnum: return regnum2spr (13);
250    case sim_ppc_spr14_regnum: return regnum2spr (14);
251    case sim_ppc_spr15_regnum: return regnum2spr (15);
252    case sim_ppc_spr16_regnum: return regnum2spr (16);
253    case sim_ppc_spr17_regnum: return regnum2spr (17);
254    case sim_ppc_spr18_regnum: return regnum2spr (18);
255    case sim_ppc_spr19_regnum: return regnum2spr (19);
256    case sim_ppc_spr20_regnum: return regnum2spr (20);
257    case sim_ppc_spr21_regnum: return regnum2spr (21);
258    case sim_ppc_spr22_regnum: return regnum2spr (22);
259    case sim_ppc_spr23_regnum: return regnum2spr (23);
260    case sim_ppc_spr24_regnum: return regnum2spr (24);
261    case sim_ppc_spr25_regnum: return regnum2spr (25);
262    case sim_ppc_spr26_regnum: return regnum2spr (26);
263    case sim_ppc_spr27_regnum: return regnum2spr (27);
264    case sim_ppc_spr28_regnum: return regnum2spr (28);
265    case sim_ppc_spr29_regnum: return regnum2spr (29);
266    case sim_ppc_spr30_regnum: return regnum2spr (30);
267    case sim_ppc_spr31_regnum: return regnum2spr (31);
268    case sim_ppc_spr32_regnum: return regnum2spr (32);
269    case sim_ppc_spr33_regnum: return regnum2spr (33);
270    case sim_ppc_spr34_regnum: return regnum2spr (34);
271    case sim_ppc_spr35_regnum: return regnum2spr (35);
272    case sim_ppc_spr36_regnum: return regnum2spr (36);
273    case sim_ppc_spr37_regnum: return regnum2spr (37);
274    case sim_ppc_spr38_regnum: return regnum2spr (38);
275    case sim_ppc_spr39_regnum: return regnum2spr (39);
276    case sim_ppc_spr40_regnum: return regnum2spr (40);
277    case sim_ppc_spr41_regnum: return regnum2spr (41);
278    case sim_ppc_spr42_regnum: return regnum2spr (42);
279    case sim_ppc_spr43_regnum: return regnum2spr (43);
280    case sim_ppc_spr44_regnum: return regnum2spr (44);
281    case sim_ppc_spr45_regnum: return regnum2spr (45);
282    case sim_ppc_spr46_regnum: return regnum2spr (46);
283    case sim_ppc_spr47_regnum: return regnum2spr (47);
284    case sim_ppc_spr48_regnum: return regnum2spr (48);
285    case sim_ppc_spr49_regnum: return regnum2spr (49);
286    case sim_ppc_spr50_regnum: return regnum2spr (50);
287    case sim_ppc_spr51_regnum: return regnum2spr (51);
288    case sim_ppc_spr52_regnum: return regnum2spr (52);
289    case sim_ppc_spr53_regnum: return regnum2spr (53);
290    case sim_ppc_spr54_regnum: return regnum2spr (54);
291    case sim_ppc_spr55_regnum: return regnum2spr (55);
292    case sim_ppc_spr56_regnum: return regnum2spr (56);
293    case sim_ppc_spr57_regnum: return regnum2spr (57);
294    case sim_ppc_spr58_regnum: return regnum2spr (58);
295    case sim_ppc_spr59_regnum: return regnum2spr (59);
296    case sim_ppc_spr60_regnum: return regnum2spr (60);
297    case sim_ppc_spr61_regnum: return regnum2spr (61);
298    case sim_ppc_spr62_regnum: return regnum2spr (62);
299    case sim_ppc_spr63_regnum: return regnum2spr (63);
300    case sim_ppc_spr64_regnum: return regnum2spr (64);
301    case sim_ppc_spr65_regnum: return regnum2spr (65);
302    case sim_ppc_spr66_regnum: return regnum2spr (66);
303    case sim_ppc_spr67_regnum: return regnum2spr (67);
304    case sim_ppc_spr68_regnum: return regnum2spr (68);
305    case sim_ppc_spr69_regnum: return regnum2spr (69);
306    case sim_ppc_spr70_regnum: return regnum2spr (70);
307    case sim_ppc_spr71_regnum: return regnum2spr (71);
308    case sim_ppc_spr72_regnum: return regnum2spr (72);
309    case sim_ppc_spr73_regnum: return regnum2spr (73);
310    case sim_ppc_spr74_regnum: return regnum2spr (74);
311    case sim_ppc_spr75_regnum: return regnum2spr (75);
312    case sim_ppc_spr76_regnum: return regnum2spr (76);
313    case sim_ppc_spr77_regnum: return regnum2spr (77);
314    case sim_ppc_spr78_regnum: return regnum2spr (78);
315    case sim_ppc_spr79_regnum: return regnum2spr (79);
316    case sim_ppc_spr80_regnum: return regnum2spr (80);
317    case sim_ppc_spr81_regnum: return regnum2spr (81);
318    case sim_ppc_spr82_regnum: return regnum2spr (82);
319    case sim_ppc_spr83_regnum: return regnum2spr (83);
320    case sim_ppc_spr84_regnum: return regnum2spr (84);
321    case sim_ppc_spr85_regnum: return regnum2spr (85);
322    case sim_ppc_spr86_regnum: return regnum2spr (86);
323    case sim_ppc_spr87_regnum: return regnum2spr (87);
324    case sim_ppc_spr88_regnum: return regnum2spr (88);
325    case sim_ppc_spr89_regnum: return regnum2spr (89);
326    case sim_ppc_spr90_regnum: return regnum2spr (90);
327    case sim_ppc_spr91_regnum: return regnum2spr (91);
328    case sim_ppc_spr92_regnum: return regnum2spr (92);
329    case sim_ppc_spr93_regnum: return regnum2spr (93);
330    case sim_ppc_spr94_regnum: return regnum2spr (94);
331    case sim_ppc_spr95_regnum: return regnum2spr (95);
332    case sim_ppc_spr96_regnum: return regnum2spr (96);
333    case sim_ppc_spr97_regnum: return regnum2spr (97);
334    case sim_ppc_spr98_regnum: return regnum2spr (98);
335    case sim_ppc_spr99_regnum: return regnum2spr (99);
336    case sim_ppc_spr100_regnum: return regnum2spr (100);
337    case sim_ppc_spr101_regnum: return regnum2spr (101);
338    case sim_ppc_spr102_regnum: return regnum2spr (102);
339    case sim_ppc_spr103_regnum: return regnum2spr (103);
340    case sim_ppc_spr104_regnum: return regnum2spr (104);
341    case sim_ppc_spr105_regnum: return regnum2spr (105);
342    case sim_ppc_spr106_regnum: return regnum2spr (106);
343    case sim_ppc_spr107_regnum: return regnum2spr (107);
344    case sim_ppc_spr108_regnum: return regnum2spr (108);
345    case sim_ppc_spr109_regnum: return regnum2spr (109);
346    case sim_ppc_spr110_regnum: return regnum2spr (110);
347    case sim_ppc_spr111_regnum: return regnum2spr (111);
348    case sim_ppc_spr112_regnum: return regnum2spr (112);
349    case sim_ppc_spr113_regnum: return regnum2spr (113);
350    case sim_ppc_spr114_regnum: return regnum2spr (114);
351    case sim_ppc_spr115_regnum: return regnum2spr (115);
352    case sim_ppc_spr116_regnum: return regnum2spr (116);
353    case sim_ppc_spr117_regnum: return regnum2spr (117);
354    case sim_ppc_spr118_regnum: return regnum2spr (118);
355    case sim_ppc_spr119_regnum: return regnum2spr (119);
356    case sim_ppc_spr120_regnum: return regnum2spr (120);
357    case sim_ppc_spr121_regnum: return regnum2spr (121);
358    case sim_ppc_spr122_regnum: return regnum2spr (122);
359    case sim_ppc_spr123_regnum: return regnum2spr (123);
360    case sim_ppc_spr124_regnum: return regnum2spr (124);
361    case sim_ppc_spr125_regnum: return regnum2spr (125);
362    case sim_ppc_spr126_regnum: return regnum2spr (126);
363    case sim_ppc_spr127_regnum: return regnum2spr (127);
364    case sim_ppc_spr128_regnum: return regnum2spr (128);
365    case sim_ppc_spr129_regnum: return regnum2spr (129);
366    case sim_ppc_spr130_regnum: return regnum2spr (130);
367    case sim_ppc_spr131_regnum: return regnum2spr (131);
368    case sim_ppc_spr132_regnum: return regnum2spr (132);
369    case sim_ppc_spr133_regnum: return regnum2spr (133);
370    case sim_ppc_spr134_regnum: return regnum2spr (134);
371    case sim_ppc_spr135_regnum: return regnum2spr (135);
372    case sim_ppc_spr136_regnum: return regnum2spr (136);
373    case sim_ppc_spr137_regnum: return regnum2spr (137);
374    case sim_ppc_spr138_regnum: return regnum2spr (138);
375    case sim_ppc_spr139_regnum: return regnum2spr (139);
376    case sim_ppc_spr140_regnum: return regnum2spr (140);
377    case sim_ppc_spr141_regnum: return regnum2spr (141);
378    case sim_ppc_spr142_regnum: return regnum2spr (142);
379    case sim_ppc_spr143_regnum: return regnum2spr (143);
380    case sim_ppc_spr144_regnum: return regnum2spr (144);
381    case sim_ppc_spr145_regnum: return regnum2spr (145);
382    case sim_ppc_spr146_regnum: return regnum2spr (146);
383    case sim_ppc_spr147_regnum: return regnum2spr (147);
384    case sim_ppc_spr148_regnum: return regnum2spr (148);
385    case sim_ppc_spr149_regnum: return regnum2spr (149);
386    case sim_ppc_spr150_regnum: return regnum2spr (150);
387    case sim_ppc_spr151_regnum: return regnum2spr (151);
388    case sim_ppc_spr152_regnum: return regnum2spr (152);
389    case sim_ppc_spr153_regnum: return regnum2spr (153);
390    case sim_ppc_spr154_regnum: return regnum2spr (154);
391    case sim_ppc_spr155_regnum: return regnum2spr (155);
392    case sim_ppc_spr156_regnum: return regnum2spr (156);
393    case sim_ppc_spr157_regnum: return regnum2spr (157);
394    case sim_ppc_spr158_regnum: return regnum2spr (158);
395    case sim_ppc_spr159_regnum: return regnum2spr (159);
396    case sim_ppc_spr160_regnum: return regnum2spr (160);
397    case sim_ppc_spr161_regnum: return regnum2spr (161);
398    case sim_ppc_spr162_regnum: return regnum2spr (162);
399    case sim_ppc_spr163_regnum: return regnum2spr (163);
400    case sim_ppc_spr164_regnum: return regnum2spr (164);
401    case sim_ppc_spr165_regnum: return regnum2spr (165);
402    case sim_ppc_spr166_regnum: return regnum2spr (166);
403    case sim_ppc_spr167_regnum: return regnum2spr (167);
404    case sim_ppc_spr168_regnum: return regnum2spr (168);
405    case sim_ppc_spr169_regnum: return regnum2spr (169);
406    case sim_ppc_spr170_regnum: return regnum2spr (170);
407    case sim_ppc_spr171_regnum: return regnum2spr (171);
408    case sim_ppc_spr172_regnum: return regnum2spr (172);
409    case sim_ppc_spr173_regnum: return regnum2spr (173);
410    case sim_ppc_spr174_regnum: return regnum2spr (174);
411    case sim_ppc_spr175_regnum: return regnum2spr (175);
412    case sim_ppc_spr176_regnum: return regnum2spr (176);
413    case sim_ppc_spr177_regnum: return regnum2spr (177);
414    case sim_ppc_spr178_regnum: return regnum2spr (178);
415    case sim_ppc_spr179_regnum: return regnum2spr (179);
416    case sim_ppc_spr180_regnum: return regnum2spr (180);
417    case sim_ppc_spr181_regnum: return regnum2spr (181);
418    case sim_ppc_spr182_regnum: return regnum2spr (182);
419    case sim_ppc_spr183_regnum: return regnum2spr (183);
420    case sim_ppc_spr184_regnum: return regnum2spr (184);
421    case sim_ppc_spr185_regnum: return regnum2spr (185);
422    case sim_ppc_spr186_regnum: return regnum2spr (186);
423    case sim_ppc_spr187_regnum: return regnum2spr (187);
424    case sim_ppc_spr188_regnum: return regnum2spr (188);
425    case sim_ppc_spr189_regnum: return regnum2spr (189);
426    case sim_ppc_spr190_regnum: return regnum2spr (190);
427    case sim_ppc_spr191_regnum: return regnum2spr (191);
428    case sim_ppc_spr192_regnum: return regnum2spr (192);
429    case sim_ppc_spr193_regnum: return regnum2spr (193);
430    case sim_ppc_spr194_regnum: return regnum2spr (194);
431    case sim_ppc_spr195_regnum: return regnum2spr (195);
432    case sim_ppc_spr196_regnum: return regnum2spr (196);
433    case sim_ppc_spr197_regnum: return regnum2spr (197);
434    case sim_ppc_spr198_regnum: return regnum2spr (198);
435    case sim_ppc_spr199_regnum: return regnum2spr (199);
436    case sim_ppc_spr200_regnum: return regnum2spr (200);
437    case sim_ppc_spr201_regnum: return regnum2spr (201);
438    case sim_ppc_spr202_regnum: return regnum2spr (202);
439    case sim_ppc_spr203_regnum: return regnum2spr (203);
440    case sim_ppc_spr204_regnum: return regnum2spr (204);
441    case sim_ppc_spr205_regnum: return regnum2spr (205);
442    case sim_ppc_spr206_regnum: return regnum2spr (206);
443    case sim_ppc_spr207_regnum: return regnum2spr (207);
444    case sim_ppc_spr208_regnum: return regnum2spr (208);
445    case sim_ppc_spr209_regnum: return regnum2spr (209);
446    case sim_ppc_spr210_regnum: return regnum2spr (210);
447    case sim_ppc_spr211_regnum: return regnum2spr (211);
448    case sim_ppc_spr212_regnum: return regnum2spr (212);
449    case sim_ppc_spr213_regnum: return regnum2spr (213);
450    case sim_ppc_spr214_regnum: return regnum2spr (214);
451    case sim_ppc_spr215_regnum: return regnum2spr (215);
452    case sim_ppc_spr216_regnum: return regnum2spr (216);
453    case sim_ppc_spr217_regnum: return regnum2spr (217);
454    case sim_ppc_spr218_regnum: return regnum2spr (218);
455    case sim_ppc_spr219_regnum: return regnum2spr (219);
456    case sim_ppc_spr220_regnum: return regnum2spr (220);
457    case sim_ppc_spr221_regnum: return regnum2spr (221);
458    case sim_ppc_spr222_regnum: return regnum2spr (222);
459    case sim_ppc_spr223_regnum: return regnum2spr (223);
460    case sim_ppc_spr224_regnum: return regnum2spr (224);
461    case sim_ppc_spr225_regnum: return regnum2spr (225);
462    case sim_ppc_spr226_regnum: return regnum2spr (226);
463    case sim_ppc_spr227_regnum: return regnum2spr (227);
464    case sim_ppc_spr228_regnum: return regnum2spr (228);
465    case sim_ppc_spr229_regnum: return regnum2spr (229);
466    case sim_ppc_spr230_regnum: return regnum2spr (230);
467    case sim_ppc_spr231_regnum: return regnum2spr (231);
468    case sim_ppc_spr232_regnum: return regnum2spr (232);
469    case sim_ppc_spr233_regnum: return regnum2spr (233);
470    case sim_ppc_spr234_regnum: return regnum2spr (234);
471    case sim_ppc_spr235_regnum: return regnum2spr (235);
472    case sim_ppc_spr236_regnum: return regnum2spr (236);
473    case sim_ppc_spr237_regnum: return regnum2spr (237);
474    case sim_ppc_spr238_regnum: return regnum2spr (238);
475    case sim_ppc_spr239_regnum: return regnum2spr (239);
476    case sim_ppc_spr240_regnum: return regnum2spr (240);
477    case sim_ppc_spr241_regnum: return regnum2spr (241);
478    case sim_ppc_spr242_regnum: return regnum2spr (242);
479    case sim_ppc_spr243_regnum: return regnum2spr (243);
480    case sim_ppc_spr244_regnum: return regnum2spr (244);
481    case sim_ppc_spr245_regnum: return regnum2spr (245);
482    case sim_ppc_spr246_regnum: return regnum2spr (246);
483    case sim_ppc_spr247_regnum: return regnum2spr (247);
484    case sim_ppc_spr248_regnum: return regnum2spr (248);
485    case sim_ppc_spr249_regnum: return regnum2spr (249);
486    case sim_ppc_spr250_regnum: return regnum2spr (250);
487    case sim_ppc_spr251_regnum: return regnum2spr (251);
488    case sim_ppc_spr252_regnum: return regnum2spr (252);
489    case sim_ppc_spr253_regnum: return regnum2spr (253);
490    case sim_ppc_spr254_regnum: return regnum2spr (254);
491    case sim_ppc_spr255_regnum: return regnum2spr (255);
492    case sim_ppc_spr256_regnum: return regnum2spr (256);
493    case sim_ppc_spr257_regnum: return regnum2spr (257);
494    case sim_ppc_spr258_regnum: return regnum2spr (258);
495    case sim_ppc_spr259_regnum: return regnum2spr (259);
496    case sim_ppc_spr260_regnum: return regnum2spr (260);
497    case sim_ppc_spr261_regnum: return regnum2spr (261);
498    case sim_ppc_spr262_regnum: return regnum2spr (262);
499    case sim_ppc_spr263_regnum: return regnum2spr (263);
500    case sim_ppc_spr264_regnum: return regnum2spr (264);
501    case sim_ppc_spr265_regnum: return regnum2spr (265);
502    case sim_ppc_spr266_regnum: return regnum2spr (266);
503    case sim_ppc_spr267_regnum: return regnum2spr (267);
504    case sim_ppc_spr268_regnum: return regnum2spr (268);
505    case sim_ppc_spr269_regnum: return regnum2spr (269);
506    case sim_ppc_spr270_regnum: return regnum2spr (270);
507    case sim_ppc_spr271_regnum: return regnum2spr (271);
508    case sim_ppc_spr272_regnum: return regnum2spr (272);
509    case sim_ppc_spr273_regnum: return regnum2spr (273);
510    case sim_ppc_spr274_regnum: return regnum2spr (274);
511    case sim_ppc_spr275_regnum: return regnum2spr (275);
512    case sim_ppc_spr276_regnum: return regnum2spr (276);
513    case sim_ppc_spr277_regnum: return regnum2spr (277);
514    case sim_ppc_spr278_regnum: return regnum2spr (278);
515    case sim_ppc_spr279_regnum: return regnum2spr (279);
516    case sim_ppc_spr280_regnum: return regnum2spr (280);
517    case sim_ppc_spr281_regnum: return regnum2spr (281);
518    case sim_ppc_spr282_regnum: return regnum2spr (282);
519    case sim_ppc_spr283_regnum: return regnum2spr (283);
520    case sim_ppc_spr284_regnum: return regnum2spr (284);
521    case sim_ppc_spr285_regnum: return regnum2spr (285);
522    case sim_ppc_spr286_regnum: return regnum2spr (286);
523    case sim_ppc_spr287_regnum: return regnum2spr (287);
524    case sim_ppc_spr288_regnum: return regnum2spr (288);
525    case sim_ppc_spr289_regnum: return regnum2spr (289);
526    case sim_ppc_spr290_regnum: return regnum2spr (290);
527    case sim_ppc_spr291_regnum: return regnum2spr (291);
528    case sim_ppc_spr292_regnum: return regnum2spr (292);
529    case sim_ppc_spr293_regnum: return regnum2spr (293);
530    case sim_ppc_spr294_regnum: return regnum2spr (294);
531    case sim_ppc_spr295_regnum: return regnum2spr (295);
532    case sim_ppc_spr296_regnum: return regnum2spr (296);
533    case sim_ppc_spr297_regnum: return regnum2spr (297);
534    case sim_ppc_spr298_regnum: return regnum2spr (298);
535    case sim_ppc_spr299_regnum: return regnum2spr (299);
536    case sim_ppc_spr300_regnum: return regnum2spr (300);
537    case sim_ppc_spr301_regnum: return regnum2spr (301);
538    case sim_ppc_spr302_regnum: return regnum2spr (302);
539    case sim_ppc_spr303_regnum: return regnum2spr (303);
540    case sim_ppc_spr304_regnum: return regnum2spr (304);
541    case sim_ppc_spr305_regnum: return regnum2spr (305);
542    case sim_ppc_spr306_regnum: return regnum2spr (306);
543    case sim_ppc_spr307_regnum: return regnum2spr (307);
544    case sim_ppc_spr308_regnum: return regnum2spr (308);
545    case sim_ppc_spr309_regnum: return regnum2spr (309);
546    case sim_ppc_spr310_regnum: return regnum2spr (310);
547    case sim_ppc_spr311_regnum: return regnum2spr (311);
548    case sim_ppc_spr312_regnum: return regnum2spr (312);
549    case sim_ppc_spr313_regnum: return regnum2spr (313);
550    case sim_ppc_spr314_regnum: return regnum2spr (314);
551    case sim_ppc_spr315_regnum: return regnum2spr (315);
552    case sim_ppc_spr316_regnum: return regnum2spr (316);
553    case sim_ppc_spr317_regnum: return regnum2spr (317);
554    case sim_ppc_spr318_regnum: return regnum2spr (318);
555    case sim_ppc_spr319_regnum: return regnum2spr (319);
556    case sim_ppc_spr320_regnum: return regnum2spr (320);
557    case sim_ppc_spr321_regnum: return regnum2spr (321);
558    case sim_ppc_spr322_regnum: return regnum2spr (322);
559    case sim_ppc_spr323_regnum: return regnum2spr (323);
560    case sim_ppc_spr324_regnum: return regnum2spr (324);
561    case sim_ppc_spr325_regnum: return regnum2spr (325);
562    case sim_ppc_spr326_regnum: return regnum2spr (326);
563    case sim_ppc_spr327_regnum: return regnum2spr (327);
564    case sim_ppc_spr328_regnum: return regnum2spr (328);
565    case sim_ppc_spr329_regnum: return regnum2spr (329);
566    case sim_ppc_spr330_regnum: return regnum2spr (330);
567    case sim_ppc_spr331_regnum: return regnum2spr (331);
568    case sim_ppc_spr332_regnum: return regnum2spr (332);
569    case sim_ppc_spr333_regnum: return regnum2spr (333);
570    case sim_ppc_spr334_regnum: return regnum2spr (334);
571    case sim_ppc_spr335_regnum: return regnum2spr (335);
572    case sim_ppc_spr336_regnum: return regnum2spr (336);
573    case sim_ppc_spr337_regnum: return regnum2spr (337);
574    case sim_ppc_spr338_regnum: return regnum2spr (338);
575    case sim_ppc_spr339_regnum: return regnum2spr (339);
576    case sim_ppc_spr340_regnum: return regnum2spr (340);
577    case sim_ppc_spr341_regnum: return regnum2spr (341);
578    case sim_ppc_spr342_regnum: return regnum2spr (342);
579    case sim_ppc_spr343_regnum: return regnum2spr (343);
580    case sim_ppc_spr344_regnum: return regnum2spr (344);
581    case sim_ppc_spr345_regnum: return regnum2spr (345);
582    case sim_ppc_spr346_regnum: return regnum2spr (346);
583    case sim_ppc_spr347_regnum: return regnum2spr (347);
584    case sim_ppc_spr348_regnum: return regnum2spr (348);
585    case sim_ppc_spr349_regnum: return regnum2spr (349);
586    case sim_ppc_spr350_regnum: return regnum2spr (350);
587    case sim_ppc_spr351_regnum: return regnum2spr (351);
588    case sim_ppc_spr352_regnum: return regnum2spr (352);
589    case sim_ppc_spr353_regnum: return regnum2spr (353);
590    case sim_ppc_spr354_regnum: return regnum2spr (354);
591    case sim_ppc_spr355_regnum: return regnum2spr (355);
592    case sim_ppc_spr356_regnum: return regnum2spr (356);
593    case sim_ppc_spr357_regnum: return regnum2spr (357);
594    case sim_ppc_spr358_regnum: return regnum2spr (358);
595    case sim_ppc_spr359_regnum: return regnum2spr (359);
596    case sim_ppc_spr360_regnum: return regnum2spr (360);
597    case sim_ppc_spr361_regnum: return regnum2spr (361);
598    case sim_ppc_spr362_regnum: return regnum2spr (362);
599    case sim_ppc_spr363_regnum: return regnum2spr (363);
600    case sim_ppc_spr364_regnum: return regnum2spr (364);
601    case sim_ppc_spr365_regnum: return regnum2spr (365);
602    case sim_ppc_spr366_regnum: return regnum2spr (366);
603    case sim_ppc_spr367_regnum: return regnum2spr (367);
604    case sim_ppc_spr368_regnum: return regnum2spr (368);
605    case sim_ppc_spr369_regnum: return regnum2spr (369);
606    case sim_ppc_spr370_regnum: return regnum2spr (370);
607    case sim_ppc_spr371_regnum: return regnum2spr (371);
608    case sim_ppc_spr372_regnum: return regnum2spr (372);
609    case sim_ppc_spr373_regnum: return regnum2spr (373);
610    case sim_ppc_spr374_regnum: return regnum2spr (374);
611    case sim_ppc_spr375_regnum: return regnum2spr (375);
612    case sim_ppc_spr376_regnum: return regnum2spr (376);
613    case sim_ppc_spr377_regnum: return regnum2spr (377);
614    case sim_ppc_spr378_regnum: return regnum2spr (378);
615    case sim_ppc_spr379_regnum: return regnum2spr (379);
616    case sim_ppc_spr380_regnum: return regnum2spr (380);
617    case sim_ppc_spr381_regnum: return regnum2spr (381);
618    case sim_ppc_spr382_regnum: return regnum2spr (382);
619    case sim_ppc_spr383_regnum: return regnum2spr (383);
620    case sim_ppc_spr384_regnum: return regnum2spr (384);
621    case sim_ppc_spr385_regnum: return regnum2spr (385);
622    case sim_ppc_spr386_regnum: return regnum2spr (386);
623    case sim_ppc_spr387_regnum: return regnum2spr (387);
624    case sim_ppc_spr388_regnum: return regnum2spr (388);
625    case sim_ppc_spr389_regnum: return regnum2spr (389);
626    case sim_ppc_spr390_regnum: return regnum2spr (390);
627    case sim_ppc_spr391_regnum: return regnum2spr (391);
628    case sim_ppc_spr392_regnum: return regnum2spr (392);
629    case sim_ppc_spr393_regnum: return regnum2spr (393);
630    case sim_ppc_spr394_regnum: return regnum2spr (394);
631    case sim_ppc_spr395_regnum: return regnum2spr (395);
632    case sim_ppc_spr396_regnum: return regnum2spr (396);
633    case sim_ppc_spr397_regnum: return regnum2spr (397);
634    case sim_ppc_spr398_regnum: return regnum2spr (398);
635    case sim_ppc_spr399_regnum: return regnum2spr (399);
636    case sim_ppc_spr400_regnum: return regnum2spr (400);
637    case sim_ppc_spr401_regnum: return regnum2spr (401);
638    case sim_ppc_spr402_regnum: return regnum2spr (402);
639    case sim_ppc_spr403_regnum: return regnum2spr (403);
640    case sim_ppc_spr404_regnum: return regnum2spr (404);
641    case sim_ppc_spr405_regnum: return regnum2spr (405);
642    case sim_ppc_spr406_regnum: return regnum2spr (406);
643    case sim_ppc_spr407_regnum: return regnum2spr (407);
644    case sim_ppc_spr408_regnum: return regnum2spr (408);
645    case sim_ppc_spr409_regnum: return regnum2spr (409);
646    case sim_ppc_spr410_regnum: return regnum2spr (410);
647    case sim_ppc_spr411_regnum: return regnum2spr (411);
648    case sim_ppc_spr412_regnum: return regnum2spr (412);
649    case sim_ppc_spr413_regnum: return regnum2spr (413);
650    case sim_ppc_spr414_regnum: return regnum2spr (414);
651    case sim_ppc_spr415_regnum: return regnum2spr (415);
652    case sim_ppc_spr416_regnum: return regnum2spr (416);
653    case sim_ppc_spr417_regnum: return regnum2spr (417);
654    case sim_ppc_spr418_regnum: return regnum2spr (418);
655    case sim_ppc_spr419_regnum: return regnum2spr (419);
656    case sim_ppc_spr420_regnum: return regnum2spr (420);
657    case sim_ppc_spr421_regnum: return regnum2spr (421);
658    case sim_ppc_spr422_regnum: return regnum2spr (422);
659    case sim_ppc_spr423_regnum: return regnum2spr (423);
660    case sim_ppc_spr424_regnum: return regnum2spr (424);
661    case sim_ppc_spr425_regnum: return regnum2spr (425);
662    case sim_ppc_spr426_regnum: return regnum2spr (426);
663    case sim_ppc_spr427_regnum: return regnum2spr (427);
664    case sim_ppc_spr428_regnum: return regnum2spr (428);
665    case sim_ppc_spr429_regnum: return regnum2spr (429);
666    case sim_ppc_spr430_regnum: return regnum2spr (430);
667    case sim_ppc_spr431_regnum: return regnum2spr (431);
668    case sim_ppc_spr432_regnum: return regnum2spr (432);
669    case sim_ppc_spr433_regnum: return regnum2spr (433);
670    case sim_ppc_spr434_regnum: return regnum2spr (434);
671    case sim_ppc_spr435_regnum: return regnum2spr (435);
672    case sim_ppc_spr436_regnum: return regnum2spr (436);
673    case sim_ppc_spr437_regnum: return regnum2spr (437);
674    case sim_ppc_spr438_regnum: return regnum2spr (438);
675    case sim_ppc_spr439_regnum: return regnum2spr (439);
676    case sim_ppc_spr440_regnum: return regnum2spr (440);
677    case sim_ppc_spr441_regnum: return regnum2spr (441);
678    case sim_ppc_spr442_regnum: return regnum2spr (442);
679    case sim_ppc_spr443_regnum: return regnum2spr (443);
680    case sim_ppc_spr444_regnum: return regnum2spr (444);
681    case sim_ppc_spr445_regnum: return regnum2spr (445);
682    case sim_ppc_spr446_regnum: return regnum2spr (446);
683    case sim_ppc_spr447_regnum: return regnum2spr (447);
684    case sim_ppc_spr448_regnum: return regnum2spr (448);
685    case sim_ppc_spr449_regnum: return regnum2spr (449);
686    case sim_ppc_spr450_regnum: return regnum2spr (450);
687    case sim_ppc_spr451_regnum: return regnum2spr (451);
688    case sim_ppc_spr452_regnum: return regnum2spr (452);
689    case sim_ppc_spr453_regnum: return regnum2spr (453);
690    case sim_ppc_spr454_regnum: return regnum2spr (454);
691    case sim_ppc_spr455_regnum: return regnum2spr (455);
692    case sim_ppc_spr456_regnum: return regnum2spr (456);
693    case sim_ppc_spr457_regnum: return regnum2spr (457);
694    case sim_ppc_spr458_regnum: return regnum2spr (458);
695    case sim_ppc_spr459_regnum: return regnum2spr (459);
696    case sim_ppc_spr460_regnum: return regnum2spr (460);
697    case sim_ppc_spr461_regnum: return regnum2spr (461);
698    case sim_ppc_spr462_regnum: return regnum2spr (462);
699    case sim_ppc_spr463_regnum: return regnum2spr (463);
700    case sim_ppc_spr464_regnum: return regnum2spr (464);
701    case sim_ppc_spr465_regnum: return regnum2spr (465);
702    case sim_ppc_spr466_regnum: return regnum2spr (466);
703    case sim_ppc_spr467_regnum: return regnum2spr (467);
704    case sim_ppc_spr468_regnum: return regnum2spr (468);
705    case sim_ppc_spr469_regnum: return regnum2spr (469);
706    case sim_ppc_spr470_regnum: return regnum2spr (470);
707    case sim_ppc_spr471_regnum: return regnum2spr (471);
708    case sim_ppc_spr472_regnum: return regnum2spr (472);
709    case sim_ppc_spr473_regnum: return regnum2spr (473);
710    case sim_ppc_spr474_regnum: return regnum2spr (474);
711    case sim_ppc_spr475_regnum: return regnum2spr (475);
712    case sim_ppc_spr476_regnum: return regnum2spr (476);
713    case sim_ppc_spr477_regnum: return regnum2spr (477);
714    case sim_ppc_spr478_regnum: return regnum2spr (478);
715    case sim_ppc_spr479_regnum: return regnum2spr (479);
716    case sim_ppc_spr480_regnum: return regnum2spr (480);
717    case sim_ppc_spr481_regnum: return regnum2spr (481);
718    case sim_ppc_spr482_regnum: return regnum2spr (482);
719    case sim_ppc_spr483_regnum: return regnum2spr (483);
720    case sim_ppc_spr484_regnum: return regnum2spr (484);
721    case sim_ppc_spr485_regnum: return regnum2spr (485);
722    case sim_ppc_spr486_regnum: return regnum2spr (486);
723    case sim_ppc_spr487_regnum: return regnum2spr (487);
724    case sim_ppc_spr488_regnum: return regnum2spr (488);
725    case sim_ppc_spr489_regnum: return regnum2spr (489);
726    case sim_ppc_spr490_regnum: return regnum2spr (490);
727    case sim_ppc_spr491_regnum: return regnum2spr (491);
728    case sim_ppc_spr492_regnum: return regnum2spr (492);
729    case sim_ppc_spr493_regnum: return regnum2spr (493);
730    case sim_ppc_spr494_regnum: return regnum2spr (494);
731    case sim_ppc_spr495_regnum: return regnum2spr (495);
732    case sim_ppc_spr496_regnum: return regnum2spr (496);
733    case sim_ppc_spr497_regnum: return regnum2spr (497);
734    case sim_ppc_spr498_regnum: return regnum2spr (498);
735    case sim_ppc_spr499_regnum: return regnum2spr (499);
736    case sim_ppc_spr500_regnum: return regnum2spr (500);
737    case sim_ppc_spr501_regnum: return regnum2spr (501);
738    case sim_ppc_spr502_regnum: return regnum2spr (502);
739    case sim_ppc_spr503_regnum: return regnum2spr (503);
740    case sim_ppc_spr504_regnum: return regnum2spr (504);
741    case sim_ppc_spr505_regnum: return regnum2spr (505);
742    case sim_ppc_spr506_regnum: return regnum2spr (506);
743    case sim_ppc_spr507_regnum: return regnum2spr (507);
744    case sim_ppc_spr508_regnum: return regnum2spr (508);
745    case sim_ppc_spr509_regnum: return regnum2spr (509);
746    case sim_ppc_spr510_regnum: return regnum2spr (510);
747    case sim_ppc_spr511_regnum: return regnum2spr (511);
748    case sim_ppc_spr512_regnum: return regnum2spr (512);
749    case sim_ppc_spr513_regnum: return regnum2spr (513);
750    case sim_ppc_spr514_regnum: return regnum2spr (514);
751    case sim_ppc_spr515_regnum: return regnum2spr (515);
752    case sim_ppc_spr516_regnum: return regnum2spr (516);
753    case sim_ppc_spr517_regnum: return regnum2spr (517);
754    case sim_ppc_spr518_regnum: return regnum2spr (518);
755    case sim_ppc_spr519_regnum: return regnum2spr (519);
756    case sim_ppc_spr520_regnum: return regnum2spr (520);
757    case sim_ppc_spr521_regnum: return regnum2spr (521);
758    case sim_ppc_spr522_regnum: return regnum2spr (522);
759    case sim_ppc_spr523_regnum: return regnum2spr (523);
760    case sim_ppc_spr524_regnum: return regnum2spr (524);
761    case sim_ppc_spr525_regnum: return regnum2spr (525);
762    case sim_ppc_spr526_regnum: return regnum2spr (526);
763    case sim_ppc_spr527_regnum: return regnum2spr (527);
764    case sim_ppc_spr528_regnum: return regnum2spr (528);
765    case sim_ppc_spr529_regnum: return regnum2spr (529);
766    case sim_ppc_spr530_regnum: return regnum2spr (530);
767    case sim_ppc_spr531_regnum: return regnum2spr (531);
768    case sim_ppc_spr532_regnum: return regnum2spr (532);
769    case sim_ppc_spr533_regnum: return regnum2spr (533);
770    case sim_ppc_spr534_regnum: return regnum2spr (534);
771    case sim_ppc_spr535_regnum: return regnum2spr (535);
772    case sim_ppc_spr536_regnum: return regnum2spr (536);
773    case sim_ppc_spr537_regnum: return regnum2spr (537);
774    case sim_ppc_spr538_regnum: return regnum2spr (538);
775    case sim_ppc_spr539_regnum: return regnum2spr (539);
776    case sim_ppc_spr540_regnum: return regnum2spr (540);
777    case sim_ppc_spr541_regnum: return regnum2spr (541);
778    case sim_ppc_spr542_regnum: return regnum2spr (542);
779    case sim_ppc_spr543_regnum: return regnum2spr (543);
780    case sim_ppc_spr544_regnum: return regnum2spr (544);
781    case sim_ppc_spr545_regnum: return regnum2spr (545);
782    case sim_ppc_spr546_regnum: return regnum2spr (546);
783    case sim_ppc_spr547_regnum: return regnum2spr (547);
784    case sim_ppc_spr548_regnum: return regnum2spr (548);
785    case sim_ppc_spr549_regnum: return regnum2spr (549);
786    case sim_ppc_spr550_regnum: return regnum2spr (550);
787    case sim_ppc_spr551_regnum: return regnum2spr (551);
788    case sim_ppc_spr552_regnum: return regnum2spr (552);
789    case sim_ppc_spr553_regnum: return regnum2spr (553);
790    case sim_ppc_spr554_regnum: return regnum2spr (554);
791    case sim_ppc_spr555_regnum: return regnum2spr (555);
792    case sim_ppc_spr556_regnum: return regnum2spr (556);
793    case sim_ppc_spr557_regnum: return regnum2spr (557);
794    case sim_ppc_spr558_regnum: return regnum2spr (558);
795    case sim_ppc_spr559_regnum: return regnum2spr (559);
796    case sim_ppc_spr560_regnum: return regnum2spr (560);
797    case sim_ppc_spr561_regnum: return regnum2spr (561);
798    case sim_ppc_spr562_regnum: return regnum2spr (562);
799    case sim_ppc_spr563_regnum: return regnum2spr (563);
800    case sim_ppc_spr564_regnum: return regnum2spr (564);
801    case sim_ppc_spr565_regnum: return regnum2spr (565);
802    case sim_ppc_spr566_regnum: return regnum2spr (566);
803    case sim_ppc_spr567_regnum: return regnum2spr (567);
804    case sim_ppc_spr568_regnum: return regnum2spr (568);
805    case sim_ppc_spr569_regnum: return regnum2spr (569);
806    case sim_ppc_spr570_regnum: return regnum2spr (570);
807    case sim_ppc_spr571_regnum: return regnum2spr (571);
808    case sim_ppc_spr572_regnum: return regnum2spr (572);
809    case sim_ppc_spr573_regnum: return regnum2spr (573);
810    case sim_ppc_spr574_regnum: return regnum2spr (574);
811    case sim_ppc_spr575_regnum: return regnum2spr (575);
812    case sim_ppc_spr576_regnum: return regnum2spr (576);
813    case sim_ppc_spr577_regnum: return regnum2spr (577);
814    case sim_ppc_spr578_regnum: return regnum2spr (578);
815    case sim_ppc_spr579_regnum: return regnum2spr (579);
816    case sim_ppc_spr580_regnum: return regnum2spr (580);
817    case sim_ppc_spr581_regnum: return regnum2spr (581);
818    case sim_ppc_spr582_regnum: return regnum2spr (582);
819    case sim_ppc_spr583_regnum: return regnum2spr (583);
820    case sim_ppc_spr584_regnum: return regnum2spr (584);
821    case sim_ppc_spr585_regnum: return regnum2spr (585);
822    case sim_ppc_spr586_regnum: return regnum2spr (586);
823    case sim_ppc_spr587_regnum: return regnum2spr (587);
824    case sim_ppc_spr588_regnum: return regnum2spr (588);
825    case sim_ppc_spr589_regnum: return regnum2spr (589);
826    case sim_ppc_spr590_regnum: return regnum2spr (590);
827    case sim_ppc_spr591_regnum: return regnum2spr (591);
828    case sim_ppc_spr592_regnum: return regnum2spr (592);
829    case sim_ppc_spr593_regnum: return regnum2spr (593);
830    case sim_ppc_spr594_regnum: return regnum2spr (594);
831    case sim_ppc_spr595_regnum: return regnum2spr (595);
832    case sim_ppc_spr596_regnum: return regnum2spr (596);
833    case sim_ppc_spr597_regnum: return regnum2spr (597);
834    case sim_ppc_spr598_regnum: return regnum2spr (598);
835    case sim_ppc_spr599_regnum: return regnum2spr (599);
836    case sim_ppc_spr600_regnum: return regnum2spr (600);
837    case sim_ppc_spr601_regnum: return regnum2spr (601);
838    case sim_ppc_spr602_regnum: return regnum2spr (602);
839    case sim_ppc_spr603_regnum: return regnum2spr (603);
840    case sim_ppc_spr604_regnum: return regnum2spr (604);
841    case sim_ppc_spr605_regnum: return regnum2spr (605);
842    case sim_ppc_spr606_regnum: return regnum2spr (606);
843    case sim_ppc_spr607_regnum: return regnum2spr (607);
844    case sim_ppc_spr608_regnum: return regnum2spr (608);
845    case sim_ppc_spr609_regnum: return regnum2spr (609);
846    case sim_ppc_spr610_regnum: return regnum2spr (610);
847    case sim_ppc_spr611_regnum: return regnum2spr (611);
848    case sim_ppc_spr612_regnum: return regnum2spr (612);
849    case sim_ppc_spr613_regnum: return regnum2spr (613);
850    case sim_ppc_spr614_regnum: return regnum2spr (614);
851    case sim_ppc_spr615_regnum: return regnum2spr (615);
852    case sim_ppc_spr616_regnum: return regnum2spr (616);
853    case sim_ppc_spr617_regnum: return regnum2spr (617);
854    case sim_ppc_spr618_regnum: return regnum2spr (618);
855    case sim_ppc_spr619_regnum: return regnum2spr (619);
856    case sim_ppc_spr620_regnum: return regnum2spr (620);
857    case sim_ppc_spr621_regnum: return regnum2spr (621);
858    case sim_ppc_spr622_regnum: return regnum2spr (622);
859    case sim_ppc_spr623_regnum: return regnum2spr (623);
860    case sim_ppc_spr624_regnum: return regnum2spr (624);
861    case sim_ppc_spr625_regnum: return regnum2spr (625);
862    case sim_ppc_spr626_regnum: return regnum2spr (626);
863    case sim_ppc_spr627_regnum: return regnum2spr (627);
864    case sim_ppc_spr628_regnum: return regnum2spr (628);
865    case sim_ppc_spr629_regnum: return regnum2spr (629);
866    case sim_ppc_spr630_regnum: return regnum2spr (630);
867    case sim_ppc_spr631_regnum: return regnum2spr (631);
868    case sim_ppc_spr632_regnum: return regnum2spr (632);
869    case sim_ppc_spr633_regnum: return regnum2spr (633);
870    case sim_ppc_spr634_regnum: return regnum2spr (634);
871    case sim_ppc_spr635_regnum: return regnum2spr (635);
872    case sim_ppc_spr636_regnum: return regnum2spr (636);
873    case sim_ppc_spr637_regnum: return regnum2spr (637);
874    case sim_ppc_spr638_regnum: return regnum2spr (638);
875    case sim_ppc_spr639_regnum: return regnum2spr (639);
876    case sim_ppc_spr640_regnum: return regnum2spr (640);
877    case sim_ppc_spr641_regnum: return regnum2spr (641);
878    case sim_ppc_spr642_regnum: return regnum2spr (642);
879    case sim_ppc_spr643_regnum: return regnum2spr (643);
880    case sim_ppc_spr644_regnum: return regnum2spr (644);
881    case sim_ppc_spr645_regnum: return regnum2spr (645);
882    case sim_ppc_spr646_regnum: return regnum2spr (646);
883    case sim_ppc_spr647_regnum: return regnum2spr (647);
884    case sim_ppc_spr648_regnum: return regnum2spr (648);
885    case sim_ppc_spr649_regnum: return regnum2spr (649);
886    case sim_ppc_spr650_regnum: return regnum2spr (650);
887    case sim_ppc_spr651_regnum: return regnum2spr (651);
888    case sim_ppc_spr652_regnum: return regnum2spr (652);
889    case sim_ppc_spr653_regnum: return regnum2spr (653);
890    case sim_ppc_spr654_regnum: return regnum2spr (654);
891    case sim_ppc_spr655_regnum: return regnum2spr (655);
892    case sim_ppc_spr656_regnum: return regnum2spr (656);
893    case sim_ppc_spr657_regnum: return regnum2spr (657);
894    case sim_ppc_spr658_regnum: return regnum2spr (658);
895    case sim_ppc_spr659_regnum: return regnum2spr (659);
896    case sim_ppc_spr660_regnum: return regnum2spr (660);
897    case sim_ppc_spr661_regnum: return regnum2spr (661);
898    case sim_ppc_spr662_regnum: return regnum2spr (662);
899    case sim_ppc_spr663_regnum: return regnum2spr (663);
900    case sim_ppc_spr664_regnum: return regnum2spr (664);
901    case sim_ppc_spr665_regnum: return regnum2spr (665);
902    case sim_ppc_spr666_regnum: return regnum2spr (666);
903    case sim_ppc_spr667_regnum: return regnum2spr (667);
904    case sim_ppc_spr668_regnum: return regnum2spr (668);
905    case sim_ppc_spr669_regnum: return regnum2spr (669);
906    case sim_ppc_spr670_regnum: return regnum2spr (670);
907    case sim_ppc_spr671_regnum: return regnum2spr (671);
908    case sim_ppc_spr672_regnum: return regnum2spr (672);
909    case sim_ppc_spr673_regnum: return regnum2spr (673);
910    case sim_ppc_spr674_regnum: return regnum2spr (674);
911    case sim_ppc_spr675_regnum: return regnum2spr (675);
912    case sim_ppc_spr676_regnum: return regnum2spr (676);
913    case sim_ppc_spr677_regnum: return regnum2spr (677);
914    case sim_ppc_spr678_regnum: return regnum2spr (678);
915    case sim_ppc_spr679_regnum: return regnum2spr (679);
916    case sim_ppc_spr680_regnum: return regnum2spr (680);
917    case sim_ppc_spr681_regnum: return regnum2spr (681);
918    case sim_ppc_spr682_regnum: return regnum2spr (682);
919    case sim_ppc_spr683_regnum: return regnum2spr (683);
920    case sim_ppc_spr684_regnum: return regnum2spr (684);
921    case sim_ppc_spr685_regnum: return regnum2spr (685);
922    case sim_ppc_spr686_regnum: return regnum2spr (686);
923    case sim_ppc_spr687_regnum: return regnum2spr (687);
924    case sim_ppc_spr688_regnum: return regnum2spr (688);
925    case sim_ppc_spr689_regnum: return regnum2spr (689);
926    case sim_ppc_spr690_regnum: return regnum2spr (690);
927    case sim_ppc_spr691_regnum: return regnum2spr (691);
928    case sim_ppc_spr692_regnum: return regnum2spr (692);
929    case sim_ppc_spr693_regnum: return regnum2spr (693);
930    case sim_ppc_spr694_regnum: return regnum2spr (694);
931    case sim_ppc_spr695_regnum: return regnum2spr (695);
932    case sim_ppc_spr696_regnum: return regnum2spr (696);
933    case sim_ppc_spr697_regnum: return regnum2spr (697);
934    case sim_ppc_spr698_regnum: return regnum2spr (698);
935    case sim_ppc_spr699_regnum: return regnum2spr (699);
936    case sim_ppc_spr700_regnum: return regnum2spr (700);
937    case sim_ppc_spr701_regnum: return regnum2spr (701);
938    case sim_ppc_spr702_regnum: return regnum2spr (702);
939    case sim_ppc_spr703_regnum: return regnum2spr (703);
940    case sim_ppc_spr704_regnum: return regnum2spr (704);
941    case sim_ppc_spr705_regnum: return regnum2spr (705);
942    case sim_ppc_spr706_regnum: return regnum2spr (706);
943    case sim_ppc_spr707_regnum: return regnum2spr (707);
944    case sim_ppc_spr708_regnum: return regnum2spr (708);
945    case sim_ppc_spr709_regnum: return regnum2spr (709);
946    case sim_ppc_spr710_regnum: return regnum2spr (710);
947    case sim_ppc_spr711_regnum: return regnum2spr (711);
948    case sim_ppc_spr712_regnum: return regnum2spr (712);
949    case sim_ppc_spr713_regnum: return regnum2spr (713);
950    case sim_ppc_spr714_regnum: return regnum2spr (714);
951    case sim_ppc_spr715_regnum: return regnum2spr (715);
952    case sim_ppc_spr716_regnum: return regnum2spr (716);
953    case sim_ppc_spr717_regnum: return regnum2spr (717);
954    case sim_ppc_spr718_regnum: return regnum2spr (718);
955    case sim_ppc_spr719_regnum: return regnum2spr (719);
956    case sim_ppc_spr720_regnum: return regnum2spr (720);
957    case sim_ppc_spr721_regnum: return regnum2spr (721);
958    case sim_ppc_spr722_regnum: return regnum2spr (722);
959    case sim_ppc_spr723_regnum: return regnum2spr (723);
960    case sim_ppc_spr724_regnum: return regnum2spr (724);
961    case sim_ppc_spr725_regnum: return regnum2spr (725);
962    case sim_ppc_spr726_regnum: return regnum2spr (726);
963    case sim_ppc_spr727_regnum: return regnum2spr (727);
964    case sim_ppc_spr728_regnum: return regnum2spr (728);
965    case sim_ppc_spr729_regnum: return regnum2spr (729);
966    case sim_ppc_spr730_regnum: return regnum2spr (730);
967    case sim_ppc_spr731_regnum: return regnum2spr (731);
968    case sim_ppc_spr732_regnum: return regnum2spr (732);
969    case sim_ppc_spr733_regnum: return regnum2spr (733);
970    case sim_ppc_spr734_regnum: return regnum2spr (734);
971    case sim_ppc_spr735_regnum: return regnum2spr (735);
972    case sim_ppc_spr736_regnum: return regnum2spr (736);
973    case sim_ppc_spr737_regnum: return regnum2spr (737);
974    case sim_ppc_spr738_regnum: return regnum2spr (738);
975    case sim_ppc_spr739_regnum: return regnum2spr (739);
976    case sim_ppc_spr740_regnum: return regnum2spr (740);
977    case sim_ppc_spr741_regnum: return regnum2spr (741);
978    case sim_ppc_spr742_regnum: return regnum2spr (742);
979    case sim_ppc_spr743_regnum: return regnum2spr (743);
980    case sim_ppc_spr744_regnum: return regnum2spr (744);
981    case sim_ppc_spr745_regnum: return regnum2spr (745);
982    case sim_ppc_spr746_regnum: return regnum2spr (746);
983    case sim_ppc_spr747_regnum: return regnum2spr (747);
984    case sim_ppc_spr748_regnum: return regnum2spr (748);
985    case sim_ppc_spr749_regnum: return regnum2spr (749);
986    case sim_ppc_spr750_regnum: return regnum2spr (750);
987    case sim_ppc_spr751_regnum: return regnum2spr (751);
988    case sim_ppc_spr752_regnum: return regnum2spr (752);
989    case sim_ppc_spr753_regnum: return regnum2spr (753);
990    case sim_ppc_spr754_regnum: return regnum2spr (754);
991    case sim_ppc_spr755_regnum: return regnum2spr (755);
992    case sim_ppc_spr756_regnum: return regnum2spr (756);
993    case sim_ppc_spr757_regnum: return regnum2spr (757);
994    case sim_ppc_spr758_regnum: return regnum2spr (758);
995    case sim_ppc_spr759_regnum: return regnum2spr (759);
996    case sim_ppc_spr760_regnum: return regnum2spr (760);
997    case sim_ppc_spr761_regnum: return regnum2spr (761);
998    case sim_ppc_spr762_regnum: return regnum2spr (762);
999    case sim_ppc_spr763_regnum: return regnum2spr (763);
1000    case sim_ppc_spr764_regnum: return regnum2spr (764);
1001    case sim_ppc_spr765_regnum: return regnum2spr (765);
1002    case sim_ppc_spr766_regnum: return regnum2spr (766);
1003    case sim_ppc_spr767_regnum: return regnum2spr (767);
1004    case sim_ppc_spr768_regnum: return regnum2spr (768);
1005    case sim_ppc_spr769_regnum: return regnum2spr (769);
1006    case sim_ppc_spr770_regnum: return regnum2spr (770);
1007    case sim_ppc_spr771_regnum: return regnum2spr (771);
1008    case sim_ppc_spr772_regnum: return regnum2spr (772);
1009    case sim_ppc_spr773_regnum: return regnum2spr (773);
1010    case sim_ppc_spr774_regnum: return regnum2spr (774);
1011    case sim_ppc_spr775_regnum: return regnum2spr (775);
1012    case sim_ppc_spr776_regnum: return regnum2spr (776);
1013    case sim_ppc_spr777_regnum: return regnum2spr (777);
1014    case sim_ppc_spr778_regnum: return regnum2spr (778);
1015    case sim_ppc_spr779_regnum: return regnum2spr (779);
1016    case sim_ppc_spr780_regnum: return regnum2spr (780);
1017    case sim_ppc_spr781_regnum: return regnum2spr (781);
1018    case sim_ppc_spr782_regnum: return regnum2spr (782);
1019    case sim_ppc_spr783_regnum: return regnum2spr (783);
1020    case sim_ppc_spr784_regnum: return regnum2spr (784);
1021    case sim_ppc_spr785_regnum: return regnum2spr (785);
1022    case sim_ppc_spr786_regnum: return regnum2spr (786);
1023    case sim_ppc_spr787_regnum: return regnum2spr (787);
1024    case sim_ppc_spr788_regnum: return regnum2spr (788);
1025    case sim_ppc_spr789_regnum: return regnum2spr (789);
1026    case sim_ppc_spr790_regnum: return regnum2spr (790);
1027    case sim_ppc_spr791_regnum: return regnum2spr (791);
1028    case sim_ppc_spr792_regnum: return regnum2spr (792);
1029    case sim_ppc_spr793_regnum: return regnum2spr (793);
1030    case sim_ppc_spr794_regnum: return regnum2spr (794);
1031    case sim_ppc_spr795_regnum: return regnum2spr (795);
1032    case sim_ppc_spr796_regnum: return regnum2spr (796);
1033    case sim_ppc_spr797_regnum: return regnum2spr (797);
1034    case sim_ppc_spr798_regnum: return regnum2spr (798);
1035    case sim_ppc_spr799_regnum: return regnum2spr (799);
1036    case sim_ppc_spr800_regnum: return regnum2spr (800);
1037    case sim_ppc_spr801_regnum: return regnum2spr (801);
1038    case sim_ppc_spr802_regnum: return regnum2spr (802);
1039    case sim_ppc_spr803_regnum: return regnum2spr (803);
1040    case sim_ppc_spr804_regnum: return regnum2spr (804);
1041    case sim_ppc_spr805_regnum: return regnum2spr (805);
1042    case sim_ppc_spr806_regnum: return regnum2spr (806);
1043    case sim_ppc_spr807_regnum: return regnum2spr (807);
1044    case sim_ppc_spr808_regnum: return regnum2spr (808);
1045    case sim_ppc_spr809_regnum: return regnum2spr (809);
1046    case sim_ppc_spr810_regnum: return regnum2spr (810);
1047    case sim_ppc_spr811_regnum: return regnum2spr (811);
1048    case sim_ppc_spr812_regnum: return regnum2spr (812);
1049    case sim_ppc_spr813_regnum: return regnum2spr (813);
1050    case sim_ppc_spr814_regnum: return regnum2spr (814);
1051    case sim_ppc_spr815_regnum: return regnum2spr (815);
1052    case sim_ppc_spr816_regnum: return regnum2spr (816);
1053    case sim_ppc_spr817_regnum: return regnum2spr (817);
1054    case sim_ppc_spr818_regnum: return regnum2spr (818);
1055    case sim_ppc_spr819_regnum: return regnum2spr (819);
1056    case sim_ppc_spr820_regnum: return regnum2spr (820);
1057    case sim_ppc_spr821_regnum: return regnum2spr (821);
1058    case sim_ppc_spr822_regnum: return regnum2spr (822);
1059    case sim_ppc_spr823_regnum: return regnum2spr (823);
1060    case sim_ppc_spr824_regnum: return regnum2spr (824);
1061    case sim_ppc_spr825_regnum: return regnum2spr (825);
1062    case sim_ppc_spr826_regnum: return regnum2spr (826);
1063    case sim_ppc_spr827_regnum: return regnum2spr (827);
1064    case sim_ppc_spr828_regnum: return regnum2spr (828);
1065    case sim_ppc_spr829_regnum: return regnum2spr (829);
1066    case sim_ppc_spr830_regnum: return regnum2spr (830);
1067    case sim_ppc_spr831_regnum: return regnum2spr (831);
1068    case sim_ppc_spr832_regnum: return regnum2spr (832);
1069    case sim_ppc_spr833_regnum: return regnum2spr (833);
1070    case sim_ppc_spr834_regnum: return regnum2spr (834);
1071    case sim_ppc_spr835_regnum: return regnum2spr (835);
1072    case sim_ppc_spr836_regnum: return regnum2spr (836);
1073    case sim_ppc_spr837_regnum: return regnum2spr (837);
1074    case sim_ppc_spr838_regnum: return regnum2spr (838);
1075    case sim_ppc_spr839_regnum: return regnum2spr (839);
1076    case sim_ppc_spr840_regnum: return regnum2spr (840);
1077    case sim_ppc_spr841_regnum: return regnum2spr (841);
1078    case sim_ppc_spr842_regnum: return regnum2spr (842);
1079    case sim_ppc_spr843_regnum: return regnum2spr (843);
1080    case sim_ppc_spr844_regnum: return regnum2spr (844);
1081    case sim_ppc_spr845_regnum: return regnum2spr (845);
1082    case sim_ppc_spr846_regnum: return regnum2spr (846);
1083    case sim_ppc_spr847_regnum: return regnum2spr (847);
1084    case sim_ppc_spr848_regnum: return regnum2spr (848);
1085    case sim_ppc_spr849_regnum: return regnum2spr (849);
1086    case sim_ppc_spr850_regnum: return regnum2spr (850);
1087    case sim_ppc_spr851_regnum: return regnum2spr (851);
1088    case sim_ppc_spr852_regnum: return regnum2spr (852);
1089    case sim_ppc_spr853_regnum: return regnum2spr (853);
1090    case sim_ppc_spr854_regnum: return regnum2spr (854);
1091    case sim_ppc_spr855_regnum: return regnum2spr (855);
1092    case sim_ppc_spr856_regnum: return regnum2spr (856);
1093    case sim_ppc_spr857_regnum: return regnum2spr (857);
1094    case sim_ppc_spr858_regnum: return regnum2spr (858);
1095    case sim_ppc_spr859_regnum: return regnum2spr (859);
1096    case sim_ppc_spr860_regnum: return regnum2spr (860);
1097    case sim_ppc_spr861_regnum: return regnum2spr (861);
1098    case sim_ppc_spr862_regnum: return regnum2spr (862);
1099    case sim_ppc_spr863_regnum: return regnum2spr (863);
1100    case sim_ppc_spr864_regnum: return regnum2spr (864);
1101    case sim_ppc_spr865_regnum: return regnum2spr (865);
1102    case sim_ppc_spr866_regnum: return regnum2spr (866);
1103    case sim_ppc_spr867_regnum: return regnum2spr (867);
1104    case sim_ppc_spr868_regnum: return regnum2spr (868);
1105    case sim_ppc_spr869_regnum: return regnum2spr (869);
1106    case sim_ppc_spr870_regnum: return regnum2spr (870);
1107    case sim_ppc_spr871_regnum: return regnum2spr (871);
1108    case sim_ppc_spr872_regnum: return regnum2spr (872);
1109    case sim_ppc_spr873_regnum: return regnum2spr (873);
1110    case sim_ppc_spr874_regnum: return regnum2spr (874);
1111    case sim_ppc_spr875_regnum: return regnum2spr (875);
1112    case sim_ppc_spr876_regnum: return regnum2spr (876);
1113    case sim_ppc_spr877_regnum: return regnum2spr (877);
1114    case sim_ppc_spr878_regnum: return regnum2spr (878);
1115    case sim_ppc_spr879_regnum: return regnum2spr (879);
1116    case sim_ppc_spr880_regnum: return regnum2spr (880);
1117    case sim_ppc_spr881_regnum: return regnum2spr (881);
1118    case sim_ppc_spr882_regnum: return regnum2spr (882);
1119    case sim_ppc_spr883_regnum: return regnum2spr (883);
1120    case sim_ppc_spr884_regnum: return regnum2spr (884);
1121    case sim_ppc_spr885_regnum: return regnum2spr (885);
1122    case sim_ppc_spr886_regnum: return regnum2spr (886);
1123    case sim_ppc_spr887_regnum: return regnum2spr (887);
1124    case sim_ppc_spr888_regnum: return regnum2spr (888);
1125    case sim_ppc_spr889_regnum: return regnum2spr (889);
1126    case sim_ppc_spr890_regnum: return regnum2spr (890);
1127    case sim_ppc_spr891_regnum: return regnum2spr (891);
1128    case sim_ppc_spr892_regnum: return regnum2spr (892);
1129    case sim_ppc_spr893_regnum: return regnum2spr (893);
1130    case sim_ppc_spr894_regnum: return regnum2spr (894);
1131    case sim_ppc_spr895_regnum: return regnum2spr (895);
1132    case sim_ppc_spr896_regnum: return regnum2spr (896);
1133    case sim_ppc_spr897_regnum: return regnum2spr (897);
1134    case sim_ppc_spr898_regnum: return regnum2spr (898);
1135    case sim_ppc_spr899_regnum: return regnum2spr (899);
1136    case sim_ppc_spr900_regnum: return regnum2spr (900);
1137    case sim_ppc_spr901_regnum: return regnum2spr (901);
1138    case sim_ppc_spr902_regnum: return regnum2spr (902);
1139    case sim_ppc_spr903_regnum: return regnum2spr (903);
1140    case sim_ppc_spr904_regnum: return regnum2spr (904);
1141    case sim_ppc_spr905_regnum: return regnum2spr (905);
1142    case sim_ppc_spr906_regnum: return regnum2spr (906);
1143    case sim_ppc_spr907_regnum: return regnum2spr (907);
1144    case sim_ppc_spr908_regnum: return regnum2spr (908);
1145    case sim_ppc_spr909_regnum: return regnum2spr (909);
1146    case sim_ppc_spr910_regnum: return regnum2spr (910);
1147    case sim_ppc_spr911_regnum: return regnum2spr (911);
1148    case sim_ppc_spr912_regnum: return regnum2spr (912);
1149    case sim_ppc_spr913_regnum: return regnum2spr (913);
1150    case sim_ppc_spr914_regnum: return regnum2spr (914);
1151    case sim_ppc_spr915_regnum: return regnum2spr (915);
1152    case sim_ppc_spr916_regnum: return regnum2spr (916);
1153    case sim_ppc_spr917_regnum: return regnum2spr (917);
1154    case sim_ppc_spr918_regnum: return regnum2spr (918);
1155    case sim_ppc_spr919_regnum: return regnum2spr (919);
1156    case sim_ppc_spr920_regnum: return regnum2spr (920);
1157    case sim_ppc_spr921_regnum: return regnum2spr (921);
1158    case sim_ppc_spr922_regnum: return regnum2spr (922);
1159    case sim_ppc_spr923_regnum: return regnum2spr (923);
1160    case sim_ppc_spr924_regnum: return regnum2spr (924);
1161    case sim_ppc_spr925_regnum: return regnum2spr (925);
1162    case sim_ppc_spr926_regnum: return regnum2spr (926);
1163    case sim_ppc_spr927_regnum: return regnum2spr (927);
1164    case sim_ppc_spr928_regnum: return regnum2spr (928);
1165    case sim_ppc_spr929_regnum: return regnum2spr (929);
1166    case sim_ppc_spr930_regnum: return regnum2spr (930);
1167    case sim_ppc_spr931_regnum: return regnum2spr (931);
1168    case sim_ppc_spr932_regnum: return regnum2spr (932);
1169    case sim_ppc_spr933_regnum: return regnum2spr (933);
1170    case sim_ppc_spr934_regnum: return regnum2spr (934);
1171    case sim_ppc_spr935_regnum: return regnum2spr (935);
1172    case sim_ppc_spr936_regnum: return regnum2spr (936);
1173    case sim_ppc_spr937_regnum: return regnum2spr (937);
1174    case sim_ppc_spr938_regnum: return regnum2spr (938);
1175    case sim_ppc_spr939_regnum: return regnum2spr (939);
1176    case sim_ppc_spr940_regnum: return regnum2spr (940);
1177    case sim_ppc_spr941_regnum: return regnum2spr (941);
1178    case sim_ppc_spr942_regnum: return regnum2spr (942);
1179    case sim_ppc_spr943_regnum: return regnum2spr (943);
1180    case sim_ppc_spr944_regnum: return regnum2spr (944);
1181    case sim_ppc_spr945_regnum: return regnum2spr (945);
1182    case sim_ppc_spr946_regnum: return regnum2spr (946);
1183    case sim_ppc_spr947_regnum: return regnum2spr (947);
1184    case sim_ppc_spr948_regnum: return regnum2spr (948);
1185    case sim_ppc_spr949_regnum: return regnum2spr (949);
1186    case sim_ppc_spr950_regnum: return regnum2spr (950);
1187    case sim_ppc_spr951_regnum: return regnum2spr (951);
1188    case sim_ppc_spr952_regnum: return regnum2spr (952);
1189    case sim_ppc_spr953_regnum: return regnum2spr (953);
1190    case sim_ppc_spr954_regnum: return regnum2spr (954);
1191    case sim_ppc_spr955_regnum: return regnum2spr (955);
1192    case sim_ppc_spr956_regnum: return regnum2spr (956);
1193    case sim_ppc_spr957_regnum: return regnum2spr (957);
1194    case sim_ppc_spr958_regnum: return regnum2spr (958);
1195    case sim_ppc_spr959_regnum: return regnum2spr (959);
1196    case sim_ppc_spr960_regnum: return regnum2spr (960);
1197    case sim_ppc_spr961_regnum: return regnum2spr (961);
1198    case sim_ppc_spr962_regnum: return regnum2spr (962);
1199    case sim_ppc_spr963_regnum: return regnum2spr (963);
1200    case sim_ppc_spr964_regnum: return regnum2spr (964);
1201    case sim_ppc_spr965_regnum: return regnum2spr (965);
1202    case sim_ppc_spr966_regnum: return regnum2spr (966);
1203    case sim_ppc_spr967_regnum: return regnum2spr (967);
1204    case sim_ppc_spr968_regnum: return regnum2spr (968);
1205    case sim_ppc_spr969_regnum: return regnum2spr (969);
1206    case sim_ppc_spr970_regnum: return regnum2spr (970);
1207    case sim_ppc_spr971_regnum: return regnum2spr (971);
1208    case sim_ppc_spr972_regnum: return regnum2spr (972);
1209    case sim_ppc_spr973_regnum: return regnum2spr (973);
1210    case sim_ppc_spr974_regnum: return regnum2spr (974);
1211    case sim_ppc_spr975_regnum: return regnum2spr (975);
1212    case sim_ppc_spr976_regnum: return regnum2spr (976);
1213    case sim_ppc_spr977_regnum: return regnum2spr (977);
1214    case sim_ppc_spr978_regnum: return regnum2spr (978);
1215    case sim_ppc_spr979_regnum: return regnum2spr (979);
1216    case sim_ppc_spr980_regnum: return regnum2spr (980);
1217    case sim_ppc_spr981_regnum: return regnum2spr (981);
1218    case sim_ppc_spr982_regnum: return regnum2spr (982);
1219    case sim_ppc_spr983_regnum: return regnum2spr (983);
1220    case sim_ppc_spr984_regnum: return regnum2spr (984);
1221    case sim_ppc_spr985_regnum: return regnum2spr (985);
1222    case sim_ppc_spr986_regnum: return regnum2spr (986);
1223    case sim_ppc_spr987_regnum: return regnum2spr (987);
1224    case sim_ppc_spr988_regnum: return regnum2spr (988);
1225    case sim_ppc_spr989_regnum: return regnum2spr (989);
1226    case sim_ppc_spr990_regnum: return regnum2spr (990);
1227    case sim_ppc_spr991_regnum: return regnum2spr (991);
1228    case sim_ppc_spr992_regnum: return regnum2spr (992);
1229    case sim_ppc_spr993_regnum: return regnum2spr (993);
1230    case sim_ppc_spr994_regnum: return regnum2spr (994);
1231    case sim_ppc_spr995_regnum: return regnum2spr (995);
1232    case sim_ppc_spr996_regnum: return regnum2spr (996);
1233    case sim_ppc_spr997_regnum: return regnum2spr (997);
1234    case sim_ppc_spr998_regnum: return regnum2spr (998);
1235    case sim_ppc_spr999_regnum: return regnum2spr (999);
1236    case sim_ppc_spr1000_regnum: return regnum2spr (1000);
1237    case sim_ppc_spr1001_regnum: return regnum2spr (1001);
1238    case sim_ppc_spr1002_regnum: return regnum2spr (1002);
1239    case sim_ppc_spr1003_regnum: return regnum2spr (1003);
1240    case sim_ppc_spr1004_regnum: return regnum2spr (1004);
1241    case sim_ppc_spr1005_regnum: return regnum2spr (1005);
1242    case sim_ppc_spr1006_regnum: return regnum2spr (1006);
1243    case sim_ppc_spr1007_regnum: return regnum2spr (1007);
1244    case sim_ppc_spr1008_regnum: return regnum2spr (1008);
1245    case sim_ppc_spr1009_regnum: return regnum2spr (1009);
1246    case sim_ppc_spr1010_regnum: return regnum2spr (1010);
1247    case sim_ppc_spr1011_regnum: return regnum2spr (1011);
1248    case sim_ppc_spr1012_regnum: return regnum2spr (1012);
1249    case sim_ppc_spr1013_regnum: return regnum2spr (1013);
1250    case sim_ppc_spr1014_regnum: return regnum2spr (1014);
1251    case sim_ppc_spr1015_regnum: return regnum2spr (1015);
1252    case sim_ppc_spr1016_regnum: return regnum2spr (1016);
1253    case sim_ppc_spr1017_regnum: return regnum2spr (1017);
1254    case sim_ppc_spr1018_regnum: return regnum2spr (1018);
1255    case sim_ppc_spr1019_regnum: return regnum2spr (1019);
1256    case sim_ppc_spr1020_regnum: return regnum2spr (1020);
1257    case sim_ppc_spr1021_regnum: return regnum2spr (1021);
1258    case sim_ppc_spr1022_regnum: return regnum2spr (1022);
1259    case sim_ppc_spr1023_regnum: return regnum2spr (1023);
1260    default:
1261      /* Not a valid register number at all.  */
1262      return NULL;
1263    }
1264}
1265
1266
1267int
1268sim_fetch_register (SIM_DESC sd, int regno, unsigned char *buf, int length)
1269{
1270  const char *regname = regnum2name (regno);
1271
1272  if (simulator == NULL || regname == NULL)
1273    return -1;
1274
1275  TRACE(trace_gdb, ("sim_fetch_register(regno=%d(%s), buf=0x%lx)\n",
1276		    regno, regname, (long)buf));
1277  return psim_read_register(simulator, MAX_NR_PROCESSORS,
1278			    buf, regname, raw_transfer);
1279}
1280
1281
1282int
1283sim_store_register (SIM_DESC sd, int regno, unsigned char *buf, int length)
1284{
1285  const char *regname = regnum2name (regno);
1286
1287  if (simulator == NULL || regname == NULL)
1288    return -1;
1289
1290  TRACE(trace_gdb, ("sim_store_register(regno=%d(%s), buf=0x%lx)\n",
1291		    regno, regname, (long)buf));
1292  return psim_write_register(simulator, MAX_NR_PROCESSORS,
1293			     buf, regname, raw_transfer);
1294}
1295