summary refs log tree commit diff
path: root/doc/il.txt
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2017-01-20 17:15:46 +0100
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2017-01-20 11:26:37 -0500
commitcec21e6540ee2ddf6ad874f50ef1c69631ec37a4 (patch)
tree9ea2925934a411345e4fa5e0e53e4366c74efe3d /doc/il.txt
parent9fbb276e37125d1e14abbc854b9ad1d7c29f90e0 (diff)
downloadroux-cec21e6540ee2ddf6ad874f50ef1c69631ec37a4.tar.gz
create an instruction index for the IL doc
Diffstat (limited to 'doc/il.txt')
-rw-r--r--doc/il.txt50
1 files changed, 50 insertions, 0 deletions
diff --git a/doc/il.txt b/doc/il.txt
index 4fe55a5..08ded34 100644
--- a/doc/il.txt
+++ b/doc/il.txt
@@ -30,6 +30,7 @@
       * <@ Cast >
       * <@ Call >
       * <@ Phi >
+      * <@ Instructions index >
 
 - 1. Basic Concepts
 -------------------
@@ -800,3 +801,52 @@ An important remark about phi instructions is that QBE
 assumes that if a variable is defined by a phi it respects
 all the SSA invariants.  So it is critical to not use phi
 instructions unless you know exactly what you are doing.
+
+~ Instructions index
+~~~~~~~~~~~~~~~~~~~~~
+
+List of all QBE IL instructions, linked to their respective
+section.
+
+ * <@ Arithmetic and Bits >
+
+    `add`, `sub`, `div`, `mul`
+
+    `udiv`, `rem`, `urem`
+
+    `or`, `xor`, `and`
+
+    `sar`, `shr`, `shl`
+
+ * <@ Memory >
+
+    `stored`, `stores`, `storel`, `storew`, `storeh`, `storeb`
+
+    `loadd`, `loads`, `loadl`, `loadsw`, `loadsh`, `loadsb`
+
+    `alloc4`, `alloc8`, `alloc16`
+
+ * <@ Comparisons >
+
+    `ceqb`, `ceqh`, `ceqw`, `ceql`, `cneb`, `cneh`, `cnew`,
+    `cnel`, `csleb`, `csleh`, `cslew`, `cslel`, `csltb`,
+    `cslth`, `csltw`, `csltl`, `csgeb`, `csgeh`, `csgew`,
+    `csgel`, `csgtb`, `csgth`, `csgtw`, `csgtl`, `culeb`,
+    `culeh`, `culew`, `culel`, `cultb`, `culth`, `cultw`,
+    `cultl`, `cugeb`, `cugeh`, `cugew`, `cugel`, `cugtb`,
+    `cugth`, `cugtw`, `cugtl`
+
+    `ceqs`, `ceqd`, `cnes`, `cned`, `cles`, `cled`, `clts`,
+    `cltd`, `cges`, `cged`, `cgts`, `cgtd`, `cos`, `cod`,
+    `cuos`, `cuod`
+
+ * <@ Conversions >
+
+    `extsw`, `extsh`, `extsb`, `exts`
+    `extuw`, `extuh`, `extub`, `truncd`
+    `stosi`, `dtosi`, `swtof`, `sltof`
+
+ * <@ Cast >
+
+    `cast`
+