diff options
Diffstat (limited to 'riscV/ExpansionOracle.ml')
-rw-r--r-- | riscV/ExpansionOracle.ml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/riscV/ExpansionOracle.ml b/riscV/ExpansionOracle.ml index 092bf0d1..def90a6a 100644 --- a/riscV/ExpansionOracle.ml +++ b/riscV/ExpansionOracle.ml @@ -886,6 +886,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 |