diff options
Diffstat (limited to 'mppa_k1c/PostpassSchedulingOracle.ml')
-rw-r--r-- | mppa_k1c/PostpassSchedulingOracle.ml | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml index a09d696f..ddc31ebc 100644 --- a/mppa_k1c/PostpassSchedulingOracle.ml +++ b/mppa_k1c/PostpassSchedulingOracle.ml @@ -35,7 +35,9 @@ let arith_rr_str = function | Psxwd -> "Psxwd" | Pzxwd -> "Pzxwd" | Pfloatwrnsz -> "Pfloatwrnsz" + | Pfloatdrnsz -> "Pfloatdrnsz" | Pfixedwrzz -> "Pfixedwrzz" + | Pfixeddrzz -> "Pfixeddrzz" let arith_rrr_str = function | Pcompw it -> "Pcompw" @@ -345,7 +347,7 @@ type real_instruction = (* BCU *) | Icall | Call | Cb | Igoto | Goto | Ret | Get | Set (* FPU *) - | Fnegd | Floatwz | Fixedwz + | Fnegd | Floatwz | Floatdz | Fixedwz | Fixeddz let ab_inst_to_real = function | "Paddw" | "Paddiw" | "Pcvtl2w" -> Addw @@ -373,7 +375,9 @@ let ab_inst_to_real = function | "Psxwd" -> Sxwd | "Pzxwd" -> Zxwd | "Pfloatwrnsz" -> Floatwz + | "Pfloatdrnsz" -> Floatdz | "Pfixedwrzz" -> Fixedwz + | "Pfixeddrzz" -> Fixeddz | "Plb" -> Lbs | "Plbu" -> Lbz @@ -435,7 +439,7 @@ let rec_to_usage r = | Nop -> alu_nop | Sraw | Srlw | Sllw | Srad | Srld | Slld -> (match encoding with None | Some U6 -> alu_tiny | _ -> raise InvalidEncoding) | Sxwd | Zxwd -> (match encoding with None -> alu_lite | _ -> raise InvalidEncoding) - | Fixedwz | Floatwz -> mau + | Fixedwz | Floatwz | Fixeddz | Floatdz -> mau | Lbs | Lbz | Lhs | Lhz | Lws | Ld -> (match encoding with None | Some U6 | Some S10 -> lsu_data | Some U27L5 | Some U27L10 -> lsu_data_x @@ -454,7 +458,7 @@ let real_inst_to_latency = function | Addd | Andd | Compd | Ord | Sbfd | Srad | Srld | Slld | Xord | Make | Sxwd | Zxwd -> 1 - | Floatwz | Fixedwz -> 4 + | Floatwz | Fixedwz | Floatdz | Fixeddz -> 4 | Mulw | Muld -> 2 (* FIXME - WORST CASE. If it's S10 then it's only 1 *) | Lbs | Lbz | Lhs | Lhz | Lws | Ld | Sb | Sh | Sw | Sd |