1module SPARC.Cond ( 2 Cond(..), 3 condUnsigned, 4 condToSigned, 5 condToUnsigned 6) 7 8where 9 10import GhcPrelude 11 12-- | Branch condition codes. 13data Cond 14 = ALWAYS 15 | EQQ 16 | GE 17 | GEU 18 | GTT 19 | GU 20 | LE 21 | LEU 22 | LTT 23 | LU 24 | NE 25 | NEG 26 | NEVER 27 | POS 28 | VC 29 | VS 30 deriving Eq 31 32 33condUnsigned :: Cond -> Bool 34condUnsigned GU = True 35condUnsigned LU = True 36condUnsigned GEU = True 37condUnsigned LEU = True 38condUnsigned _ = False 39 40 41condToSigned :: Cond -> Cond 42condToSigned GU = GTT 43condToSigned LU = LTT 44condToSigned GEU = GE 45condToSigned LEU = LE 46condToSigned x = x 47 48 49condToUnsigned :: Cond -> Cond 50condToUnsigned GTT = GU 51condToUnsigned LTT = LU 52condToUnsigned GE = GEU 53condToUnsigned LE = LEU 54condToUnsigned x = x 55