PrimOp

ghc-8.2.1.20171108: The GHC API

Safe Haskell | None
Language | Haskell2010

PrimOp

# Documentation

data PrimOp Source #

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 |
WordSubCOp |
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 |
Clz8Op |
Clz16Op |
Clz32Op |
Clz64Op |
ClzOp |
Ctz8Op |
Ctz16Op |
Ctz32Op |
Ctz64Op |
CtzOp |
BSwap16Op |
BSwap32Op |
BSwap64Op |
BSwapOp |
Narrow8IntOp |
Narrow16IntOp |
Narrow32IntOp |
Narrow8WordOp |
Narrow16WordOp |
Narrow32WordOp |
DoubleGtOp |
DoubleGeOp |
DoubleEqOp |
DoubleNeOp |
DoubleLtOp |
DoubleLeOp |
DoubleAddOp |
DoubleSubOp |
DoubleMulOp |
DoubleDivOp |
DoubleNegOp |
DoubleFabsOp |
Double2IntOp |
Double2FloatOp |
DoubleExpOp |
DoubleLogOp |
DoubleSqrtOp |
DoubleSinOp |
DoubleCosOp |
DoubleTanOp |
DoubleAsinOp |
DoubleAcosOp |
DoubleAtanOp |
DoubleSinhOp |
DoubleCoshOp |
DoubleTanhOp |
DoublePowerOp |
DoubleDecode_2IntOp |
DoubleDecode_Int64Op |
FloatGtOp |
FloatGeOp |
FloatEqOp |
FloatNeOp |
FloatLtOp |
FloatLeOp |
FloatAddOp |
FloatSubOp |
FloatMulOp |
FloatDivOp |
FloatNegOp |
FloatFabsOp |
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 |
NewSmallArrayOp |
SameSmallMutableArrayOp |
ReadSmallArrayOp |
WriteSmallArrayOp |
SizeofSmallArrayOp |
SizeofSmallMutableArrayOp |
IndexSmallArrayOp |
UnsafeFreezeSmallArrayOp |
UnsafeThawSmallArrayOp |
CopySmallArrayOp |
CopySmallMutableArrayOp |
CloneSmallArrayOp |
CloneSmallMutableArrayOp |
FreezeSmallArrayOp |
ThawSmallArrayOp |
CasSmallArrayOp |
NewByteArrayOp_Char |
NewPinnedByteArrayOp_Char |
NewAlignedPinnedByteArrayOp_Char |
MutableByteArrayIsPinnedOp |
ByteArrayIsPinnedOp |
ByteArrayContents_Char |
SameMutableByteArrayOp |
ShrinkMutableByteArrayOp_Char |
ResizeMutableByteArrayOp_Char |
UnsafeFreezeByteArrayOp |
SizeofByteArrayOp |
SizeofMutableByteArrayOp |
GetSizeofMutableByteArrayOp |
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 |
AtomicReadByteArrayOp_Int |
AtomicWriteByteArrayOp_Int |
CasByteArrayOp_Int |
FetchAddByteArrayOp_Int |
FetchSubByteArrayOp_Int |
FetchAndByteArrayOp_Int |
FetchNandByteArrayOp_Int |
FetchOrByteArrayOp_Int |
FetchXorByteArrayOp_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 |
CompactNewOp |
CompactResizeOp |
CompactContainsOp |
CompactContainsAnyOp |
CompactGetFirstBlockOp |
CompactGetNextBlockOp |
CompactAllocateBlockOp |
CompactFixupPointersOp |
CompactAdd |
CompactAddWithSharing |
CompactSize |
ReallyUnsafePtrEqualityOp |
ParOp |
SparkOp |
SeqOp |
GetSparkOp |
NumSparks |
DataToTagOp |
TagToEnumOp |
AddrToAnyOp |
AnyToAddrOp |
MkApUpd0_Op |
NewBCOOp |
UnpackClosureOp |
GetApStackValOp |
GetCCSOfOp |
GetCurrentCCSOp |
ClearCCSOp |
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 |
PrefetchValueOp3 |
PrefetchByteArrayOp2 |
PrefetchMutableByteArrayOp2 |
PrefetchAddrOp2 |
PrefetchValueOp2 |
PrefetchByteArrayOp1 |
PrefetchMutableByteArrayOp1 |
PrefetchAddrOp1 |
PrefetchValueOp1 |
PrefetchByteArrayOp0 |
PrefetchMutableByteArrayOp0 |
PrefetchAddrOp0 |
PrefetchValueOp0 |

Instances

Eq PrimOp # |
Methods (==) :: PrimOp -> PrimOp -> Bool # (/=) :: PrimOp -> PrimOp -> Bool #
Ord PrimOp # |
Methods compare :: PrimOp -> PrimOp -> Ordering # (<) :: PrimOp -> PrimOp -> Bool # (<=) :: PrimOp -> PrimOp -> Bool # (>) :: PrimOp -> PrimOp -> Bool # (>=) :: PrimOp -> PrimOp -> Bool # max :: PrimOp -> PrimOp -> PrimOp # min :: PrimOp -> PrimOp -> PrimOp #
Outputable PrimOp # |
Methods ppr :: PrimOp -> SDoc Source # pprPrec :: Rational -> PrimOp -> SDoc Source #

data PrimOpVecCat Source #

Constructors

IntVec |
WordVec |
FloatVec |

allThePrimOps :: [PrimOp] Source #

primOpType :: PrimOp -> Type Source #

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

primOpTag :: PrimOp -> Int Source #

maxPrimOpTag :: Int Source #

primOpOcc :: PrimOp -> OccName Source #

tagToEnumKey :: Unique Source #

primOpOutOfLine :: PrimOp -> Bool Source #

primOpCodeSize :: PrimOp -> Int Source #

primOpOkForSpeculation :: PrimOp -> Bool Source #

primOpOkForSideEffects :: PrimOp -> Bool Source #

primOpIsCheap :: PrimOp -> Bool Source #

primOpFixity :: PrimOp -> Maybe Fixity Source #

getPrimOpResultInfo :: PrimOp -> PrimOpResultInfo Source #

data PrimOpResultInfo Source #

Constructors

ReturnsPrim PrimRep |
ReturnsAlg TyCon |

data PrimCall Source #

Constructors

PrimCall CLabelString UnitId |

Instances

Outputable PrimCall # |
Methods ppr :: PrimCall -> SDoc Source # pprPrec :: Rational -> PrimCall -> SDoc Source #