diff options
author | Quentin Rameau <quinq@fifth.space> | 2017-01-20 17:15:46 +0100 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2017-01-20 11:26:37 -0500 |
commit | cec21e6540ee2ddf6ad874f50ef1c69631ec37a4 (patch) | |
tree | 9ea2925934a411345e4fa5e0e53e4366c74efe3d /doc/il.txt | |
parent | 9fbb276e37125d1e14abbc854b9ad1d7c29f90e0 (diff) | |
download | roux-cec21e6540ee2ddf6ad874f50ef1c69631ec37a4.tar.gz |
create an instruction index for the IL doc
Diffstat (limited to 'doc/il.txt')
-rw-r--r-- | doc/il.txt | 50 |
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` + |