ghc-7.8.4: The GHC API

Safe Haskell | None
Language | Haskell98

PrimOp

# Documentation

data PrimOp

Constructors

CharGtOp |
CharGeOp |
CharEqOp |
CharNeOp |
CharLtOp |
CharLeOp |
OrdOp |
IntAddOp |
IntSubOp |
IntMulOp |
IntMulMayOfloOp |
IntQuotOp |
IntRemOp |
IntQuotRemOp |
AndIOp |
OrIOp |
XorIOp |
NotIOp |
IntNegOp |
IntAddCOp |
IntSubCOp |
IntGtOp |
IntGeOp |
IntEqOp |
IntNeOp |
IntLtOp |
IntLeOp |
ChrOp |
Int2WordOp |
Int2FloatOp |
Int2DoubleOp |
Word2FloatOp |
Word2DoubleOp |
ISllOp |
ISraOp |
ISrlOp |
WordAddOp |
WordAdd2Op |
WordSubOp |
WordMulOp |
WordMul2Op |
WordQuotOp |
WordRemOp |
WordQuotRemOp |
WordQuotRem2Op |
AndOp |
OrOp |
XorOp |
NotOp |
SllOp |
SrlOp |
Word2IntOp |
WordGtOp |
WordGeOp |
WordEqOp |
WordNeOp |
WordLtOp |
WordLeOp |
PopCnt8Op |
PopCnt16Op |
PopCnt32Op |
PopCnt64Op |
PopCntOp |
BSwap16Op |
BSwap32Op |
BSwap64Op |
BSwapOp |
Narrow8IntOp |
Narrow16IntOp |
Narrow32IntOp |
Narrow8WordOp |
Narrow16WordOp |
Narrow32WordOp |
DoubleGtOp |
DoubleGeOp |
DoubleEqOp |
DoubleNeOp |
DoubleLtOp |
DoubleLeOp |
DoubleAddOp |
DoubleSubOp |
DoubleMulOp |
DoubleDivOp |
DoubleNegOp |
Double2IntOp |
Double2FloatOp |
DoubleExpOp |
DoubleLogOp |
DoubleSqrtOp |
DoubleSinOp |
DoubleCosOp |
DoubleTanOp |
DoubleAsinOp |
DoubleAcosOp |
DoubleAtanOp |
DoubleSinhOp |
DoubleCoshOp |
DoubleTanhOp |
DoublePowerOp |
DoubleDecode_2IntOp |
FloatGtOp |
FloatGeOp |
FloatEqOp |
FloatNeOp |
FloatLtOp |
FloatLeOp |
FloatAddOp |
FloatSubOp |
FloatMulOp |
FloatDivOp |
FloatNegOp |
Float2IntOp |
FloatExpOp |
FloatLogOp |
FloatSqrtOp |
FloatSinOp |
FloatCosOp |
FloatTanOp |
FloatAsinOp |
FloatAcosOp |
FloatAtanOp |
FloatSinhOp |
FloatCoshOp |
FloatTanhOp |
FloatPowerOp |
Float2DoubleOp |
FloatDecode_IntOp |
NewArrayOp |
SameMutableArrayOp |
ReadArrayOp |
WriteArrayOp |
SizeofArrayOp |
SizeofMutableArrayOp |
IndexArrayOp |
UnsafeFreezeArrayOp |
UnsafeThawArrayOp |
CopyArrayOp |
CopyMutableArrayOp |
CloneArrayOp |
CloneMutableArrayOp |
FreezeArrayOp |
ThawArrayOp |
CasArrayOp |
NewByteArrayOp_Char |
NewPinnedByteArrayOp_Char |
NewAlignedPinnedByteArrayOp_Char |
ByteArrayContents_Char |
SameMutableByteArrayOp |
UnsafeFreezeByteArrayOp |
SizeofByteArrayOp |
SizeofMutableByteArrayOp |
IndexByteArrayOp_Char |
IndexByteArrayOp_WideChar |
IndexByteArrayOp_Int |
IndexByteArrayOp_Word |
IndexByteArrayOp_Addr |
IndexByteArrayOp_Float |
IndexByteArrayOp_Double |
IndexByteArrayOp_StablePtr |
IndexByteArrayOp_Int8 |
IndexByteArrayOp_Int16 |
IndexByteArrayOp_Int32 |
IndexByteArrayOp_Int64 |
IndexByteArrayOp_Word8 |
IndexByteArrayOp_Word16 |
IndexByteArrayOp_Word32 |
IndexByteArrayOp_Word64 |
ReadByteArrayOp_Char |
ReadByteArrayOp_WideChar |
ReadByteArrayOp_Int |
ReadByteArrayOp_Word |
ReadByteArrayOp_Addr |
ReadByteArrayOp_Float |
ReadByteArrayOp_Double |
ReadByteArrayOp_StablePtr |
ReadByteArrayOp_Int8 |
ReadByteArrayOp_Int16 |
ReadByteArrayOp_Int32 |
ReadByteArrayOp_Int64 |
ReadByteArrayOp_Word8 |
ReadByteArrayOp_Word16 |
ReadByteArrayOp_Word32 |
ReadByteArrayOp_Word64 |
WriteByteArrayOp_Char |
WriteByteArrayOp_WideChar |
WriteByteArrayOp_Int |
WriteByteArrayOp_Word |
WriteByteArrayOp_Addr |
WriteByteArrayOp_Float |
WriteByteArrayOp_Double |
WriteByteArrayOp_StablePtr |
WriteByteArrayOp_Int8 |
WriteByteArrayOp_Int16 |
WriteByteArrayOp_Int32 |
WriteByteArrayOp_Int64 |
WriteByteArrayOp_Word8 |
WriteByteArrayOp_Word16 |
WriteByteArrayOp_Word32 |
WriteByteArrayOp_Word64 |
CopyByteArrayOp |
CopyMutableByteArrayOp |
CopyByteArrayToAddrOp |
CopyMutableByteArrayToAddrOp |
CopyAddrToByteArrayOp |
SetByteArrayOp |
CasByteArrayOp_Int |
FetchAddByteArrayOp_Int |
NewArrayArrayOp |
SameMutableArrayArrayOp |
UnsafeFreezeArrayArrayOp |
SizeofArrayArrayOp |
SizeofMutableArrayArrayOp |
IndexArrayArrayOp_ByteArray |
IndexArrayArrayOp_ArrayArray |
ReadArrayArrayOp_ByteArray |
ReadArrayArrayOp_MutableByteArray |
ReadArrayArrayOp_ArrayArray |
ReadArrayArrayOp_MutableArrayArray |
WriteArrayArrayOp_ByteArray |
WriteArrayArrayOp_MutableByteArray |
WriteArrayArrayOp_ArrayArray |
WriteArrayArrayOp_MutableArrayArray |
CopyArrayArrayOp |
CopyMutableArrayArrayOp |
AddrAddOp |
AddrSubOp |
AddrRemOp |
Addr2IntOp |
Int2AddrOp |
AddrGtOp |
AddrGeOp |
AddrEqOp |
AddrNeOp |
AddrLtOp |
AddrLeOp |
IndexOffAddrOp_Char |
IndexOffAddrOp_WideChar |
IndexOffAddrOp_Int |
IndexOffAddrOp_Word |
IndexOffAddrOp_Addr |
IndexOffAddrOp_Float |
IndexOffAddrOp_Double |
IndexOffAddrOp_StablePtr |
IndexOffAddrOp_Int8 |
IndexOffAddrOp_Int16 |
IndexOffAddrOp_Int32 |
IndexOffAddrOp_Int64 |
IndexOffAddrOp_Word8 |
IndexOffAddrOp_Word16 |
IndexOffAddrOp_Word32 |
IndexOffAddrOp_Word64 |
ReadOffAddrOp_Char |
ReadOffAddrOp_WideChar |
ReadOffAddrOp_Int |
ReadOffAddrOp_Word |
ReadOffAddrOp_Addr |
ReadOffAddrOp_Float |
ReadOffAddrOp_Double |
ReadOffAddrOp_StablePtr |
ReadOffAddrOp_Int8 |
ReadOffAddrOp_Int16 |
ReadOffAddrOp_Int32 |
ReadOffAddrOp_Int64 |
ReadOffAddrOp_Word8 |
ReadOffAddrOp_Word16 |
ReadOffAddrOp_Word32 |
ReadOffAddrOp_Word64 |
WriteOffAddrOp_Char |
WriteOffAddrOp_WideChar |
WriteOffAddrOp_Int |
WriteOffAddrOp_Word |
WriteOffAddrOp_Addr |
WriteOffAddrOp_Float |
WriteOffAddrOp_Double |
WriteOffAddrOp_StablePtr |
WriteOffAddrOp_Int8 |
WriteOffAddrOp_Int16 |
WriteOffAddrOp_Int32 |
WriteOffAddrOp_Int64 |
WriteOffAddrOp_Word8 |
WriteOffAddrOp_Word16 |
WriteOffAddrOp_Word32 |
WriteOffAddrOp_Word64 |
NewMutVarOp |
ReadMutVarOp |
WriteMutVarOp |
SameMutVarOp |
AtomicModifyMutVarOp |
CasMutVarOp |
CatchOp |
RaiseOp |
RaiseIOOp |
MaskAsyncExceptionsOp |
MaskUninterruptibleOp |
UnmaskAsyncExceptionsOp |
MaskStatus |
AtomicallyOp |
RetryOp |
CatchRetryOp |
CatchSTMOp |
Check |
NewTVarOp |
ReadTVarOp |
ReadTVarIOOp |
WriteTVarOp |
SameTVarOp |
NewMVarOp |
TakeMVarOp |
TryTakeMVarOp |
PutMVarOp |
TryPutMVarOp |
ReadMVarOp |
TryReadMVarOp |
SameMVarOp |
IsEmptyMVarOp |
DelayOp |
WaitReadOp |
WaitWriteOp |
ForkOp |
ForkOnOp |
KillThreadOp |
YieldOp |
MyThreadIdOp |
LabelThreadOp |
IsCurrentThreadBoundOp |
NoDuplicateOp |
ThreadStatusOp |
MkWeakOp |
MkWeakNoFinalizerOp |
AddCFinalizerToWeakOp |
DeRefWeakOp |
FinalizeWeakOp |
TouchOp |
MakeStablePtrOp |
DeRefStablePtrOp |
EqStablePtrOp |
MakeStableNameOp |
EqStableNameOp |
StableNameToIntOp |
ReallyUnsafePtrEqualityOp |
ParOp |
SparkOp |
SeqOp |
GetSparkOp |
NumSparks |
ParGlobalOp |
ParLocalOp |
ParAtOp |
ParAtAbsOp |
ParAtRelOp |
ParAtForNowOp |
DataToTagOp |
TagToEnumOp |
AddrToAnyOp |
MkApUpd0_Op |
NewBCOOp |
UnpackClosureOp |
GetApStackValOp |
GetCCSOfOp |
GetCurrentCCSOp |
TraceEventOp |
TraceMarkerOp |
VecBroadcastOp PrimOpVecCat Length Width |
VecPackOp PrimOpVecCat Length Width |
VecUnpackOp PrimOpVecCat Length Width |
VecInsertOp PrimOpVecCat Length Width |
VecAddOp PrimOpVecCat Length Width |
VecSubOp PrimOpVecCat Length Width |
VecMulOp PrimOpVecCat Length Width |
VecDivOp PrimOpVecCat Length Width |
VecQuotOp PrimOpVecCat Length Width |
VecRemOp PrimOpVecCat Length Width |
VecNegOp PrimOpVecCat Length Width |
VecIndexByteArrayOp PrimOpVecCat Length Width |
VecReadByteArrayOp PrimOpVecCat Length Width |
VecWriteByteArrayOp PrimOpVecCat Length Width |
VecIndexOffAddrOp PrimOpVecCat Length Width |
VecReadOffAddrOp PrimOpVecCat Length Width |
VecWriteOffAddrOp PrimOpVecCat Length Width |
VecIndexScalarByteArrayOp PrimOpVecCat Length Width |
VecReadScalarByteArrayOp PrimOpVecCat Length Width |
VecWriteScalarByteArrayOp PrimOpVecCat Length Width |
VecIndexScalarOffAddrOp PrimOpVecCat Length Width |
VecReadScalarOffAddrOp PrimOpVecCat Length Width |
VecWriteScalarOffAddrOp PrimOpVecCat Length Width |
PrefetchByteArrayOp3 |
PrefetchMutableByteArrayOp3 |
PrefetchAddrOp3 |
PrefetchByteArrayOp2 |
PrefetchMutableByteArrayOp2 |
PrefetchAddrOp2 |
PrefetchByteArrayOp1 |
PrefetchMutableByteArrayOp1 |
PrefetchAddrOp1 |
PrefetchByteArrayOp0 |
PrefetchMutableByteArrayOp0 |
PrefetchAddrOp0 |

Instances

Eq PrimOp |
Ord PrimOp |
Outputable PrimOp |

data PrimOpVecCat

Constructors

IntVec |
WordVec |
FloatVec |

allThePrimOps :: [PrimOp]

primOpType :: PrimOp -> Type

primOpSig :: PrimOp -> ([TyVar], [Type], Type, Arity, StrictSig)

primOpTag :: PrimOp -> Int

maxPrimOpTag :: Int

primOpOcc :: PrimOp -> OccName

tagToEnumKey :: Unique

primOpOutOfLine :: PrimOp -> Bool

primOpCodeSize :: PrimOp -> Int

primOpOkForSpeculation :: PrimOp -> Bool

primOpOkForSideEffects :: PrimOp -> Bool

primOpIsCheap :: PrimOp -> Bool

primOpFixity :: PrimOp -> Maybe Fixity

getPrimOpResultInfo :: PrimOp -> PrimOpResultInfo

data PrimOpResultInfo

Constructors

ReturnsPrim PrimRep |
ReturnsAlg TyCon |

data PrimCall

Constructors

PrimCall CLabelString PackageId |

Instances

Outputable PrimCall |