X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FMachCodeGen.hs;h=9901e6220da70bc1f09d8d987347ce5949536bfb;hb=0da51cdd6404332ba6531364e6b7de30cbc0333a;hp=c4943107a6a33681988b7bddc9411359d78e5e9c;hpb=dbc0a8f9177695592f960cc6dbd00c5e6f061e3f;p=ghc-hetmet.git diff --git a/compiler/nativeGen/MachCodeGen.hs b/compiler/nativeGen/MachCodeGen.hs index c494310..9901e62 100644 --- a/compiler/nativeGen/MachCodeGen.hs +++ b/compiler/nativeGen/MachCodeGen.hs @@ -2092,7 +2092,7 @@ is32BitLit (CmmInt i I64) = is32BitInteger i -- assume that labels are in the range 0-2^31-1: this assumes the -- small memory model (see gcc docs, -mcmodel=small). #endif -is32BitLit x = False +is32BitLit x = True #endif is32BitInteger :: Integer -> Bool @@ -2229,7 +2229,7 @@ condIntCode cond (CmmLoad x pk) (CmmLit lit) | is32BitLit lit = do -- anything vs zero, using a mask -- TODO: Add some sanity checking!!!! condIntCode cond (CmmMachOp (MO_And rep) [x,o2]) (CmmLit (CmmInt 0 pk)) - | (CmmLit (CmmInt mask pk2)) <- o2 + | (CmmLit lit@(CmmInt mask pk2)) <- o2, is32BitLit lit = do (x_reg, x_code) <- getSomeReg x let