| ghc-6.10.4: The GHC API | Contents | Index

MachInstrs

Contents

Cmm instantiations
Machine instructions

Synopsis

type NatCmm = GenCmm CmmStatic [CmmStatic] (ListGraph Instr)
type NatCmmTop = GenCmmTop CmmStatic [CmmStatic] (ListGraph Instr)
type NatBasicBlock = GenBasicBlock Instr

data Instr

= COMMENT FastString
| LDATA Section [CmmStatic]
| NEWBLOCK BlockId
| DELTA Int
| SPILL Reg Int
| RELOAD Int Reg
| MOV MachRep Operand Operand
| MOVZxL MachRep Operand Operand
| MOVSxL MachRep Operand Operand
| LEA MachRep Operand Operand
| ADD MachRep Operand Operand
| ADC MachRep Operand Operand
| SUB MachRep Operand Operand
| MUL MachRep Operand Operand
| IMUL MachRep Operand Operand
| IMUL2 MachRep Operand
| DIV MachRep Operand
| IDIV MachRep Operand
| AND MachRep Operand Operand
| OR MachRep Operand Operand
| XOR MachRep Operand Operand
| NOT MachRep Operand
| NEGI MachRep Operand
| SHL MachRep Operand Operand
| SAR MachRep Operand Operand
| SHR MachRep Operand Operand
| BT MachRep Imm Operand
| NOP
| GMOV Reg Reg
| GLD MachRep AddrMode Reg
| GST MachRep Reg AddrMode
| GLDZ Reg
| GLD1 Reg
| GFTOI Reg Reg
| GDTOI Reg Reg
| GITOF Reg Reg
| GITOD Reg Reg
| GADD MachRep Reg Reg Reg
| GDIV MachRep Reg Reg Reg
| GSUB MachRep Reg Reg Reg
| GMUL MachRep Reg Reg Reg
| GCMP Cond Reg Reg
| GABS MachRep Reg Reg
| GNEG MachRep Reg Reg
| GSQRT MachRep Reg Reg
| GSIN MachRep CLabel CLabel Reg Reg
| GCOS MachRep CLabel CLabel Reg Reg
| GTAN MachRep CLabel CLabel Reg Reg
| GFREE
| TEST MachRep Operand Operand
| CMP MachRep Operand Operand
| SETCC Cond Operand
| PUSH MachRep Operand
| POP MachRep Operand
| JMP Operand
| JXX Cond BlockId
| JXX_GBL Cond Imm
| JMP_TBL Operand [BlockId]
| CALL (Either Imm Reg) [Reg]
| CLTD MachRep
| FETCHGOT Reg
| FETCHPC Reg

data Cond

= ALWAYS
| EQQ
| GE
| GEU
| GTT
| GU
| LE
| LEU
| LTT
| LU
| NE
| NEG
| POS
| CARRY
| OFLO
| PARITY
| NOTPARITY

condUnsigned
condToSigned
condToUnsigned

data RI

= RIReg Reg
| RIImm Imm

data Operand

= OpReg Reg
| OpImm Imm
| OpAddr AddrMode

i386_insert_ffrees :: [GenBasicBlock Instr] -> [GenBasicBlock Instr]

Cmm instantiations
type NatCmm = GenCmm CmmStatic [CmmStatic] (ListGraph Instr)
type NatCmmTop = GenCmmTop CmmStatic [CmmStatic] (ListGraph Instr)
type NatBasicBlock = GenBasicBlock Instr
Machine instructions
data Instr

Constructors

COMMENT FastString |
LDATA Section [CmmStatic] |
NEWBLOCK BlockId |
DELTA Int |
SPILL Reg Int | spill this reg to a stack slot
RELOAD Int Reg | reload this reg from a stack slot
MOV MachRep Operand Operand |
MOVZxL MachRep Operand Operand |
MOVSxL MachRep Operand Operand |
LEA MachRep Operand Operand |
ADD MachRep Operand Operand |
ADC MachRep Operand Operand |
SUB MachRep Operand Operand |
MUL MachRep Operand Operand |
IMUL MachRep Operand Operand |
IMUL2 MachRep Operand |
DIV MachRep Operand |
IDIV MachRep Operand |
AND MachRep Operand Operand |
OR MachRep Operand Operand |
XOR MachRep Operand Operand |
NOT MachRep Operand |
NEGI MachRep Operand |
SHL MachRep Operand Operand |
SAR MachRep Operand Operand |
SHR MachRep Operand Operand |
BT MachRep Imm Operand |
NOP |
GMOV Reg Reg |
GLD MachRep AddrMode Reg |
GST MachRep Reg AddrMode |
GLDZ Reg |
GLD1 Reg |
GFTOI Reg Reg |
GDTOI Reg Reg |
GITOF Reg Reg |
GITOD Reg Reg |
GADD MachRep Reg Reg Reg |
GDIV MachRep Reg Reg Reg |
GSUB MachRep Reg Reg Reg |
GMUL MachRep Reg Reg Reg |
GCMP Cond Reg Reg |
GABS MachRep Reg Reg |
GNEG MachRep Reg Reg |
GSQRT MachRep Reg Reg |
GSIN MachRep CLabel CLabel Reg Reg |
GCOS MachRep CLabel CLabel Reg Reg |
GTAN MachRep CLabel CLabel Reg Reg |
GFREE |
TEST MachRep Operand Operand |
CMP MachRep Operand Operand |
SETCC Cond Operand |
PUSH MachRep Operand |
POP MachRep Operand |
JMP Operand |
JXX Cond BlockId |
JXX_GBL Cond Imm |
JMP_TBL Operand [BlockId] |
CALL (Either Imm Reg) [Reg] |
CLTD MachRep |
FETCHGOT Reg |
FETCHPC Reg |

Instances

Outputable Instr

data Cond

Constructors

ALWAYS |
EQQ |
GE |
GEU |
GTT |
GU |
LE |
LEU |
LTT |
LU |
NE |
NEG |
POS |
CARRY |
OFLO |
PARITY |
NOTPARITY |

Instances

Eq Cond

condUnsigned
condToSigned
condToUnsigned
data RI

Constructors

RIReg Reg |
RIImm Imm |

data Operand

Constructors

OpReg Reg |
OpImm Imm |
OpAddr AddrMode |

i386_insert_ffrees :: [GenBasicBlock Instr] -> [GenBasicBlock Instr]
Produced by Haddock version 2.4.2