aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c
diff options
context:
space:
mode:
Diffstat (limited to 'mppa_k1c')
-rw-r--r--mppa_k1c/SelectOp.vp4
-rw-r--r--mppa_k1c/SelectOpproof.v3
2 files changed, 5 insertions, 2 deletions
diff --git a/mppa_k1c/SelectOp.vp b/mppa_k1c/SelectOp.vp
index 2987fd1d..2bd51f97 100644
--- a/mppa_k1c/SelectOp.vp
+++ b/mppa_k1c/SelectOp.vp
@@ -52,6 +52,7 @@ Require Import Op.
Require Import CminorSel.
Require Import OpHelpers.
Require Import ExtValues.
+Require Import DecBoolOps.
Local Open Scope cminorsel_scope.
@@ -342,7 +343,8 @@ Nondetfunction or (e1: expr) (e2: expr) :=
let zstart := Int.unsigned start in
let zstop := int_highest_bit mask in
let mask' := Int.repr (zbitfield_mask zstop zstart) in
- if Int.eq_dec mask mask'
+ if and_dec (Int.eq_dec mask mask')
+ (Int.eq_dec nmask (Int.not mask'))
then Eop Oor (e1:::e2:::Enil)
else Eop Oor (e1:::e2:::Enil)
| _, _ => Eop Oor (e1:::e2:::Enil)
diff --git a/mppa_k1c/SelectOpproof.v b/mppa_k1c/SelectOpproof.v
index 1bd727b9..b8f37c7b 100644
--- a/mppa_k1c/SelectOpproof.v
+++ b/mppa_k1c/SelectOpproof.v
@@ -33,6 +33,7 @@ Require Import SelectOp.
Require Import Events.
Require Import OpHelpers.
Require Import OpHelpersproof.
+Require Import DecBoolOps.
Local Open Scope cminorsel_scope.
Local Open Scope string_scope.
@@ -700,7 +701,7 @@ Proof.
rewrite Int.or_commut.
rewrite Int.or_zero.
reflexivity.
- - destruct (Int.eq_dec _ _); apply DEFAULT.
+ - destruct (and_dec _ _); apply DEFAULT.
- apply DEFAULT.
Qed.