diff options
author | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-02-02 13:30:57 +0100 |
---|---|---|
committer | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-02-02 13:30:57 +0100 |
commit | 3e47c1b17e8ff03400106a80117eb86d7e7f9da6 (patch) | |
tree | 6e3695f24009ada53da34e13896148244e10774c /riscV/NeedOp.v | |
parent | 8d4cfe798fb548b4f670fdbe6ebac5bf893276b4 (diff) | |
download | compcert-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.v | 9 |
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: |