1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
| `MIPSThreadStart
| `MIPSRType of mipsRTypeOp * reg * reg * reg
| `MIPSIType of mipsITypeOp * reg * reg * bit16
| `MIPSShiftI of mipsShiftIOp * reg * reg * bit5
| `MIPSShiftV of mipsShiftVOp * reg * reg * reg
| `MIPSMulDiv of mipsMulDivOp * reg * reg
| `MIPSMFHiLo of mipsMFHiLoOp * reg
| `MIPSLUI of reg * bit16
| `MIPSLoad of mipsWordWidth * bool * bool * reg * reg * bit16 (* width, signed, linked, base, rt, offset *)
| `MIPSStore of mipsWordWidth * bool * reg * reg * bit16 (* width, conditional, base, rt, offset *)
| `MIPSLSLR of bool * bool * bool * reg * reg * bit16 (* store, double, left, base, rt, offset *)
| `MIPSSYNC
| `MIPSBEQ of reg * reg * bit16 * bool * bool (* rs, rt, offset, not equal, likely *)
| `MIPSBCMPZ of reg * bit16 * mipsCmp * bool * bool (* rs, offset, cmp, link, likely *)
| `MIPSJ of bit26
| `MIPSJAL of bit26
| `MIPSJR of reg
| `MIPSJALR of reg * reg (* rs, rd *)
|