diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-05-26 07:32:01 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-05-26 07:32:01 +0000 |
commit | 132e36fa0be63eb5672eda9168403d3fb74af2fa (patch) | |
tree | 33955e0ccb4210271c82326b941523e6e4b2c289 /powerpc/SelectOp.vp | |
parent | 9ea00d39bb32c1f188f1af2745c3368da6a349c1 (diff) | |
download | compcert-132e36fa0be63eb5672eda9168403d3fb74af2fa.tar.gz compcert-132e36fa0be63eb5672eda9168403d3fb74af2fa.zip |
CSE: add recognition of some combined operators, conditions, and addressing modes (cf. CombineOp.v)
Memory model: cleaning up Memdata
Inlining and new Constprop: updated for ARM.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1902 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'powerpc/SelectOp.vp')
-rw-r--r-- | powerpc/SelectOp.vp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/powerpc/SelectOp.vp b/powerpc/SelectOp.vp index c54beed3..6c83ab76 100644 --- a/powerpc/SelectOp.vp +++ b/powerpc/SelectOp.vp @@ -119,6 +119,8 @@ Nondetfunction add (e1: expr) (e2: expr) := match e1, e2 with | Eop (Ointconst n1) Enil, t2 => addimm n1 t2 + | t1, Eop (Ointconst n2) Enil => + addimm n2 t1 | Eop (Oaddimm n1) (t1:::Enil), Eop (Oaddimm n2) (t2:::Enil) => addimm (Int.add n1 n2) (Eop Oadd (t1:::t2:::Enil)) | Eop (Oaddimm n1) (t1:::Enil), t2 => @@ -127,8 +129,6 @@ Nondetfunction add (e1: expr) (e2: expr) := Eop Oadd (Eop (Oaddrsymbol s (Int.add n1 n2)) Enil ::: t2 ::: Enil) | Eop (Oaddrstack n1) Enil, Eop (Oaddimm n2) (t2:::Enil) => Eop Oadd (Eop (Oaddrstack (Int.add n1 n2)) Enil ::: t2 ::: Enil) - | t1, Eop (Ointconst n2) Enil => - addimm n2 t1 | t1, Eop (Oaddimm n2) (t2:::Enil) => addimm n2 (Eop Oadd (t1:::t2:::Enil)) | _, _ => |