summaryrefslogtreecommitdiff
path: root/arm/Asmgen.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2009-11-19 13:31:08 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2009-11-19 13:31:08 +0000
commitcdf83055d96e2af784a97c783c94b83ba2032ae1 (patch)
tree908255b3dc26d69a27f55ae430fb6529934dde32 /arm/Asmgen.v
parentd0ed98b8fd61a88cf8e9514015a8f2419fd59575 (diff)
Added support for jump tables.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1181 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm/Asmgen.v')
-rw-r--r--arm/Asmgen.v3
1 files changed, 3 insertions, 0 deletions
diff --git a/arm/Asmgen.v b/arm/Asmgen.v
index 7e40949..8e0805f 100644
--- a/arm/Asmgen.v
+++ b/arm/Asmgen.v
@@ -483,6 +483,9 @@ Definition transl_instr (f: Mach.function) (i: Mach.instruction) (k: code) :=
Pb lbl :: k
| Mcond cond args lbl =>
transl_cond cond args (Pbc (crbit_for_cond cond) lbl :: k)
+ | Mjumptable arg tbl =>
+ Pmov IR14 (SOlslimm (ireg_of arg) (Int.repr 2)) ::
+ Pbtbl IR14 tbl :: k
| Mreturn =>
loadind_int IR13 f.(fn_retaddr_ofs) IR14
(Pfreeframe f.(fn_link_ofs) :: Pbreg IR14 :: k)