aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/TargetPrinter.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-09-09 09:47:57 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-09-09 09:47:57 +0200
commit62277541b0ea1c687c64df79a543f776b9f58f29 (patch)
tree018b97b58a96f6c778db85ed16b382e295efee31 /powerpc/TargetPrinter.ml
parentfc4af0aa2601b290ec62dceef11599171f056770 (diff)
downloadcompcert-62277541b0ea1c687c64df79a543f776b9f58f29.tar.gz
compcert-62277541b0ea1c687c64df79a543f776b9f58f29.zip
Added an builtin for the atomic exchange operation.
The new builtin __builtin_atomic_exchange(int *a, int *b, int *c) stores *b in *a and sets *c to the old value of *a.
Diffstat (limited to 'powerpc/TargetPrinter.ml')
-rw-r--r--powerpc/TargetPrinter.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/powerpc/TargetPrinter.ml b/powerpc/TargetPrinter.ml
index eca7a1b8..f5295777 100644
--- a/powerpc/TargetPrinter.ml
+++ b/powerpc/TargetPrinter.ml
@@ -414,6 +414,8 @@ module Target (System : SYSTEM):TARGET =
end
| Pbl(s, sg) ->
fprintf oc " bl %a\n" symbol s
+ | Pbne lbl ->
+ fprintf oc " bne- %a\n" label (transl_label lbl)
| Pbs(s, sg) ->
fprintf oc " b %a\n" symbol s
| Pblr ->