aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/NeedOp.v
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-02-02 13:30:57 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-02-02 13:30:57 +0100
commit3e47c1b17e8ff03400106a80117eb86d7e7f9da6 (patch)
tree6e3695f24009ada53da34e13896148244e10774c /riscV/NeedOp.v
parent8d4cfe798fb548b4f670fdbe6ebac5bf893276b4 (diff)
downloadcompcert-kvx-3e47c1b17e8ff03400106a80117eb86d7e7f9da6.tar.gz
compcert-kvx-3e47c1b17e8ff03400106a80117eb86d7e7f9da6.zip
Expansion of Ccompimm in RTL [Admitted checker]
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: