summaryrefslogtreecommitdiff
path: root/handwritten_support/hgen/ast.hgen
diff options
context:
space:
mode:
Diffstat (limited to 'handwritten_support/hgen/ast.hgen')
-rw-r--r--handwritten_support/hgen/ast.hgen22
1 files changed, 22 insertions, 0 deletions
diff --git a/handwritten_support/hgen/ast.hgen b/handwritten_support/hgen/ast.hgen
new file mode 100644
index 0000000..25d19a4
--- /dev/null
+++ b/handwritten_support/hgen/ast.hgen
@@ -0,0 +1,22 @@
+| `RISCVStopFetching (* this is a special instruction used by rmem to
+ indicate the end of a litmus thread *)
+| `RISCVThreadStart (* this instruction indicates a thread creation in ELF files *)
+
+| `RISCVUTYPE of bit20 * reg * riscvUop
+| `RISCVJAL of bit20 * reg
+| `RISCVJALR of bit12 * reg * reg
+| `RISCVBType of bit12 * reg * reg * riscvBop
+| `RISCVIType of bit12 * reg * reg * riscvIop
+| `RISCVShiftIop of bit6 * reg * reg * riscvSop
+| `RISCVRType of reg * reg * reg * riscvRop
+| `RISCVLoad of bit12 * reg * reg * bool * wordWidth * bool * bool
+| `RISCVStore of bit12 * reg * reg * wordWidth * bool * bool
+| `RISCVADDIW of bit12 * reg * reg
+| `RISCVSHIFTW of bit5 * reg * reg * riscvSop
+| `RISCVRTYPEW of reg * reg * reg * riscvRopw
+| `RISCVFENCE of bit4 * bit4
+| `RISCVFENCE_TSO of bit4 * bit4
+| `RISCVFENCEI
+| `RISCVLoadRes of bool * bool * reg * wordWidth * reg
+| `RISCVStoreCon of bool * bool * reg * reg * wordWidth * reg
+| `RISCVAMO of riscvAmoop * bool * bool * reg * reg * wordWidth * reg