|
33 | 33 | */ |
34 | 34 |
|
35 | 35 | /* Match an individual register number and assign to \var */ |
36 | | -#define _IFC_REG(n) \ |
37 | | - ".ifc \\r, $r" #n "\n\t" \ |
| 36 | +#define _IFC_REG(r,n) \ |
| 37 | + ".ifc \\r, $" #r "\n\t" \ |
38 | 38 | "\\var = " #n "\n\t" \ |
39 | 39 | ".endif\n\t" |
40 | 40 |
|
41 | 41 | __asm__(".macro parse_r var r\n\t" |
42 | 42 | "\\var = -1\n\t" |
43 | | - _IFC_REG(0) _IFC_REG(1) _IFC_REG(2) _IFC_REG(3) |
44 | | - _IFC_REG(4) _IFC_REG(5) _IFC_REG(6) _IFC_REG(7) |
45 | | - _IFC_REG(8) _IFC_REG(9) _IFC_REG(10) _IFC_REG(11) |
46 | | - _IFC_REG(12) _IFC_REG(13) _IFC_REG(14) _IFC_REG(15) |
47 | | - _IFC_REG(16) _IFC_REG(17) _IFC_REG(18) _IFC_REG(19) |
48 | | - _IFC_REG(20) _IFC_REG(21) _IFC_REG(22) _IFC_REG(23) |
49 | | - _IFC_REG(24) _IFC_REG(25) _IFC_REG(26) _IFC_REG(27) |
50 | | - _IFC_REG(28) _IFC_REG(29) _IFC_REG(30) _IFC_REG(31) |
| 43 | + _IFC_REG(zero,0) _IFC_REG(ra,1) _IFC_REG(tp,2) _IFC_REG(sp,3) |
| 44 | + _IFC_REG(a0,4) _IFC_REG(a1,5) _IFC_REG(a2,6) _IFC_REG(a3,7) |
| 45 | + _IFC_REG(a4,8) _IFC_REG(a5,9) _IFC_REG(a6,10) _IFC_REG(a7,11) |
| 46 | + _IFC_REG(t0,12) _IFC_REG(t1,13) _IFC_REG(t2,14) _IFC_REG(t3,15) |
| 47 | + _IFC_REG(t4,16) _IFC_REG(t5,17) _IFC_REG(t6,18) _IFC_REG(t7,19) |
| 48 | + _IFC_REG(t8,20) _IFC_REG(x,21) _IFC_REG(fp,22) _IFC_REG(s0,23) |
| 49 | + _IFC_REG(s1,24) _IFC_REG(s2,25) _IFC_REG(s3,26) _IFC_REG(s4,27) |
| 50 | + _IFC_REG(s5,28) _IFC_REG(s6,29) _IFC_REG(s7,30) _IFC_REG(s8,31) |
51 | 51 | ".iflt \\var\n\t" |
52 | 52 | ".error \"Unable to parse register name \\r\"\n\t" |
53 | 53 | ".endif\n\t" |
|
0 commit comments