aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/PostpassSchedulingOracle.ml
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-30 10:10:06 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-30 10:10:06 +0200
commitcfc681ae18c59f4a19143a7245be23eb6a4045a0 (patch)
tree9de825a02fe2abd027cad7cb142c1220b7c5035f /mppa_k1c/PostpassSchedulingOracle.ml
parentc0984982ea5b8481bfc75c0ea4254eb5db07d875 (diff)
downloadcompcert-kvx-cfc681ae18c59f4a19143a7245be23eb6a4045a0.tar.gz
compcert-kvx-cfc681ae18c59f4a19143a7245be23eb6a4045a0.zip
add finvw ; not yet generated
Diffstat (limited to 'mppa_k1c/PostpassSchedulingOracle.ml')
-rw-r--r--mppa_k1c/PostpassSchedulingOracle.ml7
1 files changed, 4 insertions, 3 deletions
diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml
index 21cabfe9..e2baa2c0 100644
--- a/mppa_k1c/PostpassSchedulingOracle.ml
+++ b/mppa_k1c/PostpassSchedulingOracle.ml
@@ -31,7 +31,7 @@ type real_instruction =
(* FPU *)
| Fabsd | Fabsw | Fnegw | Fnegd
| Faddd | Faddw | Fsbfd | Fsbfw | Fmuld | Fmulw
- | Fmind | Fminw | Fmaxd | Fmaxw
+ | Fmind | Fminw | Fmaxd | Fmaxw | Finvw
| Fnarrowdw | Fwidenlwd | Floatwz | Floatuwz | Floatdz | Floatudz | Fixedwz | Fixeduwz | Fixeddz | Fixedudz
| Fcompw | Fcompd
@@ -62,6 +62,7 @@ let arith_rr_real = function
| Pfabsd -> Fabsd
| Pfnegw -> Fnegw
| Pfnegd -> Fnegd
+ | Pfinvw -> Finvw
| Pfnarrowdw -> Fnarrowdw
| Pfwidenlwd -> Fwidenlwd
| Pfloatwrnsz -> Floatwz
@@ -586,7 +587,7 @@ let rec_to_usage r =
| Fnegd | Fnegw | Fabsd | Fabsw | Fwidenlwd
| Fmind | Fmaxd | Fminw | Fmaxw -> alu_lite
| Fnarrowdw -> alu_full
- | Faddd | Faddw | Fsbfd | Fsbfw | Fmuld | Fmulw -> mau
+ | Faddd | Faddw | Fsbfd | Fsbfw | Fmuld | Fmulw | Finvw -> mau
let real_inst_to_latency = function
@@ -607,7 +608,7 @@ let real_inst_to_latency = function
| Set -> 4 (* According to the manual should be 3, but I measured 4 *)
| Icall | Call | Cb | Igoto | Goto | Ret -> 42 (* Should not matter since it's the final instruction of the basic block *)
| Fnegd | Fnegw | Fabsd | Fabsw | Fwidenlwd | Fnarrowdw -> 1
- | Faddd | Faddw | Fsbfd | Fsbfw | Fmuld | Fmulw -> 4
+ | Faddd | Faddw | Fsbfd | Fsbfw | Fmuld | Fmulw | Finvw -> 4
let rec_to_info r : inst_info =
let usage = rec_to_usage r