aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/SelectLong.vp
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-05 15:04:46 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-05 15:04:46 +0200
commit27d1525b819cf4f82e4a2f2943596001b50c44b7 (patch)
treec9341fdeeab54a1ead28604e51c9918e2e26b815 /mppa_k1c/SelectLong.vp
parent5ff1a009561973e65437edadd752f627c12c1a29 (diff)
downloadcompcert-kvx-27d1525b819cf4f82e4a2f2943596001b50c44b7.tar.gz
compcert-kvx-27d1525b819cf4f82e4a2f2943596001b50c44b7.zip
reinstated the orl selectl construct
Diffstat (limited to 'mppa_k1c/SelectLong.vp')
-rw-r--r--mppa_k1c/SelectLong.vp9
1 files changed, 3 insertions, 6 deletions
diff --git a/mppa_k1c/SelectLong.vp b/mppa_k1c/SelectLong.vp
index f8f5bf3b..f7cb3c82 100644
--- a/mppa_k1c/SelectLong.vp
+++ b/mppa_k1c/SelectLong.vp
@@ -286,10 +286,6 @@ Nondetfunction orl (e1: expr) (e2: expr) :=
| t1, Eop (Olongconst n2) Enil => orlimm n2 t1
| (Eop Onotl (t1:::Enil)), t2 => Eop Oornl (t1:::t2:::Enil)
| t1, (Eop Onotl (t2:::Enil)) => Eop Oornl (t2:::t1:::Enil)
- | _, _ => Eop Oorl (e1:::e2:::Enil)
- end.
-
- (*
| (Eop Oandl ((Eop Ocast32signed
((Eop Oneg ((Eop (Ocmp (Ccomplimm Ceq zero0))
(y0:::Enil)):::Enil)):::Enil)):::v0:::Enil)),
@@ -299,9 +295,10 @@ Nondetfunction orl (e1: expr) (e2: expr) :=
if same_expr_pure y0 y1
&& Int64.eq zero0 Int64.zero
&& Int64.eq zero1 Int64.zero
- then Eop Oselectl (v0:::v1:::y0:::Enil)
+ then Eop (Oselectl (Ccompl0 Cne)) (v0:::v1:::y0:::Enil)
else Eop Oorl (e1:::e2:::Enil)
- *)
+ | _, _ => Eop Oorl (e1:::e2:::Enil)
+ end.
Nondetfunction xorlimm (n1: int64) (e2: expr) :=
if Int64.eq n1 Int64.zero then e2 else