From cdf83055d96e2af784a97c783c94b83ba2032ae1 Mon Sep 17 00:00:00 2001 From: xleroy Date: Thu, 19 Nov 2009 13:31:08 +0000 Subject: Added support for jump tables. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1181 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- arm/PrintAsm.ml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'arm/PrintAsm.ml') diff --git a/arm/PrintAsm.ml b/arm/PrintAsm.ml index 9297a694..22399112 100644 --- a/arm/PrintAsm.ml +++ b/arm/PrintAsm.ml @@ -356,6 +356,12 @@ let print_instruction oc labels = function let lbl = label_symbol id ofs in fprintf oc " ldr %a, .L%d @ %a\n" ireg r1 lbl print_symb_ofs (id, ofs); 1 + | Pbtbl(r, tbl) -> + fprintf oc " ldr pc, [pc, %a]\n" ireg r; + fprintf oc " mov r0, r0\n"; (* no-op *) + List.iter + (fun l -> fprintf oc " .word %a\n" label (transl_label l)); + 2 + List.length tbl let no_fallthrough = function | Pb _ -> true -- cgit