aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-04-21 10:21:06 +0200
committerXavier Leroy <xavier.leroy@inria.fr>2015-04-21 10:21:06 +0200
commit426881cde464691b61c5c49cf5038d21aace75fe (patch)
tree0817d5fe4d5d51abd793e471f73f0ad9de3f2228 /powerpc
parent1b5db339bb05f773a6a132be4c0b8cea54d50461 (diff)
downloadcompcert-426881cde464691b61c5c49cf5038d21aace75fe.tar.gz
compcert-426881cde464691b61c5c49cf5038d21aace75fe.zip
Support for GCC-style extended asm, continued:
- support "r", "m" and "i" constraints - support "%Q" and "%R" modifiers for register pairs - support register clobbers - split off analysis and transformation of asm statements in cparser/ExtendedAsm.ml
Diffstat (limited to 'powerpc')
-rw-r--r--powerpc/Asmexpand.ml2
-rw-r--r--powerpc/TargetPrinter.ml2
2 files changed, 2 insertions, 2 deletions
diff --git a/powerpc/Asmexpand.ml b/powerpc/Asmexpand.ml
index fbe5f782..aec8f66e 100644
--- a/powerpc/Asmexpand.ml
+++ b/powerpc/Asmexpand.ml
@@ -523,7 +523,7 @@ let expand_instruction instr =
expand_builtin_memcpy (Z.to_int sz) (Z.to_int al) args
| EF_annot_val(txt, targ) ->
expand_annot_val txt targ args res
- | EF_inline_asm(txt, sg) ->
+ | EF_inline_asm(txt, sg, clob) ->
emit instr
| _ ->
assert false
diff --git a/powerpc/TargetPrinter.ml b/powerpc/TargetPrinter.ml
index 49954998..99e2479d 100644
--- a/powerpc/TargetPrinter.ml
+++ b/powerpc/TargetPrinter.ml
@@ -650,7 +650,7 @@ module Target (System : SYSTEM):TARGET =
fprintf oc "%a:\n" label (transl_label lbl)
| Pbuiltin(ef, args, res) ->
begin match ef with
- | EF_inline_asm(txt, sg) ->
+ | EF_inline_asm(txt, sg, clob) ->
fprintf oc "%s begin inline assembly\n" comment;
fprintf oc "\t";
PrintAnnot.print_inline_asm preg oc (extern_atom txt) sg args res;