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