X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FMachInstrs.hs;h=a9b04db3e57872dc4d01b816e19141fb39a2ee2e;hb=84923cc7de2a93c22a2f72daf9ac863959efae13;hp=9c0e71cd83585d45fc4c1be7d2d46bcd197a3d49;hpb=8f6ef1daa3b8d843fb2559f2ae240d290aad0387;p=ghc-hetmet.git diff --git a/compiler/nativeGen/MachInstrs.hs b/compiler/nativeGen/MachInstrs.hs index 9c0e71c..a9b04db 100644 --- a/compiler/nativeGen/MachInstrs.hs +++ b/compiler/nativeGen/MachInstrs.hs @@ -15,7 +15,9 @@ module MachInstrs ( -- * Machine instructions Instr(..), Cond(..), condUnsigned, condToSigned, condToUnsigned, - +#if powerpc_TARGET_ARCH + condNegate, +#endif #if !powerpc_TARGET_ARCH && !i386_TARGET_ARCH && !x86_64_TARGET_ARCH Size(..), machRepSize, #endif @@ -140,6 +142,20 @@ condToUnsigned GE = GEU condToUnsigned LE = LEU condToUnsigned x = x +#if powerpc_TARGET_ARCH +condNegate ALWAYS = panic "condNegate: ALWAYS" +condNegate EQQ = NE +condNegate GE = LTT +condNegate GEU = LU +condNegate GTT = LE +condNegate GU = LEU +condNegate LE = GTT +condNegate LEU = GU +condNegate LTT = GE +condNegate LU = GEU +condNegate NE = EQQ +#endif + -- ----------------------------------------------------------------------------- -- Sizes on this architecture @@ -660,6 +676,7 @@ fPair other = pprPanic "fPair(sparc NCG)" (ppr other) | CMPL MachRep Reg RI --- size, src1, src2 | BCC Cond BlockId + | BCCFAR Cond BlockId | JMP CLabel -- same as branch, -- but with CLabel instead of block ID | MTCTR Reg