aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/PostpassSchedulingOracle.ml
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2020-02-06 14:30:28 +0100
committerCyril SIX <cyril.six@kalray.eu>2020-02-06 14:30:28 +0100
commitfadf090fcc33d9d5aabde1cb1f2c5116302427a4 (patch)
treefb0cf62d26021d73fa515cc3dc7419f43e6e753d /mppa_k1c/PostpassSchedulingOracle.ml
parent4d0cc4318d6f46d9575ff7ebb1b74d8d8632ebb1 (diff)
downloadcompcert-kvx-fadf090fcc33d9d5aabde1cb1f2c5116302427a4.tar.gz
compcert-kvx-fadf090fcc33d9d5aabde1cb1f2c5116302427a4.zip
Fixing maddw and maddd resource tables
Diffstat (limited to 'mppa_k1c/PostpassSchedulingOracle.ml')
-rw-r--r--mppa_k1c/PostpassSchedulingOracle.ml21
1 files changed, 19 insertions, 2 deletions
diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml
index 49cece02..686979a6 100644
--- a/mppa_k1c/PostpassSchedulingOracle.ml
+++ b/mppa_k1c/PostpassSchedulingOracle.ml
@@ -550,6 +550,17 @@ let mau_y : int array = let resmap = fun r -> match r with
| Rissue -> 3 | Rtiny -> 1 | Rmau -> 1 | _ -> 0
in Array.of_list (List.map resmap resource_names)
+let mau_auxr : int array = let resmap = fun r -> match r with
+ | Rissue -> 1 | Rtiny -> 1 | Rmau -> 1 | Rauxr -> 1 | _ -> 0
+ in Array.of_list (List.map resmap resource_names)
+
+let mau_auxr_x : int array = let resmap = fun r -> match r with
+ | Rissue -> 2 | Rtiny -> 1 | Rmau -> 1 | Rauxr -> 1 | _ -> 0
+ in Array.of_list (List.map resmap resource_names)
+
+let mau_auxr_y : int array = let resmap = fun r -> match r with
+ | Rissue -> 3 | Rtiny -> 1 | Rmau -> 1 | Rauxr -> 1 | _ -> 0
+ in Array.of_list (List.map resmap resource_names)
(** Real instructions *)
@@ -602,10 +613,16 @@ let rec_to_usage r =
| Some U27L5 | Some U27L10 -> alu_tiny_x
| Some E27U27L10 -> alu_tiny_y
| _ -> raise InvalidEncoding)
- | Mulw| Maddw | Msbfw -> (match encoding with None -> mau
+ | Maddw -> (match encoding with None -> mau_auxr
+ | Some U6 | Some S10 | Some U27L5 -> mau_auxr_x
+ | _ -> raise InvalidEncoding)
+ | Maddd -> (match encoding with None | Some U6 | Some S10 -> mau_auxr
+ | Some U27L5 | Some U27L10 -> mau_auxr_x
+ | Some E27U27L10 -> mau_auxr_y)
+ | Mulw| Msbfw -> (match encoding with None -> mau
| Some U6 | Some S10 | Some U27L5 -> mau_x
| _ -> raise InvalidEncoding)
- | Muld | Maddd | Msbfd -> (match encoding with None | Some U6 | Some S10 -> mau
+ | Muld | Msbfd -> (match encoding with None | Some U6 | Some S10 -> mau
| Some U27L5 | Some U27L10 -> mau_x
| Some E27U27L10 -> mau_y)
| Nop -> alu_nop