1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
| RTYPE reg COMMA reg COMMA reg
{ `MIPSRType ($1.op, $2, $4, $6) }
| ITYPE reg COMMA reg COMMA NUM
{ `MIPSIType ($1.op, $2, $4, $6) }
| SHIFTI reg COMMA reg COMMA NUM
{ `MIPSShiftI ($1.op, $2, $4, $6) }
| SHIFTV reg COMMA reg COMMA reg
{ `MIPSShiftV ($1.op, $2, $4, $6) }
| MULDIV reg COMMA reg
{ `MIPSMulDiv ($1.op, $2, $4) }
| MFHILO reg
{ `MIPSMFHiLo ($1.op, $2) }
| LUI reg COMMA NUM
{ `MIPSLUI ($2, $4) }
| LOAD reg COMMA NUM LPAR reg RPAR
{ `MIPSLoad ($1.width, $1.signed, $1.linked, $6, $2, $4) }
| STORE reg COMMA NUM LPAR reg RPAR
{ `MIPSStore ($1.width, $1.conditional, $6, $2, $4) }
| LSLR reg COMMA NUM LPAR reg RPAR
{ `MIPSLSLR ($1.store, $1.double, $1.left, $6, $2, $4) }
| SYNC
{ `MIPSSYNC }
| BEQ reg COMMA reg COMMA NUM
{ `MIPSBEQ ( $2, $4, $6, $1.ne, $1.likely) }
| BCMPZ reg COMMA NUM
{ `MIPSBCMPZ ( $2, $4, $1.cmp, $1.link, $1.likely) }
| J NUM
{ `MIPSJ ($2) }
| JAL NUM
{ `MIPSJAL ($2) }
| JR reg
{ `MIPSJR ($2) }
| JALR reg COMMA reg
{ `MIPSJALR ($2, $4) }
|