File tree 3 files changed +6
-6
lines changed
3 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -1218,7 +1218,7 @@ Proof.
1218
1218
split. unfold rs2; Simpl. unfold rs1; Simpl.
1219
1219
unfold Val.shr, Val.shl; destruct (rs x0); auto.
1220
1220
change (Int.ltu (Int.repr 24) Int.iwordsize) with true; simpl.
1221
- f_equal. symmetry. apply (Int.sign_ext_shr_shl 8). compute; auto .
1221
+ f_equal. symmetry. apply (Int.sign_ext_shr_shl 8). compute; intuition congruence .
1222
1222
intros. unfold rs2, rs1; Simpl.
1223
1223
(* Ocast16signed *)
1224
1224
destruct Archi.thumb2_support.
@@ -1231,7 +1231,7 @@ Proof.
1231
1231
split. unfold rs2; Simpl. unfold rs1; Simpl.
1232
1232
unfold Val.shr, Val.shl; destruct (rs x0); auto.
1233
1233
change (Int.ltu (Int.repr 16) Int.iwordsize) with true; simpl.
1234
- f_equal. symmetry. apply (Int.sign_ext_shr_shl 16). compute; auto .
1234
+ f_equal. symmetry. apply (Int.sign_ext_shr_shl 16). compute; intuition congruence .
1235
1235
intros. unfold rs2, rs1; Simpl.
1236
1236
(* Oaddimm *)
1237
1237
generalize (addimm_correct x x0 i k rs m).
Original file line number Diff line number Diff line change @@ -2766,7 +2766,7 @@ Qed.
2766
2766
2767
2767
Corollary sign_ext_shr_shl:
2768
2768
forall n x,
2769
- 0 < n < zwordsize ->
2769
+ 0 < n <= zwordsize ->
2770
2770
let y := repr (zwordsize - n) in
2771
2771
sign_ext n x = shr (shl x y) y.
2772
2772
Proof .
@@ -2801,7 +2801,7 @@ Qed.
2801
2801
Lemma sign_ext_range:
2802
2802
forall n x, 0 < n < zwordsize -> -two_p (n-1) <= signed (sign_ext n x) < two_p (n-1).
2803
2803
Proof .
2804
- intros. rewrite sign_ext_shr_shl; auto .
2804
+ intros. rewrite sign_ext_shr_shl by lia .
2805
2805
set (X := shl x (repr (zwordsize - n))).
2806
2806
assert (two_p (n - 1) > 0) by (apply two_p_gt_ZERO; lia).
2807
2807
assert (unsigned (repr (zwordsize - n)) = zwordsize - n).
Original file line number Diff line number Diff line change @@ -1010,14 +1010,14 @@ Opaque Int.eq.
1010
1010
split; intros; Simpl.
1011
1011
assert (A: Int.ltu (Int.repr 24) Int.iwordsize = true) by auto.
1012
1012
destruct (rs x0); auto; simpl. rewrite A; simpl. rewrite A.
1013
- apply Val.lessdef_same. f_equal. apply Int.sign_ext_shr_shl. split; reflexivity .
1013
+ apply Val.lessdef_same. f_equal. apply Int.sign_ext_shr_shl. compute; intuition congruence .
1014
1014
- (* cast16signed *)
1015
1015
econstructor; split.
1016
1016
eapply exec_straight_two. simpl;eauto. simpl;eauto. auto. auto.
1017
1017
split; intros; Simpl.
1018
1018
assert (A: Int.ltu (Int.repr 16) Int.iwordsize = true) by auto.
1019
1019
destruct (rs x0); auto; simpl. rewrite A; simpl. rewrite A.
1020
- apply Val.lessdef_same. f_equal. apply Int.sign_ext_shr_shl. split; reflexivity .
1020
+ apply Val.lessdef_same. f_equal. apply Int.sign_ext_shr_shl. compute; intuition congruence .
1021
1021
- (* addimm *)
1022
1022
exploit (opimm32_correct Paddw Paddiw Val.add); auto. instantiate (1 := x0); eauto with asmgen.
1023
1023
intros (rs' & A & B & C).
You can’t perform that action at this time.
0 commit comments