aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/NeedOp.v
diff options
context:
space:
mode:
Diffstat (limited to 'riscV/NeedOp.v')
-rw-r--r--riscV/NeedOp.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/riscV/NeedOp.v b/riscV/NeedOp.v
index 117bbcb4..da406d8a 100644
--- a/riscV/NeedOp.v
+++ b/riscV/NeedOp.v
@@ -87,6 +87,13 @@ Definition needs_of_operation (op: operation) (nv: nval): list nval :=
| Ointofsingle | Ointuofsingle | Osingleofint | Osingleofintu => op1 (default nv)
| Olongofsingle | Olonguofsingle | Osingleoflong | Osingleoflongu => op1 (default nv)
| Ocmp c => needs_of_condition c
+ | OEseqw _ => op2 (default nv)
+ | OEsnew _ => op2 (default nv)
+ | OEsltw _ => op2 (default nv)
+ | OEsltiw n => op1 (default nv)
+ | OExoriw n => op1 (bitwise nv)
+ | OEluiw n => op1 (default nv)
+ | OEaddiwr0 n => op1 (modarith nv)
end.
Definition operation_is_redundant (op: operation) (nv: nval): bool :=
@@ -154,6 +161,8 @@ Proof.
- apply shlimm_sound; auto.
- apply shrimm_sound; auto.
- apply shruimm_sound; auto.
+- apply xor_sound; auto with na.
+- auto with na.
Qed.
Lemma operation_is_redundant_sound: