aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/Asm.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-03-07 09:22:56 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-03-07 09:22:56 +0000
commitfdcaf6fabd3d594e40a2b7a31341202e9a93f5cb (patch)
tree807d8c24c96db39b596a7e75d746d70ba196e01f /powerpc/Asm.v
parent2f37eb9bd85b6638cce1c2e75c71cdc642acf80a (diff)
downloadcompcert-kvx-fdcaf6fabd3d594e40a2b7a31341202e9a93f5cb.tar.gz
compcert-kvx-fdcaf6fabd3d594e40a2b7a31341202e9a93f5cb.zip
PowerPC: remove the fmadd and fmsub operators/Asm instructions
(definitely not semantics-preserving; hard to justify). CPragmas: make sure SDAs are not recognized on MacOSX. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1836 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'powerpc/Asm.v')
-rw-r--r--powerpc/Asm.v6
1 files changed, 0 insertions, 6 deletions
diff --git a/powerpc/Asm.v b/powerpc/Asm.v
index 2d71ca95..ea5e4162 100644
--- a/powerpc/Asm.v
+++ b/powerpc/Asm.v
@@ -162,10 +162,8 @@ Inductive instruction : Type :=
| Pfcmpu: freg -> freg -> instruction (**r float comparison *)
| Pfcti: ireg -> freg -> instruction (**r float-to-signed-int conversion *)
| Pfdiv: freg -> freg -> freg -> instruction (**r float division *)
- | Pfmadd: freg -> freg -> freg -> freg -> instruction (**r float multiply-add *)
| Pfmake: freg -> ireg -> ireg -> instruction (**r build a float from 2 ints *)
| Pfmr: freg -> freg -> instruction (**r float move *)
- | Pfmsub: freg -> freg -> freg -> freg -> instruction (**r float multiply-sub *)
| Pfmul: freg -> freg -> freg -> instruction (**r float multiply *)
| Pfneg: freg -> freg -> instruction (**r float negation *)
| Pfrsp: freg -> freg -> instruction (**r float round to single precision *)
@@ -632,14 +630,10 @@ Definition exec_instr (c: code) (i: instruction) (rs: regset) (m: mem) : outcome
OK (nextinstr (rs#FPR13 <- Vundef #rd <- (Val.maketotal (Val.intoffloat rs#r1)))) m
| Pfdiv rd r1 r2 =>
OK (nextinstr (rs#rd <- (Val.divf rs#r1 rs#r2))) m
- | Pfmadd rd r1 r2 r3 =>
- OK (nextinstr (rs#rd <- (Val.addf (Val.mulf rs#r1 rs#r2) rs#r3))) m
| Pfmake rd r1 r2 =>
OK (nextinstr (rs#rd <- (Val.floatofwords rs#r1 rs#r2))) m
| Pfmr rd r1 =>
OK (nextinstr (rs#rd <- (rs#r1))) m
- | Pfmsub rd r1 r2 r3 =>
- OK (nextinstr (rs#rd <- (Val.subf (Val.mulf rs#r1 rs#r2) rs#r3))) m
| Pfmul rd r1 r2 =>
OK (nextinstr (rs#rd <- (Val.mulf rs#r1 rs#r2))) m
| Pfneg rd r1 =>