From fb02f9116621a0bcb9bb2c334ad782fee5887d0e Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Sat, 16 Mar 2019 18:01:25 +0100 Subject: partial norw --- mppa_k1c/PostpassSchedulingOracle.ml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'mppa_k1c/PostpassSchedulingOracle.ml') diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml index 791936f3..c674bf3e 100644 --- a/mppa_k1c/PostpassSchedulingOracle.ml +++ b/mppa_k1c/PostpassSchedulingOracle.ml @@ -63,6 +63,7 @@ let arith_rrr_str = function | Pandw -> "Pandw" | Pnandw -> "Pnandw" | Porw -> "Porw" + | Pnorw -> "Pnorw" | Pxorw -> "Pxorw" | Psraw -> "Psraw" | Psrlw -> "Psrlw" @@ -89,6 +90,7 @@ let arith_rri32_str = function | Pandiw -> "Pandiw" | Pnandiw -> "Pnandiw" | Poriw -> "Poriw" + | Pnoriw -> "Pnoriw" | Pxoriw -> "Pxoriw" | Psraiw -> "Psraiw" | Psrliw -> "Psrliw" @@ -380,7 +382,7 @@ type real_instruction = (* ALU *) | Addw | Andw | Compw | Mulw | Orw | Sbfw | Sraw | Srlw | Sllw | Rorw | Xorw | Addd | Andd | Compd | Muld | Ord | Sbfd | Srad | Srld | Slld | Xord - | Nandw + | Nandw | Norw | Make | Nop | Sxwd | Zxwd (* LSU *) | Lbs | Lbz | Lhs | Lhz | Lws | Ld @@ -406,6 +408,7 @@ let ab_inst_to_real = function | "Pmulw" -> Mulw | "Pmull" -> Muld | "Porw" | "Poriw" -> Orw + | "Pnorw" | "Pnoriw" -> Norw | "Porl" | "Poril" -> Ord | "Psubw" | "Pnegw" -> Sbfw | "Psubl" | "Pnegl" -> Sbfd @@ -469,7 +472,7 @@ let ab_inst_to_real = function | "Pfmuld" -> Fmuld | "Pfmulw" -> Fmulw | s -> failwith @@ sprintf "ab_inst_to_real: unrecognized instruction: %s" s - + exception InvalidEncoding let rec_to_usage r = @@ -479,7 +482,7 @@ let rec_to_usage r = (* I do not know yet in which context Ofslow can be used by CompCert *) and real_inst = ab_inst_to_real r.inst in match real_inst with - | Addw | Andw | Nandw | Orw | Sbfw | Xorw -> + | Addw | Andw | Nandw | Orw | Norw | Sbfw | Xorw -> (match encoding with None | Some U6 | Some S10 -> alu_tiny | Some U27L5 | Some U27L10 -> alu_tiny_x | _ -> raise InvalidEncoding) @@ -532,7 +535,7 @@ let rec_to_usage r = let real_inst_to_latency = function | Nop -> 0 (* Only goes through ID *) | Addw | Andw | Compw | Orw | Sbfw | Sraw | Srlw | Sllw | Xorw - | Rorw | Nandw + | Rorw | Nandw | Norw | Addd | Andd | Compd | Ord | Sbfd | Srad | Srld | Slld | Xord | Make | Sxwd | Zxwd | Fcompw | Fcompd -> 1 -- cgit