ghc-6.12.3: The GHC APISource codeContentsIndex
SPARC.Instr
Synopsis
data RI
= RIReg Reg
| RIImm Imm
riZero :: RI -> Bool
fpRelEA :: Int -> Reg -> Instr
moveSp :: Int -> Instr
isUnconditionalJump :: Instr -> Bool
data Instr
= COMMENT FastString
| LDATA Section [CmmStatic]
| NEWBLOCK BlockId
| DELTA Int
| LD Size AddrMode Reg
| ST Size Reg AddrMode
| ADD Bool Bool Reg RI Reg
| SUB Bool Bool Reg RI Reg
| UMUL Bool Reg RI Reg
| SMUL Bool Reg RI Reg
| UDIV Bool Reg RI Reg
| SDIV Bool Reg RI Reg
| RDY Reg
| WRY Reg Reg
| AND Bool Reg RI Reg
| ANDN Bool Reg RI Reg
| OR Bool Reg RI Reg
| ORN Bool Reg RI Reg
| XOR Bool Reg RI Reg
| XNOR Bool Reg RI Reg
| SLL Reg RI Reg
| SRL Reg RI Reg
| SRA Reg RI Reg
| SETHI Imm Reg
| NOP
| FABS Size Reg Reg
| FADD Size Reg Reg Reg
| FCMP Bool Size Reg Reg
| FDIV Size Reg Reg Reg
| FMOV Size Reg Reg
| FMUL Size Reg Reg Reg
| FNEG Size Reg Reg
| FSQRT Size Reg Reg
| FSUB Size Reg Reg Reg
| FxTOy Size Size Reg Reg
| BI Cond Bool BlockId
| BF Cond Bool BlockId
| JMP AddrMode
| JMP_TBL AddrMode [BlockId]
| CALL (Either Imm Reg) Int Bool
maxSpillSlots :: Int
Documentation
data RI Source
Register or immediate
Constructors
RIReg Reg
RIImm Imm
riZero :: RI -> BoolSource
Check if a RI represents a zero value. - a literal zero - register %g0, which is always zero.
fpRelEA :: Int -> Reg -> InstrSource
Calculate the effective address which would be used by the corresponding fpRel sequence.
moveSp :: Int -> InstrSource
Code to shift the stack pointer by n words.
isUnconditionalJump :: Instr -> BoolSource
An instruction that will cause the one after it never to be exectuted
data Instr Source
SPARC instruction set. Not complete. This is only the ones we need.
Constructors
COMMENT FastString
LDATA Section [CmmStatic]
NEWBLOCK BlockId
DELTA Int
LD Size AddrMode Reg
ST Size Reg AddrMode
ADD Bool Bool Reg RI Reg
SUB Bool Bool Reg RI Reg
UMUL Bool Reg RI Reg
SMUL Bool Reg RI Reg
UDIV Bool Reg RI Reg
SDIV Bool Reg RI Reg
RDY Reg
WRY Reg Reg
AND Bool Reg RI Reg
ANDN Bool Reg RI Reg
OR Bool Reg RI Reg
ORN Bool Reg RI Reg
XOR Bool Reg RI Reg
XNOR Bool Reg RI Reg
SLL Reg RI Reg
SRL Reg RI Reg
SRA Reg RI Reg
SETHI Imm Reg
NOP
FABS Size Reg Reg
FADD Size Reg Reg Reg
FCMP Bool Size Reg Reg
FDIV Size Reg Reg Reg
FMOV Size Reg Reg
FMUL Size Reg Reg Reg
FNEG Size Reg Reg
FSQRT Size Reg Reg
FSUB Size Reg Reg Reg
FxTOy Size Size Reg Reg
BI Cond Bool BlockId
BF Cond Bool BlockId
JMP AddrMode
JMP_TBL AddrMode [BlockId]
CALL (Either Imm Reg) Int Bool
show/hide Instances
maxSpillSlots :: IntSource

The maximum number of spill slots available on the C stack. If we use up all of the slots, then we're screwed.

Why do we reserve 64 bytes, instead of using the whole thing?? -- BL 20090215

Produced by Haddock version 2.6.1