2 -- The above warning supression flag is a temporary kludge.
3 -- While working on this module you are encouraged to remove it and fix
4 -- any warnings in the module. See
5 -- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
8 -----------------------------------------------------------------------------
10 -- Machine-dependent assembly language
12 -- (c) The University of Glasgow 1993-2004
14 -----------------------------------------------------------------------------
16 #include "nativeGen/NCG.h"
29 #elif powerpc_TARGET_ARCH
31 #elif i386_TARGET_ARCH || x86_64_TARGET_ARCH
33 #elif sparc_TARGET_ARCH
36 #error "MachInstrs: not defined for this architecture"
42 #include "HsVersions.h"
47 import CLabel ( CLabel, pprCLabel )
48 import Panic ( panic )
51 import Constants ( wORD_SIZE )
57 #elif powerpc_TARGET_ARCH
59 #elif i386_TARGET_ARCH || x86_64_TARGET_ARCH
61 #elif sparc_TARGET_ARCH
64 #error "MachInstrs: not defined for this architecture"
68 -- Our flavours of the Cmm types
69 -- Type synonyms for Cmm populated with native code
71 type NatCmm = GenCmm CmmStatic [CmmStatic] (ListGraph Instr)
72 type NatCmmTop = GenCmmTop CmmStatic [CmmStatic] (ListGraph Instr)
73 type NatBasicBlock = GenBasicBlock Instr
77 condUnsigned GU = True
78 condUnsigned LU = True
79 condUnsigned GEU = True
80 condUnsigned LEU = True
81 condUnsigned _ = False
89 condToUnsigned GTT = GU
90 condToUnsigned LTT = LU
91 condToUnsigned GE = GEU
92 condToUnsigned LE = LEU