diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2019-03-19 15:50:22 +0100 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2019-03-19 15:50:22 +0100 |
commit | f321f75979d18ab99f226b2c5d6bbb59bffb5cac (patch) | |
tree | 54dfd0c7ce3a0569549120c786026b6b33431254 /mppa_k1c/PostpassSchedulingOracle.ml | |
parent | b169a1c8b88feee186d96c107562aff847caf235 (diff) | |
download | compcert-kvx-f321f75979d18ab99f226b2c5d6bbb59bffb5cac.tar.gz compcert-kvx-f321f75979d18ab99f226b2c5d6bbb59bffb5cac.zip |
Pseudo instruction for 32 bits division, no code generation yet
Diffstat (limited to 'mppa_k1c/PostpassSchedulingOracle.ml')
-rw-r--r-- | mppa_k1c/PostpassSchedulingOracle.ml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml index ce2fb2ae..ac257af3 100644 --- a/mppa_k1c/PostpassSchedulingOracle.ml +++ b/mppa_k1c/PostpassSchedulingOracle.ml @@ -206,6 +206,7 @@ let basic_rec i = | Pnop -> { inst = "nop"; write_locs = []; read_locs = []; imm = None ; is_control = false} let expand_rec = function + | Pdiv | Pdivu -> { inst = "Pdiv"; write_locs = [Reg (IR GPR0)]; read_locs = [Reg (IR GPR0); Reg (IR GPR1)]; imm = None; is_control = true } | Pbuiltin _ -> raise OpaqueInstruction let ctl_flow_rec = function @@ -477,7 +478,7 @@ let ab_inst_to_real = function | "Psd" | "Psd_a" | "Pfsd" -> Sd | "Pcb" | "Pcbu" -> Cb - | "Pcall" -> Call + | "Pcall" | "Pdiv" | "Pdivu" -> Call | "Picall" -> Icall | "Pgoto" | "Pj_l" -> Goto | "Pigoto" -> Igoto |