aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-03-06 17:43:46 +0100
committerCyril SIX <cyril.six@kalray.eu>2019-03-06 17:43:46 +0100
commit92b2b70c998c3a763a5c08343dc1c05254380322 (patch)
tree7d20563b0f8a56b89caefb03f2d3ed2ee218818c /mppa_k1c
parent60d41ee18346ff6725ae62a7fa054708805ac9c4 (diff)
downloadcompcert-kvx-92b2b70c998c3a763a5c08343dc1c05254380322.tar.gz
compcert-kvx-92b2b70c998c3a763a5c08343dc1c05254380322.zip
HACK for the Pcompw/Pcompl memory problem (but performance decrease, to remove later)
Diffstat (limited to 'mppa_k1c')
-rw-r--r--mppa_k1c/PostpassSchedulingOracle.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml
index db50e3a5..7742b59d 100644
--- a/mppa_k1c/PostpassSchedulingOracle.ml
+++ b/mppa_k1c/PostpassSchedulingOracle.ml
@@ -139,7 +139,10 @@ let arith_rri32_rec i rd rs imm32 = { inst = arith_rri32_str i; write_locs = [Re
let arith_rri64_rec i rd rs imm64 = { inst = arith_rri64_str i; write_locs = [Reg rd]; read_locs = [Reg rs]; imm = imm64; is_control = false }
-let arith_rrr_rec i rd rs1 rs2 = { inst = arith_rrr_str i; write_locs = [Reg rd]; read_locs = [Reg rs1; Reg rs2]; imm = None; is_control = false}
+let arith_rrr_rec i rd rs1 rs2 = (* FIXME - hack for memory problem with Pcompw and Pcompl, performance decreased *)
+ match i with
+ | Pcompw _ | Pcompl _ -> { inst = arith_rrr_str i; write_locs = [Reg rd]; read_locs = [Reg rs1; Reg rs2; Mem]; imm = None; is_control = false}
+ | _ -> { inst = arith_rrr_str i; write_locs = [Reg rd]; read_locs = [Reg rs1; Reg rs2]; imm = None; is_control = false}
let arith_rr_rec i rd rs = { inst = arith_rr_str i; write_locs = [Reg rd]; read_locs = [Reg rs]; imm = None; is_control = false}