libFirm
gen_TEMPLATE_regalloc_if.c
1 
11 #include "gen_TEMPLATE_regalloc_if.h"
12 
13 #include "TEMPLATE_bearch_t.h"
14 
15 const arch_register_req_t TEMPLATE_class_reg_req_fp = {
16  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
17  .width = 1,
18 };
19 static const unsigned TEMPLATE_limited_fp_f0[] = { (1U << REG_FP_F0) };
20 const arch_register_req_t TEMPLATE_single_reg_req_fp_f0 = {
21  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
22  .limited = TEMPLATE_limited_fp_f0,
23  .width = 1,
24 };
25 static const unsigned TEMPLATE_limited_fp_f1[] = { (1U << REG_FP_F1) };
26 const arch_register_req_t TEMPLATE_single_reg_req_fp_f1 = {
27  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
28  .limited = TEMPLATE_limited_fp_f1,
29  .width = 1,
30 };
31 static const unsigned TEMPLATE_limited_fp_f2[] = { (1U << REG_FP_F2) };
32 const arch_register_req_t TEMPLATE_single_reg_req_fp_f2 = {
33  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
34  .limited = TEMPLATE_limited_fp_f2,
35  .width = 1,
36 };
37 static const unsigned TEMPLATE_limited_fp_f3[] = { (1U << REG_FP_F3) };
38 const arch_register_req_t TEMPLATE_single_reg_req_fp_f3 = {
39  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
40  .limited = TEMPLATE_limited_fp_f3,
41  .width = 1,
42 };
43 static const unsigned TEMPLATE_limited_fp_f4[] = { (1U << REG_FP_F4) };
44 const arch_register_req_t TEMPLATE_single_reg_req_fp_f4 = {
45  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
46  .limited = TEMPLATE_limited_fp_f4,
47  .width = 1,
48 };
49 static const unsigned TEMPLATE_limited_fp_f5[] = { (1U << REG_FP_F5) };
50 const arch_register_req_t TEMPLATE_single_reg_req_fp_f5 = {
51  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
52  .limited = TEMPLATE_limited_fp_f5,
53  .width = 1,
54 };
55 static const unsigned TEMPLATE_limited_fp_f6[] = { (1U << REG_FP_F6) };
56 const arch_register_req_t TEMPLATE_single_reg_req_fp_f6 = {
57  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
58  .limited = TEMPLATE_limited_fp_f6,
59  .width = 1,
60 };
61 static const unsigned TEMPLATE_limited_fp_f7[] = { (1U << REG_FP_F7) };
62 const arch_register_req_t TEMPLATE_single_reg_req_fp_f7 = {
63  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
64  .limited = TEMPLATE_limited_fp_f7,
65  .width = 1,
66 };
67 static const unsigned TEMPLATE_limited_fp_f8[] = { (1U << REG_FP_F8) };
68 const arch_register_req_t TEMPLATE_single_reg_req_fp_f8 = {
69  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
70  .limited = TEMPLATE_limited_fp_f8,
71  .width = 1,
72 };
73 static const unsigned TEMPLATE_limited_fp_f9[] = { (1U << REG_FP_F9) };
74 const arch_register_req_t TEMPLATE_single_reg_req_fp_f9 = {
75  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
76  .limited = TEMPLATE_limited_fp_f9,
77  .width = 1,
78 };
79 static const unsigned TEMPLATE_limited_fp_f10[] = { (1U << REG_FP_F10) };
80 const arch_register_req_t TEMPLATE_single_reg_req_fp_f10 = {
81  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
82  .limited = TEMPLATE_limited_fp_f10,
83  .width = 1,
84 };
85 static const unsigned TEMPLATE_limited_fp_f11[] = { (1U << REG_FP_F11) };
86 const arch_register_req_t TEMPLATE_single_reg_req_fp_f11 = {
87  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
88  .limited = TEMPLATE_limited_fp_f11,
89  .width = 1,
90 };
91 static const unsigned TEMPLATE_limited_fp_f12[] = { (1U << REG_FP_F12) };
92 const arch_register_req_t TEMPLATE_single_reg_req_fp_f12 = {
93  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
94  .limited = TEMPLATE_limited_fp_f12,
95  .width = 1,
96 };
97 static const unsigned TEMPLATE_limited_fp_f13[] = { (1U << REG_FP_F13) };
98 const arch_register_req_t TEMPLATE_single_reg_req_fp_f13 = {
99  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
100  .limited = TEMPLATE_limited_fp_f13,
101  .width = 1,
102 };
103 static const unsigned TEMPLATE_limited_fp_f14[] = { (1U << REG_FP_F14) };
104 const arch_register_req_t TEMPLATE_single_reg_req_fp_f14 = {
105  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
106  .limited = TEMPLATE_limited_fp_f14,
107  .width = 1,
108 };
109 static const unsigned TEMPLATE_limited_fp_f15[] = { (1U << REG_FP_F15) };
110 const arch_register_req_t TEMPLATE_single_reg_req_fp_f15 = {
111  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
112  .limited = TEMPLATE_limited_fp_f15,
113  .width = 1,
114 };
115 const arch_register_req_t TEMPLATE_class_reg_req_gp = {
116  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
117  .width = 1,
118 };
119 static const unsigned TEMPLATE_limited_gp_r0[] = { (1U << REG_GP_R0) };
120 const arch_register_req_t TEMPLATE_single_reg_req_gp_r0 = {
121  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
122  .limited = TEMPLATE_limited_gp_r0,
123  .width = 1,
124 };
125 static const unsigned TEMPLATE_limited_gp_r1[] = { (1U << REG_GP_R1) };
126 const arch_register_req_t TEMPLATE_single_reg_req_gp_r1 = {
127  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
128  .limited = TEMPLATE_limited_gp_r1,
129  .width = 1,
130 };
131 static const unsigned TEMPLATE_limited_gp_r2[] = { (1U << REG_GP_R2) };
132 const arch_register_req_t TEMPLATE_single_reg_req_gp_r2 = {
133  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
134  .limited = TEMPLATE_limited_gp_r2,
135  .width = 1,
136 };
137 static const unsigned TEMPLATE_limited_gp_r3[] = { (1U << REG_GP_R3) };
138 const arch_register_req_t TEMPLATE_single_reg_req_gp_r3 = {
139  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
140  .limited = TEMPLATE_limited_gp_r3,
141  .width = 1,
142 };
143 static const unsigned TEMPLATE_limited_gp_r4[] = { (1U << REG_GP_R4) };
144 const arch_register_req_t TEMPLATE_single_reg_req_gp_r4 = {
145  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
146  .limited = TEMPLATE_limited_gp_r4,
147  .width = 1,
148 };
149 static const unsigned TEMPLATE_limited_gp_r5[] = { (1U << REG_GP_R5) };
150 const arch_register_req_t TEMPLATE_single_reg_req_gp_r5 = {
151  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
152  .limited = TEMPLATE_limited_gp_r5,
153  .width = 1,
154 };
155 static const unsigned TEMPLATE_limited_gp_r6[] = { (1U << REG_GP_R6) };
156 const arch_register_req_t TEMPLATE_single_reg_req_gp_r6 = {
157  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
158  .limited = TEMPLATE_limited_gp_r6,
159  .width = 1,
160 };
161 static const unsigned TEMPLATE_limited_gp_r7[] = { (1U << REG_GP_R7) };
162 const arch_register_req_t TEMPLATE_single_reg_req_gp_r7 = {
163  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
164  .limited = TEMPLATE_limited_gp_r7,
165  .width = 1,
166 };
167 static const unsigned TEMPLATE_limited_gp_r8[] = { (1U << REG_GP_R8) };
168 const arch_register_req_t TEMPLATE_single_reg_req_gp_r8 = {
169  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
170  .limited = TEMPLATE_limited_gp_r8,
171  .width = 1,
172 };
173 static const unsigned TEMPLATE_limited_gp_r9[] = { (1U << REG_GP_R9) };
174 const arch_register_req_t TEMPLATE_single_reg_req_gp_r9 = {
175  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
176  .limited = TEMPLATE_limited_gp_r9,
177  .width = 1,
178 };
179 static const unsigned TEMPLATE_limited_gp_r10[] = { (1U << REG_GP_R10) };
180 const arch_register_req_t TEMPLATE_single_reg_req_gp_r10 = {
181  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
182  .limited = TEMPLATE_limited_gp_r10,
183  .width = 1,
184 };
185 static const unsigned TEMPLATE_limited_gp_r11[] = { (1U << REG_GP_R11) };
186 const arch_register_req_t TEMPLATE_single_reg_req_gp_r11 = {
187  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
188  .limited = TEMPLATE_limited_gp_r11,
189  .width = 1,
190 };
191 static const unsigned TEMPLATE_limited_gp_r12[] = { (1U << REG_GP_R12) };
192 const arch_register_req_t TEMPLATE_single_reg_req_gp_r12 = {
193  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
194  .limited = TEMPLATE_limited_gp_r12,
195  .width = 1,
196 };
197 static const unsigned TEMPLATE_limited_gp_r13[] = { (1U << REG_GP_R13) };
198 const arch_register_req_t TEMPLATE_single_reg_req_gp_r13 = {
199  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
200  .limited = TEMPLATE_limited_gp_r13,
201  .width = 1,
202 };
203 static const unsigned TEMPLATE_limited_gp_sp[] = { (1U << REG_GP_SP) };
204 const arch_register_req_t TEMPLATE_single_reg_req_gp_sp = {
205  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
206  .limited = TEMPLATE_limited_gp_sp,
207  .width = 1,
208 };
209 static const unsigned TEMPLATE_limited_gp_bp[] = { (1U << REG_GP_BP) };
210 const arch_register_req_t TEMPLATE_single_reg_req_gp_bp = {
211  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
212  .limited = TEMPLATE_limited_gp_bp,
213  .width = 1,
214 };
215 
216 
217 arch_register_class_t TEMPLATE_reg_classes[] = {
218  {
219  .name = "TEMPLATE_fp",
220  .mode = NULL,
221  .regs = &TEMPLATE_registers[REG_F0],
222  .class_req = &TEMPLATE_class_reg_req_fp,
223  .index = CLASS_TEMPLATE_fp,
224  .n_regs = 16,
225  .manual_ra = false,
226  },
227  {
228  .name = "TEMPLATE_gp",
229  .mode = NULL,
230  .regs = &TEMPLATE_registers[REG_R0],
231  .class_req = &TEMPLATE_class_reg_req_gp,
232  .index = CLASS_TEMPLATE_gp,
233  .n_regs = 16,
234  .manual_ra = false,
235  },
236 
237 };
238 
240 const arch_register_t TEMPLATE_registers[] = {
241  {
242  .name = "f0",
243  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
244  .single_req = &TEMPLATE_single_reg_req_fp_f0,
245  .index = REG_FP_F0,
246  .global_index = REG_F0,
247  .dwarf_number = 0,
248  .encoding = REG_FP_F0,
249  .is_virtual = false,
250  },
251  {
252  .name = "f1",
253  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
254  .single_req = &TEMPLATE_single_reg_req_fp_f1,
255  .index = REG_FP_F1,
256  .global_index = REG_F1,
257  .dwarf_number = 0,
258  .encoding = REG_FP_F1,
259  .is_virtual = false,
260  },
261  {
262  .name = "f2",
263  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
264  .single_req = &TEMPLATE_single_reg_req_fp_f2,
265  .index = REG_FP_F2,
266  .global_index = REG_F2,
267  .dwarf_number = 0,
268  .encoding = REG_FP_F2,
269  .is_virtual = false,
270  },
271  {
272  .name = "f3",
273  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
274  .single_req = &TEMPLATE_single_reg_req_fp_f3,
275  .index = REG_FP_F3,
276  .global_index = REG_F3,
277  .dwarf_number = 0,
278  .encoding = REG_FP_F3,
279  .is_virtual = false,
280  },
281  {
282  .name = "f4",
283  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
284  .single_req = &TEMPLATE_single_reg_req_fp_f4,
285  .index = REG_FP_F4,
286  .global_index = REG_F4,
287  .dwarf_number = 0,
288  .encoding = REG_FP_F4,
289  .is_virtual = false,
290  },
291  {
292  .name = "f5",
293  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
294  .single_req = &TEMPLATE_single_reg_req_fp_f5,
295  .index = REG_FP_F5,
296  .global_index = REG_F5,
297  .dwarf_number = 0,
298  .encoding = REG_FP_F5,
299  .is_virtual = false,
300  },
301  {
302  .name = "f6",
303  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
304  .single_req = &TEMPLATE_single_reg_req_fp_f6,
305  .index = REG_FP_F6,
306  .global_index = REG_F6,
307  .dwarf_number = 0,
308  .encoding = REG_FP_F6,
309  .is_virtual = false,
310  },
311  {
312  .name = "f7",
313  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
314  .single_req = &TEMPLATE_single_reg_req_fp_f7,
315  .index = REG_FP_F7,
316  .global_index = REG_F7,
317  .dwarf_number = 0,
318  .encoding = REG_FP_F7,
319  .is_virtual = false,
320  },
321  {
322  .name = "f8",
323  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
324  .single_req = &TEMPLATE_single_reg_req_fp_f8,
325  .index = REG_FP_F8,
326  .global_index = REG_F8,
327  .dwarf_number = 0,
328  .encoding = REG_FP_F8,
329  .is_virtual = false,
330  },
331  {
332  .name = "f9",
333  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
334  .single_req = &TEMPLATE_single_reg_req_fp_f9,
335  .index = REG_FP_F9,
336  .global_index = REG_F9,
337  .dwarf_number = 0,
338  .encoding = REG_FP_F9,
339  .is_virtual = false,
340  },
341  {
342  .name = "f10",
343  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
344  .single_req = &TEMPLATE_single_reg_req_fp_f10,
345  .index = REG_FP_F10,
346  .global_index = REG_F10,
347  .dwarf_number = 0,
348  .encoding = REG_FP_F10,
349  .is_virtual = false,
350  },
351  {
352  .name = "f11",
353  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
354  .single_req = &TEMPLATE_single_reg_req_fp_f11,
355  .index = REG_FP_F11,
356  .global_index = REG_F11,
357  .dwarf_number = 0,
358  .encoding = REG_FP_F11,
359  .is_virtual = false,
360  },
361  {
362  .name = "f12",
363  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
364  .single_req = &TEMPLATE_single_reg_req_fp_f12,
365  .index = REG_FP_F12,
366  .global_index = REG_F12,
367  .dwarf_number = 0,
368  .encoding = REG_FP_F12,
369  .is_virtual = false,
370  },
371  {
372  .name = "f13",
373  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
374  .single_req = &TEMPLATE_single_reg_req_fp_f13,
375  .index = REG_FP_F13,
376  .global_index = REG_F13,
377  .dwarf_number = 0,
378  .encoding = REG_FP_F13,
379  .is_virtual = false,
380  },
381  {
382  .name = "f14",
383  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
384  .single_req = &TEMPLATE_single_reg_req_fp_f14,
385  .index = REG_FP_F14,
386  .global_index = REG_F14,
387  .dwarf_number = 0,
388  .encoding = REG_FP_F14,
389  .is_virtual = false,
390  },
391  {
392  .name = "f15",
393  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp],
394  .single_req = &TEMPLATE_single_reg_req_fp_f15,
395  .index = REG_FP_F15,
396  .global_index = REG_F15,
397  .dwarf_number = 0,
398  .encoding = REG_FP_F15,
399  .is_virtual = false,
400  },
401  {
402  .name = "r0",
403  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
404  .single_req = &TEMPLATE_single_reg_req_gp_r0,
405  .index = REG_GP_R0,
406  .global_index = REG_R0,
407  .dwarf_number = 0,
408  .encoding = REG_GP_R0,
409  .is_virtual = false,
410  },
411  {
412  .name = "r1",
413  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
414  .single_req = &TEMPLATE_single_reg_req_gp_r1,
415  .index = REG_GP_R1,
416  .global_index = REG_R1,
417  .dwarf_number = 0,
418  .encoding = REG_GP_R1,
419  .is_virtual = false,
420  },
421  {
422  .name = "r2",
423  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
424  .single_req = &TEMPLATE_single_reg_req_gp_r2,
425  .index = REG_GP_R2,
426  .global_index = REG_R2,
427  .dwarf_number = 0,
428  .encoding = REG_GP_R2,
429  .is_virtual = false,
430  },
431  {
432  .name = "r3",
433  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
434  .single_req = &TEMPLATE_single_reg_req_gp_r3,
435  .index = REG_GP_R3,
436  .global_index = REG_R3,
437  .dwarf_number = 0,
438  .encoding = REG_GP_R3,
439  .is_virtual = false,
440  },
441  {
442  .name = "r4",
443  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
444  .single_req = &TEMPLATE_single_reg_req_gp_r4,
445  .index = REG_GP_R4,
446  .global_index = REG_R4,
447  .dwarf_number = 0,
448  .encoding = REG_GP_R4,
449  .is_virtual = false,
450  },
451  {
452  .name = "r5",
453  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
454  .single_req = &TEMPLATE_single_reg_req_gp_r5,
455  .index = REG_GP_R5,
456  .global_index = REG_R5,
457  .dwarf_number = 0,
458  .encoding = REG_GP_R5,
459  .is_virtual = false,
460  },
461  {
462  .name = "r6",
463  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
464  .single_req = &TEMPLATE_single_reg_req_gp_r6,
465  .index = REG_GP_R6,
466  .global_index = REG_R6,
467  .dwarf_number = 0,
468  .encoding = REG_GP_R6,
469  .is_virtual = false,
470  },
471  {
472  .name = "r7",
473  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
474  .single_req = &TEMPLATE_single_reg_req_gp_r7,
475  .index = REG_GP_R7,
476  .global_index = REG_R7,
477  .dwarf_number = 0,
478  .encoding = REG_GP_R7,
479  .is_virtual = false,
480  },
481  {
482  .name = "r8",
483  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
484  .single_req = &TEMPLATE_single_reg_req_gp_r8,
485  .index = REG_GP_R8,
486  .global_index = REG_R8,
487  .dwarf_number = 0,
488  .encoding = REG_GP_R8,
489  .is_virtual = false,
490  },
491  {
492  .name = "r9",
493  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
494  .single_req = &TEMPLATE_single_reg_req_gp_r9,
495  .index = REG_GP_R9,
496  .global_index = REG_R9,
497  .dwarf_number = 0,
498  .encoding = REG_GP_R9,
499  .is_virtual = false,
500  },
501  {
502  .name = "r10",
503  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
504  .single_req = &TEMPLATE_single_reg_req_gp_r10,
505  .index = REG_GP_R10,
506  .global_index = REG_R10,
507  .dwarf_number = 0,
508  .encoding = REG_GP_R10,
509  .is_virtual = false,
510  },
511  {
512  .name = "r11",
513  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
514  .single_req = &TEMPLATE_single_reg_req_gp_r11,
515  .index = REG_GP_R11,
516  .global_index = REG_R11,
517  .dwarf_number = 0,
518  .encoding = REG_GP_R11,
519  .is_virtual = false,
520  },
521  {
522  .name = "r12",
523  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
524  .single_req = &TEMPLATE_single_reg_req_gp_r12,
525  .index = REG_GP_R12,
526  .global_index = REG_R12,
527  .dwarf_number = 0,
528  .encoding = REG_GP_R12,
529  .is_virtual = false,
530  },
531  {
532  .name = "r13",
533  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
534  .single_req = &TEMPLATE_single_reg_req_gp_r13,
535  .index = REG_GP_R13,
536  .global_index = REG_R13,
537  .dwarf_number = 0,
538  .encoding = REG_GP_R13,
539  .is_virtual = false,
540  },
541  {
542  .name = "sp",
543  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
544  .single_req = &TEMPLATE_single_reg_req_gp_sp,
545  .index = REG_GP_SP,
546  .global_index = REG_SP,
547  .dwarf_number = 0,
548  .encoding = REG_GP_SP,
549  .is_virtual = false,
550  },
551  {
552  .name = "bp",
553  .cls = &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp],
554  .single_req = &TEMPLATE_single_reg_req_gp_bp,
555  .index = REG_GP_BP,
556  .global_index = REG_BP,
557  .dwarf_number = 0,
558  .encoding = REG_GP_BP,
559  .is_virtual = false,
560  },
561 
562 };
563 
567 void TEMPLATE_register_init(void)
568 {
569  TEMPLATE_reg_classes[CLASS_TEMPLATE_fp].mode = mode_F;
570  TEMPLATE_reg_classes[CLASS_TEMPLATE_gp].mode = mode_Iu;
571 
572 }
ir_mode * mode_Iu
uint32
Definition: irmode.h:199
ir_mode * mode_F
ieee754 binary32 float (single precision)
Definition: irmode.h:192