summaryrefslogtreecommitdiff
path: root/mips/gen/ast.hgen
diff options
context:
space:
mode:
Diffstat (limited to 'mips/gen/ast.hgen')
-rw-r--r--mips/gen/ast.hgen18
1 files changed, 18 insertions, 0 deletions
diff --git a/mips/gen/ast.hgen b/mips/gen/ast.hgen
new file mode 100644
index 00000000..a251adff
--- /dev/null
+++ b/mips/gen/ast.hgen
@@ -0,0 +1,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 *)