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