update submodule pointer
[ghc-hetmet.git] / compiler / nativeGen / SPARC / CodeGen / Gen32.hs
index eb302a7..9d6aa5e 100644 (file)
@@ -22,9 +22,9 @@ import NCGMonad
 import Size
 import Reg
 
-import Cmm
-import BlockId
+import OldCmm
 
+import Control.Monad (liftM)
 import OrdList
 import Outputable
 
@@ -638,33 +638,57 @@ condIntReg NE x y = do
     return (Any II32 code__2)
 
 condIntReg cond x y = do
-    bid1@(BlockId _) <- getBlockIdNat
-    bid2@(BlockId _) <- getBlockIdNat
+    bid1 <- liftM (\a -> seq a a) getBlockIdNat
+    bid2 <- liftM (\a -> seq a a) getBlockIdNat
     CondCode _ cond cond_code <- condIntCode cond x y
     let
-       code__2 dst = cond_code `appOL` toOL [
-           BI cond False bid1, NOP,
-           OR False g0 (RIImm (ImmInt 0)) dst,
-           BI ALWAYS False bid2, NOP,
-           NEWBLOCK bid1,
-           OR False g0 (RIImm (ImmInt 1)) dst,
-           NEWBLOCK bid2]
+       code__2 dst 
+        =      cond_code 
+         `appOL` toOL 
+               [ BI cond False bid1
+               , NOP
+
+               , OR False g0 (RIImm (ImmInt 0)) dst
+               , BI ALWAYS False bid2
+               , NOP
+
+               , NEWBLOCK bid1
+               , OR False g0 (RIImm (ImmInt 1)) dst
+               , BI ALWAYS False bid2
+               , NOP
+
+               , NEWBLOCK bid2]
+
     return (Any II32 code__2)
 
 
 condFltReg :: Cond -> CmmExpr -> CmmExpr -> NatM Register
 condFltReg cond x y = do
-    bid1@(BlockId _) <- getBlockIdNat
-    bid2@(BlockId _) <- getBlockIdNat
+    bid1 <- liftM (\a -> seq a a) getBlockIdNat
+    bid2 <- liftM (\a -> seq a a) getBlockIdNat
 
     CondCode _ cond cond_code <- condFltCode cond x y
     let
-       code__2 dst = cond_code `appOL` toOL [ 
-           NOP,
-           BF cond False bid1, NOP,
-           OR False g0 (RIImm (ImmInt 0)) dst,
-           BI ALWAYS False bid2, NOP,
-           NEWBLOCK bid1,
-           OR False g0 (RIImm (ImmInt 1)) dst,
-           NEWBLOCK bid2]
+       code__2 dst 
+        =      cond_code 
+         `appOL` toOL 
+               [ NOP
+               , BF cond False bid1
+               , NOP
+
+               , OR False g0 (RIImm (ImmInt 0)) dst
+               , BI ALWAYS False bid2
+               , NOP
+
+               , NEWBLOCK bid1
+               , OR False g0 (RIImm (ImmInt 1)) dst
+               , BI ALWAYS False bid2
+               , NOP
+
+               , NEWBLOCK bid2 ]
+
     return (Any II32 code__2)
+
+
+
+