diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-03-07 09:22:56 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-03-07 09:22:56 +0000 |
commit | fdcaf6fabd3d594e40a2b7a31341202e9a93f5cb (patch) | |
tree | 807d8c24c96db39b596a7e75d746d70ba196e01f /powerpc/Asm.v | |
parent | 2f37eb9bd85b6638cce1c2e75c71cdc642acf80a (diff) | |
download | compcert-fdcaf6fabd3d594e40a2b7a31341202e9a93f5cb.tar.gz compcert-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.v | 6 |
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 => |