aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/ExpansionOracle.ml
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-04-09 16:57:27 +0200
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-04-09 16:57:27 +0200
commit77f3fd97849ad7daa0c6e29c1d7d511d94fb4455 (patch)
tree9c613e942da148ae278dc99544239b10f0658ef8 /riscV/ExpansionOracle.ml
parentb3009fc0550a8f56a2d1da6f633e0ddf52fb3eb2 (diff)
downloadcompcert-kvx-77f3fd97849ad7daa0c6e29c1d7d511d94fb4455.tar.gz
compcert-kvx-77f3fd97849ad7daa0c6e29c1d7d511d94fb4455.zip
adding missing xorimm exp
Diffstat (limited to 'riscV/ExpansionOracle.ml')
-rw-r--r--riscV/ExpansionOracle.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/riscV/ExpansionOracle.ml b/riscV/ExpansionOracle.ml
index b8a7f6e7..4f67b9af 100644
--- a/riscV/ExpansionOracle.ml
+++ b/riscV/ExpansionOracle.ml
@@ -885,6 +885,16 @@ let expanse (sb : superblock) code pm =
exp := orimm64 vn a1 dest n;
exp := extract_final vn !exp dest succ;
was_exp := true
+ | Iop (Oxorimm n, a1 :: nil, dest, succ) ->
+ if exp_debug then eprintf "Iop/Oxorimm\n";
+ exp := xorimm32 vn a1 dest n;
+ exp := extract_final vn !exp dest succ;
+ was_exp := true
+ | Iop (Oxorlimm n, a1 :: nil, dest, succ) ->
+ if exp_debug then eprintf "Iop/Oxorlimm\n";
+ exp := xorimm64 vn a1 dest n;
+ exp := extract_final vn !exp dest succ;
+ was_exp := true
| Iop (Ocast8signed, a1 :: nil, dest, succ) ->
if exp_debug then eprintf "Iop/cast8signed\n";
let op = Oshlimm (Int.repr (Z.of_sint 24)) in