-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Capstone bindings for Haskell
--   
--   Please see README.md
@package hapstone
@version 0.3.0.0


-- | This module contains ARM specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.Arm

-- | ARM shift type
data ArmShifter
ArmSftInvalid :: ArmShifter
ArmSftAsr :: ArmShifter
ArmSftLsl :: ArmShifter
ArmSftLsr :: ArmShifter
ArmSftRor :: ArmShifter
ArmSftRrx :: ArmShifter
ArmSftAsrReg :: ArmShifter
ArmSftLslReg :: ArmShifter
ArmSftLsrReg :: ArmShifter
ArmSftRorReg :: ArmShifter
ArmSftRrxReg :: ArmShifter

-- | ARM condition code
data ArmConditionCode
ArmCcInvalid :: ArmConditionCode
ArmCcEq :: ArmConditionCode
ArmCcNe :: ArmConditionCode
ArmCcHs :: ArmConditionCode
ArmCcLo :: ArmConditionCode
ArmCcMi :: ArmConditionCode
ArmCcPl :: ArmConditionCode
ArmCcVs :: ArmConditionCode
ArmCcVc :: ArmConditionCode
ArmCcHi :: ArmConditionCode
ArmCcLs :: ArmConditionCode
ArmCcGe :: ArmConditionCode
ArmCcLt :: ArmConditionCode
ArmCcGt :: ArmConditionCode
ArmCcLe :: ArmConditionCode
ArmCcAl :: ArmConditionCode

-- | system registers
data ArmSysreg
ArmSysregInvalid :: ArmSysreg
ArmSysregSpsrC :: ArmSysreg
ArmSysregSpsrX :: ArmSysreg
ArmSysregSpsrS :: ArmSysreg
ArmSysregSpsrF :: ArmSysreg
ArmSysregCpsrC :: ArmSysreg
ArmSysregCpsrX :: ArmSysreg
ArmSysregCpsrS :: ArmSysreg
ArmSysregCpsrF :: ArmSysreg
ArmSysregApsr :: ArmSysreg
ArmSysregApsrG :: ArmSysreg
ArmSysregApsrNzcvq :: ArmSysreg
ArmSysregApsrNzcvqg :: ArmSysreg
ArmSysregIapsr :: ArmSysreg
ArmSysregIapsrG :: ArmSysreg
ArmSysregIapsrNzcvqg :: ArmSysreg
ArmSysregIapsrNzcvq :: ArmSysreg
ArmSysregEapsr :: ArmSysreg
ArmSysregEapsrG :: ArmSysreg
ArmSysregEapsrNzcvqg :: ArmSysreg
ArmSysregEapsrNzcvq :: ArmSysreg
ArmSysregXpsr :: ArmSysreg
ArmSysregXpsrG :: ArmSysreg
ArmSysregXpsrNzcvqg :: ArmSysreg
ArmSysregXpsrNzcvq :: ArmSysreg
ArmSysregIpsr :: ArmSysreg
ArmSysregEpsr :: ArmSysreg
ArmSysregIepsr :: ArmSysreg
ArmSysregMsp :: ArmSysreg
ArmSysregPsp :: ArmSysreg
ArmSysregPrimask :: ArmSysreg
ArmSysregBasepri :: ArmSysreg
ArmSysregBasepriMax :: ArmSysreg
ArmSysregFaultmask :: ArmSysreg
ArmSysregControl :: ArmSysreg
ArmSysregR8Usr :: ArmSysreg
ArmSysregR9Usr :: ArmSysreg
ArmSysregR10Usr :: ArmSysreg
ArmSysregR11Usr :: ArmSysreg
ArmSysregR12Usr :: ArmSysreg
ArmSysregSpUsr :: ArmSysreg
ArmSysregLrUsr :: ArmSysreg
ArmSysregR8Fiq :: ArmSysreg
ArmSysregR9Fiq :: ArmSysreg
ArmSysregR10Fiq :: ArmSysreg
ArmSysregR11Fiq :: ArmSysreg
ArmSysregR12Fiq :: ArmSysreg
ArmSysregSpFiq :: ArmSysreg
ArmSysregLrFiq :: ArmSysreg
ArmSysregLrIrq :: ArmSysreg
ArmSysregSpIrq :: ArmSysreg
ArmSysregLrSvc :: ArmSysreg
ArmSysregSpSvc :: ArmSysreg
ArmSysregLrAbt :: ArmSysreg
ArmSysregSpAbt :: ArmSysreg
ArmSysregLrUnd :: ArmSysreg
ArmSysregSpUnd :: ArmSysreg
ArmSysregLrMon :: ArmSysreg
ArmSysregSpMon :: ArmSysreg
ArmSysregElrHyp :: ArmSysreg
ArmSysregSpHyp :: ArmSysreg
ArmSysregSpsrFiq :: ArmSysreg
ArmSysregSpsrIrq :: ArmSysreg
ArmSysregSpsrSvc :: ArmSysreg
ArmSysregSpsrAbt :: ArmSysreg
ArmSysregSpsrUnd :: ArmSysreg
ArmSysregSpsrMon :: ArmSysreg
ArmSysregSpsrHyp :: ArmSysreg

-- | memory barrier operands (map directly to the 4-bit encoding of the
--   option field for Memory Barrier operations, when given as an integer)
data ArmMemBarrier
ArmMbInvalid :: ArmMemBarrier
ArmMbReserved0 :: ArmMemBarrier
ArmMbOshld :: ArmMemBarrier
ArmMbOshst :: ArmMemBarrier
ArmMbOsh :: ArmMemBarrier
ArmMbReserved4 :: ArmMemBarrier
ArmMbNshld :: ArmMemBarrier
ArmMbNshst :: ArmMemBarrier
ArmMbNsh :: ArmMemBarrier
ArmMbReserved8 :: ArmMemBarrier
ArmMbIshld :: ArmMemBarrier
ArmMbIshst :: ArmMemBarrier
ArmMbIsh :: ArmMemBarrier
ArmMbReserved12 :: ArmMemBarrier
ArmMbLd :: ArmMemBarrier
ArmMbSt :: ArmMemBarrier
ArmMbSy :: ArmMemBarrier

-- | operand type for instruction's operands
data ArmOpType
ArmOpInvalid :: ArmOpType
ArmOpReg :: ArmOpType
ArmOpImm :: ArmOpType
ArmOpMem :: ArmOpType
ArmOpFp :: ArmOpType
ArmOpCimm :: ArmOpType
ArmOpPimm :: ArmOpType
ArmOpSetend :: ArmOpType
ArmOpSysreg :: ArmOpType

-- | operand type for SETEND instruction
data ArmSetendType
ArmSetendInvalid :: ArmSetendType
ArmSetendBe :: ArmSetendType
ArmSetendLe :: ArmSetendType
data ArmCpsmodeType
ArmCpsmodeInvalid :: ArmCpsmodeType
ArmCpsmodeIe :: ArmCpsmodeType
ArmCpsmodeId :: ArmCpsmodeType
data ArmCpsflagType
ArmCpsflagInvalid :: ArmCpsflagType
ArmCpsflagF :: ArmCpsflagType
ArmCpsflagI :: ArmCpsflagType
ArmCpsflagA :: ArmCpsflagType
ArmCpsflagNone :: ArmCpsflagType

-- | data type for elements of vector instructions
data ArmVectordataType
ArmVectordataInvalid :: ArmVectordataType
ArmVectordataI8 :: ArmVectordataType
ArmVectordataI16 :: ArmVectordataType
ArmVectordataI32 :: ArmVectordataType
ArmVectordataI64 :: ArmVectordataType
ArmVectordataS8 :: ArmVectordataType
ArmVectordataS16 :: ArmVectordataType
ArmVectordataS32 :: ArmVectordataType
ArmVectordataS64 :: ArmVectordataType
ArmVectordataU8 :: ArmVectordataType
ArmVectordataU16 :: ArmVectordataType
ArmVectordataU32 :: ArmVectordataType
ArmVectordataU64 :: ArmVectordataType
ArmVectordataP8 :: ArmVectordataType
ArmVectordataF32 :: ArmVectordataType
ArmVectordataF64 :: ArmVectordataType
ArmVectordataF16f64 :: ArmVectordataType
ArmVectordataF64f16 :: ArmVectordataType
ArmVectordataF32f16 :: ArmVectordataType
ArmVectordataF16f32 :: ArmVectordataType
ArmVectordataF64f32 :: ArmVectordataType
ArmVectordataF32f64 :: ArmVectordataType
ArmVectordataS32f32 :: ArmVectordataType
ArmVectordataU32f32 :: ArmVectordataType
ArmVectordataF32s32 :: ArmVectordataType
ArmVectordataF32u32 :: ArmVectordataType
ArmVectordataF64s16 :: ArmVectordataType
ArmVectordataF32s16 :: ArmVectordataType
ArmVectordataF64s32 :: ArmVectordataType
ArmVectordataS16f64 :: ArmVectordataType
ArmVectordataS16f32 :: ArmVectordataType
ArmVectordataS32f64 :: ArmVectordataType
ArmVectordataU16f64 :: ArmVectordataType
ArmVectordataU16f32 :: ArmVectordataType
ArmVectordataU32f64 :: ArmVectordataType
ArmVectordataF64u16 :: ArmVectordataType
ArmVectordataF32u16 :: ArmVectordataType
ArmVectordataF64u32 :: ArmVectordataType
data ArmReg
ArmRegInvalid :: ArmReg
ArmRegApsr :: ArmReg
ArmRegApsrNzcv :: ArmReg
ArmRegCpsr :: ArmReg
ArmRegFpexc :: ArmReg
ArmRegFpinst :: ArmReg
ArmRegFpscr :: ArmReg
ArmRegFpscrNzcv :: ArmReg
ArmRegFpsid :: ArmReg
ArmRegItstate :: ArmReg
ArmRegLr :: ArmReg
ArmRegR14 :: ArmReg
ArmRegPc :: ArmReg
ArmRegR15 :: ArmReg
ArmRegSp :: ArmReg
ArmRegR13 :: ArmReg
ArmRegSpsr :: ArmReg
ArmRegD0 :: ArmReg
ArmRegD1 :: ArmReg
ArmRegD2 :: ArmReg
ArmRegD3 :: ArmReg
ArmRegD4 :: ArmReg
ArmRegD5 :: ArmReg
ArmRegD6 :: ArmReg
ArmRegD7 :: ArmReg
ArmRegD8 :: ArmReg
ArmRegD9 :: ArmReg
ArmRegD10 :: ArmReg
ArmRegD11 :: ArmReg
ArmRegD12 :: ArmReg
ArmRegD13 :: ArmReg
ArmRegD14 :: ArmReg
ArmRegD15 :: ArmReg
ArmRegD16 :: ArmReg
ArmRegD17 :: ArmReg
ArmRegD18 :: ArmReg
ArmRegD19 :: ArmReg
ArmRegD20 :: ArmReg
ArmRegD21 :: ArmReg
ArmRegD22 :: ArmReg
ArmRegD23 :: ArmReg
ArmRegD24 :: ArmReg
ArmRegD25 :: ArmReg
ArmRegD26 :: ArmReg
ArmRegD27 :: ArmReg
ArmRegD28 :: ArmReg
ArmRegD29 :: ArmReg
ArmRegD30 :: ArmReg
ArmRegD31 :: ArmReg
ArmRegFpinst2 :: ArmReg
ArmRegMvfr0 :: ArmReg
ArmRegMvfr1 :: ArmReg
ArmRegMvfr2 :: ArmReg
ArmRegQ0 :: ArmReg
ArmRegQ1 :: ArmReg
ArmRegQ2 :: ArmReg
ArmRegQ3 :: ArmReg
ArmRegQ4 :: ArmReg
ArmRegQ5 :: ArmReg
ArmRegQ6 :: ArmReg
ArmRegQ7 :: ArmReg
ArmRegQ8 :: ArmReg
ArmRegQ9 :: ArmReg
ArmRegQ10 :: ArmReg
ArmRegQ11 :: ArmReg
ArmRegQ12 :: ArmReg
ArmRegQ13 :: ArmReg
ArmRegQ14 :: ArmReg
ArmRegQ15 :: ArmReg
ArmRegR0 :: ArmReg
ArmRegR1 :: ArmReg
ArmRegR2 :: ArmReg
ArmRegR3 :: ArmReg
ArmRegR4 :: ArmReg
ArmRegR5 :: ArmReg
ArmRegR6 :: ArmReg
ArmRegR7 :: ArmReg
ArmRegR8 :: ArmReg
ArmRegR9 :: ArmReg
ArmRegSb :: ArmReg
ArmRegR10 :: ArmReg
ArmRegSl :: ArmReg
ArmRegR11 :: ArmReg
ArmRegFp :: ArmReg
ArmRegR12 :: ArmReg
ArmRegIp :: ArmReg
ArmRegS0 :: ArmReg
ArmRegS1 :: ArmReg
ArmRegS2 :: ArmReg
ArmRegS3 :: ArmReg
ArmRegS4 :: ArmReg
ArmRegS5 :: ArmReg
ArmRegS6 :: ArmReg
ArmRegS7 :: ArmReg
ArmRegS8 :: ArmReg
ArmRegS9 :: ArmReg
ArmRegS10 :: ArmReg
ArmRegS11 :: ArmReg
ArmRegS12 :: ArmReg
ArmRegS13 :: ArmReg
ArmRegS14 :: ArmReg
ArmRegS15 :: ArmReg
ArmRegS16 :: ArmReg
ArmRegS17 :: ArmReg
ArmRegS18 :: ArmReg
ArmRegS19 :: ArmReg
ArmRegS20 :: ArmReg
ArmRegS21 :: ArmReg
ArmRegS22 :: ArmReg
ArmRegS23 :: ArmReg
ArmRegS24 :: ArmReg
ArmRegS25 :: ArmReg
ArmRegS26 :: ArmReg
ArmRegS27 :: ArmReg
ArmRegS28 :: ArmReg
ArmRegS29 :: ArmReg
ArmRegS30 :: ArmReg
ArmRegS31 :: ArmReg
ArmRegEnding :: ArmReg

-- | memory access operands associated with <a>ArmOpMem</a> operand type
data ArmOpMemStruct
ArmOpMemStruct :: ArmReg -> ArmReg -> Int32 -> Int32 -> ArmOpMemStruct

-- | base register
[base] :: ArmOpMemStruct -> ArmReg

-- | index register
[index] :: ArmOpMemStruct -> ArmReg

-- | scale for index register (1 or -1)
[scale] :: ArmOpMemStruct -> Int32

-- | displacement/offset value
[disp] :: ArmOpMemStruct -> Int32

-- | possible operand types (corresponding to the tagged union in the C
--   header)
data CsArmOpValue

-- | register value for <a>ArmOpReg</a> operands
Reg :: Word32 -> CsArmOpValue

-- | register value for <a>ArmOpSysreg</a> operands
Sysreg :: Word32 -> CsArmOpValue

-- | immediate value for <a>ArmOpImm</a> operands
Imm :: Int32 -> CsArmOpValue

-- | immediate value for <a>ArmOpCimm</a> operands
Cimm :: Int32 -> CsArmOpValue

-- | immediate value for <a>ArmOpPimm</a> operands
Pimm :: Int32 -> CsArmOpValue

-- | floating point value for <a>ArmOpFp</a> operands
Fp :: Double -> CsArmOpValue

-- | base,index,scale,disp value for <a>ArmOpMem</a> operands
Mem :: ArmOpMemStruct -> CsArmOpValue

-- | SETEND instruction's operand type
Setend :: ArmSetendType -> CsArmOpValue

-- | invalid operand value, for <a>ArmOpInvalid</a> operand
Undefined :: CsArmOpValue

-- | instruction operands
data CsArmOp
CsArmOp :: Int32 -> (ArmShifter, Word32) -> CsArmOpValue -> Bool -> Word8 -> Int8 -> CsArmOp

-- | vector index for some vector operands, else -1
[vectorIndex] :: CsArmOp -> Int32

-- | shifter type and value
[shift] :: CsArmOp -> (ArmShifter, Word32)

-- | operand type and value
[value] :: CsArmOp -> CsArmOpValue

-- | if <a>True</a>, operand is subtracted, else added
[subtracted] :: CsArmOp -> Bool

-- | access mode of operand
[access] :: CsArmOp -> Word8

-- | neon lane index for NEON instructions, else -1
[neon_lane] :: CsArmOp -> Int8

-- | instruction datatype
data CsArm
CsArm :: Bool -> Int32 -> ArmVectordataType -> ArmCpsmodeType -> ArmCpsflagType -> ArmConditionCode -> Bool -> Bool -> ArmMemBarrier -> [CsArmOp] -> CsArm

-- | usermode registers to be loaded (for LDM/STM instructions)
[usermode] :: CsArm -> Bool

-- | scalar size for vector instructions
[vectorSize] :: CsArm -> Int32

-- | data type for elements of vector instructions
[vectorData] :: CsArm -> ArmVectordataType

-- | CPS mode for CPS instructions
[cpsMode] :: CsArm -> ArmCpsmodeType

-- | CPS mode for CPS instructions
[cpsFlag] :: CsArm -> ArmCpsflagType
[cc] :: CsArm -> ArmConditionCode
[updateFlags] :: CsArm -> Bool

-- | does this instruction request writeback?
[writeback] :: CsArm -> Bool

-- | options for some memory barrier instructions
[memBarrier] :: CsArm -> ArmMemBarrier

-- | operand list of this instruction, *MUST* have &lt;= 36 elements, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   memory via it's Storable instance
[operands] :: CsArm -> [CsArmOp]

-- | ARM instructions
data ArmInsn
ArmInsInvalid :: ArmInsn
ArmInsAdc :: ArmInsn
ArmInsAdd :: ArmInsn
ArmInsAdr :: ArmInsn
ArmInsAesd :: ArmInsn
ArmInsAese :: ArmInsn
ArmInsAesimc :: ArmInsn
ArmInsAesmc :: ArmInsn
ArmInsAnd :: ArmInsn
ArmInsBfc :: ArmInsn
ArmInsBfi :: ArmInsn
ArmInsBic :: ArmInsn
ArmInsBkpt :: ArmInsn
ArmInsBl :: ArmInsn
ArmInsBlx :: ArmInsn
ArmInsBx :: ArmInsn
ArmInsBxj :: ArmInsn
ArmInsB :: ArmInsn
ArmInsCdp :: ArmInsn
ArmInsCdp2 :: ArmInsn
ArmInsClrex :: ArmInsn
ArmInsClz :: ArmInsn
ArmInsCmn :: ArmInsn
ArmInsCmp :: ArmInsn
ArmInsCps :: ArmInsn
ArmInsCrc32b :: ArmInsn
ArmInsCrc32cb :: ArmInsn
ArmInsCrc32ch :: ArmInsn
ArmInsCrc32cw :: ArmInsn
ArmInsCrc32h :: ArmInsn
ArmInsCrc32w :: ArmInsn
ArmInsDbg :: ArmInsn
ArmInsDmb :: ArmInsn
ArmInsDsb :: ArmInsn
ArmInsEor :: ArmInsn
ArmInsEret :: ArmInsn
ArmInsVmov :: ArmInsn
ArmInsFldmdbx :: ArmInsn
ArmInsFldmiax :: ArmInsn
ArmInsVmrs :: ArmInsn
ArmInsFstmdbx :: ArmInsn
ArmInsFstmiax :: ArmInsn
ArmInsHint :: ArmInsn
ArmInsHlt :: ArmInsn
ArmInsHvc :: ArmInsn
ArmInsIsb :: ArmInsn
ArmInsLda :: ArmInsn
ArmInsLdab :: ArmInsn
ArmInsLdaex :: ArmInsn
ArmInsLdaexb :: ArmInsn
ArmInsLdaexd :: ArmInsn
ArmInsLdaexh :: ArmInsn
ArmInsLdah :: ArmInsn
ArmInsLdc2l :: ArmInsn
ArmInsLdc2 :: ArmInsn
ArmInsLdcl :: ArmInsn
ArmInsLdc :: ArmInsn
ArmInsLdmda :: ArmInsn
ArmInsLdmdb :: ArmInsn
ArmInsLdm :: ArmInsn
ArmInsLdmib :: ArmInsn
ArmInsLdrbt :: ArmInsn
ArmInsLdrb :: ArmInsn
ArmInsLdrd :: ArmInsn
ArmInsLdrex :: ArmInsn
ArmInsLdrexb :: ArmInsn
ArmInsLdrexd :: ArmInsn
ArmInsLdrexh :: ArmInsn
ArmInsLdrh :: ArmInsn
ArmInsLdrht :: ArmInsn
ArmInsLdrsb :: ArmInsn
ArmInsLdrsbt :: ArmInsn
ArmInsLdrsh :: ArmInsn
ArmInsLdrsht :: ArmInsn
ArmInsLdrt :: ArmInsn
ArmInsLdr :: ArmInsn
ArmInsMcr :: ArmInsn
ArmInsMcr2 :: ArmInsn
ArmInsMcrr :: ArmInsn
ArmInsMcrr2 :: ArmInsn
ArmInsMla :: ArmInsn
ArmInsMls :: ArmInsn
ArmInsMov :: ArmInsn
ArmInsMovt :: ArmInsn
ArmInsMovw :: ArmInsn
ArmInsMrc :: ArmInsn
ArmInsMrc2 :: ArmInsn
ArmInsMrrc :: ArmInsn
ArmInsMrrc2 :: ArmInsn
ArmInsMrs :: ArmInsn
ArmInsMsr :: ArmInsn
ArmInsMul :: ArmInsn
ArmInsMvn :: ArmInsn
ArmInsOrr :: ArmInsn
ArmInsPkhbt :: ArmInsn
ArmInsPkhtb :: ArmInsn
ArmInsPldw :: ArmInsn
ArmInsPld :: ArmInsn
ArmInsPli :: ArmInsn
ArmInsQadd :: ArmInsn
ArmInsQadd16 :: ArmInsn
ArmInsQadd8 :: ArmInsn
ArmInsQasx :: ArmInsn
ArmInsQdadd :: ArmInsn
ArmInsQdsub :: ArmInsn
ArmInsQsax :: ArmInsn
ArmInsQsub :: ArmInsn
ArmInsQsub16 :: ArmInsn
ArmInsQsub8 :: ArmInsn
ArmInsRbit :: ArmInsn
ArmInsRev :: ArmInsn
ArmInsRev16 :: ArmInsn
ArmInsRevsh :: ArmInsn
ArmInsRfeda :: ArmInsn
ArmInsRfedb :: ArmInsn
ArmInsRfeia :: ArmInsn
ArmInsRfeib :: ArmInsn
ArmInsRsb :: ArmInsn
ArmInsRsc :: ArmInsn
ArmInsSadd16 :: ArmInsn
ArmInsSadd8 :: ArmInsn
ArmInsSasx :: ArmInsn
ArmInsSbc :: ArmInsn
ArmInsSbfx :: ArmInsn
ArmInsSdiv :: ArmInsn
ArmInsSel :: ArmInsn
ArmInsSetend :: ArmInsn
ArmInsSha1c :: ArmInsn
ArmInsSha1h :: ArmInsn
ArmInsSha1m :: ArmInsn
ArmInsSha1p :: ArmInsn
ArmInsSha1su0 :: ArmInsn
ArmInsSha1su1 :: ArmInsn
ArmInsSha256h :: ArmInsn
ArmInsSha256h2 :: ArmInsn
ArmInsSha256su0 :: ArmInsn
ArmInsSha256su1 :: ArmInsn
ArmInsShadd16 :: ArmInsn
ArmInsShadd8 :: ArmInsn
ArmInsShasx :: ArmInsn
ArmInsShsax :: ArmInsn
ArmInsShsub16 :: ArmInsn
ArmInsShsub8 :: ArmInsn
ArmInsSmc :: ArmInsn
ArmInsSmlabb :: ArmInsn
ArmInsSmlabt :: ArmInsn
ArmInsSmlad :: ArmInsn
ArmInsSmladx :: ArmInsn
ArmInsSmlal :: ArmInsn
ArmInsSmlalbb :: ArmInsn
ArmInsSmlalbt :: ArmInsn
ArmInsSmlald :: ArmInsn
ArmInsSmlaldx :: ArmInsn
ArmInsSmlaltb :: ArmInsn
ArmInsSmlaltt :: ArmInsn
ArmInsSmlatb :: ArmInsn
ArmInsSmlatt :: ArmInsn
ArmInsSmlawb :: ArmInsn
ArmInsSmlawt :: ArmInsn
ArmInsSmlsd :: ArmInsn
ArmInsSmlsdx :: ArmInsn
ArmInsSmlsld :: ArmInsn
ArmInsSmlsldx :: ArmInsn
ArmInsSmmla :: ArmInsn
ArmInsSmmlar :: ArmInsn
ArmInsSmmls :: ArmInsn
ArmInsSmmlsr :: ArmInsn
ArmInsSmmul :: ArmInsn
ArmInsSmmulr :: ArmInsn
ArmInsSmuad :: ArmInsn
ArmInsSmuadx :: ArmInsn
ArmInsSmulbb :: ArmInsn
ArmInsSmulbt :: ArmInsn
ArmInsSmull :: ArmInsn
ArmInsSmultb :: ArmInsn
ArmInsSmultt :: ArmInsn
ArmInsSmulwb :: ArmInsn
ArmInsSmulwt :: ArmInsn
ArmInsSmusd :: ArmInsn
ArmInsSmusdx :: ArmInsn
ArmInsSrsda :: ArmInsn
ArmInsSrsdb :: ArmInsn
ArmInsSrsia :: ArmInsn
ArmInsSrsib :: ArmInsn
ArmInsSsat :: ArmInsn
ArmInsSsat16 :: ArmInsn
ArmInsSsax :: ArmInsn
ArmInsSsub16 :: ArmInsn
ArmInsSsub8 :: ArmInsn
ArmInsStc2l :: ArmInsn
ArmInsStc2 :: ArmInsn
ArmInsStcl :: ArmInsn
ArmInsStc :: ArmInsn
ArmInsStl :: ArmInsn
ArmInsStlb :: ArmInsn
ArmInsStlex :: ArmInsn
ArmInsStlexb :: ArmInsn
ArmInsStlexd :: ArmInsn
ArmInsStlexh :: ArmInsn
ArmInsStlh :: ArmInsn
ArmInsStmda :: ArmInsn
ArmInsStmdb :: ArmInsn
ArmInsStm :: ArmInsn
ArmInsStmib :: ArmInsn
ArmInsStrbt :: ArmInsn
ArmInsStrb :: ArmInsn
ArmInsStrd :: ArmInsn
ArmInsStrex :: ArmInsn
ArmInsStrexb :: ArmInsn
ArmInsStrexd :: ArmInsn
ArmInsStrexh :: ArmInsn
ArmInsStrh :: ArmInsn
ArmInsStrht :: ArmInsn
ArmInsStrt :: ArmInsn
ArmInsStr :: ArmInsn
ArmInsSub :: ArmInsn
ArmInsSvc :: ArmInsn
ArmInsSwp :: ArmInsn
ArmInsSwpb :: ArmInsn
ArmInsSxtab :: ArmInsn
ArmInsSxtab16 :: ArmInsn
ArmInsSxtah :: ArmInsn
ArmInsSxtb :: ArmInsn
ArmInsSxtb16 :: ArmInsn
ArmInsSxth :: ArmInsn
ArmInsTeq :: ArmInsn
ArmInsTrap :: ArmInsn
ArmInsTst :: ArmInsn
ArmInsUadd16 :: ArmInsn
ArmInsUadd8 :: ArmInsn
ArmInsUasx :: ArmInsn
ArmInsUbfx :: ArmInsn
ArmInsUdf :: ArmInsn
ArmInsUdiv :: ArmInsn
ArmInsUhadd16 :: ArmInsn
ArmInsUhadd8 :: ArmInsn
ArmInsUhasx :: ArmInsn
ArmInsUhsax :: ArmInsn
ArmInsUhsub16 :: ArmInsn
ArmInsUhsub8 :: ArmInsn
ArmInsUmaal :: ArmInsn
ArmInsUmlal :: ArmInsn
ArmInsUmull :: ArmInsn
ArmInsUqadd16 :: ArmInsn
ArmInsUqadd8 :: ArmInsn
ArmInsUqasx :: ArmInsn
ArmInsUqsax :: ArmInsn
ArmInsUqsub16 :: ArmInsn
ArmInsUqsub8 :: ArmInsn
ArmInsUsad8 :: ArmInsn
ArmInsUsada8 :: ArmInsn
ArmInsUsat :: ArmInsn
ArmInsUsat16 :: ArmInsn
ArmInsUsax :: ArmInsn
ArmInsUsub16 :: ArmInsn
ArmInsUsub8 :: ArmInsn
ArmInsUxtab :: ArmInsn
ArmInsUxtab16 :: ArmInsn
ArmInsUxtah :: ArmInsn
ArmInsUxtb :: ArmInsn
ArmInsUxtb16 :: ArmInsn
ArmInsUxth :: ArmInsn
ArmInsVabal :: ArmInsn
ArmInsVaba :: ArmInsn
ArmInsVabdl :: ArmInsn
ArmInsVabd :: ArmInsn
ArmInsVabs :: ArmInsn
ArmInsVacge :: ArmInsn
ArmInsVacgt :: ArmInsn
ArmInsVadd :: ArmInsn
ArmInsVaddhn :: ArmInsn
ArmInsVaddl :: ArmInsn
ArmInsVaddw :: ArmInsn
ArmInsVand :: ArmInsn
ArmInsVbic :: ArmInsn
ArmInsVbif :: ArmInsn
ArmInsVbit :: ArmInsn
ArmInsVbsl :: ArmInsn
ArmInsVceq :: ArmInsn
ArmInsVcge :: ArmInsn
ArmInsVcgt :: ArmInsn
ArmInsVcle :: ArmInsn
ArmInsVcls :: ArmInsn
ArmInsVclt :: ArmInsn
ArmInsVclz :: ArmInsn
ArmInsVcmp :: ArmInsn
ArmInsVcmpe :: ArmInsn
ArmInsVcnt :: ArmInsn
ArmInsVcvta :: ArmInsn
ArmInsVcvtb :: ArmInsn
ArmInsVcvt :: ArmInsn
ArmInsVcvtm :: ArmInsn
ArmInsVcvtn :: ArmInsn
ArmInsVcvtp :: ArmInsn
ArmInsVcvtt :: ArmInsn
ArmInsVdiv :: ArmInsn
ArmInsVdup :: ArmInsn
ArmInsVeor :: ArmInsn
ArmInsVext :: ArmInsn
ArmInsVfma :: ArmInsn
ArmInsVfms :: ArmInsn
ArmInsVfnma :: ArmInsn
ArmInsVfnms :: ArmInsn
ArmInsVhadd :: ArmInsn
ArmInsVhsub :: ArmInsn
ArmInsVld1 :: ArmInsn
ArmInsVld2 :: ArmInsn
ArmInsVld3 :: ArmInsn
ArmInsVld4 :: ArmInsn
ArmInsVldmdb :: ArmInsn
ArmInsVldmia :: ArmInsn
ArmInsVldr :: ArmInsn
ArmInsVmaxnm :: ArmInsn
ArmInsVmax :: ArmInsn
ArmInsVminnm :: ArmInsn
ArmInsVmin :: ArmInsn
ArmInsVmla :: ArmInsn
ArmInsVmlal :: ArmInsn
ArmInsVmls :: ArmInsn
ArmInsVmlsl :: ArmInsn
ArmInsVmovl :: ArmInsn
ArmInsVmovn :: ArmInsn
ArmInsVmsr :: ArmInsn
ArmInsVmul :: ArmInsn
ArmInsVmull :: ArmInsn
ArmInsVmvn :: ArmInsn
ArmInsVneg :: ArmInsn
ArmInsVnmla :: ArmInsn
ArmInsVnmls :: ArmInsn
ArmInsVnmul :: ArmInsn
ArmInsVorn :: ArmInsn
ArmInsVorr :: ArmInsn
ArmInsVpadal :: ArmInsn
ArmInsVpaddl :: ArmInsn
ArmInsVpadd :: ArmInsn
ArmInsVpmax :: ArmInsn
ArmInsVpmin :: ArmInsn
ArmInsVqabs :: ArmInsn
ArmInsVqadd :: ArmInsn
ArmInsVqdmlal :: ArmInsn
ArmInsVqdmlsl :: ArmInsn
ArmInsVqdmulh :: ArmInsn
ArmInsVqdmull :: ArmInsn
ArmInsVqmovun :: ArmInsn
ArmInsVqmovn :: ArmInsn
ArmInsVqneg :: ArmInsn
ArmInsVqrdmulh :: ArmInsn
ArmInsVqrshl :: ArmInsn
ArmInsVqrshrn :: ArmInsn
ArmInsVqrshrun :: ArmInsn
ArmInsVqshl :: ArmInsn
ArmInsVqshlu :: ArmInsn
ArmInsVqshrn :: ArmInsn
ArmInsVqshrun :: ArmInsn
ArmInsVqsub :: ArmInsn
ArmInsVraddhn :: ArmInsn
ArmInsVrecpe :: ArmInsn
ArmInsVrecps :: ArmInsn
ArmInsVrev16 :: ArmInsn
ArmInsVrev32 :: ArmInsn
ArmInsVrev64 :: ArmInsn
ArmInsVrhadd :: ArmInsn
ArmInsVrinta :: ArmInsn
ArmInsVrintm :: ArmInsn
ArmInsVrintn :: ArmInsn
ArmInsVrintp :: ArmInsn
ArmInsVrintr :: ArmInsn
ArmInsVrintx :: ArmInsn
ArmInsVrintz :: ArmInsn
ArmInsVrshl :: ArmInsn
ArmInsVrshrn :: ArmInsn
ArmInsVrshr :: ArmInsn
ArmInsVrsqrte :: ArmInsn
ArmInsVrsqrts :: ArmInsn
ArmInsVrsra :: ArmInsn
ArmInsVrsubhn :: ArmInsn
ArmInsVseleq :: ArmInsn
ArmInsVselge :: ArmInsn
ArmInsVselgt :: ArmInsn
ArmInsVselvs :: ArmInsn
ArmInsVshll :: ArmInsn
ArmInsVshl :: ArmInsn
ArmInsVshrn :: ArmInsn
ArmInsVshr :: ArmInsn
ArmInsVsli :: ArmInsn
ArmInsVsqrt :: ArmInsn
ArmInsVsra :: ArmInsn
ArmInsVsri :: ArmInsn
ArmInsVst1 :: ArmInsn
ArmInsVst2 :: ArmInsn
ArmInsVst3 :: ArmInsn
ArmInsVst4 :: ArmInsn
ArmInsVstmdb :: ArmInsn
ArmInsVstmia :: ArmInsn
ArmInsVstr :: ArmInsn
ArmInsVsub :: ArmInsn
ArmInsVsubhn :: ArmInsn
ArmInsVsubl :: ArmInsn
ArmInsVsubw :: ArmInsn
ArmInsVswp :: ArmInsn
ArmInsVtbl :: ArmInsn
ArmInsVtbx :: ArmInsn
ArmInsVcvtr :: ArmInsn
ArmInsVtrn :: ArmInsn
ArmInsVtst :: ArmInsn
ArmInsVuzp :: ArmInsn
ArmInsVzip :: ArmInsn
ArmInsAddw :: ArmInsn
ArmInsAsr :: ArmInsn
ArmInsDcps1 :: ArmInsn
ArmInsDcps2 :: ArmInsn
ArmInsDcps3 :: ArmInsn
ArmInsIt :: ArmInsn
ArmInsLsl :: ArmInsn
ArmInsLsr :: ArmInsn
ArmInsOrn :: ArmInsn
ArmInsRor :: ArmInsn
ArmInsRrx :: ArmInsn
ArmInsSubw :: ArmInsn
ArmInsTbb :: ArmInsn
ArmInsTbh :: ArmInsn
ArmInsCbnz :: ArmInsn
ArmInsCbz :: ArmInsn
ArmInsPop :: ArmInsn
ArmInsPush :: ArmInsn
ArmInsNop :: ArmInsn
ArmInsYield :: ArmInsn
ArmInsWfe :: ArmInsn
ArmInsWfi :: ArmInsn
ArmInsSev :: ArmInsn
ArmInsSevl :: ArmInsn
ArmInsVpush :: ArmInsn
ArmInsVpop :: ArmInsn
ArmInsEnding :: ArmInsn

-- | ARM instruction groups
data ArmInsnGroup
ArmGrpInvalid :: ArmInsnGroup
ArmGrpJump :: ArmInsnGroup
ArmGrpCall :: ArmInsnGroup
ArmGrpInt :: ArmInsnGroup
ArmGrpPrivilege :: ArmInsnGroup
ArmGrpBranchRelative :: ArmInsnGroup
ArmGrpCrypto :: ArmInsnGroup
ArmGrpDatabarrier :: ArmInsnGroup
ArmGrpDivide :: ArmInsnGroup
ArmGrpFparmv8 :: ArmInsnGroup
ArmGrpMultpro :: ArmInsnGroup
ArmGrpNeon :: ArmInsnGroup
ArmGrpT2extractpack :: ArmInsnGroup
ArmGrpThumb2dsp :: ArmInsnGroup
ArmGrpTrustzone :: ArmInsnGroup
ArmGrpV4t :: ArmInsnGroup
ArmGrpV5t :: ArmInsnGroup
ArmGrpV5te :: ArmInsnGroup
ArmGrpV6 :: ArmInsnGroup
ArmGrpV6t2 :: ArmInsnGroup
ArmGrpV7 :: ArmInsnGroup
ArmGrpV8 :: ArmInsnGroup
ArmGrpVfp2 :: ArmInsnGroup
ArmGrpVfp3 :: ArmInsnGroup
ArmGrpVfp4 :: ArmInsnGroup
ArmGrpArm :: ArmInsnGroup
ArmGrpMclass :: ArmInsnGroup
ArmGrpNotmclass :: ArmInsnGroup
ArmGrpThumb :: ArmInsnGroup
ArmGrpThumb1only :: ArmInsnGroup
ArmGrpThumb2 :: ArmInsnGroup
ArmGrpPrev8 :: ArmInsnGroup
ArmGrpFpvmlx :: ArmInsnGroup
ArmGrpMulops :: ArmInsnGroup
ArmGrpCrc :: ArmInsnGroup
ArmGrpDpvfp :: ArmInsnGroup
ArmGrpV6m :: ArmInsnGroup
ArmGrpVirtualization :: ArmInsnGroup
ArmGrpEnding :: ArmInsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmShifter
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmShifter
instance GHC.Show.Show Hapstone.Internal.Arm.ArmShifter
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmConditionCode
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmConditionCode
instance GHC.Show.Show Hapstone.Internal.Arm.ArmConditionCode
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmSysreg
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmSysreg
instance GHC.Show.Show Hapstone.Internal.Arm.ArmSysreg
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmMemBarrier
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmMemBarrier
instance GHC.Show.Show Hapstone.Internal.Arm.ArmMemBarrier
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmOpType
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmOpType
instance GHC.Show.Show Hapstone.Internal.Arm.ArmOpType
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmSetendType
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmSetendType
instance GHC.Show.Show Hapstone.Internal.Arm.ArmSetendType
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmCpsmodeType
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmCpsmodeType
instance GHC.Show.Show Hapstone.Internal.Arm.ArmCpsmodeType
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmCpsflagType
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmCpsflagType
instance GHC.Show.Show Hapstone.Internal.Arm.ArmCpsflagType
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmVectordataType
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmVectordataType
instance GHC.Show.Show Hapstone.Internal.Arm.ArmVectordataType
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmReg
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmReg
instance GHC.Show.Show Hapstone.Internal.Arm.ArmReg
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmOpMemStruct
instance GHC.Show.Show Hapstone.Internal.Arm.ArmOpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.Arm.CsArmOpValue
instance GHC.Show.Show Hapstone.Internal.Arm.CsArmOpValue
instance GHC.Classes.Eq Hapstone.Internal.Arm.CsArmOp
instance GHC.Show.Show Hapstone.Internal.Arm.CsArmOp
instance GHC.Classes.Eq Hapstone.Internal.Arm.CsArm
instance GHC.Show.Show Hapstone.Internal.Arm.CsArm
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmInsn
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmInsn
instance GHC.Show.Show Hapstone.Internal.Arm.ArmInsn
instance GHC.Enum.Bounded Hapstone.Internal.Arm.ArmInsnGroup
instance GHC.Classes.Eq Hapstone.Internal.Arm.ArmInsnGroup
instance GHC.Show.Show Hapstone.Internal.Arm.ArmInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmInsn
instance Foreign.Storable.Storable Hapstone.Internal.Arm.CsArm
instance Foreign.Storable.Storable Hapstone.Internal.Arm.CsArmOp
instance Foreign.Storable.Storable Hapstone.Internal.Arm.ArmOpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmReg
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmVectordataType
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmCpsflagType
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmCpsmodeType
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmSetendType
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmOpType
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmMemBarrier
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmSysreg
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmConditionCode
instance GHC.Enum.Enum Hapstone.Internal.Arm.ArmShifter


-- | This module contains ARM64 specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.Arm64

-- | ARM64 shift type
data Arm64Shifter
Arm64SftInvalid :: Arm64Shifter
Arm64SftLsl :: Arm64Shifter
Arm64SftMsl :: Arm64Shifter
Arm64SftLsr :: Arm64Shifter
Arm64SftAsr :: Arm64Shifter
Arm64SftRor :: Arm64Shifter

-- | ARM64 extender type
data Arm64Extender
Arm64ExtInvalid :: Arm64Extender
Arm64ExtUxtb :: Arm64Extender
Arm64ExtUxth :: Arm64Extender
Arm64ExtUxtw :: Arm64Extender
Arm64ExtUxtx :: Arm64Extender
Arm64ExtSxtb :: Arm64Extender
Arm64ExtSxth :: Arm64Extender
Arm64ExtSxtw :: Arm64Extender
Arm64ExtSxtx :: Arm64Extender

-- | ARM64 condition code
data Arm64ConditionCode
Arm64CcInvalid :: Arm64ConditionCode
Arm64CcEq :: Arm64ConditionCode
Arm64CcNe :: Arm64ConditionCode
Arm64CcHs :: Arm64ConditionCode
Arm64CcLo :: Arm64ConditionCode
Arm64CcMi :: Arm64ConditionCode
Arm64CcPl :: Arm64ConditionCode
Arm64CcVs :: Arm64ConditionCode
Arm64CcVc :: Arm64ConditionCode
Arm64CcHi :: Arm64ConditionCode
Arm64CcLs :: Arm64ConditionCode
Arm64CcGe :: Arm64ConditionCode
Arm64CcLt :: Arm64ConditionCode
Arm64CcGt :: Arm64ConditionCode
Arm64CcLe :: Arm64ConditionCode
Arm64CcAl :: Arm64ConditionCode
Arm64CcNv :: Arm64ConditionCode

-- | system registers
data Arm64Sysreg
Arm64SysregInvalid :: Arm64Sysreg
Arm64SysregMdrarEl1 :: Arm64Sysreg
Arm64SysregOslsrEl1 :: Arm64Sysreg
Arm64SysregDbgauthstatusEl1 :: Arm64Sysreg
Arm64SysregTrcidr8 :: Arm64Sysreg
Arm64SysregTrcidr9 :: Arm64Sysreg
Arm64SysregTrcidr10 :: Arm64Sysreg
Arm64SysregTrcstatr :: Arm64Sysreg
Arm64SysregTrcidr11 :: Arm64Sysreg
Arm64SysregTrcidr12 :: Arm64Sysreg
Arm64SysregTrcidr13 :: Arm64Sysreg
Arm64SysregTrcidr0 :: Arm64Sysreg
Arm64SysregTrcidr1 :: Arm64Sysreg
Arm64SysregTrcidr2 :: Arm64Sysreg
Arm64SysregTrcidr3 :: Arm64Sysreg
Arm64SysregTrcidr4 :: Arm64Sysreg
Arm64SysregTrcidr5 :: Arm64Sysreg
Arm64SysregTrcidr6 :: Arm64Sysreg
Arm64SysregTrcidr7 :: Arm64Sysreg
Arm64SysregTrcoslsr :: Arm64Sysreg
Arm64SysregTrcpdsr :: Arm64Sysreg
Arm64SysregTrcdevid :: Arm64Sysreg
Arm64SysregTrcdevtype :: Arm64Sysreg
Arm64SysregTrcpidr4 :: Arm64Sysreg
Arm64SysregTrcpidr5 :: Arm64Sysreg
Arm64SysregTrcpidr6 :: Arm64Sysreg
Arm64SysregTrcpidr7 :: Arm64Sysreg
Arm64SysregTrcpidr0 :: Arm64Sysreg
Arm64SysregTrcpidr1 :: Arm64Sysreg
Arm64SysregTrcdevaff0 :: Arm64Sysreg
Arm64SysregTrcpidr2 :: Arm64Sysreg
Arm64SysregTrcdevaff1 :: Arm64Sysreg
Arm64SysregTrcpidr3 :: Arm64Sysreg
Arm64SysregTrccidr0 :: Arm64Sysreg
Arm64SysregTrclsr :: Arm64Sysreg
Arm64SysregTrccidr1 :: Arm64Sysreg
Arm64SysregTrcauthstatus :: Arm64Sysreg
Arm64SysregTrccidr2 :: Arm64Sysreg
Arm64SysregTrcdevarch :: Arm64Sysreg
Arm64SysregTrccidr3 :: Arm64Sysreg
Arm64SysregMdccsrEl0 :: Arm64Sysreg
Arm64SysregDbgdtrrxEl0 :: Arm64Sysreg
Arm64SysregMidrEl1 :: Arm64Sysreg
Arm64SysregMpidrEl1 :: Arm64Sysreg
Arm64SysregRevidrEl1 :: Arm64Sysreg
Arm64SysregIdPfr0El1 :: Arm64Sysreg
Arm64SysregIdPfr1El1 :: Arm64Sysreg
Arm64SysregIdDfr0El1 :: Arm64Sysreg
Arm64SysregIdAfr0El1 :: Arm64Sysreg
Arm64SysregIdMmfr0El1 :: Arm64Sysreg
Arm64SysregIdMmfr1El1 :: Arm64Sysreg
Arm64SysregIdMmfr2El1 :: Arm64Sysreg
Arm64SysregIdMmfr3El1 :: Arm64Sysreg
Arm64SysregIdIsar0El1 :: Arm64Sysreg
Arm64SysregIdIsar1El1 :: Arm64Sysreg
Arm64SysregIdIsar2El1 :: Arm64Sysreg
Arm64SysregIdIsar3El1 :: Arm64Sysreg
Arm64SysregIdIsar4El1 :: Arm64Sysreg
Arm64SysregIdIsar5El1 :: Arm64Sysreg
Arm64SysregMvfr0El1 :: Arm64Sysreg
Arm64SysregMvfr1El1 :: Arm64Sysreg
Arm64SysregMvfr2El1 :: Arm64Sysreg
Arm64SysregIdA64pfr0El1 :: Arm64Sysreg
Arm64SysregIdA64pfr1El1 :: Arm64Sysreg
Arm64SysregIdA64dfr0El1 :: Arm64Sysreg
Arm64SysregIdA64dfr1El1 :: Arm64Sysreg
Arm64SysregIdA64afr0El1 :: Arm64Sysreg
Arm64SysregIdA64afr1El1 :: Arm64Sysreg
Arm64SysregIdA64isar0El1 :: Arm64Sysreg
Arm64SysregIdA64isar1El1 :: Arm64Sysreg
Arm64SysregIdA64mmfr0El1 :: Arm64Sysreg
Arm64SysregIdA64mmfr1El1 :: Arm64Sysreg
Arm64SysregRvbarEl1 :: Arm64Sysreg
Arm64SysregIsrEl1 :: Arm64Sysreg
Arm64SysregIccIar0El1 :: Arm64Sysreg
Arm64SysregIccHppir0El1 :: Arm64Sysreg
Arm64SysregIccRprEl1 :: Arm64Sysreg
Arm64SysregIccIar1El1 :: Arm64Sysreg
Arm64SysregIccHppir1El1 :: Arm64Sysreg
Arm64SysregCcsidrEl1 :: Arm64Sysreg
Arm64SysregClidrEl1 :: Arm64Sysreg
Arm64SysregAidrEl1 :: Arm64Sysreg
Arm64SysregCtrEl0 :: Arm64Sysreg
Arm64SysregDczidEl0 :: Arm64Sysreg
Arm64SysregPmceid0El0 :: Arm64Sysreg
Arm64SysregPmceid1El0 :: Arm64Sysreg
Arm64SysregCntpctEl0 :: Arm64Sysreg
Arm64SysregCntvctEl0 :: Arm64Sysreg
Arm64SysregRvbarEl2 :: Arm64Sysreg
Arm64SysregIchVtrEl2 :: Arm64Sysreg
Arm64SysregIchEisrEl2 :: Arm64Sysreg
Arm64SysregIchElsrEl2 :: Arm64Sysreg
Arm64SysregRvbarEl3 :: Arm64Sysreg

-- | more system registers
data Arm64MsrReg
Arm64SysregOslarEl1 :: Arm64MsrReg
Arm64SysregTrcoslar :: Arm64MsrReg
Arm64SysregTrclar :: Arm64MsrReg
Arm64SysregDbgdtrtxEl0 :: Arm64MsrReg
Arm64SysregIccEoir0El1 :: Arm64MsrReg
Arm64SysregIccDirEl1 :: Arm64MsrReg
Arm64SysregIccSgi1rEl1 :: Arm64MsrReg
Arm64SysregIccAsgi1rEl1 :: Arm64MsrReg
Arm64SysregIccSgi0rEl1 :: Arm64MsrReg
Arm64SysregIccEoir1El1 :: Arm64MsrReg
Arm64SysregPmswincEl0 :: Arm64MsrReg

-- | system pstate field (MSR instructions)
data Arm64Pstate
Arm64PstateInvalid :: Arm64Pstate
Arm64PstateSpsel :: Arm64Pstate
Arm64PstateDaifset :: Arm64Pstate
Arm64PstateDaifclr :: Arm64Pstate

-- | vector arrangement specifier (floating point/advanced SIMD
--   instructions)
data Arm64Vas
Arm64VasInvalid :: Arm64Vas
Arm64Vas8b :: Arm64Vas
Arm64Vas16b :: Arm64Vas
Arm64Vas4h :: Arm64Vas
Arm64Vas8h :: Arm64Vas
Arm64Vas2s :: Arm64Vas
Arm64Vas4s :: Arm64Vas
Arm64Vas1d :: Arm64Vas
Arm64Vas2d :: Arm64Vas
Arm64Vas1q :: Arm64Vas

-- | vector element size specifier
data Arm64Vess
Arm64VessInvalid :: Arm64Vess
Arm64VessB :: Arm64Vess
Arm64VessH :: Arm64Vess
Arm64VessS :: Arm64Vess
Arm64VessD :: Arm64Vess

-- | memory barrier operands
data Arm64BarrierOp
Arm64BarrierInvalid :: Arm64BarrierOp
Arm64BarrierOshld :: Arm64BarrierOp
Arm64BarrierOshst :: Arm64BarrierOp
Arm64BarrierOsh :: Arm64BarrierOp
Arm64BarrierNshld :: Arm64BarrierOp
Arm64BarrierNshst :: Arm64BarrierOp
Arm64BarrierNsh :: Arm64BarrierOp
Arm64BarrierIshld :: Arm64BarrierOp
Arm64BarrierIshst :: Arm64BarrierOp
Arm64BarrierIsh :: Arm64BarrierOp
Arm64BarrierLd :: Arm64BarrierOp
Arm64BarrierSt :: Arm64BarrierOp
Arm64BarrierSy :: Arm64BarrierOp

-- | operand type for instruction's operands
data Arm64OpType
Arm64OpInvalid :: Arm64OpType
Arm64OpReg :: Arm64OpType
Arm64OpImm :: Arm64OpType
Arm64OpMem :: Arm64OpType
Arm64OpFp :: Arm64OpType
Arm64OpCimm :: Arm64OpType
Arm64OpRegMrs :: Arm64OpType
Arm64OpRegMsr :: Arm64OpType
Arm64OpPstate :: Arm64OpType
Arm64OpSys :: Arm64OpType
Arm64OpPrefetch :: Arm64OpType
Arm64OpBarrier :: Arm64OpType

-- | TLBI operations
data Arm64TlbiOp
Arm64TlbiInvalid :: Arm64TlbiOp
Arm64TlbiVmalle1is :: Arm64TlbiOp
Arm64TlbiVae1is :: Arm64TlbiOp
Arm64TlbiAside1is :: Arm64TlbiOp
Arm64TlbiVaae1is :: Arm64TlbiOp
Arm64TlbiVale1is :: Arm64TlbiOp
Arm64TlbiVaale1is :: Arm64TlbiOp
Arm64TlbiAlle2is :: Arm64TlbiOp
Arm64TlbiVae2is :: Arm64TlbiOp
Arm64TlbiAlle1is :: Arm64TlbiOp
Arm64TlbiVale2is :: Arm64TlbiOp
Arm64TlbiVmalls12e1is :: Arm64TlbiOp
Arm64TlbiAlle3is :: Arm64TlbiOp
Arm64TlbiVae3is :: Arm64TlbiOp
Arm64TlbiVale3is :: Arm64TlbiOp
Arm64TlbiIpas2e1is :: Arm64TlbiOp
Arm64TlbiIpas2le1is :: Arm64TlbiOp
Arm64TlbiIpas2e1 :: Arm64TlbiOp
Arm64TlbiIpas2le1 :: Arm64TlbiOp
Arm64TlbiVmalle1 :: Arm64TlbiOp
Arm64TlbiVae1 :: Arm64TlbiOp
Arm64TlbiAside1 :: Arm64TlbiOp
Arm64TlbiVaae1 :: Arm64TlbiOp
Arm64TlbiVale1 :: Arm64TlbiOp
Arm64TlbiVaale1 :: Arm64TlbiOp
Arm64TlbiAlle2 :: Arm64TlbiOp
Arm64TlbiVae2 :: Arm64TlbiOp
Arm64TlbiAlle1 :: Arm64TlbiOp
Arm64TlbiVale2 :: Arm64TlbiOp
Arm64TlbiVmalls12e1 :: Arm64TlbiOp
Arm64TlbiAlle3 :: Arm64TlbiOp
Arm64TlbiVae3 :: Arm64TlbiOp
Arm64TlbiVale3 :: Arm64TlbiOp

-- | AT operations
data Arm64AtOp
Arm64AtS1e1r :: Arm64AtOp
Arm64AtS1e1w :: Arm64AtOp
Arm64AtS1e0r :: Arm64AtOp
Arm64AtS1e0w :: Arm64AtOp
Arm64AtS1e2r :: Arm64AtOp
Arm64AtS1e2w :: Arm64AtOp
Arm64AtS12e1r :: Arm64AtOp
Arm64AtS12e1w :: Arm64AtOp
Arm64AtS12e0r :: Arm64AtOp
Arm64AtS12e0w :: Arm64AtOp
Arm64AtS1e3r :: Arm64AtOp
Arm64AtS1e3w :: Arm64AtOp

-- | DC operations
data Arm64DcOp
Arm64DcInvalid :: Arm64DcOp
Arm64DcZva :: Arm64DcOp
Arm64DcIvac :: Arm64DcOp
Arm64DcIsw :: Arm64DcOp
Arm64DcCvac :: Arm64DcOp
Arm64DcCsw :: Arm64DcOp
Arm64DcCvau :: Arm64DcOp
Arm64DcCivac :: Arm64DcOp
Arm64DcCisw :: Arm64DcOp

-- | IC operations
data Arm64IcOp
Arm64IcInvalid :: Arm64IcOp
Arm64IcIalluis :: Arm64IcOp
Arm64IcIallu :: Arm64IcOp
Arm64IcIvau :: Arm64IcOp

-- | prefetch operations (PRFM)
data Arm64PrefetchOp
Arm64PrfmInvalid :: Arm64PrefetchOp
Arm64PrfmPldl1keep :: Arm64PrefetchOp
Arm64PrfmPldl1strm :: Arm64PrefetchOp
Arm64PrfmPldl2keep :: Arm64PrefetchOp
Arm64PrfmPldl2strm :: Arm64PrefetchOp
Arm64PrfmPldl3keep :: Arm64PrefetchOp
Arm64PrfmPldl3strm :: Arm64PrefetchOp
Arm64PrfmPlil1keep :: Arm64PrefetchOp
Arm64PrfmPlil1strm :: Arm64PrefetchOp
Arm64PrfmPlil2keep :: Arm64PrefetchOp
Arm64PrfmPlil2strm :: Arm64PrefetchOp
Arm64PrfmPlil3keep :: Arm64PrefetchOp
Arm64PrfmPlil3strm :: Arm64PrefetchOp
Arm64PrfmPstl1keep :: Arm64PrefetchOp
Arm64PrfmPstl1strm :: Arm64PrefetchOp
Arm64PrfmPstl2keep :: Arm64PrefetchOp
Arm64PrfmPstl2strm :: Arm64PrefetchOp
Arm64PrfmPstl3keep :: Arm64PrefetchOp
Arm64PrfmPstl3strm :: Arm64PrefetchOp
data Arm64Reg
Arm64RegInvalid :: Arm64Reg
Arm64RegX29 :: Arm64Reg
Arm64RegFp :: Arm64Reg
Arm64RegX30 :: Arm64Reg
Arm64RegLr :: Arm64Reg
Arm64RegNzcv :: Arm64Reg
Arm64RegSp :: Arm64Reg
Arm64RegWsp :: Arm64Reg
Arm64RegWzr :: Arm64Reg
Arm64RegXzr :: Arm64Reg
Arm64RegB0 :: Arm64Reg
Arm64RegB1 :: Arm64Reg
Arm64RegB2 :: Arm64Reg
Arm64RegB3 :: Arm64Reg
Arm64RegB4 :: Arm64Reg
Arm64RegB5 :: Arm64Reg
Arm64RegB6 :: Arm64Reg
Arm64RegB7 :: Arm64Reg
Arm64RegB8 :: Arm64Reg
Arm64RegB9 :: Arm64Reg
Arm64RegB10 :: Arm64Reg
Arm64RegB11 :: Arm64Reg
Arm64RegB12 :: Arm64Reg
Arm64RegB13 :: Arm64Reg
Arm64RegB14 :: Arm64Reg
Arm64RegB15 :: Arm64Reg
Arm64RegB16 :: Arm64Reg
Arm64RegB17 :: Arm64Reg
Arm64RegB18 :: Arm64Reg
Arm64RegB19 :: Arm64Reg
Arm64RegB20 :: Arm64Reg
Arm64RegB21 :: Arm64Reg
Arm64RegB22 :: Arm64Reg
Arm64RegB23 :: Arm64Reg
Arm64RegB24 :: Arm64Reg
Arm64RegB25 :: Arm64Reg
Arm64RegB26 :: Arm64Reg
Arm64RegB27 :: Arm64Reg
Arm64RegB28 :: Arm64Reg
Arm64RegB29 :: Arm64Reg
Arm64RegB30 :: Arm64Reg
Arm64RegB31 :: Arm64Reg
Arm64RegD0 :: Arm64Reg
Arm64RegD1 :: Arm64Reg
Arm64RegD2 :: Arm64Reg
Arm64RegD3 :: Arm64Reg
Arm64RegD4 :: Arm64Reg
Arm64RegD5 :: Arm64Reg
Arm64RegD6 :: Arm64Reg
Arm64RegD7 :: Arm64Reg
Arm64RegD8 :: Arm64Reg
Arm64RegD9 :: Arm64Reg
Arm64RegD10 :: Arm64Reg
Arm64RegD11 :: Arm64Reg
Arm64RegD12 :: Arm64Reg
Arm64RegD13 :: Arm64Reg
Arm64RegD14 :: Arm64Reg
Arm64RegD15 :: Arm64Reg
Arm64RegD16 :: Arm64Reg
Arm64RegD17 :: Arm64Reg
Arm64RegD18 :: Arm64Reg
Arm64RegD19 :: Arm64Reg
Arm64RegD20 :: Arm64Reg
Arm64RegD21 :: Arm64Reg
Arm64RegD22 :: Arm64Reg
Arm64RegD23 :: Arm64Reg
Arm64RegD24 :: Arm64Reg
Arm64RegD25 :: Arm64Reg
Arm64RegD26 :: Arm64Reg
Arm64RegD27 :: Arm64Reg
Arm64RegD28 :: Arm64Reg
Arm64RegD29 :: Arm64Reg
Arm64RegD30 :: Arm64Reg
Arm64RegD31 :: Arm64Reg
Arm64RegH0 :: Arm64Reg
Arm64RegH1 :: Arm64Reg
Arm64RegH2 :: Arm64Reg
Arm64RegH3 :: Arm64Reg
Arm64RegH4 :: Arm64Reg
Arm64RegH5 :: Arm64Reg
Arm64RegH6 :: Arm64Reg
Arm64RegH7 :: Arm64Reg
Arm64RegH8 :: Arm64Reg
Arm64RegH9 :: Arm64Reg
Arm64RegH10 :: Arm64Reg
Arm64RegH11 :: Arm64Reg
Arm64RegH12 :: Arm64Reg
Arm64RegH13 :: Arm64Reg
Arm64RegH14 :: Arm64Reg
Arm64RegH15 :: Arm64Reg
Arm64RegH16 :: Arm64Reg
Arm64RegH17 :: Arm64Reg
Arm64RegH18 :: Arm64Reg
Arm64RegH19 :: Arm64Reg
Arm64RegH20 :: Arm64Reg
Arm64RegH21 :: Arm64Reg
Arm64RegH22 :: Arm64Reg
Arm64RegH23 :: Arm64Reg
Arm64RegH24 :: Arm64Reg
Arm64RegH25 :: Arm64Reg
Arm64RegH26 :: Arm64Reg
Arm64RegH27 :: Arm64Reg
Arm64RegH28 :: Arm64Reg
Arm64RegH29 :: Arm64Reg
Arm64RegH30 :: Arm64Reg
Arm64RegH31 :: Arm64Reg
Arm64RegQ0 :: Arm64Reg
Arm64RegQ1 :: Arm64Reg
Arm64RegQ2 :: Arm64Reg
Arm64RegQ3 :: Arm64Reg
Arm64RegQ4 :: Arm64Reg
Arm64RegQ5 :: Arm64Reg
Arm64RegQ6 :: Arm64Reg
Arm64RegQ7 :: Arm64Reg
Arm64RegQ8 :: Arm64Reg
Arm64RegQ9 :: Arm64Reg
Arm64RegQ10 :: Arm64Reg
Arm64RegQ11 :: Arm64Reg
Arm64RegQ12 :: Arm64Reg
Arm64RegQ13 :: Arm64Reg
Arm64RegQ14 :: Arm64Reg
Arm64RegQ15 :: Arm64Reg
Arm64RegQ16 :: Arm64Reg
Arm64RegQ17 :: Arm64Reg
Arm64RegQ18 :: Arm64Reg
Arm64RegQ19 :: Arm64Reg
Arm64RegQ20 :: Arm64Reg
Arm64RegQ21 :: Arm64Reg
Arm64RegQ22 :: Arm64Reg
Arm64RegQ23 :: Arm64Reg
Arm64RegQ24 :: Arm64Reg
Arm64RegQ25 :: Arm64Reg
Arm64RegQ26 :: Arm64Reg
Arm64RegQ27 :: Arm64Reg
Arm64RegQ28 :: Arm64Reg
Arm64RegQ29 :: Arm64Reg
Arm64RegQ30 :: Arm64Reg
Arm64RegQ31 :: Arm64Reg
Arm64RegS0 :: Arm64Reg
Arm64RegS1 :: Arm64Reg
Arm64RegS2 :: Arm64Reg
Arm64RegS3 :: Arm64Reg
Arm64RegS4 :: Arm64Reg
Arm64RegS5 :: Arm64Reg
Arm64RegS6 :: Arm64Reg
Arm64RegS7 :: Arm64Reg
Arm64RegS8 :: Arm64Reg
Arm64RegS9 :: Arm64Reg
Arm64RegS10 :: Arm64Reg
Arm64RegS11 :: Arm64Reg
Arm64RegS12 :: Arm64Reg
Arm64RegS13 :: Arm64Reg
Arm64RegS14 :: Arm64Reg
Arm64RegS15 :: Arm64Reg
Arm64RegS16 :: Arm64Reg
Arm64RegS17 :: Arm64Reg
Arm64RegS18 :: Arm64Reg
Arm64RegS19 :: Arm64Reg
Arm64RegS20 :: Arm64Reg
Arm64RegS21 :: Arm64Reg
Arm64RegS22 :: Arm64Reg
Arm64RegS23 :: Arm64Reg
Arm64RegS24 :: Arm64Reg
Arm64RegS25 :: Arm64Reg
Arm64RegS26 :: Arm64Reg
Arm64RegS27 :: Arm64Reg
Arm64RegS28 :: Arm64Reg
Arm64RegS29 :: Arm64Reg
Arm64RegS30 :: Arm64Reg
Arm64RegS31 :: Arm64Reg
Arm64RegW0 :: Arm64Reg
Arm64RegW1 :: Arm64Reg
Arm64RegW2 :: Arm64Reg
Arm64RegW3 :: Arm64Reg
Arm64RegW4 :: Arm64Reg
Arm64RegW5 :: Arm64Reg
Arm64RegW6 :: Arm64Reg
Arm64RegW7 :: Arm64Reg
Arm64RegW8 :: Arm64Reg
Arm64RegW9 :: Arm64Reg
Arm64RegW10 :: Arm64Reg
Arm64RegW11 :: Arm64Reg
Arm64RegW12 :: Arm64Reg
Arm64RegW13 :: Arm64Reg
Arm64RegW14 :: Arm64Reg
Arm64RegW15 :: Arm64Reg
Arm64RegW16 :: Arm64Reg
Arm64RegW17 :: Arm64Reg
Arm64RegW18 :: Arm64Reg
Arm64RegW19 :: Arm64Reg
Arm64RegW20 :: Arm64Reg
Arm64RegW21 :: Arm64Reg
Arm64RegW22 :: Arm64Reg
Arm64RegW23 :: Arm64Reg
Arm64RegW24 :: Arm64Reg
Arm64RegW25 :: Arm64Reg
Arm64RegW26 :: Arm64Reg
Arm64RegW27 :: Arm64Reg
Arm64RegW28 :: Arm64Reg
Arm64RegW29 :: Arm64Reg
Arm64RegW30 :: Arm64Reg
Arm64RegX0 :: Arm64Reg
Arm64RegX1 :: Arm64Reg
Arm64RegX2 :: Arm64Reg
Arm64RegX3 :: Arm64Reg
Arm64RegX4 :: Arm64Reg
Arm64RegX5 :: Arm64Reg
Arm64RegX6 :: Arm64Reg
Arm64RegX7 :: Arm64Reg
Arm64RegX8 :: Arm64Reg
Arm64RegX9 :: Arm64Reg
Arm64RegX10 :: Arm64Reg
Arm64RegX11 :: Arm64Reg
Arm64RegX12 :: Arm64Reg
Arm64RegX13 :: Arm64Reg
Arm64RegX14 :: Arm64Reg
Arm64RegX15 :: Arm64Reg
Arm64RegX16 :: Arm64Reg
Arm64RegIp0 :: Arm64Reg
Arm64RegX17 :: Arm64Reg
Arm64RegIp1 :: Arm64Reg
Arm64RegX18 :: Arm64Reg
Arm64RegX19 :: Arm64Reg
Arm64RegX20 :: Arm64Reg
Arm64RegX21 :: Arm64Reg
Arm64RegX22 :: Arm64Reg
Arm64RegX23 :: Arm64Reg
Arm64RegX24 :: Arm64Reg
Arm64RegX25 :: Arm64Reg
Arm64RegX26 :: Arm64Reg
Arm64RegX27 :: Arm64Reg
Arm64RegX28 :: Arm64Reg
Arm64RegV0 :: Arm64Reg
Arm64RegV1 :: Arm64Reg
Arm64RegV2 :: Arm64Reg
Arm64RegV3 :: Arm64Reg
Arm64RegV4 :: Arm64Reg
Arm64RegV5 :: Arm64Reg
Arm64RegV6 :: Arm64Reg
Arm64RegV7 :: Arm64Reg
Arm64RegV8 :: Arm64Reg
Arm64RegV9 :: Arm64Reg
Arm64RegV10 :: Arm64Reg
Arm64RegV11 :: Arm64Reg
Arm64RegV12 :: Arm64Reg
Arm64RegV13 :: Arm64Reg
Arm64RegV14 :: Arm64Reg
Arm64RegV15 :: Arm64Reg
Arm64RegV16 :: Arm64Reg
Arm64RegV17 :: Arm64Reg
Arm64RegV18 :: Arm64Reg
Arm64RegV19 :: Arm64Reg
Arm64RegV20 :: Arm64Reg
Arm64RegV21 :: Arm64Reg
Arm64RegV22 :: Arm64Reg
Arm64RegV23 :: Arm64Reg
Arm64RegV24 :: Arm64Reg
Arm64RegV25 :: Arm64Reg
Arm64RegV26 :: Arm64Reg
Arm64RegV27 :: Arm64Reg
Arm64RegV28 :: Arm64Reg
Arm64RegV29 :: Arm64Reg
Arm64RegV30 :: Arm64Reg
Arm64RegV31 :: Arm64Reg
Arm64RegEnding :: Arm64Reg

-- | memory access operands associated with <a>Arm64OpMem</a> operand type
data Arm64OpMemStruct
Arm64OpMemStruct :: Arm64Reg -> Arm64Reg -> Int32 -> Arm64OpMemStruct

-- | base register
[base] :: Arm64OpMemStruct -> Arm64Reg

-- | index register
[index] :: Arm64OpMemStruct -> Arm64Reg

-- | displacement/offset value
[disp] :: Arm64OpMemStruct -> Int32

-- | possible operand types (corresponding to the tagged union in the C
--   header)
data CsArm64OpValue

-- | register value for <a>Arm64OpReg</a> operands
Reg :: Arm64Reg -> CsArm64OpValue

-- | immediate value for <a>Arm64OpImm</a> operands
Imm :: Int64 -> CsArm64OpValue

-- | index value for <a>Arm64OpCimm</a> operands
CImm :: Int64 -> CsArm64OpValue

-- | floating point value for <a>Arm64OpFp</a> operands
Fp :: Double -> CsArm64OpValue

-- | base,index,disp value for <a>Arm64OpMem</a> operands
Mem :: Arm64OpMemStruct -> CsArm64OpValue

-- | PState field of MSR instructions
Pstate :: Arm64Pstate -> CsArm64OpValue

-- | IC<i>DC</i>AT/TLBI operation (see <a>Arm64IcOp</a>, <a>Arm64DcOp</a>,
--   <a>Arm64AtOp</a>, <a>Arm64TlbiOp</a>), for <a>Arm64OpSys</a> operands
Sys :: Word32 -> CsArm64OpValue

-- | PRFM operation for <a>Arm64OpPrefetch</a> operands
Prefetch :: Arm64PrefetchOp -> CsArm64OpValue

-- | memory barrier operation (ISB<i>DMB</i>DSB instructions), for
--   <a>Arm64OpBarrier</a> operands
Barrier :: Arm64BarrierOp -> CsArm64OpValue

-- | invalid operand value, for <a>Arm64OpInvalid</a> operand
Undefined :: CsArm64OpValue

-- | instruction operand
data CsArm64Op
CsArm64Op :: Int32 -> Arm64Vas -> Arm64Vess -> (Arm64Shifter, Word32) -> Arm64Extender -> CsArm64OpValue -> Word8 -> CsArm64Op

-- | vector index for some vector operands, else -1
[vectorIndex] :: CsArm64Op -> Int32

-- | vector arrangement specifier
[vas] :: CsArm64Op -> Arm64Vas

-- | vector element size specifier
[vess] :: CsArm64Op -> Arm64Vess

-- | shifter type and value
[shift] :: CsArm64Op -> (Arm64Shifter, Word32)

-- | extender type
[ext] :: CsArm64Op -> Arm64Extender

-- | operand type and value
[value] :: CsArm64Op -> CsArm64OpValue

-- | the access mode TODO
[access] :: CsArm64Op -> Word8

-- | instruction datatype
data CsArm64
CsArm64 :: Arm64ConditionCode -> Bool -> Bool -> [CsArm64Op] -> CsArm64

-- | condition code
[cc] :: CsArm64 -> Arm64ConditionCode

-- | does this instruction update flags?
[updateFlags] :: CsArm64 -> Bool

-- | does this instruction request writeback?
[writeback] :: CsArm64 -> Bool

-- | operand list of this instruction, *MUST* have &lt;= 8 elements, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   memory via it's Storable instance
[operands] :: CsArm64 -> [CsArm64Op]

-- | ARM64 instructions
data Arm64Insn
Arm64InsInvalid :: Arm64Insn
Arm64InsAbs :: Arm64Insn
Arm64InsAdc :: Arm64Insn
Arm64InsAddhn :: Arm64Insn
Arm64InsAddhn2 :: Arm64Insn
Arm64InsAddp :: Arm64Insn
Arm64InsAdd :: Arm64Insn
Arm64InsAddv :: Arm64Insn
Arm64InsAdr :: Arm64Insn
Arm64InsAdrp :: Arm64Insn
Arm64InsAesd :: Arm64Insn
Arm64InsAese :: Arm64Insn
Arm64InsAesimc :: Arm64Insn
Arm64InsAesmc :: Arm64Insn
Arm64InsAnd :: Arm64Insn
Arm64InsAsr :: Arm64Insn
Arm64InsB :: Arm64Insn
Arm64InsBfm :: Arm64Insn
Arm64InsBic :: Arm64Insn
Arm64InsBif :: Arm64Insn
Arm64InsBit :: Arm64Insn
Arm64InsBl :: Arm64Insn
Arm64InsBlr :: Arm64Insn
Arm64InsBr :: Arm64Insn
Arm64InsBrk :: Arm64Insn
Arm64InsBsl :: Arm64Insn
Arm64InsCbnz :: Arm64Insn
Arm64InsCbz :: Arm64Insn
Arm64InsCcmn :: Arm64Insn
Arm64InsCcmp :: Arm64Insn
Arm64InsClrex :: Arm64Insn
Arm64InsCls :: Arm64Insn
Arm64InsClz :: Arm64Insn
Arm64InsCmeq :: Arm64Insn
Arm64InsCmge :: Arm64Insn
Arm64InsCmgt :: Arm64Insn
Arm64InsCmhi :: Arm64Insn
Arm64InsCmhs :: Arm64Insn
Arm64InsCmle :: Arm64Insn
Arm64InsCmlt :: Arm64Insn
Arm64InsCmtst :: Arm64Insn
Arm64InsCnt :: Arm64Insn
Arm64InsMov :: Arm64Insn
Arm64InsCrc32b :: Arm64Insn
Arm64InsCrc32cb :: Arm64Insn
Arm64InsCrc32ch :: Arm64Insn
Arm64InsCrc32cw :: Arm64Insn
Arm64InsCrc32cx :: Arm64Insn
Arm64InsCrc32h :: Arm64Insn
Arm64InsCrc32w :: Arm64Insn
Arm64InsCrc32x :: Arm64Insn
Arm64InsCsel :: Arm64Insn
Arm64InsCsinc :: Arm64Insn
Arm64InsCsinv :: Arm64Insn
Arm64InsCsneg :: Arm64Insn
Arm64InsDcps1 :: Arm64Insn
Arm64InsDcps2 :: Arm64Insn
Arm64InsDcps3 :: Arm64Insn
Arm64InsDmb :: Arm64Insn
Arm64InsDrps :: Arm64Insn
Arm64InsDsb :: Arm64Insn
Arm64InsDup :: Arm64Insn
Arm64InsEon :: Arm64Insn
Arm64InsEor :: Arm64Insn
Arm64InsEret :: Arm64Insn
Arm64InsExtr :: Arm64Insn
Arm64InsExt :: Arm64Insn
Arm64InsFabd :: Arm64Insn
Arm64InsFabs :: Arm64Insn
Arm64InsFacge :: Arm64Insn
Arm64InsFacgt :: Arm64Insn
Arm64InsFadd :: Arm64Insn
Arm64InsFaddp :: Arm64Insn
Arm64InsFccmp :: Arm64Insn
Arm64InsFccmpe :: Arm64Insn
Arm64InsFcmeq :: Arm64Insn
Arm64InsFcmge :: Arm64Insn
Arm64InsFcmgt :: Arm64Insn
Arm64InsFcmle :: Arm64Insn
Arm64InsFcmlt :: Arm64Insn
Arm64InsFcmp :: Arm64Insn
Arm64InsFcmpe :: Arm64Insn
Arm64InsFcsel :: Arm64Insn
Arm64InsFcvtas :: Arm64Insn
Arm64InsFcvtau :: Arm64Insn
Arm64InsFcvt :: Arm64Insn
Arm64InsFcvtl :: Arm64Insn
Arm64InsFcvtl2 :: Arm64Insn
Arm64InsFcvtms :: Arm64Insn
Arm64InsFcvtmu :: Arm64Insn
Arm64InsFcvtns :: Arm64Insn
Arm64InsFcvtnu :: Arm64Insn
Arm64InsFcvtn :: Arm64Insn
Arm64InsFcvtn2 :: Arm64Insn
Arm64InsFcvtps :: Arm64Insn
Arm64InsFcvtpu :: Arm64Insn
Arm64InsFcvtxn :: Arm64Insn
Arm64InsFcvtxn2 :: Arm64Insn
Arm64InsFcvtzs :: Arm64Insn
Arm64InsFcvtzu :: Arm64Insn
Arm64InsFdiv :: Arm64Insn
Arm64InsFmadd :: Arm64Insn
Arm64InsFmax :: Arm64Insn
Arm64InsFmaxnm :: Arm64Insn
Arm64InsFmaxnmp :: Arm64Insn
Arm64InsFmaxnmv :: Arm64Insn
Arm64InsFmaxp :: Arm64Insn
Arm64InsFmaxv :: Arm64Insn
Arm64InsFmin :: Arm64Insn
Arm64InsFminnm :: Arm64Insn
Arm64InsFminnmp :: Arm64Insn
Arm64InsFminnmv :: Arm64Insn
Arm64InsFminp :: Arm64Insn
Arm64InsFminv :: Arm64Insn
Arm64InsFmla :: Arm64Insn
Arm64InsFmls :: Arm64Insn
Arm64InsFmov :: Arm64Insn
Arm64InsFmsub :: Arm64Insn
Arm64InsFmul :: Arm64Insn
Arm64InsFmulx :: Arm64Insn
Arm64InsFneg :: Arm64Insn
Arm64InsFnmadd :: Arm64Insn
Arm64InsFnmsub :: Arm64Insn
Arm64InsFnmul :: Arm64Insn
Arm64InsFrecpe :: Arm64Insn
Arm64InsFrecps :: Arm64Insn
Arm64InsFrecpx :: Arm64Insn
Arm64InsFrinta :: Arm64Insn
Arm64InsFrinti :: Arm64Insn
Arm64InsFrintm :: Arm64Insn
Arm64InsFrintn :: Arm64Insn
Arm64InsFrintp :: Arm64Insn
Arm64InsFrintx :: Arm64Insn
Arm64InsFrintz :: Arm64Insn
Arm64InsFrsqrte :: Arm64Insn
Arm64InsFrsqrts :: Arm64Insn
Arm64InsFsqrt :: Arm64Insn
Arm64InsFsub :: Arm64Insn
Arm64InsHint :: Arm64Insn
Arm64InsHlt :: Arm64Insn
Arm64InsHvc :: Arm64Insn
Arm64InsIns :: Arm64Insn
Arm64InsIsb :: Arm64Insn
Arm64InsLd1 :: Arm64Insn
Arm64InsLd1r :: Arm64Insn
Arm64InsLd2r :: Arm64Insn
Arm64InsLd2 :: Arm64Insn
Arm64InsLd3r :: Arm64Insn
Arm64InsLd3 :: Arm64Insn
Arm64InsLd4 :: Arm64Insn
Arm64InsLd4r :: Arm64Insn
Arm64InsLdarb :: Arm64Insn
Arm64InsLdarh :: Arm64Insn
Arm64InsLdar :: Arm64Insn
Arm64InsLdaxp :: Arm64Insn
Arm64InsLdaxrb :: Arm64Insn
Arm64InsLdaxrh :: Arm64Insn
Arm64InsLdaxr :: Arm64Insn
Arm64InsLdnp :: Arm64Insn
Arm64InsLdp :: Arm64Insn
Arm64InsLdpsw :: Arm64Insn
Arm64InsLdrb :: Arm64Insn
Arm64InsLdr :: Arm64Insn
Arm64InsLdrh :: Arm64Insn
Arm64InsLdrsb :: Arm64Insn
Arm64InsLdrsh :: Arm64Insn
Arm64InsLdrsw :: Arm64Insn
Arm64InsLdtrb :: Arm64Insn
Arm64InsLdtrh :: Arm64Insn
Arm64InsLdtrsb :: Arm64Insn
Arm64InsLdtrsh :: Arm64Insn
Arm64InsLdtrsw :: Arm64Insn
Arm64InsLdtr :: Arm64Insn
Arm64InsLdurb :: Arm64Insn
Arm64InsLdur :: Arm64Insn
Arm64InsLdurh :: Arm64Insn
Arm64InsLdursb :: Arm64Insn
Arm64InsLdursh :: Arm64Insn
Arm64InsLdursw :: Arm64Insn
Arm64InsLdxp :: Arm64Insn
Arm64InsLdxrb :: Arm64Insn
Arm64InsLdxrh :: Arm64Insn
Arm64InsLdxr :: Arm64Insn
Arm64InsLsl :: Arm64Insn
Arm64InsLsr :: Arm64Insn
Arm64InsMadd :: Arm64Insn
Arm64InsMla :: Arm64Insn
Arm64InsMls :: Arm64Insn
Arm64InsMovi :: Arm64Insn
Arm64InsMovk :: Arm64Insn
Arm64InsMovn :: Arm64Insn
Arm64InsMovz :: Arm64Insn
Arm64InsMrs :: Arm64Insn
Arm64InsMsr :: Arm64Insn
Arm64InsMsub :: Arm64Insn
Arm64InsMul :: Arm64Insn
Arm64InsMvni :: Arm64Insn
Arm64InsNeg :: Arm64Insn
Arm64InsNot :: Arm64Insn
Arm64InsOrn :: Arm64Insn
Arm64InsOrr :: Arm64Insn
Arm64InsPmull2 :: Arm64Insn
Arm64InsPmull :: Arm64Insn
Arm64InsPmul :: Arm64Insn
Arm64InsPrfm :: Arm64Insn
Arm64InsPrfum :: Arm64Insn
Arm64InsRaddhn :: Arm64Insn
Arm64InsRaddhn2 :: Arm64Insn
Arm64InsRbit :: Arm64Insn
Arm64InsRet :: Arm64Insn
Arm64InsRev16 :: Arm64Insn
Arm64InsRev32 :: Arm64Insn
Arm64InsRev64 :: Arm64Insn
Arm64InsRev :: Arm64Insn
Arm64InsRor :: Arm64Insn
Arm64InsRshrn2 :: Arm64Insn
Arm64InsRshrn :: Arm64Insn
Arm64InsRsubhn :: Arm64Insn
Arm64InsRsubhn2 :: Arm64Insn
Arm64InsSabal2 :: Arm64Insn
Arm64InsSabal :: Arm64Insn
Arm64InsSaba :: Arm64Insn
Arm64InsSabdl2 :: Arm64Insn
Arm64InsSabdl :: Arm64Insn
Arm64InsSabd :: Arm64Insn
Arm64InsSadalp :: Arm64Insn
Arm64InsSaddlp :: Arm64Insn
Arm64InsSaddlv :: Arm64Insn
Arm64InsSaddl2 :: Arm64Insn
Arm64InsSaddl :: Arm64Insn
Arm64InsSaddw2 :: Arm64Insn
Arm64InsSaddw :: Arm64Insn
Arm64InsSbc :: Arm64Insn
Arm64InsSbfm :: Arm64Insn
Arm64InsScvtf :: Arm64Insn
Arm64InsSdiv :: Arm64Insn
Arm64InsSha1c :: Arm64Insn
Arm64InsSha1h :: Arm64Insn
Arm64InsSha1m :: Arm64Insn
Arm64InsSha1p :: Arm64Insn
Arm64InsSha1su0 :: Arm64Insn
Arm64InsSha1su1 :: Arm64Insn
Arm64InsSha256h2 :: Arm64Insn
Arm64InsSha256h :: Arm64Insn
Arm64InsSha256su0 :: Arm64Insn
Arm64InsSha256su1 :: Arm64Insn
Arm64InsShadd :: Arm64Insn
Arm64InsShll2 :: Arm64Insn
Arm64InsShll :: Arm64Insn
Arm64InsShl :: Arm64Insn
Arm64InsShrn2 :: Arm64Insn
Arm64InsShrn :: Arm64Insn
Arm64InsShsub :: Arm64Insn
Arm64InsSli :: Arm64Insn
Arm64InsSmaddl :: Arm64Insn
Arm64InsSmaxp :: Arm64Insn
Arm64InsSmaxv :: Arm64Insn
Arm64InsSmax :: Arm64Insn
Arm64InsSmc :: Arm64Insn
Arm64InsSminp :: Arm64Insn
Arm64InsSminv :: Arm64Insn
Arm64InsSmin :: Arm64Insn
Arm64InsSmlal2 :: Arm64Insn
Arm64InsSmlal :: Arm64Insn
Arm64InsSmlsl2 :: Arm64Insn
Arm64InsSmlsl :: Arm64Insn
Arm64InsSmov :: Arm64Insn
Arm64InsSmsubl :: Arm64Insn
Arm64InsSmulh :: Arm64Insn
Arm64InsSmull2 :: Arm64Insn
Arm64InsSmull :: Arm64Insn
Arm64InsSqabs :: Arm64Insn
Arm64InsSqadd :: Arm64Insn
Arm64InsSqdmlal :: Arm64Insn
Arm64InsSqdmlal2 :: Arm64Insn
Arm64InsSqdmlsl :: Arm64Insn
Arm64InsSqdmlsl2 :: Arm64Insn
Arm64InsSqdmulh :: Arm64Insn
Arm64InsSqdmull :: Arm64Insn
Arm64InsSqdmull2 :: Arm64Insn
Arm64InsSqneg :: Arm64Insn
Arm64InsSqrdmulh :: Arm64Insn
Arm64InsSqrshl :: Arm64Insn
Arm64InsSqrshrn :: Arm64Insn
Arm64InsSqrshrn2 :: Arm64Insn
Arm64InsSqrshrun :: Arm64Insn
Arm64InsSqrshrun2 :: Arm64Insn
Arm64InsSqshlu :: Arm64Insn
Arm64InsSqshl :: Arm64Insn
Arm64InsSqshrn :: Arm64Insn
Arm64InsSqshrn2 :: Arm64Insn
Arm64InsSqshrun :: Arm64Insn
Arm64InsSqshrun2 :: Arm64Insn
Arm64InsSqsub :: Arm64Insn
Arm64InsSqxtn2 :: Arm64Insn
Arm64InsSqxtn :: Arm64Insn
Arm64InsSqxtun2 :: Arm64Insn
Arm64InsSqxtun :: Arm64Insn
Arm64InsSrhadd :: Arm64Insn
Arm64InsSri :: Arm64Insn
Arm64InsSrshl :: Arm64Insn
Arm64InsSrshr :: Arm64Insn
Arm64InsSrsra :: Arm64Insn
Arm64InsSshll2 :: Arm64Insn
Arm64InsSshll :: Arm64Insn
Arm64InsSshl :: Arm64Insn
Arm64InsSshr :: Arm64Insn
Arm64InsSsra :: Arm64Insn
Arm64InsSsubl2 :: Arm64Insn
Arm64InsSsubl :: Arm64Insn
Arm64InsSsubw2 :: Arm64Insn
Arm64InsSsubw :: Arm64Insn
Arm64InsSt1 :: Arm64Insn
Arm64InsSt2 :: Arm64Insn
Arm64InsSt3 :: Arm64Insn
Arm64InsSt4 :: Arm64Insn
Arm64InsStlrb :: Arm64Insn
Arm64InsStlrh :: Arm64Insn
Arm64InsStlr :: Arm64Insn
Arm64InsStlxp :: Arm64Insn
Arm64InsStlxrb :: Arm64Insn
Arm64InsStlxrh :: Arm64Insn
Arm64InsStlxr :: Arm64Insn
Arm64InsStnp :: Arm64Insn
Arm64InsStp :: Arm64Insn
Arm64InsStrb :: Arm64Insn
Arm64InsStr :: Arm64Insn
Arm64InsStrh :: Arm64Insn
Arm64InsSttrb :: Arm64Insn
Arm64InsSttrh :: Arm64Insn
Arm64InsSttr :: Arm64Insn
Arm64InsSturb :: Arm64Insn
Arm64InsStur :: Arm64Insn
Arm64InsSturh :: Arm64Insn
Arm64InsStxp :: Arm64Insn
Arm64InsStxrb :: Arm64Insn
Arm64InsStxrh :: Arm64Insn
Arm64InsStxr :: Arm64Insn
Arm64InsSubhn :: Arm64Insn
Arm64InsSubhn2 :: Arm64Insn
Arm64InsSub :: Arm64Insn
Arm64InsSuqadd :: Arm64Insn
Arm64InsSvc :: Arm64Insn
Arm64InsSysl :: Arm64Insn
Arm64InsSys :: Arm64Insn
Arm64InsTbl :: Arm64Insn
Arm64InsTbnz :: Arm64Insn
Arm64InsTbx :: Arm64Insn
Arm64InsTbz :: Arm64Insn
Arm64InsTrn1 :: Arm64Insn
Arm64InsTrn2 :: Arm64Insn
Arm64InsUabal2 :: Arm64Insn
Arm64InsUabal :: Arm64Insn
Arm64InsUaba :: Arm64Insn
Arm64InsUabdl2 :: Arm64Insn
Arm64InsUabdl :: Arm64Insn
Arm64InsUabd :: Arm64Insn
Arm64InsUadalp :: Arm64Insn
Arm64InsUaddlp :: Arm64Insn
Arm64InsUaddlv :: Arm64Insn
Arm64InsUaddl2 :: Arm64Insn
Arm64InsUaddl :: Arm64Insn
Arm64InsUaddw2 :: Arm64Insn
Arm64InsUaddw :: Arm64Insn
Arm64InsUbfm :: Arm64Insn
Arm64InsUcvtf :: Arm64Insn
Arm64InsUdiv :: Arm64Insn
Arm64InsUhadd :: Arm64Insn
Arm64InsUhsub :: Arm64Insn
Arm64InsUmaddl :: Arm64Insn
Arm64InsUmaxp :: Arm64Insn
Arm64InsUmaxv :: Arm64Insn
Arm64InsUmax :: Arm64Insn
Arm64InsUminp :: Arm64Insn
Arm64InsUminv :: Arm64Insn
Arm64InsUmin :: Arm64Insn
Arm64InsUmlal2 :: Arm64Insn
Arm64InsUmlal :: Arm64Insn
Arm64InsUmlsl2 :: Arm64Insn
Arm64InsUmlsl :: Arm64Insn
Arm64InsUmov :: Arm64Insn
Arm64InsUmsubl :: Arm64Insn
Arm64InsUmulh :: Arm64Insn
Arm64InsUmull2 :: Arm64Insn
Arm64InsUmull :: Arm64Insn
Arm64InsUqadd :: Arm64Insn
Arm64InsUqrshl :: Arm64Insn
Arm64InsUqrshrn :: Arm64Insn
Arm64InsUqrshrn2 :: Arm64Insn
Arm64InsUqshl :: Arm64Insn
Arm64InsUqshrn :: Arm64Insn
Arm64InsUqshrn2 :: Arm64Insn
Arm64InsUqsub :: Arm64Insn
Arm64InsUqxtn2 :: Arm64Insn
Arm64InsUqxtn :: Arm64Insn
Arm64InsUrecpe :: Arm64Insn
Arm64InsUrhadd :: Arm64Insn
Arm64InsUrshl :: Arm64Insn
Arm64InsUrshr :: Arm64Insn
Arm64InsUrsqrte :: Arm64Insn
Arm64InsUrsra :: Arm64Insn
Arm64InsUshll2 :: Arm64Insn
Arm64InsUshll :: Arm64Insn
Arm64InsUshl :: Arm64Insn
Arm64InsUshr :: Arm64Insn
Arm64InsUsqadd :: Arm64Insn
Arm64InsUsra :: Arm64Insn
Arm64InsUsubl2 :: Arm64Insn
Arm64InsUsubl :: Arm64Insn
Arm64InsUsubw2 :: Arm64Insn
Arm64InsUsubw :: Arm64Insn
Arm64InsUzp1 :: Arm64Insn
Arm64InsUzp2 :: Arm64Insn
Arm64InsXtn2 :: Arm64Insn
Arm64InsXtn :: Arm64Insn
Arm64InsZip1 :: Arm64Insn
Arm64InsZip2 :: Arm64Insn
Arm64InsMneg :: Arm64Insn
Arm64InsUmnegl :: Arm64Insn
Arm64InsSmnegl :: Arm64Insn
Arm64InsNop :: Arm64Insn
Arm64InsYield :: Arm64Insn
Arm64InsWfe :: Arm64Insn
Arm64InsWfi :: Arm64Insn
Arm64InsSev :: Arm64Insn
Arm64InsSevl :: Arm64Insn
Arm64InsNgc :: Arm64Insn
Arm64InsSbfiz :: Arm64Insn
Arm64InsUbfiz :: Arm64Insn
Arm64InsSbfx :: Arm64Insn
Arm64InsUbfx :: Arm64Insn
Arm64InsBfi :: Arm64Insn
Arm64InsBfxil :: Arm64Insn
Arm64InsCmn :: Arm64Insn
Arm64InsMvn :: Arm64Insn
Arm64InsTst :: Arm64Insn
Arm64InsCset :: Arm64Insn
Arm64InsCinc :: Arm64Insn
Arm64InsCsetm :: Arm64Insn
Arm64InsCinv :: Arm64Insn
Arm64InsCneg :: Arm64Insn
Arm64InsSxtb :: Arm64Insn
Arm64InsSxth :: Arm64Insn
Arm64InsSxtw :: Arm64Insn
Arm64InsCmp :: Arm64Insn
Arm64InsUxtb :: Arm64Insn
Arm64InsUxth :: Arm64Insn
Arm64InsUxtw :: Arm64Insn
Arm64InsIc :: Arm64Insn
Arm64InsDc :: Arm64Insn
Arm64InsAt :: Arm64Insn
Arm64InsTlbi :: Arm64Insn
Arm64InsNegs :: Arm64Insn
Arm64InsNgcs :: Arm64Insn
Arm64InsEnding :: Arm64Insn

-- | ARM64 instruction groups
data Arm64InsnGroup
Arm64GrpInvalid :: Arm64InsnGroup
Arm64GrpJump :: Arm64InsnGroup
Arm64GrpCall :: Arm64InsnGroup
Arm64GrpRet :: Arm64InsnGroup
Arm64GrpInt :: Arm64InsnGroup
Arm64GrpPrivilege :: Arm64InsnGroup
Arm64GrpBranchRelative :: Arm64InsnGroup
Arm64GrpCrypto :: Arm64InsnGroup
Arm64GrpFparmv8 :: Arm64InsnGroup
Arm64GrpNeon :: Arm64InsnGroup
Arm64GrpCrc :: Arm64InsnGroup
Arm64GrpEnding :: Arm64InsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Shifter
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Shifter
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Shifter
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Extender
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Extender
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Extender
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64ConditionCode
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64ConditionCode
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64ConditionCode
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Sysreg
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Sysreg
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Sysreg
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64MsrReg
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64MsrReg
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64MsrReg
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Pstate
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Pstate
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Pstate
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Vas
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Vas
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Vas
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Vess
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Vess
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Vess
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64BarrierOp
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64BarrierOp
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64BarrierOp
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64OpType
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64OpType
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64OpType
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64TlbiOp
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64TlbiOp
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64TlbiOp
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64AtOp
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64AtOp
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64AtOp
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64AtOp
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64DcOp
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64DcOp
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64DcOp
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64IcOp
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64IcOp
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64IcOp
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64PrefetchOp
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64PrefetchOp
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64PrefetchOp
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Reg
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Reg
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Reg
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64OpMemStruct
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64OpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.Arm64.CsArm64OpValue
instance GHC.Show.Show Hapstone.Internal.Arm64.CsArm64OpValue
instance GHC.Classes.Eq Hapstone.Internal.Arm64.CsArm64Op
instance GHC.Show.Show Hapstone.Internal.Arm64.CsArm64Op
instance GHC.Classes.Eq Hapstone.Internal.Arm64.CsArm64
instance GHC.Show.Show Hapstone.Internal.Arm64.CsArm64
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64Insn
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64Insn
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64Insn
instance GHC.Enum.Bounded Hapstone.Internal.Arm64.Arm64InsnGroup
instance GHC.Classes.Eq Hapstone.Internal.Arm64.Arm64InsnGroup
instance GHC.Show.Show Hapstone.Internal.Arm64.Arm64InsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64InsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Insn
instance Foreign.Storable.Storable Hapstone.Internal.Arm64.CsArm64
instance Foreign.Storable.Storable Hapstone.Internal.Arm64.CsArm64Op
instance Foreign.Storable.Storable Hapstone.Internal.Arm64.Arm64OpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Reg
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64PrefetchOp
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64IcOp
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64DcOp
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64TlbiOp
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64OpType
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64BarrierOp
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Vess
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Vas
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Pstate
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64MsrReg
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Sysreg
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64ConditionCode
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Extender
instance GHC.Enum.Enum Hapstone.Internal.Arm64.Arm64Shifter


-- | This module contains MIPS specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.Mips

-- | operand type for instruction's operands
data MipsOpType
MipsOpInvalid :: MipsOpType
MipsOpReg :: MipsOpType
MipsOpImm :: MipsOpType
MipsOpMem :: MipsOpType

-- | MIPS registers
data MipsReg
MipsRegInvalid :: MipsReg
MipsRegPc :: MipsReg
MipsReg0 :: MipsReg
MipsRegZero :: MipsReg
MipsReg1 :: MipsReg
MipsRegAt :: MipsReg
MipsReg2 :: MipsReg
MipsRegV0 :: MipsReg
MipsReg3 :: MipsReg
MipsRegV1 :: MipsReg
MipsReg4 :: MipsReg
MipsRegA0 :: MipsReg
MipsReg5 :: MipsReg
MipsRegA1 :: MipsReg
MipsReg6 :: MipsReg
MipsRegA2 :: MipsReg
MipsReg7 :: MipsReg
MipsRegA3 :: MipsReg
MipsReg8 :: MipsReg
MipsRegT0 :: MipsReg
MipsReg9 :: MipsReg
MipsRegT1 :: MipsReg
MipsReg10 :: MipsReg
MipsRegT2 :: MipsReg
MipsReg11 :: MipsReg
MipsRegT3 :: MipsReg
MipsReg12 :: MipsReg
MipsRegT4 :: MipsReg
MipsReg13 :: MipsReg
MipsRegT5 :: MipsReg
MipsReg14 :: MipsReg
MipsRegT6 :: MipsReg
MipsReg15 :: MipsReg
MipsRegT7 :: MipsReg
MipsReg16 :: MipsReg
MipsRegS0 :: MipsReg
MipsReg17 :: MipsReg
MipsRegS1 :: MipsReg
MipsReg18 :: MipsReg
MipsRegS2 :: MipsReg
MipsReg19 :: MipsReg
MipsRegS3 :: MipsReg
MipsReg20 :: MipsReg
MipsRegS4 :: MipsReg
MipsReg21 :: MipsReg
MipsRegS5 :: MipsReg
MipsReg22 :: MipsReg
MipsRegS6 :: MipsReg
MipsReg23 :: MipsReg
MipsRegS7 :: MipsReg
MipsReg24 :: MipsReg
MipsRegT8 :: MipsReg
MipsReg25 :: MipsReg
MipsRegT9 :: MipsReg
MipsReg26 :: MipsReg
MipsRegK0 :: MipsReg
MipsReg27 :: MipsReg
MipsRegK1 :: MipsReg
MipsReg28 :: MipsReg
MipsRegGp :: MipsReg
MipsReg29 :: MipsReg
MipsRegSp :: MipsReg
MipsReg30 :: MipsReg
MipsRegFp :: MipsReg
MipsRegS8 :: MipsReg
MipsReg31 :: MipsReg
MipsRegRa :: MipsReg
MipsRegDspccond :: MipsReg
MipsRegDspcarry :: MipsReg
MipsRegDspefi :: MipsReg
MipsRegDspoutflag :: MipsReg
MipsRegDspoutflag1619 :: MipsReg
MipsRegDspoutflag20 :: MipsReg
MipsRegDspoutflag21 :: MipsReg
MipsRegDspoutflag22 :: MipsReg
MipsRegDspoutflag23 :: MipsReg
MipsRegDsppos :: MipsReg
MipsRegDspscount :: MipsReg
MipsRegAc0 :: MipsReg
MipsRegHi0 :: MipsReg
MipsRegLo0 :: MipsReg
MipsRegAc1 :: MipsReg
MipsRegHi1 :: MipsReg
MipsRegLo1 :: MipsReg
MipsRegAc2 :: MipsReg
MipsRegHi2 :: MipsReg
MipsRegLo2 :: MipsReg
MipsRegAc3 :: MipsReg
MipsRegHi3 :: MipsReg
MipsRegLo3 :: MipsReg
MipsRegCc0 :: MipsReg
MipsRegCc1 :: MipsReg
MipsRegCc2 :: MipsReg
MipsRegCc3 :: MipsReg
MipsRegCc4 :: MipsReg
MipsRegCc5 :: MipsReg
MipsRegCc6 :: MipsReg
MipsRegCc7 :: MipsReg
MipsRegF0 :: MipsReg
MipsRegF1 :: MipsReg
MipsRegF2 :: MipsReg
MipsRegF3 :: MipsReg
MipsRegF4 :: MipsReg
MipsRegF5 :: MipsReg
MipsRegF6 :: MipsReg
MipsRegF7 :: MipsReg
MipsRegF8 :: MipsReg
MipsRegF9 :: MipsReg
MipsRegF10 :: MipsReg
MipsRegF11 :: MipsReg
MipsRegF12 :: MipsReg
MipsRegF13 :: MipsReg
MipsRegF14 :: MipsReg
MipsRegF15 :: MipsReg
MipsRegF16 :: MipsReg
MipsRegF17 :: MipsReg
MipsRegF18 :: MipsReg
MipsRegF19 :: MipsReg
MipsRegF20 :: MipsReg
MipsRegF21 :: MipsReg
MipsRegF22 :: MipsReg
MipsRegF23 :: MipsReg
MipsRegF24 :: MipsReg
MipsRegF25 :: MipsReg
MipsRegF26 :: MipsReg
MipsRegF27 :: MipsReg
MipsRegF28 :: MipsReg
MipsRegF29 :: MipsReg
MipsRegF30 :: MipsReg
MipsRegF31 :: MipsReg
MipsRegFcc0 :: MipsReg
MipsRegFcc1 :: MipsReg
MipsRegFcc2 :: MipsReg
MipsRegFcc3 :: MipsReg
MipsRegFcc4 :: MipsReg
MipsRegFcc5 :: MipsReg
MipsRegFcc6 :: MipsReg
MipsRegFcc7 :: MipsReg
MipsRegW0 :: MipsReg
MipsRegW1 :: MipsReg
MipsRegW2 :: MipsReg
MipsRegW3 :: MipsReg
MipsRegW4 :: MipsReg
MipsRegW5 :: MipsReg
MipsRegW6 :: MipsReg
MipsRegW7 :: MipsReg
MipsRegW8 :: MipsReg
MipsRegW9 :: MipsReg
MipsRegW10 :: MipsReg
MipsRegW11 :: MipsReg
MipsRegW12 :: MipsReg
MipsRegW13 :: MipsReg
MipsRegW14 :: MipsReg
MipsRegW15 :: MipsReg
MipsRegW16 :: MipsReg
MipsRegW17 :: MipsReg
MipsRegW18 :: MipsReg
MipsRegW19 :: MipsReg
MipsRegW20 :: MipsReg
MipsRegW21 :: MipsReg
MipsRegW22 :: MipsReg
MipsRegW23 :: MipsReg
MipsRegW24 :: MipsReg
MipsRegW25 :: MipsReg
MipsRegW26 :: MipsReg
MipsRegW27 :: MipsReg
MipsRegW28 :: MipsReg
MipsRegW29 :: MipsReg
MipsRegW30 :: MipsReg
MipsRegW31 :: MipsReg
MipsRegHi :: MipsReg
MipsRegLo :: MipsReg
MipsRegP0 :: MipsReg
MipsRegP1 :: MipsReg
MipsRegP2 :: MipsReg
MipsRegMpl0 :: MipsReg
MipsRegMpl1 :: MipsReg
MipsRegMpl2 :: MipsReg
MipsRegEnding :: MipsReg

-- | memory access operands associated with <a>MipsOpMem</a> operand type
data MipsOpMemStruct
MipsOpMemStruct :: MipsReg -> Int64 -> MipsOpMemStruct

-- | base register
[base] :: MipsOpMemStruct -> MipsReg

-- | displacement/offset value
[disp] :: MipsOpMemStruct -> Int64

-- | instruction operand
data CsMipsOp

-- | register value for <a>MipsOpReg</a> operands
Reg :: Word32 -> CsMipsOp

-- | immediate value for <a>MipsOpImm</a> operands
Imm :: Int64 -> CsMipsOp

-- | base,disp value for <a>MipsOpMem</a> operands
Mem :: MipsOpMemStruct -> CsMipsOp

-- | invalid operand value, for MipsOpInvalid operand
Undefined :: CsMipsOp

-- | instruction datatype
newtype CsMips

-- | operand list for this instruction, *MUST* have &lt;= 8 elements, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   memory via it's Storable instance
CsMips :: [CsMipsOp] -> CsMips

-- | MIPS instructions
data MipsInsn
MipsInsInvalid :: MipsInsn
MipsInsAbsqS :: MipsInsn
MipsInsAdd :: MipsInsn
MipsInsAddiupc :: MipsInsn
MipsInsAddiur1sp :: MipsInsn
MipsInsAddiur2 :: MipsInsn
MipsInsAddius5 :: MipsInsn
MipsInsAddiusp :: MipsInsn
MipsInsAddqh :: MipsInsn
MipsInsAddqhR :: MipsInsn
MipsInsAddq :: MipsInsn
MipsInsAddqS :: MipsInsn
MipsInsAddsc :: MipsInsn
MipsInsAddsA :: MipsInsn
MipsInsAddsS :: MipsInsn
MipsInsAddsU :: MipsInsn
MipsInsAddu16 :: MipsInsn
MipsInsAdduh :: MipsInsn
MipsInsAdduhR :: MipsInsn
MipsInsAddu :: MipsInsn
MipsInsAdduS :: MipsInsn
MipsInsAddvi :: MipsInsn
MipsInsAddv :: MipsInsn
MipsInsAddwc :: MipsInsn
MipsInsAddA :: MipsInsn
MipsInsAddi :: MipsInsn
MipsInsAddiu :: MipsInsn
MipsInsAlign :: MipsInsn
MipsInsAluipc :: MipsInsn
MipsInsAnd :: MipsInsn
MipsInsAnd16 :: MipsInsn
MipsInsAndi16 :: MipsInsn
MipsInsAndi :: MipsInsn
MipsInsAppend :: MipsInsn
MipsInsAsubS :: MipsInsn
MipsInsAsubU :: MipsInsn
MipsInsAui :: MipsInsn
MipsInsAuipc :: MipsInsn
MipsInsAverS :: MipsInsn
MipsInsAverU :: MipsInsn
MipsInsAveS :: MipsInsn
MipsInsAveU :: MipsInsn
MipsInsB16 :: MipsInsn
MipsInsBaddu :: MipsInsn
MipsInsBal :: MipsInsn
MipsInsBalc :: MipsInsn
MipsInsBalign :: MipsInsn
MipsInsBbit0 :: MipsInsn
MipsInsBbit032 :: MipsInsn
MipsInsBbit1 :: MipsInsn
MipsInsBbit132 :: MipsInsn
MipsInsBc :: MipsInsn
MipsInsBc0f :: MipsInsn
MipsInsBc0fl :: MipsInsn
MipsInsBc0t :: MipsInsn
MipsInsBc0tl :: MipsInsn
MipsInsBc1eqz :: MipsInsn
MipsInsBc1f :: MipsInsn
MipsInsBc1fl :: MipsInsn
MipsInsBc1nez :: MipsInsn
MipsInsBc1t :: MipsInsn
MipsInsBc1tl :: MipsInsn
MipsInsBc2eqz :: MipsInsn
MipsInsBc2f :: MipsInsn
MipsInsBc2fl :: MipsInsn
MipsInsBc2nez :: MipsInsn
MipsInsBc2t :: MipsInsn
MipsInsBc2tl :: MipsInsn
MipsInsBc3f :: MipsInsn
MipsInsBc3fl :: MipsInsn
MipsInsBc3t :: MipsInsn
MipsInsBc3tl :: MipsInsn
MipsInsBclri :: MipsInsn
MipsInsBclr :: MipsInsn
MipsInsBeq :: MipsInsn
MipsInsBeqc :: MipsInsn
MipsInsBeql :: MipsInsn
MipsInsBeqz16 :: MipsInsn
MipsInsBeqzalc :: MipsInsn
MipsInsBeqzc :: MipsInsn
MipsInsBgec :: MipsInsn
MipsInsBgeuc :: MipsInsn
MipsInsBgez :: MipsInsn
MipsInsBgezal :: MipsInsn
MipsInsBgezalc :: MipsInsn
MipsInsBgezall :: MipsInsn
MipsInsBgezals :: MipsInsn
MipsInsBgezc :: MipsInsn
MipsInsBgezl :: MipsInsn
MipsInsBgtz :: MipsInsn
MipsInsBgtzalc :: MipsInsn
MipsInsBgtzc :: MipsInsn
MipsInsBgtzl :: MipsInsn
MipsInsBinsli :: MipsInsn
MipsInsBinsl :: MipsInsn
MipsInsBinsri :: MipsInsn
MipsInsBinsr :: MipsInsn
MipsInsBitrev :: MipsInsn
MipsInsBitswap :: MipsInsn
MipsInsBlez :: MipsInsn
MipsInsBlezalc :: MipsInsn
MipsInsBlezc :: MipsInsn
MipsInsBlezl :: MipsInsn
MipsInsBltc :: MipsInsn
MipsInsBltuc :: MipsInsn
MipsInsBltz :: MipsInsn
MipsInsBltzal :: MipsInsn
MipsInsBltzalc :: MipsInsn
MipsInsBltzall :: MipsInsn
MipsInsBltzals :: MipsInsn
MipsInsBltzc :: MipsInsn
MipsInsBltzl :: MipsInsn
MipsInsBmnzi :: MipsInsn
MipsInsBmnz :: MipsInsn
MipsInsBmzi :: MipsInsn
MipsInsBmz :: MipsInsn
MipsInsBne :: MipsInsn
MipsInsBnec :: MipsInsn
MipsInsBnegi :: MipsInsn
MipsInsBneg :: MipsInsn
MipsInsBnel :: MipsInsn
MipsInsBnez16 :: MipsInsn
MipsInsBnezalc :: MipsInsn
MipsInsBnezc :: MipsInsn
MipsInsBnvc :: MipsInsn
MipsInsBnz :: MipsInsn
MipsInsBovc :: MipsInsn
MipsInsBposge32 :: MipsInsn
MipsInsBreak :: MipsInsn
MipsInsBreak16 :: MipsInsn
MipsInsBseli :: MipsInsn
MipsInsBsel :: MipsInsn
MipsInsBseti :: MipsInsn
MipsInsBset :: MipsInsn
MipsInsBz :: MipsInsn
MipsInsBeqz :: MipsInsn
MipsInsB :: MipsInsn
MipsInsBnez :: MipsInsn
MipsInsBteqz :: MipsInsn
MipsInsBtnez :: MipsInsn
MipsInsCache :: MipsInsn
MipsInsCeil :: MipsInsn
MipsInsCeqi :: MipsInsn
MipsInsCeq :: MipsInsn
MipsInsCfc1 :: MipsInsn
MipsInsCfcmsa :: MipsInsn
MipsInsCins :: MipsInsn
MipsInsCins32 :: MipsInsn
MipsInsClass :: MipsInsn
MipsInsCleiS :: MipsInsn
MipsInsCleiU :: MipsInsn
MipsInsCleS :: MipsInsn
MipsInsCleU :: MipsInsn
MipsInsClo :: MipsInsn
MipsInsCltiS :: MipsInsn
MipsInsCltiU :: MipsInsn
MipsInsCltS :: MipsInsn
MipsInsCltU :: MipsInsn
MipsInsClz :: MipsInsn
MipsInsCmpgdu :: MipsInsn
MipsInsCmpgu :: MipsInsn
MipsInsCmpu :: MipsInsn
MipsInsCmp :: MipsInsn
MipsInsCopyS :: MipsInsn
MipsInsCopyU :: MipsInsn
MipsInsCtc1 :: MipsInsn
MipsInsCtcmsa :: MipsInsn
MipsInsCvt :: MipsInsn
MipsInsC :: MipsInsn
MipsInsCmpi :: MipsInsn
MipsInsDadd :: MipsInsn
MipsInsDaddi :: MipsInsn
MipsInsDaddiu :: MipsInsn
MipsInsDaddu :: MipsInsn
MipsInsDahi :: MipsInsn
MipsInsDalign :: MipsInsn
MipsInsDati :: MipsInsn
MipsInsDaui :: MipsInsn
MipsInsDbitswap :: MipsInsn
MipsInsDclo :: MipsInsn
MipsInsDclz :: MipsInsn
MipsInsDdiv :: MipsInsn
MipsInsDdivu :: MipsInsn
MipsInsDeret :: MipsInsn
MipsInsDext :: MipsInsn
MipsInsDextm :: MipsInsn
MipsInsDextu :: MipsInsn
MipsInsDi :: MipsInsn
MipsInsDins :: MipsInsn
MipsInsDinsm :: MipsInsn
MipsInsDinsu :: MipsInsn
MipsInsDiv :: MipsInsn
MipsInsDivu :: MipsInsn
MipsInsDivS :: MipsInsn
MipsInsDivU :: MipsInsn
MipsInsDlsa :: MipsInsn
MipsInsDmfc0 :: MipsInsn
MipsInsDmfc1 :: MipsInsn
MipsInsDmfc2 :: MipsInsn
MipsInsDmod :: MipsInsn
MipsInsDmodu :: MipsInsn
MipsInsDmtc0 :: MipsInsn
MipsInsDmtc1 :: MipsInsn
MipsInsDmtc2 :: MipsInsn
MipsInsDmuh :: MipsInsn
MipsInsDmuhu :: MipsInsn
MipsInsDmul :: MipsInsn
MipsInsDmult :: MipsInsn
MipsInsDmultu :: MipsInsn
MipsInsDmulu :: MipsInsn
MipsInsDotpS :: MipsInsn
MipsInsDotpU :: MipsInsn
MipsInsDpaddS :: MipsInsn
MipsInsDpaddU :: MipsInsn
MipsInsDpaqxSa :: MipsInsn
MipsInsDpaqxS :: MipsInsn
MipsInsDpaqSa :: MipsInsn
MipsInsDpaqS :: MipsInsn
MipsInsDpau :: MipsInsn
MipsInsDpax :: MipsInsn
MipsInsDpa :: MipsInsn
MipsInsDpop :: MipsInsn
MipsInsDpsqxSa :: MipsInsn
MipsInsDpsqxS :: MipsInsn
MipsInsDpsqSa :: MipsInsn
MipsInsDpsqS :: MipsInsn
MipsInsDpsubS :: MipsInsn
MipsInsDpsubU :: MipsInsn
MipsInsDpsu :: MipsInsn
MipsInsDpsx :: MipsInsn
MipsInsDps :: MipsInsn
MipsInsDrotr :: MipsInsn
MipsInsDrotr32 :: MipsInsn
MipsInsDrotrv :: MipsInsn
MipsInsDsbh :: MipsInsn
MipsInsDshd :: MipsInsn
MipsInsDsll :: MipsInsn
MipsInsDsll32 :: MipsInsn
MipsInsDsllv :: MipsInsn
MipsInsDsra :: MipsInsn
MipsInsDsra32 :: MipsInsn
MipsInsDsrav :: MipsInsn
MipsInsDsrl :: MipsInsn
MipsInsDsrl32 :: MipsInsn
MipsInsDsrlv :: MipsInsn
MipsInsDsub :: MipsInsn
MipsInsDsubu :: MipsInsn
MipsInsEhb :: MipsInsn
MipsInsEi :: MipsInsn
MipsInsEret :: MipsInsn
MipsInsExt :: MipsInsn
MipsInsExtp :: MipsInsn
MipsInsExtpdp :: MipsInsn
MipsInsExtpdpv :: MipsInsn
MipsInsExtpv :: MipsInsn
MipsInsExtrvRs :: MipsInsn
MipsInsExtrvR :: MipsInsn
MipsInsExtrvS :: MipsInsn
MipsInsExtrv :: MipsInsn
MipsInsExtrRs :: MipsInsn
MipsInsExtrR :: MipsInsn
MipsInsExtrS :: MipsInsn
MipsInsExtr :: MipsInsn
MipsInsExts :: MipsInsn
MipsInsExts32 :: MipsInsn
MipsInsAbs :: MipsInsn
MipsInsFadd :: MipsInsn
MipsInsFcaf :: MipsInsn
MipsInsFceq :: MipsInsn
MipsInsFclass :: MipsInsn
MipsInsFcle :: MipsInsn
MipsInsFclt :: MipsInsn
MipsInsFcne :: MipsInsn
MipsInsFcor :: MipsInsn
MipsInsFcueq :: MipsInsn
MipsInsFcule :: MipsInsn
MipsInsFcult :: MipsInsn
MipsInsFcune :: MipsInsn
MipsInsFcun :: MipsInsn
MipsInsFdiv :: MipsInsn
MipsInsFexdo :: MipsInsn
MipsInsFexp2 :: MipsInsn
MipsInsFexupl :: MipsInsn
MipsInsFexupr :: MipsInsn
MipsInsFfintS :: MipsInsn
MipsInsFfintU :: MipsInsn
MipsInsFfql :: MipsInsn
MipsInsFfqr :: MipsInsn
MipsInsFill :: MipsInsn
MipsInsFlog2 :: MipsInsn
MipsInsFloor :: MipsInsn
MipsInsFmadd :: MipsInsn
MipsInsFmaxA :: MipsInsn
MipsInsFmax :: MipsInsn
MipsInsFminA :: MipsInsn
MipsInsFmin :: MipsInsn
MipsInsMov :: MipsInsn
MipsInsFmsub :: MipsInsn
MipsInsFmul :: MipsInsn
MipsInsMul :: MipsInsn
MipsInsNeg :: MipsInsn
MipsInsFrcp :: MipsInsn
MipsInsFrint :: MipsInsn
MipsInsFrsqrt :: MipsInsn
MipsInsFsaf :: MipsInsn
MipsInsFseq :: MipsInsn
MipsInsFsle :: MipsInsn
MipsInsFslt :: MipsInsn
MipsInsFsne :: MipsInsn
MipsInsFsor :: MipsInsn
MipsInsFsqrt :: MipsInsn
MipsInsSqrt :: MipsInsn
MipsInsFsub :: MipsInsn
MipsInsSub :: MipsInsn
MipsInsFsueq :: MipsInsn
MipsInsFsule :: MipsInsn
MipsInsFsult :: MipsInsn
MipsInsFsune :: MipsInsn
MipsInsFsun :: MipsInsn
MipsInsFtintS :: MipsInsn
MipsInsFtintU :: MipsInsn
MipsInsFtq :: MipsInsn
MipsInsFtruncS :: MipsInsn
MipsInsFtruncU :: MipsInsn
MipsInsHaddS :: MipsInsn
MipsInsHaddU :: MipsInsn
MipsInsHsubS :: MipsInsn
MipsInsHsubU :: MipsInsn
MipsInsIlvev :: MipsInsn
MipsInsIlvl :: MipsInsn
MipsInsIlvod :: MipsInsn
MipsInsIlvr :: MipsInsn
MipsInsIns :: MipsInsn
MipsInsInsert :: MipsInsn
MipsInsInsv :: MipsInsn
MipsInsInsve :: MipsInsn
MipsInsJ :: MipsInsn
MipsInsJal :: MipsInsn
MipsInsJalr :: MipsInsn
MipsInsJalrs16 :: MipsInsn
MipsInsJalrs :: MipsInsn
MipsInsJals :: MipsInsn
MipsInsJalx :: MipsInsn
MipsInsJialc :: MipsInsn
MipsInsJic :: MipsInsn
MipsInsJr :: MipsInsn
MipsInsJr16 :: MipsInsn
MipsInsJraddiusp :: MipsInsn
MipsInsJrc :: MipsInsn
MipsInsJalrc :: MipsInsn
MipsInsLb :: MipsInsn
MipsInsLbu16 :: MipsInsn
MipsInsLbux :: MipsInsn
MipsInsLbu :: MipsInsn
MipsInsLd :: MipsInsn
MipsInsLdc1 :: MipsInsn
MipsInsLdc2 :: MipsInsn
MipsInsLdc3 :: MipsInsn
MipsInsLdi :: MipsInsn
MipsInsLdl :: MipsInsn
MipsInsLdpc :: MipsInsn
MipsInsLdr :: MipsInsn
MipsInsLdxc1 :: MipsInsn
MipsInsLh :: MipsInsn
MipsInsLhu16 :: MipsInsn
MipsInsLhx :: MipsInsn
MipsInsLhu :: MipsInsn
MipsInsLi16 :: MipsInsn
MipsInsLl :: MipsInsn
MipsInsLld :: MipsInsn
MipsInsLsa :: MipsInsn
MipsInsLuxc1 :: MipsInsn
MipsInsLui :: MipsInsn
MipsInsLw :: MipsInsn
MipsInsLw16 :: MipsInsn
MipsInsLwc1 :: MipsInsn
MipsInsLwc2 :: MipsInsn
MipsInsLwc3 :: MipsInsn
MipsInsLwl :: MipsInsn
MipsInsLwm16 :: MipsInsn
MipsInsLwm32 :: MipsInsn
MipsInsLwpc :: MipsInsn
MipsInsLwp :: MipsInsn
MipsInsLwr :: MipsInsn
MipsInsLwupc :: MipsInsn
MipsInsLwu :: MipsInsn
MipsInsLwx :: MipsInsn
MipsInsLwxc1 :: MipsInsn
MipsInsLwxs :: MipsInsn
MipsInsLi :: MipsInsn
MipsInsMadd :: MipsInsn
MipsInsMaddf :: MipsInsn
MipsInsMaddrQ :: MipsInsn
MipsInsMaddu :: MipsInsn
MipsInsMaddv :: MipsInsn
MipsInsMaddQ :: MipsInsn
MipsInsMaqSa :: MipsInsn
MipsInsMaqS :: MipsInsn
MipsInsMaxa :: MipsInsn
MipsInsMaxiS :: MipsInsn
MipsInsMaxiU :: MipsInsn
MipsInsMaxA :: MipsInsn
MipsInsMax :: MipsInsn
MipsInsMaxS :: MipsInsn
MipsInsMaxU :: MipsInsn
MipsInsMfc0 :: MipsInsn
MipsInsMfc1 :: MipsInsn
MipsInsMfc2 :: MipsInsn
MipsInsMfhc1 :: MipsInsn
MipsInsMfhi :: MipsInsn
MipsInsMflo :: MipsInsn
MipsInsMina :: MipsInsn
MipsInsMiniS :: MipsInsn
MipsInsMiniU :: MipsInsn
MipsInsMinA :: MipsInsn
MipsInsMin :: MipsInsn
MipsInsMinS :: MipsInsn
MipsInsMinU :: MipsInsn
MipsInsMod :: MipsInsn
MipsInsModsub :: MipsInsn
MipsInsModu :: MipsInsn
MipsInsModS :: MipsInsn
MipsInsModU :: MipsInsn
MipsInsMove :: MipsInsn
MipsInsMovep :: MipsInsn
MipsInsMovf :: MipsInsn
MipsInsMovn :: MipsInsn
MipsInsMovt :: MipsInsn
MipsInsMovz :: MipsInsn
MipsInsMsub :: MipsInsn
MipsInsMsubf :: MipsInsn
MipsInsMsubrQ :: MipsInsn
MipsInsMsubu :: MipsInsn
MipsInsMsubv :: MipsInsn
MipsInsMsubQ :: MipsInsn
MipsInsMtc0 :: MipsInsn
MipsInsMtc1 :: MipsInsn
MipsInsMtc2 :: MipsInsn
MipsInsMthc1 :: MipsInsn
MipsInsMthi :: MipsInsn
MipsInsMthlip :: MipsInsn
MipsInsMtlo :: MipsInsn
MipsInsMtm0 :: MipsInsn
MipsInsMtm1 :: MipsInsn
MipsInsMtm2 :: MipsInsn
MipsInsMtp0 :: MipsInsn
MipsInsMtp1 :: MipsInsn
MipsInsMtp2 :: MipsInsn
MipsInsMuh :: MipsInsn
MipsInsMuhu :: MipsInsn
MipsInsMuleqS :: MipsInsn
MipsInsMuleuS :: MipsInsn
MipsInsMulqRs :: MipsInsn
MipsInsMulqS :: MipsInsn
MipsInsMulrQ :: MipsInsn
MipsInsMulsaqS :: MipsInsn
MipsInsMulsa :: MipsInsn
MipsInsMult :: MipsInsn
MipsInsMultu :: MipsInsn
MipsInsMulu :: MipsInsn
MipsInsMulv :: MipsInsn
MipsInsMulQ :: MipsInsn
MipsInsMulS :: MipsInsn
MipsInsNloc :: MipsInsn
MipsInsNlzc :: MipsInsn
MipsInsNmadd :: MipsInsn
MipsInsNmsub :: MipsInsn
MipsInsNor :: MipsInsn
MipsInsNori :: MipsInsn
MipsInsNot16 :: MipsInsn
MipsInsNot :: MipsInsn
MipsInsOr :: MipsInsn
MipsInsOr16 :: MipsInsn
MipsInsOri :: MipsInsn
MipsInsPackrl :: MipsInsn
MipsInsPause :: MipsInsn
MipsInsPckev :: MipsInsn
MipsInsPckod :: MipsInsn
MipsInsPcnt :: MipsInsn
MipsInsPick :: MipsInsn
MipsInsPop :: MipsInsn
MipsInsPrecequ :: MipsInsn
MipsInsPreceq :: MipsInsn
MipsInsPreceu :: MipsInsn
MipsInsPrecrquS :: MipsInsn
MipsInsPrecrq :: MipsInsn
MipsInsPrecrqRs :: MipsInsn
MipsInsPrecr :: MipsInsn
MipsInsPrecrSra :: MipsInsn
MipsInsPrecrSraR :: MipsInsn
MipsInsPref :: MipsInsn
MipsInsPrepend :: MipsInsn
MipsInsRaddu :: MipsInsn
MipsInsRddsp :: MipsInsn
MipsInsRdhwr :: MipsInsn
MipsInsReplv :: MipsInsn
MipsInsRepl :: MipsInsn
MipsInsRint :: MipsInsn
MipsInsRotr :: MipsInsn
MipsInsRotrv :: MipsInsn
MipsInsRound :: MipsInsn
MipsInsSatS :: MipsInsn
MipsInsSatU :: MipsInsn
MipsInsSb :: MipsInsn
MipsInsSb16 :: MipsInsn
MipsInsSc :: MipsInsn
MipsInsScd :: MipsInsn
MipsInsSd :: MipsInsn
MipsInsSdbbp :: MipsInsn
MipsInsSdbbp16 :: MipsInsn
MipsInsSdc1 :: MipsInsn
MipsInsSdc2 :: MipsInsn
MipsInsSdc3 :: MipsInsn
MipsInsSdl :: MipsInsn
MipsInsSdr :: MipsInsn
MipsInsSdxc1 :: MipsInsn
MipsInsSeb :: MipsInsn
MipsInsSeh :: MipsInsn
MipsInsSeleqz :: MipsInsn
MipsInsSelnez :: MipsInsn
MipsInsSel :: MipsInsn
MipsInsSeq :: MipsInsn
MipsInsSeqi :: MipsInsn
MipsInsSh :: MipsInsn
MipsInsSh16 :: MipsInsn
MipsInsShf :: MipsInsn
MipsInsShilo :: MipsInsn
MipsInsShilov :: MipsInsn
MipsInsShllv :: MipsInsn
MipsInsShllvS :: MipsInsn
MipsInsShll :: MipsInsn
MipsInsShllS :: MipsInsn
MipsInsShrav :: MipsInsn
MipsInsShravR :: MipsInsn
MipsInsShra :: MipsInsn
MipsInsShraR :: MipsInsn
MipsInsShrlv :: MipsInsn
MipsInsShrl :: MipsInsn
MipsInsSldi :: MipsInsn
MipsInsSld :: MipsInsn
MipsInsSll :: MipsInsn
MipsInsSll16 :: MipsInsn
MipsInsSlli :: MipsInsn
MipsInsSllv :: MipsInsn
MipsInsSlt :: MipsInsn
MipsInsSlti :: MipsInsn
MipsInsSltiu :: MipsInsn
MipsInsSltu :: MipsInsn
MipsInsSne :: MipsInsn
MipsInsSnei :: MipsInsn
MipsInsSplati :: MipsInsn
MipsInsSplat :: MipsInsn
MipsInsSra :: MipsInsn
MipsInsSrai :: MipsInsn
MipsInsSrari :: MipsInsn
MipsInsSrar :: MipsInsn
MipsInsSrav :: MipsInsn
MipsInsSrl :: MipsInsn
MipsInsSrl16 :: MipsInsn
MipsInsSrli :: MipsInsn
MipsInsSrlri :: MipsInsn
MipsInsSrlr :: MipsInsn
MipsInsSrlv :: MipsInsn
MipsInsSsnop :: MipsInsn
MipsInsSt :: MipsInsn
MipsInsSubqh :: MipsInsn
MipsInsSubqhR :: MipsInsn
MipsInsSubq :: MipsInsn
MipsInsSubqS :: MipsInsn
MipsInsSubsusU :: MipsInsn
MipsInsSubsuuS :: MipsInsn
MipsInsSubsS :: MipsInsn
MipsInsSubsU :: MipsInsn
MipsInsSubu16 :: MipsInsn
MipsInsSubuh :: MipsInsn
MipsInsSubuhR :: MipsInsn
MipsInsSubu :: MipsInsn
MipsInsSubuS :: MipsInsn
MipsInsSubvi :: MipsInsn
MipsInsSubv :: MipsInsn
MipsInsSuxc1 :: MipsInsn
MipsInsSw :: MipsInsn
MipsInsSw16 :: MipsInsn
MipsInsSwc1 :: MipsInsn
MipsInsSwc2 :: MipsInsn
MipsInsSwc3 :: MipsInsn
MipsInsSwl :: MipsInsn
MipsInsSwm16 :: MipsInsn
MipsInsSwm32 :: MipsInsn
MipsInsSwp :: MipsInsn
MipsInsSwr :: MipsInsn
MipsInsSwxc1 :: MipsInsn
MipsInsSync :: MipsInsn
MipsInsSynci :: MipsInsn
MipsInsSyscall :: MipsInsn
MipsInsTeq :: MipsInsn
MipsInsTeqi :: MipsInsn
MipsInsTge :: MipsInsn
MipsInsTgei :: MipsInsn
MipsInsTgeiu :: MipsInsn
MipsInsTgeu :: MipsInsn
MipsInsTlbp :: MipsInsn
MipsInsTlbr :: MipsInsn
MipsInsTlbwi :: MipsInsn
MipsInsTlbwr :: MipsInsn
MipsInsTlt :: MipsInsn
MipsInsTlti :: MipsInsn
MipsInsTltiu :: MipsInsn
MipsInsTltu :: MipsInsn
MipsInsTne :: MipsInsn
MipsInsTnei :: MipsInsn
MipsInsTrunc :: MipsInsn
MipsInsV3mulu :: MipsInsn
MipsInsVmm0 :: MipsInsn
MipsInsVmulu :: MipsInsn
MipsInsVshf :: MipsInsn
MipsInsWait :: MipsInsn
MipsInsWrdsp :: MipsInsn
MipsInsWsbh :: MipsInsn
MipsInsXor :: MipsInsn
MipsInsXor16 :: MipsInsn
MipsInsXori :: MipsInsn
MipsInsNop :: MipsInsn
MipsInsNegu :: MipsInsn
MipsInsJalrHb :: MipsInsn
MipsInsJrHb :: MipsInsn
MipsInsEnding :: MipsInsn

-- | MIPS instruction groups
data MipsInsnGroup
MipsGrpInvalid :: MipsInsnGroup
MipsGrpJump :: MipsInsnGroup
MipsGrpCall :: MipsInsnGroup
MipsGrpRet :: MipsInsnGroup
MipsGrpInt :: MipsInsnGroup
MipsGrpIret :: MipsInsnGroup
MipsGrpPrivilege :: MipsInsnGroup
MipsGrpBranchRelative :: MipsInsnGroup
MipsGrpBitcount :: MipsInsnGroup
MipsGrpDsp :: MipsInsnGroup
MipsGrpDspr2 :: MipsInsnGroup
MipsGrpFpidx :: MipsInsnGroup
MipsGrpMsa :: MipsInsnGroup
MipsGrpMips32r2 :: MipsInsnGroup
MipsGrpMips64 :: MipsInsnGroup
MipsGrpMips64r2 :: MipsInsnGroup
MipsGrpSeinreg :: MipsInsnGroup
MipsGrpStdenc :: MipsInsnGroup
MipsGrpSwap :: MipsInsnGroup
MipsGrpMicromips :: MipsInsnGroup
MipsGrpMips16mode :: MipsInsnGroup
MipsGrpFp64bit :: MipsInsnGroup
MipsGrpNonansfpmath :: MipsInsnGroup
MipsGrpNotfp64bit :: MipsInsnGroup
MipsGrpNotinmicromips :: MipsInsnGroup
MipsGrpNotnacl :: MipsInsnGroup
MipsGrpNotmips32r6 :: MipsInsnGroup
MipsGrpNotmips64r6 :: MipsInsnGroup
MipsGrpCnmips :: MipsInsnGroup
MipsGrpMips32 :: MipsInsnGroup
MipsGrpMips32r6 :: MipsInsnGroup
MipsGrpMips64r6 :: MipsInsnGroup
MipsGrpMips2 :: MipsInsnGroup
MipsGrpMips3 :: MipsInsnGroup
MipsGrpMips332 :: MipsInsnGroup
MipsGrpMips332r2 :: MipsInsnGroup
MipsGrpMips432 :: MipsInsnGroup
MipsGrpMips432r2 :: MipsInsnGroup
MipsGrpMips532r2 :: MipsInsnGroup
MipsGrpGp32bit :: MipsInsnGroup
MipsGrpGp64bit :: MipsInsnGroup
MipsGrpEnding :: MipsInsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.Mips.MipsOpType
instance GHC.Classes.Eq Hapstone.Internal.Mips.MipsOpType
instance GHC.Show.Show Hapstone.Internal.Mips.MipsOpType
instance GHC.Enum.Bounded Hapstone.Internal.Mips.MipsReg
instance GHC.Classes.Eq Hapstone.Internal.Mips.MipsReg
instance GHC.Show.Show Hapstone.Internal.Mips.MipsReg
instance GHC.Classes.Eq Hapstone.Internal.Mips.MipsOpMemStruct
instance GHC.Show.Show Hapstone.Internal.Mips.MipsOpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.Mips.CsMipsOp
instance GHC.Show.Show Hapstone.Internal.Mips.CsMipsOp
instance GHC.Classes.Eq Hapstone.Internal.Mips.CsMips
instance GHC.Show.Show Hapstone.Internal.Mips.CsMips
instance GHC.Enum.Bounded Hapstone.Internal.Mips.MipsInsn
instance GHC.Classes.Eq Hapstone.Internal.Mips.MipsInsn
instance GHC.Show.Show Hapstone.Internal.Mips.MipsInsn
instance GHC.Enum.Bounded Hapstone.Internal.Mips.MipsInsnGroup
instance GHC.Classes.Eq Hapstone.Internal.Mips.MipsInsnGroup
instance GHC.Show.Show Hapstone.Internal.Mips.MipsInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Mips.MipsInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Mips.MipsInsn
instance Foreign.Storable.Storable Hapstone.Internal.Mips.CsMips
instance Foreign.Storable.Storable Hapstone.Internal.Mips.CsMipsOp
instance Foreign.Storable.Storable Hapstone.Internal.Mips.MipsOpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.Mips.MipsReg
instance GHC.Enum.Enum Hapstone.Internal.Mips.MipsOpType


-- | This module contains PPC specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.Ppc

-- | PPC branch codes for some branch instructions
data PpcBc
PpcBcInvalid :: PpcBc
PpcBcGe :: PpcBc
PpcBcLt :: PpcBc
PpcBcLe :: PpcBc
PpcBcGt :: PpcBc
PpcBcNe :: PpcBc
PpcBcEq :: PpcBc
PpcBcNu :: PpcBc
PpcBcUn :: PpcBc
PpcBcNs :: PpcBc
PpcBcSo :: PpcBc

-- | PPC branch hint for some branch instructions
data PpcBh
PpcBhInvalid :: PpcBh
PpcBhPlus :: PpcBh
PpcBhMinus :: PpcBh

-- | operand type for instruction's operands
data PpcOpType
PpcOpInvalid :: PpcOpType
PpcOpReg :: PpcOpType
PpcOpImm :: PpcOpType
PpcOpMem :: PpcOpType
PpcOpCrx :: PpcOpType

-- | PPC registers
data PpcReg
PpcRegInvalid :: PpcReg
PpcRegCarry :: PpcReg
PpcRegCr0 :: PpcReg
PpcRegCr1 :: PpcReg
PpcRegCr2 :: PpcReg
PpcRegCr3 :: PpcReg
PpcRegCr4 :: PpcReg
PpcRegCr5 :: PpcReg
PpcRegCr6 :: PpcReg
PpcRegCr7 :: PpcReg
PpcRegCtr :: PpcReg
PpcRegF0 :: PpcReg
PpcRegF1 :: PpcReg
PpcRegF2 :: PpcReg
PpcRegF3 :: PpcReg
PpcRegF4 :: PpcReg
PpcRegF5 :: PpcReg
PpcRegF6 :: PpcReg
PpcRegF7 :: PpcReg
PpcRegF8 :: PpcReg
PpcRegF9 :: PpcReg
PpcRegF10 :: PpcReg
PpcRegF11 :: PpcReg
PpcRegF12 :: PpcReg
PpcRegF13 :: PpcReg
PpcRegF14 :: PpcReg
PpcRegF15 :: PpcReg
PpcRegF16 :: PpcReg
PpcRegF17 :: PpcReg
PpcRegF18 :: PpcReg
PpcRegF19 :: PpcReg
PpcRegF20 :: PpcReg
PpcRegF21 :: PpcReg
PpcRegF22 :: PpcReg
PpcRegF23 :: PpcReg
PpcRegF24 :: PpcReg
PpcRegF25 :: PpcReg
PpcRegF26 :: PpcReg
PpcRegF27 :: PpcReg
PpcRegF28 :: PpcReg
PpcRegF29 :: PpcReg
PpcRegF30 :: PpcReg
PpcRegF31 :: PpcReg
PpcRegLr :: PpcReg
PpcRegR0 :: PpcReg
PpcRegR1 :: PpcReg
PpcRegR2 :: PpcReg
PpcRegR3 :: PpcReg
PpcRegR4 :: PpcReg
PpcRegR5 :: PpcReg
PpcRegR6 :: PpcReg
PpcRegR7 :: PpcReg
PpcRegR8 :: PpcReg
PpcRegR9 :: PpcReg
PpcRegR10 :: PpcReg
PpcRegR11 :: PpcReg
PpcRegR12 :: PpcReg
PpcRegR13 :: PpcReg
PpcRegR14 :: PpcReg
PpcRegR15 :: PpcReg
PpcRegR16 :: PpcReg
PpcRegR17 :: PpcReg
PpcRegR18 :: PpcReg
PpcRegR19 :: PpcReg
PpcRegR20 :: PpcReg
PpcRegR21 :: PpcReg
PpcRegR22 :: PpcReg
PpcRegR23 :: PpcReg
PpcRegR24 :: PpcReg
PpcRegR25 :: PpcReg
PpcRegR26 :: PpcReg
PpcRegR27 :: PpcReg
PpcRegR28 :: PpcReg
PpcRegR29 :: PpcReg
PpcRegR30 :: PpcReg
PpcRegR31 :: PpcReg
PpcRegV0 :: PpcReg
PpcRegV1 :: PpcReg
PpcRegV2 :: PpcReg
PpcRegV3 :: PpcReg
PpcRegV4 :: PpcReg
PpcRegV5 :: PpcReg
PpcRegV6 :: PpcReg
PpcRegV7 :: PpcReg
PpcRegV8 :: PpcReg
PpcRegV9 :: PpcReg
PpcRegV10 :: PpcReg
PpcRegV11 :: PpcReg
PpcRegV12 :: PpcReg
PpcRegV13 :: PpcReg
PpcRegV14 :: PpcReg
PpcRegV15 :: PpcReg
PpcRegV16 :: PpcReg
PpcRegV17 :: PpcReg
PpcRegV18 :: PpcReg
PpcRegV19 :: PpcReg
PpcRegV20 :: PpcReg
PpcRegV21 :: PpcReg
PpcRegV22 :: PpcReg
PpcRegV23 :: PpcReg
PpcRegV24 :: PpcReg
PpcRegV25 :: PpcReg
PpcRegV26 :: PpcReg
PpcRegV27 :: PpcReg
PpcRegV28 :: PpcReg
PpcRegV29 :: PpcReg
PpcRegV30 :: PpcReg
PpcRegV31 :: PpcReg
PpcRegVrsave :: PpcReg
PpcRegVs0 :: PpcReg
PpcRegVs1 :: PpcReg
PpcRegVs2 :: PpcReg
PpcRegVs3 :: PpcReg
PpcRegVs4 :: PpcReg
PpcRegVs5 :: PpcReg
PpcRegVs6 :: PpcReg
PpcRegVs7 :: PpcReg
PpcRegVs8 :: PpcReg
PpcRegVs9 :: PpcReg
PpcRegVs10 :: PpcReg
PpcRegVs11 :: PpcReg
PpcRegVs12 :: PpcReg
PpcRegVs13 :: PpcReg
PpcRegVs14 :: PpcReg
PpcRegVs15 :: PpcReg
PpcRegVs16 :: PpcReg
PpcRegVs17 :: PpcReg
PpcRegVs18 :: PpcReg
PpcRegVs19 :: PpcReg
PpcRegVs20 :: PpcReg
PpcRegVs21 :: PpcReg
PpcRegVs22 :: PpcReg
PpcRegVs23 :: PpcReg
PpcRegVs24 :: PpcReg
PpcRegVs25 :: PpcReg
PpcRegVs26 :: PpcReg
PpcRegVs27 :: PpcReg
PpcRegVs28 :: PpcReg
PpcRegVs29 :: PpcReg
PpcRegVs30 :: PpcReg
PpcRegVs31 :: PpcReg
PpcRegVs32 :: PpcReg
PpcRegVs33 :: PpcReg
PpcRegVs34 :: PpcReg
PpcRegVs35 :: PpcReg
PpcRegVs36 :: PpcReg
PpcRegVs37 :: PpcReg
PpcRegVs38 :: PpcReg
PpcRegVs39 :: PpcReg
PpcRegVs40 :: PpcReg
PpcRegVs41 :: PpcReg
PpcRegVs42 :: PpcReg
PpcRegVs43 :: PpcReg
PpcRegVs44 :: PpcReg
PpcRegVs45 :: PpcReg
PpcRegVs46 :: PpcReg
PpcRegVs47 :: PpcReg
PpcRegVs48 :: PpcReg
PpcRegVs49 :: PpcReg
PpcRegVs50 :: PpcReg
PpcRegVs51 :: PpcReg
PpcRegVs52 :: PpcReg
PpcRegVs53 :: PpcReg
PpcRegVs54 :: PpcReg
PpcRegVs55 :: PpcReg
PpcRegVs56 :: PpcReg
PpcRegVs57 :: PpcReg
PpcRegVs58 :: PpcReg
PpcRegVs59 :: PpcReg
PpcRegVs60 :: PpcReg
PpcRegVs61 :: PpcReg
PpcRegVs62 :: PpcReg
PpcRegVs63 :: PpcReg
PpcRegQ0 :: PpcReg
PpcRegQ1 :: PpcReg
PpcRegQ2 :: PpcReg
PpcRegQ3 :: PpcReg
PpcRegQ4 :: PpcReg
PpcRegQ5 :: PpcReg
PpcRegQ6 :: PpcReg
PpcRegQ7 :: PpcReg
PpcRegQ8 :: PpcReg
PpcRegQ9 :: PpcReg
PpcRegQ10 :: PpcReg
PpcRegQ11 :: PpcReg
PpcRegQ12 :: PpcReg
PpcRegQ13 :: PpcReg
PpcRegQ14 :: PpcReg
PpcRegQ15 :: PpcReg
PpcRegQ16 :: PpcReg
PpcRegQ17 :: PpcReg
PpcRegQ18 :: PpcReg
PpcRegQ19 :: PpcReg
PpcRegQ20 :: PpcReg
PpcRegQ21 :: PpcReg
PpcRegQ22 :: PpcReg
PpcRegQ23 :: PpcReg
PpcRegQ24 :: PpcReg
PpcRegQ25 :: PpcReg
PpcRegQ26 :: PpcReg
PpcRegQ27 :: PpcReg
PpcRegQ28 :: PpcReg
PpcRegQ29 :: PpcReg
PpcRegQ30 :: PpcReg
PpcRegQ31 :: PpcReg
PpcRegRm :: PpcReg
PpcRegCtr8 :: PpcReg
PpcRegLr8 :: PpcReg
PpcRegCr1eq :: PpcReg
PpcRegX2 :: PpcReg
PpcRegEnding :: PpcReg

-- | memory access operands associated with <tt>Ppc64OpMem</tt> operand
--   type
data PpcOpMemStruct
PpcOpMemStruct :: PpcReg -> Int32 -> PpcOpMemStruct

-- | base register
[base] :: PpcOpMemStruct -> PpcReg

-- | displacement/offset value
[disp] :: PpcOpMemStruct -> Int32

-- | CRX operands associated with <tt>Ppc64OpCrx</tt> operand type
data PpcOpCrxStruct
PpcOpCrxStruct :: Word32 -> PpcReg -> PpcBc -> PpcOpCrxStruct
[scale] :: PpcOpCrxStruct -> Word32
[reg] :: PpcOpCrxStruct -> PpcReg
[cond] :: PpcOpCrxStruct -> PpcBc

-- | instruction operands
data CsPpcOp

-- | register value for <a>PpcOpReg</a> operands
Reg :: PpcReg -> CsPpcOp

-- | immediate value for <a>PpcOpImm</a> operands
Imm :: Int32 -> CsPpcOp

-- | base/disp value for <a>PpcOpMem</a> operands
Mem :: PpcOpMemStruct -> CsPpcOp

-- | operand with condition register
Crx :: PpcOpCrxStruct -> CsPpcOp

-- | invalid operand value, for <a>PpcOpInvalid</a> operand
Undefined :: CsPpcOp

-- | instruction datatype
data CsPpc
CsPpc :: PpcBc -> PpcBh -> Bool -> [CsPpcOp] -> CsPpc

-- | branch code for branch instructions
[bc] :: CsPpc -> PpcBc

-- | branch hint for branch instructions
[bh] :: CsPpc -> PpcBh

-- | does this instruction update CR0?
[updateCr0] :: CsPpc -> Bool

-- | operand list of this instruction, *MUST* have &lt;= 8 elements, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   write it to memory via it's Storable instance
[operands] :: CsPpc -> [CsPpcOp]

-- | PPC instructions
data PpcInsn
PpcInsInvalid :: PpcInsn
PpcInsAdd :: PpcInsn
PpcInsAddc :: PpcInsn
PpcInsAdde :: PpcInsn
PpcInsAddi :: PpcInsn
PpcInsAddic :: PpcInsn
PpcInsAddis :: PpcInsn
PpcInsAddme :: PpcInsn
PpcInsAddze :: PpcInsn
PpcInsAnd :: PpcInsn
PpcInsAndc :: PpcInsn
PpcInsAndis :: PpcInsn
PpcInsAndi :: PpcInsn
PpcInsAttn :: PpcInsn
PpcInsB :: PpcInsn
PpcInsBa :: PpcInsn
PpcInsBc :: PpcInsn
PpcInsBcctr :: PpcInsn
PpcInsBcctrl :: PpcInsn
PpcInsBcl :: PpcInsn
PpcInsBclr :: PpcInsn
PpcInsBclrl :: PpcInsn
PpcInsBctr :: PpcInsn
PpcInsBctrl :: PpcInsn
PpcInsBct :: PpcInsn
PpcInsBdnz :: PpcInsn
PpcInsBdnza :: PpcInsn
PpcInsBdnzl :: PpcInsn
PpcInsBdnzla :: PpcInsn
PpcInsBdnzlr :: PpcInsn
PpcInsBdnzlrl :: PpcInsn
PpcInsBdz :: PpcInsn
PpcInsBdza :: PpcInsn
PpcInsBdzl :: PpcInsn
PpcInsBdzla :: PpcInsn
PpcInsBdzlr :: PpcInsn
PpcInsBdzlrl :: PpcInsn
PpcInsBl :: PpcInsn
PpcInsBla :: PpcInsn
PpcInsBlr :: PpcInsn
PpcInsBlrl :: PpcInsn
PpcInsBrinc :: PpcInsn
PpcInsCmpb :: PpcInsn
PpcInsCmpd :: PpcInsn
PpcInsCmpdi :: PpcInsn
PpcInsCmpld :: PpcInsn
PpcInsCmpldi :: PpcInsn
PpcInsCmplw :: PpcInsn
PpcInsCmplwi :: PpcInsn
PpcInsCmpw :: PpcInsn
PpcInsCmpwi :: PpcInsn
PpcInsCntlzd :: PpcInsn
PpcInsCntlzw :: PpcInsn
PpcInsCreqv :: PpcInsn
PpcInsCrxor :: PpcInsn
PpcInsCrand :: PpcInsn
PpcInsCrandc :: PpcInsn
PpcInsCrnand :: PpcInsn
PpcInsCrnor :: PpcInsn
PpcInsCror :: PpcInsn
PpcInsCrorc :: PpcInsn
PpcInsDcba :: PpcInsn
PpcInsDcbf :: PpcInsn
PpcInsDcbi :: PpcInsn
PpcInsDcbst :: PpcInsn
PpcInsDcbt :: PpcInsn
PpcInsDcbtst :: PpcInsn
PpcInsDcbz :: PpcInsn
PpcInsDcbzl :: PpcInsn
PpcInsDccci :: PpcInsn
PpcInsDivd :: PpcInsn
PpcInsDivdu :: PpcInsn
PpcInsDivw :: PpcInsn
PpcInsDivwu :: PpcInsn
PpcInsDss :: PpcInsn
PpcInsDssall :: PpcInsn
PpcInsDst :: PpcInsn
PpcInsDstst :: PpcInsn
PpcInsDststt :: PpcInsn
PpcInsDstt :: PpcInsn
PpcInsEqv :: PpcInsn
PpcInsEvabs :: PpcInsn
PpcInsEvaddiw :: PpcInsn
PpcInsEvaddsmiaaw :: PpcInsn
PpcInsEvaddssiaaw :: PpcInsn
PpcInsEvaddumiaaw :: PpcInsn
PpcInsEvaddusiaaw :: PpcInsn
PpcInsEvaddw :: PpcInsn
PpcInsEvand :: PpcInsn
PpcInsEvandc :: PpcInsn
PpcInsEvcmpeq :: PpcInsn
PpcInsEvcmpgts :: PpcInsn
PpcInsEvcmpgtu :: PpcInsn
PpcInsEvcmplts :: PpcInsn
PpcInsEvcmpltu :: PpcInsn
PpcInsEvcntlsw :: PpcInsn
PpcInsEvcntlzw :: PpcInsn
PpcInsEvdivws :: PpcInsn
PpcInsEvdivwu :: PpcInsn
PpcInsEveqv :: PpcInsn
PpcInsEvextsb :: PpcInsn
PpcInsEvextsh :: PpcInsn
PpcInsEvldd :: PpcInsn
PpcInsEvlddx :: PpcInsn
PpcInsEvldh :: PpcInsn
PpcInsEvldhx :: PpcInsn
PpcInsEvldw :: PpcInsn
PpcInsEvldwx :: PpcInsn
PpcInsEvlhhesplat :: PpcInsn
PpcInsEvlhhesplatx :: PpcInsn
PpcInsEvlhhossplat :: PpcInsn
PpcInsEvlhhossplatx :: PpcInsn
PpcInsEvlhhousplat :: PpcInsn
PpcInsEvlhhousplatx :: PpcInsn
PpcInsEvlwhe :: PpcInsn
PpcInsEvlwhex :: PpcInsn
PpcInsEvlwhos :: PpcInsn
PpcInsEvlwhosx :: PpcInsn
PpcInsEvlwhou :: PpcInsn
PpcInsEvlwhoux :: PpcInsn
PpcInsEvlwhsplat :: PpcInsn
PpcInsEvlwhsplatx :: PpcInsn
PpcInsEvlwwsplat :: PpcInsn
PpcInsEvlwwsplatx :: PpcInsn
PpcInsEvmergehi :: PpcInsn
PpcInsEvmergehilo :: PpcInsn
PpcInsEvmergelo :: PpcInsn
PpcInsEvmergelohi :: PpcInsn
PpcInsEvmhegsmfaa :: PpcInsn
PpcInsEvmhegsmfan :: PpcInsn
PpcInsEvmhegsmiaa :: PpcInsn
PpcInsEvmhegsmian :: PpcInsn
PpcInsEvmhegumiaa :: PpcInsn
PpcInsEvmhegumian :: PpcInsn
PpcInsEvmhesmf :: PpcInsn
PpcInsEvmhesmfa :: PpcInsn
PpcInsEvmhesmfaaw :: PpcInsn
PpcInsEvmhesmfanw :: PpcInsn
PpcInsEvmhesmi :: PpcInsn
PpcInsEvmhesmia :: PpcInsn
PpcInsEvmhesmiaaw :: PpcInsn
PpcInsEvmhesmianw :: PpcInsn
PpcInsEvmhessf :: PpcInsn
PpcInsEvmhessfa :: PpcInsn
PpcInsEvmhessfaaw :: PpcInsn
PpcInsEvmhessfanw :: PpcInsn
PpcInsEvmhessiaaw :: PpcInsn
PpcInsEvmhessianw :: PpcInsn
PpcInsEvmheumi :: PpcInsn
PpcInsEvmheumia :: PpcInsn
PpcInsEvmheumiaaw :: PpcInsn
PpcInsEvmheumianw :: PpcInsn
PpcInsEvmheusiaaw :: PpcInsn
PpcInsEvmheusianw :: PpcInsn
PpcInsEvmhogsmfaa :: PpcInsn
PpcInsEvmhogsmfan :: PpcInsn
PpcInsEvmhogsmiaa :: PpcInsn
PpcInsEvmhogsmian :: PpcInsn
PpcInsEvmhogumiaa :: PpcInsn
PpcInsEvmhogumian :: PpcInsn
PpcInsEvmhosmf :: PpcInsn
PpcInsEvmhosmfa :: PpcInsn
PpcInsEvmhosmfaaw :: PpcInsn
PpcInsEvmhosmfanw :: PpcInsn
PpcInsEvmhosmi :: PpcInsn
PpcInsEvmhosmia :: PpcInsn
PpcInsEvmhosmiaaw :: PpcInsn
PpcInsEvmhosmianw :: PpcInsn
PpcInsEvmhossf :: PpcInsn
PpcInsEvmhossfa :: PpcInsn
PpcInsEvmhossfaaw :: PpcInsn
PpcInsEvmhossfanw :: PpcInsn
PpcInsEvmhossiaaw :: PpcInsn
PpcInsEvmhossianw :: PpcInsn
PpcInsEvmhoumi :: PpcInsn
PpcInsEvmhoumia :: PpcInsn
PpcInsEvmhoumiaaw :: PpcInsn
PpcInsEvmhoumianw :: PpcInsn
PpcInsEvmhousiaaw :: PpcInsn
PpcInsEvmhousianw :: PpcInsn
PpcInsEvmra :: PpcInsn
PpcInsEvmwhsmf :: PpcInsn
PpcInsEvmwhsmfa :: PpcInsn
PpcInsEvmwhsmi :: PpcInsn
PpcInsEvmwhsmia :: PpcInsn
PpcInsEvmwhssf :: PpcInsn
PpcInsEvmwhssfa :: PpcInsn
PpcInsEvmwhumi :: PpcInsn
PpcInsEvmwhumia :: PpcInsn
PpcInsEvmwlsmiaaw :: PpcInsn
PpcInsEvmwlsmianw :: PpcInsn
PpcInsEvmwlssiaaw :: PpcInsn
PpcInsEvmwlssianw :: PpcInsn
PpcInsEvmwlumi :: PpcInsn
PpcInsEvmwlumia :: PpcInsn
PpcInsEvmwlumiaaw :: PpcInsn
PpcInsEvmwlumianw :: PpcInsn
PpcInsEvmwlusiaaw :: PpcInsn
PpcInsEvmwlusianw :: PpcInsn
PpcInsEvmwsmf :: PpcInsn
PpcInsEvmwsmfa :: PpcInsn
PpcInsEvmwsmfaa :: PpcInsn
PpcInsEvmwsmfan :: PpcInsn
PpcInsEvmwsmi :: PpcInsn
PpcInsEvmwsmia :: PpcInsn
PpcInsEvmwsmiaa :: PpcInsn
PpcInsEvmwsmian :: PpcInsn
PpcInsEvmwssf :: PpcInsn
PpcInsEvmwssfa :: PpcInsn
PpcInsEvmwssfaa :: PpcInsn
PpcInsEvmwssfan :: PpcInsn
PpcInsEvmwumi :: PpcInsn
PpcInsEvmwumia :: PpcInsn
PpcInsEvmwumiaa :: PpcInsn
PpcInsEvmwumian :: PpcInsn
PpcInsEvnand :: PpcInsn
PpcInsEvneg :: PpcInsn
PpcInsEvnor :: PpcInsn
PpcInsEvor :: PpcInsn
PpcInsEvorc :: PpcInsn
PpcInsEvrlw :: PpcInsn
PpcInsEvrlwi :: PpcInsn
PpcInsEvrndw :: PpcInsn
PpcInsEvslw :: PpcInsn
PpcInsEvslwi :: PpcInsn
PpcInsEvsplatfi :: PpcInsn
PpcInsEvsplati :: PpcInsn
PpcInsEvsrwis :: PpcInsn
PpcInsEvsrwiu :: PpcInsn
PpcInsEvsrws :: PpcInsn
PpcInsEvsrwu :: PpcInsn
PpcInsEvstdd :: PpcInsn
PpcInsEvstddx :: PpcInsn
PpcInsEvstdh :: PpcInsn
PpcInsEvstdhx :: PpcInsn
PpcInsEvstdw :: PpcInsn
PpcInsEvstdwx :: PpcInsn
PpcInsEvstwhe :: PpcInsn
PpcInsEvstwhex :: PpcInsn
PpcInsEvstwho :: PpcInsn
PpcInsEvstwhox :: PpcInsn
PpcInsEvstwwe :: PpcInsn
PpcInsEvstwwex :: PpcInsn
PpcInsEvstwwo :: PpcInsn
PpcInsEvstwwox :: PpcInsn
PpcInsEvsubfsmiaaw :: PpcInsn
PpcInsEvsubfssiaaw :: PpcInsn
PpcInsEvsubfumiaaw :: PpcInsn
PpcInsEvsubfusiaaw :: PpcInsn
PpcInsEvsubfw :: PpcInsn
PpcInsEvsubifw :: PpcInsn
PpcInsEvxor :: PpcInsn
PpcInsExtsb :: PpcInsn
PpcInsExtsh :: PpcInsn
PpcInsExtsw :: PpcInsn
PpcInsEieio :: PpcInsn
PpcInsFabs :: PpcInsn
PpcInsFadd :: PpcInsn
PpcInsFadds :: PpcInsn
PpcInsFcfid :: PpcInsn
PpcInsFcfids :: PpcInsn
PpcInsFcfidu :: PpcInsn
PpcInsFcfidus :: PpcInsn
PpcInsFcmpu :: PpcInsn
PpcInsFcpsgn :: PpcInsn
PpcInsFctid :: PpcInsn
PpcInsFctiduz :: PpcInsn
PpcInsFctidz :: PpcInsn
PpcInsFctiw :: PpcInsn
PpcInsFctiwuz :: PpcInsn
PpcInsFctiwz :: PpcInsn
PpcInsFdiv :: PpcInsn
PpcInsFdivs :: PpcInsn
PpcInsFmadd :: PpcInsn
PpcInsFmadds :: PpcInsn
PpcInsFmr :: PpcInsn
PpcInsFmsub :: PpcInsn
PpcInsFmsubs :: PpcInsn
PpcInsFmul :: PpcInsn
PpcInsFmuls :: PpcInsn
PpcInsFnabs :: PpcInsn
PpcInsFneg :: PpcInsn
PpcInsFnmadd :: PpcInsn
PpcInsFnmadds :: PpcInsn
PpcInsFnmsub :: PpcInsn
PpcInsFnmsubs :: PpcInsn
PpcInsFre :: PpcInsn
PpcInsFres :: PpcInsn
PpcInsFrim :: PpcInsn
PpcInsFrin :: PpcInsn
PpcInsFrip :: PpcInsn
PpcInsFriz :: PpcInsn
PpcInsFrsp :: PpcInsn
PpcInsFrsqrte :: PpcInsn
PpcInsFrsqrtes :: PpcInsn
PpcInsFsel :: PpcInsn
PpcInsFsqrt :: PpcInsn
PpcInsFsqrts :: PpcInsn
PpcInsFsub :: PpcInsn
PpcInsFsubs :: PpcInsn
PpcInsIcbi :: PpcInsn
PpcInsIcbt :: PpcInsn
PpcInsIccci :: PpcInsn
PpcInsIsel :: PpcInsn
PpcInsIsync :: PpcInsn
PpcInsLa :: PpcInsn
PpcInsLbz :: PpcInsn
PpcInsLbzcix :: PpcInsn
PpcInsLbzu :: PpcInsn
PpcInsLbzux :: PpcInsn
PpcInsLbzx :: PpcInsn
PpcInsLd :: PpcInsn
PpcInsLdarx :: PpcInsn
PpcInsLdbrx :: PpcInsn
PpcInsLdcix :: PpcInsn
PpcInsLdu :: PpcInsn
PpcInsLdux :: PpcInsn
PpcInsLdx :: PpcInsn
PpcInsLfd :: PpcInsn
PpcInsLfdu :: PpcInsn
PpcInsLfdux :: PpcInsn
PpcInsLfdx :: PpcInsn
PpcInsLfiwax :: PpcInsn
PpcInsLfiwzx :: PpcInsn
PpcInsLfs :: PpcInsn
PpcInsLfsu :: PpcInsn
PpcInsLfsux :: PpcInsn
PpcInsLfsx :: PpcInsn
PpcInsLha :: PpcInsn
PpcInsLhau :: PpcInsn
PpcInsLhaux :: PpcInsn
PpcInsLhax :: PpcInsn
PpcInsLhbrx :: PpcInsn
PpcInsLhz :: PpcInsn
PpcInsLhzcix :: PpcInsn
PpcInsLhzu :: PpcInsn
PpcInsLhzux :: PpcInsn
PpcInsLhzx :: PpcInsn
PpcInsLi :: PpcInsn
PpcInsLis :: PpcInsn
PpcInsLmw :: PpcInsn
PpcInsLswi :: PpcInsn
PpcInsLvebx :: PpcInsn
PpcInsLvehx :: PpcInsn
PpcInsLvewx :: PpcInsn
PpcInsLvsl :: PpcInsn
PpcInsLvsr :: PpcInsn
PpcInsLvx :: PpcInsn
PpcInsLvxl :: PpcInsn
PpcInsLwa :: PpcInsn
PpcInsLwarx :: PpcInsn
PpcInsLwaux :: PpcInsn
PpcInsLwax :: PpcInsn
PpcInsLwbrx :: PpcInsn
PpcInsLwz :: PpcInsn
PpcInsLwzcix :: PpcInsn
PpcInsLwzu :: PpcInsn
PpcInsLwzux :: PpcInsn
PpcInsLwzx :: PpcInsn
PpcInsLxsdx :: PpcInsn
PpcInsLxvd2x :: PpcInsn
PpcInsLxvdsx :: PpcInsn
PpcInsLxvw4x :: PpcInsn
PpcInsMbar :: PpcInsn
PpcInsMcrf :: PpcInsn
PpcInsMcrfs :: PpcInsn
PpcInsMfcr :: PpcInsn
PpcInsMfctr :: PpcInsn
PpcInsMfdcr :: PpcInsn
PpcInsMffs :: PpcInsn
PpcInsMflr :: PpcInsn
PpcInsMfmsr :: PpcInsn
PpcInsMfocrf :: PpcInsn
PpcInsMfspr :: PpcInsn
PpcInsMfsr :: PpcInsn
PpcInsMfsrin :: PpcInsn
PpcInsMftb :: PpcInsn
PpcInsMfvscr :: PpcInsn
PpcInsMsync :: PpcInsn
PpcInsMtcrf :: PpcInsn
PpcInsMtctr :: PpcInsn
PpcInsMtdcr :: PpcInsn
PpcInsMtfsb0 :: PpcInsn
PpcInsMtfsb1 :: PpcInsn
PpcInsMtfsf :: PpcInsn
PpcInsMtfsfi :: PpcInsn
PpcInsMtlr :: PpcInsn
PpcInsMtmsr :: PpcInsn
PpcInsMtmsrd :: PpcInsn
PpcInsMtocrf :: PpcInsn
PpcInsMtspr :: PpcInsn
PpcInsMtsr :: PpcInsn
PpcInsMtsrin :: PpcInsn
PpcInsMtvscr :: PpcInsn
PpcInsMulhd :: PpcInsn
PpcInsMulhdu :: PpcInsn
PpcInsMulhw :: PpcInsn
PpcInsMulhwu :: PpcInsn
PpcInsMulld :: PpcInsn
PpcInsMulli :: PpcInsn
PpcInsMullw :: PpcInsn
PpcInsNand :: PpcInsn
PpcInsNeg :: PpcInsn
PpcInsNop :: PpcInsn
PpcInsOri :: PpcInsn
PpcInsNor :: PpcInsn
PpcInsOr :: PpcInsn
PpcInsOrc :: PpcInsn
PpcInsOris :: PpcInsn
PpcInsPopcntd :: PpcInsn
PpcInsPopcntw :: PpcInsn
PpcInsQvaligni :: PpcInsn
PpcInsQvesplati :: PpcInsn
PpcInsQvfabs :: PpcInsn
PpcInsQvfadd :: PpcInsn
PpcInsQvfadds :: PpcInsn
PpcInsQvfcfid :: PpcInsn
PpcInsQvfcfids :: PpcInsn
PpcInsQvfcfidu :: PpcInsn
PpcInsQvfcfidus :: PpcInsn
PpcInsQvfcmpeq :: PpcInsn
PpcInsQvfcmpgt :: PpcInsn
PpcInsQvfcmplt :: PpcInsn
PpcInsQvfcpsgn :: PpcInsn
PpcInsQvfctid :: PpcInsn
PpcInsQvfctidu :: PpcInsn
PpcInsQvfctiduz :: PpcInsn
PpcInsQvfctidz :: PpcInsn
PpcInsQvfctiw :: PpcInsn
PpcInsQvfctiwu :: PpcInsn
PpcInsQvfctiwuz :: PpcInsn
PpcInsQvfctiwz :: PpcInsn
PpcInsQvflogical :: PpcInsn
PpcInsQvfmadd :: PpcInsn
PpcInsQvfmadds :: PpcInsn
PpcInsQvfmr :: PpcInsn
PpcInsQvfmsub :: PpcInsn
PpcInsQvfmsubs :: PpcInsn
PpcInsQvfmul :: PpcInsn
PpcInsQvfmuls :: PpcInsn
PpcInsQvfnabs :: PpcInsn
PpcInsQvfneg :: PpcInsn
PpcInsQvfnmadd :: PpcInsn
PpcInsQvfnmadds :: PpcInsn
PpcInsQvfnmsub :: PpcInsn
PpcInsQvfnmsubs :: PpcInsn
PpcInsQvfperm :: PpcInsn
PpcInsQvfre :: PpcInsn
PpcInsQvfres :: PpcInsn
PpcInsQvfrim :: PpcInsn
PpcInsQvfrin :: PpcInsn
PpcInsQvfrip :: PpcInsn
PpcInsQvfriz :: PpcInsn
PpcInsQvfrsp :: PpcInsn
PpcInsQvfrsqrte :: PpcInsn
PpcInsQvfrsqrtes :: PpcInsn
PpcInsQvfsel :: PpcInsn
PpcInsQvfsub :: PpcInsn
PpcInsQvfsubs :: PpcInsn
PpcInsQvftstnan :: PpcInsn
PpcInsQvfxmadd :: PpcInsn
PpcInsQvfxmadds :: PpcInsn
PpcInsQvfxmul :: PpcInsn
PpcInsQvfxmuls :: PpcInsn
PpcInsQvfxxcpnmadd :: PpcInsn
PpcInsQvfxxcpnmadds :: PpcInsn
PpcInsQvfxxmadd :: PpcInsn
PpcInsQvfxxmadds :: PpcInsn
PpcInsQvfxxnpmadd :: PpcInsn
PpcInsQvfxxnpmadds :: PpcInsn
PpcInsQvgpci :: PpcInsn
PpcInsQvlfcdux :: PpcInsn
PpcInsQvlfcduxa :: PpcInsn
PpcInsQvlfcdx :: PpcInsn
PpcInsQvlfcdxa :: PpcInsn
PpcInsQvlfcsux :: PpcInsn
PpcInsQvlfcsuxa :: PpcInsn
PpcInsQvlfcsx :: PpcInsn
PpcInsQvlfcsxa :: PpcInsn
PpcInsQvlfdux :: PpcInsn
PpcInsQvlfduxa :: PpcInsn
PpcInsQvlfdx :: PpcInsn
PpcInsQvlfdxa :: PpcInsn
PpcInsQvlfiwax :: PpcInsn
PpcInsQvlfiwaxa :: PpcInsn
PpcInsQvlfiwzx :: PpcInsn
PpcInsQvlfiwzxa :: PpcInsn
PpcInsQvlfsux :: PpcInsn
PpcInsQvlfsuxa :: PpcInsn
PpcInsQvlfsx :: PpcInsn
PpcInsQvlfsxa :: PpcInsn
PpcInsQvlpcldx :: PpcInsn
PpcInsQvlpclsx :: PpcInsn
PpcInsQvlpcrdx :: PpcInsn
PpcInsQvlpcrsx :: PpcInsn
PpcInsQvstfcdux :: PpcInsn
PpcInsQvstfcduxa :: PpcInsn
PpcInsQvstfcduxi :: PpcInsn
PpcInsQvstfcduxia :: PpcInsn
PpcInsQvstfcdx :: PpcInsn
PpcInsQvstfcdxa :: PpcInsn
PpcInsQvstfcdxi :: PpcInsn
PpcInsQvstfcdxia :: PpcInsn
PpcInsQvstfcsux :: PpcInsn
PpcInsQvstfcsuxa :: PpcInsn
PpcInsQvstfcsuxi :: PpcInsn
PpcInsQvstfcsuxia :: PpcInsn
PpcInsQvstfcsx :: PpcInsn
PpcInsQvstfcsxa :: PpcInsn
PpcInsQvstfcsxi :: PpcInsn
PpcInsQvstfcsxia :: PpcInsn
PpcInsQvstfdux :: PpcInsn
PpcInsQvstfduxa :: PpcInsn
PpcInsQvstfduxi :: PpcInsn
PpcInsQvstfduxia :: PpcInsn
PpcInsQvstfdx :: PpcInsn
PpcInsQvstfdxa :: PpcInsn
PpcInsQvstfdxi :: PpcInsn
PpcInsQvstfdxia :: PpcInsn
PpcInsQvstfiwx :: PpcInsn
PpcInsQvstfiwxa :: PpcInsn
PpcInsQvstfsux :: PpcInsn
PpcInsQvstfsuxa :: PpcInsn
PpcInsQvstfsuxi :: PpcInsn
PpcInsQvstfsuxia :: PpcInsn
PpcInsQvstfsx :: PpcInsn
PpcInsQvstfsxa :: PpcInsn
PpcInsQvstfsxi :: PpcInsn
PpcInsQvstfsxia :: PpcInsn
PpcInsRfci :: PpcInsn
PpcInsRfdi :: PpcInsn
PpcInsRfi :: PpcInsn
PpcInsRfid :: PpcInsn
PpcInsRfmci :: PpcInsn
PpcInsRldcl :: PpcInsn
PpcInsRldcr :: PpcInsn
PpcInsRldic :: PpcInsn
PpcInsRldicl :: PpcInsn
PpcInsRldicr :: PpcInsn
PpcInsRldimi :: PpcInsn
PpcInsRlwimi :: PpcInsn
PpcInsRlwinm :: PpcInsn
PpcInsRlwnm :: PpcInsn
PpcInsSc :: PpcInsn
PpcInsSlbia :: PpcInsn
PpcInsSlbie :: PpcInsn
PpcInsSlbmfee :: PpcInsn
PpcInsSlbmte :: PpcInsn
PpcInsSld :: PpcInsn
PpcInsSlw :: PpcInsn
PpcInsSrad :: PpcInsn
PpcInsSradi :: PpcInsn
PpcInsSraw :: PpcInsn
PpcInsSrawi :: PpcInsn
PpcInsSrd :: PpcInsn
PpcInsSrw :: PpcInsn
PpcInsStb :: PpcInsn
PpcInsStbcix :: PpcInsn
PpcInsStbu :: PpcInsn
PpcInsStbux :: PpcInsn
PpcInsStbx :: PpcInsn
PpcInsStd :: PpcInsn
PpcInsStdbrx :: PpcInsn
PpcInsStdcix :: PpcInsn
PpcInsStdcx :: PpcInsn
PpcInsStdu :: PpcInsn
PpcInsStdux :: PpcInsn
PpcInsStdx :: PpcInsn
PpcInsStfd :: PpcInsn
PpcInsStfdu :: PpcInsn
PpcInsStfdux :: PpcInsn
PpcInsStfdx :: PpcInsn
PpcInsStfiwx :: PpcInsn
PpcInsStfs :: PpcInsn
PpcInsStfsu :: PpcInsn
PpcInsStfsux :: PpcInsn
PpcInsStfsx :: PpcInsn
PpcInsSth :: PpcInsn
PpcInsSthbrx :: PpcInsn
PpcInsSthcix :: PpcInsn
PpcInsSthu :: PpcInsn
PpcInsSthux :: PpcInsn
PpcInsSthx :: PpcInsn
PpcInsStmw :: PpcInsn
PpcInsStswi :: PpcInsn
PpcInsStvebx :: PpcInsn
PpcInsStvehx :: PpcInsn
PpcInsStvewx :: PpcInsn
PpcInsStvx :: PpcInsn
PpcInsStvxl :: PpcInsn
PpcInsStw :: PpcInsn
PpcInsStwbrx :: PpcInsn
PpcInsStwcix :: PpcInsn
PpcInsStwcx :: PpcInsn
PpcInsStwu :: PpcInsn
PpcInsStwux :: PpcInsn
PpcInsStwx :: PpcInsn
PpcInsStxsdx :: PpcInsn
PpcInsStxvd2x :: PpcInsn
PpcInsStxvw4x :: PpcInsn
PpcInsSubf :: PpcInsn
PpcInsSubfc :: PpcInsn
PpcInsSubfe :: PpcInsn
PpcInsSubfic :: PpcInsn
PpcInsSubfme :: PpcInsn
PpcInsSubfze :: PpcInsn
PpcInsSync :: PpcInsn
PpcInsTd :: PpcInsn
PpcInsTdi :: PpcInsn
PpcInsTlbia :: PpcInsn
PpcInsTlbie :: PpcInsn
PpcInsTlbiel :: PpcInsn
PpcInsTlbivax :: PpcInsn
PpcInsTlbld :: PpcInsn
PpcInsTlbli :: PpcInsn
PpcInsTlbre :: PpcInsn
PpcInsTlbsx :: PpcInsn
PpcInsTlbsync :: PpcInsn
PpcInsTlbwe :: PpcInsn
PpcInsTrap :: PpcInsn
PpcInsTw :: PpcInsn
PpcInsTwi :: PpcInsn
PpcInsVaddcuw :: PpcInsn
PpcInsVaddfp :: PpcInsn
PpcInsVaddsbs :: PpcInsn
PpcInsVaddshs :: PpcInsn
PpcInsVaddsws :: PpcInsn
PpcInsVaddubm :: PpcInsn
PpcInsVaddubs :: PpcInsn
PpcInsVaddudm :: PpcInsn
PpcInsVadduhm :: PpcInsn
PpcInsVadduhs :: PpcInsn
PpcInsVadduwm :: PpcInsn
PpcInsVadduws :: PpcInsn
PpcInsVand :: PpcInsn
PpcInsVandc :: PpcInsn
PpcInsVavgsb :: PpcInsn
PpcInsVavgsh :: PpcInsn
PpcInsVavgsw :: PpcInsn
PpcInsVavgub :: PpcInsn
PpcInsVavguh :: PpcInsn
PpcInsVavguw :: PpcInsn
PpcInsVcfsx :: PpcInsn
PpcInsVcfux :: PpcInsn
PpcInsVclzb :: PpcInsn
PpcInsVclzd :: PpcInsn
PpcInsVclzh :: PpcInsn
PpcInsVclzw :: PpcInsn
PpcInsVcmpbfp :: PpcInsn
PpcInsVcmpeqfp :: PpcInsn
PpcInsVcmpequb :: PpcInsn
PpcInsVcmpequd :: PpcInsn
PpcInsVcmpequh :: PpcInsn
PpcInsVcmpequw :: PpcInsn
PpcInsVcmpgefp :: PpcInsn
PpcInsVcmpgtfp :: PpcInsn
PpcInsVcmpgtsb :: PpcInsn
PpcInsVcmpgtsd :: PpcInsn
PpcInsVcmpgtsh :: PpcInsn
PpcInsVcmpgtsw :: PpcInsn
PpcInsVcmpgtub :: PpcInsn
PpcInsVcmpgtud :: PpcInsn
PpcInsVcmpgtuh :: PpcInsn
PpcInsVcmpgtuw :: PpcInsn
PpcInsVctsxs :: PpcInsn
PpcInsVctuxs :: PpcInsn
PpcInsVeqv :: PpcInsn
PpcInsVexptefp :: PpcInsn
PpcInsVlogefp :: PpcInsn
PpcInsVmaddfp :: PpcInsn
PpcInsVmaxfp :: PpcInsn
PpcInsVmaxsb :: PpcInsn
PpcInsVmaxsd :: PpcInsn
PpcInsVmaxsh :: PpcInsn
PpcInsVmaxsw :: PpcInsn
PpcInsVmaxub :: PpcInsn
PpcInsVmaxud :: PpcInsn
PpcInsVmaxuh :: PpcInsn
PpcInsVmaxuw :: PpcInsn
PpcInsVmhaddshs :: PpcInsn
PpcInsVmhraddshs :: PpcInsn
PpcInsVminud :: PpcInsn
PpcInsVminfp :: PpcInsn
PpcInsVminsb :: PpcInsn
PpcInsVminsd :: PpcInsn
PpcInsVminsh :: PpcInsn
PpcInsVminsw :: PpcInsn
PpcInsVminub :: PpcInsn
PpcInsVminuh :: PpcInsn
PpcInsVminuw :: PpcInsn
PpcInsVmladduhm :: PpcInsn
PpcInsVmrghb :: PpcInsn
PpcInsVmrghh :: PpcInsn
PpcInsVmrghw :: PpcInsn
PpcInsVmrglb :: PpcInsn
PpcInsVmrglh :: PpcInsn
PpcInsVmrglw :: PpcInsn
PpcInsVmsummbm :: PpcInsn
PpcInsVmsumshm :: PpcInsn
PpcInsVmsumshs :: PpcInsn
PpcInsVmsumubm :: PpcInsn
PpcInsVmsumuhm :: PpcInsn
PpcInsVmsumuhs :: PpcInsn
PpcInsVmulesb :: PpcInsn
PpcInsVmulesh :: PpcInsn
PpcInsVmulesw :: PpcInsn
PpcInsVmuleub :: PpcInsn
PpcInsVmuleuh :: PpcInsn
PpcInsVmuleuw :: PpcInsn
PpcInsVmulosb :: PpcInsn
PpcInsVmulosh :: PpcInsn
PpcInsVmulosw :: PpcInsn
PpcInsVmuloub :: PpcInsn
PpcInsVmulouh :: PpcInsn
PpcInsVmulouw :: PpcInsn
PpcInsVmuluwm :: PpcInsn
PpcInsVnand :: PpcInsn
PpcInsVnmsubfp :: PpcInsn
PpcInsVnor :: PpcInsn
PpcInsVor :: PpcInsn
PpcInsVorc :: PpcInsn
PpcInsVperm :: PpcInsn
PpcInsVpkpx :: PpcInsn
PpcInsVpkshss :: PpcInsn
PpcInsVpkshus :: PpcInsn
PpcInsVpkswss :: PpcInsn
PpcInsVpkswus :: PpcInsn
PpcInsVpkuhum :: PpcInsn
PpcInsVpkuhus :: PpcInsn
PpcInsVpkuwum :: PpcInsn
PpcInsVpkuwus :: PpcInsn
PpcInsVpopcntb :: PpcInsn
PpcInsVpopcntd :: PpcInsn
PpcInsVpopcnth :: PpcInsn
PpcInsVpopcntw :: PpcInsn
PpcInsVrefp :: PpcInsn
PpcInsVrfim :: PpcInsn
PpcInsVrfin :: PpcInsn
PpcInsVrfip :: PpcInsn
PpcInsVrfiz :: PpcInsn
PpcInsVrlb :: PpcInsn
PpcInsVrld :: PpcInsn
PpcInsVrlh :: PpcInsn
PpcInsVrlw :: PpcInsn
PpcInsVrsqrtefp :: PpcInsn
PpcInsVsel :: PpcInsn
PpcInsVsl :: PpcInsn
PpcInsVslb :: PpcInsn
PpcInsVsld :: PpcInsn
PpcInsVsldoi :: PpcInsn
PpcInsVslh :: PpcInsn
PpcInsVslo :: PpcInsn
PpcInsVslw :: PpcInsn
PpcInsVspltb :: PpcInsn
PpcInsVsplth :: PpcInsn
PpcInsVspltisb :: PpcInsn
PpcInsVspltish :: PpcInsn
PpcInsVspltisw :: PpcInsn
PpcInsVspltw :: PpcInsn
PpcInsVsr :: PpcInsn
PpcInsVsrab :: PpcInsn
PpcInsVsrad :: PpcInsn
PpcInsVsrah :: PpcInsn
PpcInsVsraw :: PpcInsn
PpcInsVsrb :: PpcInsn
PpcInsVsrd :: PpcInsn
PpcInsVsrh :: PpcInsn
PpcInsVsro :: PpcInsn
PpcInsVsrw :: PpcInsn
PpcInsVsubcuw :: PpcInsn
PpcInsVsubfp :: PpcInsn
PpcInsVsubsbs :: PpcInsn
PpcInsVsubshs :: PpcInsn
PpcInsVsubsws :: PpcInsn
PpcInsVsububm :: PpcInsn
PpcInsVsububs :: PpcInsn
PpcInsVsubudm :: PpcInsn
PpcInsVsubuhm :: PpcInsn
PpcInsVsubuhs :: PpcInsn
PpcInsVsubuwm :: PpcInsn
PpcInsVsubuws :: PpcInsn
PpcInsVsum2sws :: PpcInsn
PpcInsVsum4sbs :: PpcInsn
PpcInsVsum4shs :: PpcInsn
PpcInsVsum4ubs :: PpcInsn
PpcInsVsumsws :: PpcInsn
PpcInsVupkhpx :: PpcInsn
PpcInsVupkhsb :: PpcInsn
PpcInsVupkhsh :: PpcInsn
PpcInsVupklpx :: PpcInsn
PpcInsVupklsb :: PpcInsn
PpcInsVupklsh :: PpcInsn
PpcInsVxor :: PpcInsn
PpcInsWait :: PpcInsn
PpcInsWrtee :: PpcInsn
PpcInsWrteei :: PpcInsn
PpcInsXor :: PpcInsn
PpcInsXori :: PpcInsn
PpcInsXoris :: PpcInsn
PpcInsXsabsdp :: PpcInsn
PpcInsXsadddp :: PpcInsn
PpcInsXscmpodp :: PpcInsn
PpcInsXscmpudp :: PpcInsn
PpcInsXscpsgndp :: PpcInsn
PpcInsXscvdpsp :: PpcInsn
PpcInsXscvdpsxds :: PpcInsn
PpcInsXscvdpsxws :: PpcInsn
PpcInsXscvdpuxds :: PpcInsn
PpcInsXscvdpuxws :: PpcInsn
PpcInsXscvspdp :: PpcInsn
PpcInsXscvsxddp :: PpcInsn
PpcInsXscvuxddp :: PpcInsn
PpcInsXsdivdp :: PpcInsn
PpcInsXsmaddadp :: PpcInsn
PpcInsXsmaddmdp :: PpcInsn
PpcInsXsmaxdp :: PpcInsn
PpcInsXsmindp :: PpcInsn
PpcInsXsmsubadp :: PpcInsn
PpcInsXsmsubmdp :: PpcInsn
PpcInsXsmuldp :: PpcInsn
PpcInsXsnabsdp :: PpcInsn
PpcInsXsnegdp :: PpcInsn
PpcInsXsnmaddadp :: PpcInsn
PpcInsXsnmaddmdp :: PpcInsn
PpcInsXsnmsubadp :: PpcInsn
PpcInsXsnmsubmdp :: PpcInsn
PpcInsXsrdpi :: PpcInsn
PpcInsXsrdpic :: PpcInsn
PpcInsXsrdpim :: PpcInsn
PpcInsXsrdpip :: PpcInsn
PpcInsXsrdpiz :: PpcInsn
PpcInsXsredp :: PpcInsn
PpcInsXsrsqrtedp :: PpcInsn
PpcInsXssqrtdp :: PpcInsn
PpcInsXssubdp :: PpcInsn
PpcInsXstdivdp :: PpcInsn
PpcInsXstsqrtdp :: PpcInsn
PpcInsXvabsdp :: PpcInsn
PpcInsXvabssp :: PpcInsn
PpcInsXvadddp :: PpcInsn
PpcInsXvaddsp :: PpcInsn
PpcInsXvcmpeqdp :: PpcInsn
PpcInsXvcmpeqsp :: PpcInsn
PpcInsXvcmpgedp :: PpcInsn
PpcInsXvcmpgesp :: PpcInsn
PpcInsXvcmpgtdp :: PpcInsn
PpcInsXvcmpgtsp :: PpcInsn
PpcInsXvcpsgndp :: PpcInsn
PpcInsXvcpsgnsp :: PpcInsn
PpcInsXvcvdpsp :: PpcInsn
PpcInsXvcvdpsxds :: PpcInsn
PpcInsXvcvdpsxws :: PpcInsn
PpcInsXvcvdpuxds :: PpcInsn
PpcInsXvcvdpuxws :: PpcInsn
PpcInsXvcvspdp :: PpcInsn
PpcInsXvcvspsxds :: PpcInsn
PpcInsXvcvspsxws :: PpcInsn
PpcInsXvcvspuxds :: PpcInsn
PpcInsXvcvspuxws :: PpcInsn
PpcInsXvcvsxddp :: PpcInsn
PpcInsXvcvsxdsp :: PpcInsn
PpcInsXvcvsxwdp :: PpcInsn
PpcInsXvcvsxwsp :: PpcInsn
PpcInsXvcvuxddp :: PpcInsn
PpcInsXvcvuxdsp :: PpcInsn
PpcInsXvcvuxwdp :: PpcInsn
PpcInsXvcvuxwsp :: PpcInsn
PpcInsXvdivdp :: PpcInsn
PpcInsXvdivsp :: PpcInsn
PpcInsXvmaddadp :: PpcInsn
PpcInsXvmaddasp :: PpcInsn
PpcInsXvmaddmdp :: PpcInsn
PpcInsXvmaddmsp :: PpcInsn
PpcInsXvmaxdp :: PpcInsn
PpcInsXvmaxsp :: PpcInsn
PpcInsXvmindp :: PpcInsn
PpcInsXvminsp :: PpcInsn
PpcInsXvmsubadp :: PpcInsn
PpcInsXvmsubasp :: PpcInsn
PpcInsXvmsubmdp :: PpcInsn
PpcInsXvmsubmsp :: PpcInsn
PpcInsXvmuldp :: PpcInsn
PpcInsXvmulsp :: PpcInsn
PpcInsXvnabsdp :: PpcInsn
PpcInsXvnabssp :: PpcInsn
PpcInsXvnegdp :: PpcInsn
PpcInsXvnegsp :: PpcInsn
PpcInsXvnmaddadp :: PpcInsn
PpcInsXvnmaddasp :: PpcInsn
PpcInsXvnmaddmdp :: PpcInsn
PpcInsXvnmaddmsp :: PpcInsn
PpcInsXvnmsubadp :: PpcInsn
PpcInsXvnmsubasp :: PpcInsn
PpcInsXvnmsubmdp :: PpcInsn
PpcInsXvnmsubmsp :: PpcInsn
PpcInsXvrdpi :: PpcInsn
PpcInsXvrdpic :: PpcInsn
PpcInsXvrdpim :: PpcInsn
PpcInsXvrdpip :: PpcInsn
PpcInsXvrdpiz :: PpcInsn
PpcInsXvredp :: PpcInsn
PpcInsXvresp :: PpcInsn
PpcInsXvrspi :: PpcInsn
PpcInsXvrspic :: PpcInsn
PpcInsXvrspim :: PpcInsn
PpcInsXvrspip :: PpcInsn
PpcInsXvrspiz :: PpcInsn
PpcInsXvrsqrtedp :: PpcInsn
PpcInsXvrsqrtesp :: PpcInsn
PpcInsXvsqrtdp :: PpcInsn
PpcInsXvsqrtsp :: PpcInsn
PpcInsXvsubdp :: PpcInsn
PpcInsXvsubsp :: PpcInsn
PpcInsXvtdivdp :: PpcInsn
PpcInsXvtdivsp :: PpcInsn
PpcInsXvtsqrtdp :: PpcInsn
PpcInsXvtsqrtsp :: PpcInsn
PpcInsXxland :: PpcInsn
PpcInsXxlandc :: PpcInsn
PpcInsXxleqv :: PpcInsn
PpcInsXxlnand :: PpcInsn
PpcInsXxlnor :: PpcInsn
PpcInsXxlor :: PpcInsn
PpcInsXxlorc :: PpcInsn
PpcInsXxlxor :: PpcInsn
PpcInsXxmrghw :: PpcInsn
PpcInsXxmrglw :: PpcInsn
PpcInsXxpermdi :: PpcInsn
PpcInsXxsel :: PpcInsn
PpcInsXxsldwi :: PpcInsn
PpcInsXxspltw :: PpcInsn
PpcInsBca :: PpcInsn
PpcInsBcla :: PpcInsn
PpcInsSlwi :: PpcInsn
PpcInsSrwi :: PpcInsn
PpcInsSldi :: PpcInsn
PpcInsBta :: PpcInsn
PpcInsCrset :: PpcInsn
PpcInsCrnot :: PpcInsn
PpcInsCrmove :: PpcInsn
PpcInsCrclr :: PpcInsn
PpcInsMfbr0 :: PpcInsn
PpcInsMfbr1 :: PpcInsn
PpcInsMfbr2 :: PpcInsn
PpcInsMfbr3 :: PpcInsn
PpcInsMfbr4 :: PpcInsn
PpcInsMfbr5 :: PpcInsn
PpcInsMfbr6 :: PpcInsn
PpcInsMfbr7 :: PpcInsn
PpcInsMfxer :: PpcInsn
PpcInsMfrtcu :: PpcInsn
PpcInsMfrtcl :: PpcInsn
PpcInsMfdscr :: PpcInsn
PpcInsMfdsisr :: PpcInsn
PpcInsMfdar :: PpcInsn
PpcInsMfsrr2 :: PpcInsn
PpcInsMfsrr3 :: PpcInsn
PpcInsMfcfar :: PpcInsn
PpcInsMfamr :: PpcInsn
PpcInsMfpid :: PpcInsn
PpcInsMftblo :: PpcInsn
PpcInsMftbhi :: PpcInsn
PpcInsMfdbatu :: PpcInsn
PpcInsMfdbatl :: PpcInsn
PpcInsMfibatu :: PpcInsn
PpcInsMfibatl :: PpcInsn
PpcInsMfdccr :: PpcInsn
PpcInsMficcr :: PpcInsn
PpcInsMfdear :: PpcInsn
PpcInsMfesr :: PpcInsn
PpcInsMfspefscr :: PpcInsn
PpcInsMftcr :: PpcInsn
PpcInsMfasr :: PpcInsn
PpcInsMfpvr :: PpcInsn
PpcInsMftbu :: PpcInsn
PpcInsMtcr :: PpcInsn
PpcInsMtbr0 :: PpcInsn
PpcInsMtbr1 :: PpcInsn
PpcInsMtbr2 :: PpcInsn
PpcInsMtbr3 :: PpcInsn
PpcInsMtbr4 :: PpcInsn
PpcInsMtbr5 :: PpcInsn
PpcInsMtbr6 :: PpcInsn
PpcInsMtbr7 :: PpcInsn
PpcInsMtxer :: PpcInsn
PpcInsMtdscr :: PpcInsn
PpcInsMtdsisr :: PpcInsn
PpcInsMtdar :: PpcInsn
PpcInsMtsrr2 :: PpcInsn
PpcInsMtsrr3 :: PpcInsn
PpcInsMtcfar :: PpcInsn
PpcInsMtamr :: PpcInsn
PpcInsMtpid :: PpcInsn
PpcInsMttbl :: PpcInsn
PpcInsMttbu :: PpcInsn
PpcInsMttblo :: PpcInsn
PpcInsMttbhi :: PpcInsn
PpcInsMtdbatu :: PpcInsn
PpcInsMtdbatl :: PpcInsn
PpcInsMtibatu :: PpcInsn
PpcInsMtibatl :: PpcInsn
PpcInsMtdccr :: PpcInsn
PpcInsMticcr :: PpcInsn
PpcInsMtdear :: PpcInsn
PpcInsMtesr :: PpcInsn
PpcInsMtspefscr :: PpcInsn
PpcInsMttcr :: PpcInsn
PpcInsNot :: PpcInsn
PpcInsMr :: PpcInsn
PpcInsRotld :: PpcInsn
PpcInsRotldi :: PpcInsn
PpcInsClrldi :: PpcInsn
PpcInsRotlwi :: PpcInsn
PpcInsClrlwi :: PpcInsn
PpcInsRotlw :: PpcInsn
PpcInsSub :: PpcInsn
PpcInsSubc :: PpcInsn
PpcInsLwsync :: PpcInsn
PpcInsPtesync :: PpcInsn
PpcInsTdlt :: PpcInsn
PpcInsTdeq :: PpcInsn
PpcInsTdgt :: PpcInsn
PpcInsTdne :: PpcInsn
PpcInsTdllt :: PpcInsn
PpcInsTdlgt :: PpcInsn
PpcInsTdu :: PpcInsn
PpcInsTdlti :: PpcInsn
PpcInsTdeqi :: PpcInsn
PpcInsTdgti :: PpcInsn
PpcInsTdnei :: PpcInsn
PpcInsTdllti :: PpcInsn
PpcInsTdlgti :: PpcInsn
PpcInsTdui :: PpcInsn
PpcInsTlbrehi :: PpcInsn
PpcInsTlbrelo :: PpcInsn
PpcInsTlbwehi :: PpcInsn
PpcInsTlbwelo :: PpcInsn
PpcInsTwlt :: PpcInsn
PpcInsTweq :: PpcInsn
PpcInsTwgt :: PpcInsn
PpcInsTwne :: PpcInsn
PpcInsTwllt :: PpcInsn
PpcInsTwlgt :: PpcInsn
PpcInsTwu :: PpcInsn
PpcInsTwlti :: PpcInsn
PpcInsTweqi :: PpcInsn
PpcInsTwgti :: PpcInsn
PpcInsTwnei :: PpcInsn
PpcInsTwllti :: PpcInsn
PpcInsTwlgti :: PpcInsn
PpcInsTwui :: PpcInsn
PpcInsWaitrsv :: PpcInsn
PpcInsWaitimpl :: PpcInsn
PpcInsXnop :: PpcInsn
PpcInsXvmovdp :: PpcInsn
PpcInsXvmovsp :: PpcInsn
PpcInsXxspltd :: PpcInsn
PpcInsXxmrghd :: PpcInsn
PpcInsXxmrgld :: PpcInsn
PpcInsXxswapd :: PpcInsn
PpcInsBt :: PpcInsn
PpcInsBf :: PpcInsn
PpcInsBdnzt :: PpcInsn
PpcInsBdnzf :: PpcInsn
PpcInsBdzf :: PpcInsn
PpcInsBdzt :: PpcInsn
PpcInsBfa :: PpcInsn
PpcInsBdnzta :: PpcInsn
PpcInsBdnzfa :: PpcInsn
PpcInsBdzta :: PpcInsn
PpcInsBdzfa :: PpcInsn
PpcInsBtctr :: PpcInsn
PpcInsBfctr :: PpcInsn
PpcInsBtctrl :: PpcInsn
PpcInsBfctrl :: PpcInsn
PpcInsBtl :: PpcInsn
PpcInsBfl :: PpcInsn
PpcInsBdnztl :: PpcInsn
PpcInsBdnzfl :: PpcInsn
PpcInsBdztl :: PpcInsn
PpcInsBdzfl :: PpcInsn
PpcInsBtla :: PpcInsn
PpcInsBfla :: PpcInsn
PpcInsBdnztla :: PpcInsn
PpcInsBdnzfla :: PpcInsn
PpcInsBdztla :: PpcInsn
PpcInsBdzfla :: PpcInsn
PpcInsBtlr :: PpcInsn
PpcInsBflr :: PpcInsn
PpcInsBdnztlr :: PpcInsn
PpcInsBdztlr :: PpcInsn
PpcInsBdzflr :: PpcInsn
PpcInsBtlrl :: PpcInsn
PpcInsBflrl :: PpcInsn
PpcInsBdnztlrl :: PpcInsn
PpcInsBdnzflrl :: PpcInsn
PpcInsBdztlrl :: PpcInsn
PpcInsBdzflrl :: PpcInsn
PpcInsQvfand :: PpcInsn
PpcInsQvfclr :: PpcInsn
PpcInsQvfandc :: PpcInsn
PpcInsQvfctfb :: PpcInsn
PpcInsQvfxor :: PpcInsn
PpcInsQvfor :: PpcInsn
PpcInsQvfnor :: PpcInsn
PpcInsQvfequ :: PpcInsn
PpcInsQvfnot :: PpcInsn
PpcInsQvforc :: PpcInsn
PpcInsQvfnand :: PpcInsn
PpcInsQvfset :: PpcInsn
PpcInsEnding :: PpcInsn

-- | PPC instruction groups
data PpcInsnGroup
PpcGrpInvalid :: PpcInsnGroup
PpcGrpJump :: PpcInsnGroup
PpcGrpAltivec :: PpcInsnGroup
PpcGrpMode32 :: PpcInsnGroup
PpcGrpMode64 :: PpcInsnGroup
PpcGrpBooke :: PpcInsnGroup
PpcGrpNotbooke :: PpcInsnGroup
PpcGrpSpe :: PpcInsnGroup
PpcGrpVsx :: PpcInsnGroup
PpcGrpE500 :: PpcInsnGroup
PpcGrpPpc4xx :: PpcInsnGroup
PpcGrpPpc6xx :: PpcInsnGroup
PpcGrpIcbt :: PpcInsnGroup
PpcGrpP8altivec :: PpcInsnGroup
PpcGrpP8vector :: PpcInsnGroup
PpcGrpQpx :: PpcInsnGroup
PpcGrpEnding :: PpcInsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.Ppc.PpcBc
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcBc
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcBc
instance GHC.Enum.Bounded Hapstone.Internal.Ppc.PpcBh
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcBh
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcBh
instance GHC.Enum.Bounded Hapstone.Internal.Ppc.PpcOpType
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcOpType
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcOpType
instance GHC.Enum.Bounded Hapstone.Internal.Ppc.PpcReg
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcReg
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcReg
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcOpMemStruct
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcOpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcOpCrxStruct
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcOpCrxStruct
instance GHC.Classes.Eq Hapstone.Internal.Ppc.CsPpcOp
instance GHC.Show.Show Hapstone.Internal.Ppc.CsPpcOp
instance GHC.Classes.Eq Hapstone.Internal.Ppc.CsPpc
instance GHC.Show.Show Hapstone.Internal.Ppc.CsPpc
instance GHC.Enum.Bounded Hapstone.Internal.Ppc.PpcInsn
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcInsn
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcInsn
instance GHC.Enum.Bounded Hapstone.Internal.Ppc.PpcInsnGroup
instance GHC.Classes.Eq Hapstone.Internal.Ppc.PpcInsnGroup
instance GHC.Show.Show Hapstone.Internal.Ppc.PpcInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Ppc.PpcInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Ppc.PpcInsn
instance Foreign.Storable.Storable Hapstone.Internal.Ppc.CsPpc
instance Foreign.Storable.Storable Hapstone.Internal.Ppc.CsPpcOp
instance Foreign.Storable.Storable Hapstone.Internal.Ppc.PpcOpCrxStruct
instance Foreign.Storable.Storable Hapstone.Internal.Ppc.PpcOpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.Ppc.PpcReg
instance GHC.Enum.Enum Hapstone.Internal.Ppc.PpcOpType
instance GHC.Enum.Enum Hapstone.Internal.Ppc.PpcBh
instance GHC.Enum.Enum Hapstone.Internal.Ppc.PpcBc


-- | This module contains SPARC specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.Sparc

-- | SPARC condition codes
data SparcCc
SparcCcInvalid :: SparcCc
SparcCcIccN :: SparcCc
SparcCcIccE :: SparcCc
SparcCcIccLe :: SparcCc
SparcCcIccL :: SparcCc
SparcCcIccLeu :: SparcCc
SparcCcIccCs :: SparcCc
SparcCcIccNeg :: SparcCc
SparcCcIccVs :: SparcCc
SparcCcIccA :: SparcCc
SparcCcIccNe :: SparcCc
SparcCcIccG :: SparcCc
SparcCcIccGe :: SparcCc
SparcCcIccGu :: SparcCc
SparcCcIccCc :: SparcCc
SparcCcIccPos :: SparcCc
SparcCcIccVc :: SparcCc
SparcCcFccN :: SparcCc
SparcCcFccNe :: SparcCc
SparcCcFccLg :: SparcCc
SparcCcFccUl :: SparcCc
SparcCcFccL :: SparcCc
SparcCcFccUg :: SparcCc
SparcCcFccG :: SparcCc
SparcCcFccU :: SparcCc
SparcCcFccA :: SparcCc
SparcCcFccE :: SparcCc
SparcCcFccUe :: SparcCc
SparcCcFccGe :: SparcCc
SparcCcFccUge :: SparcCc
SparcCcFccLe :: SparcCc
SparcCcFccUle :: SparcCc
SparcCcFccO :: SparcCc

-- | SPARC branch hint
data SparcHint
SparcHintInvalid :: SparcHint
SparcHintA :: SparcHint
SparcHintPt :: SparcHint
SparcHintPn :: SparcHint

-- | operand type for instruction's operands
data SparcOpType
SparcOpInvalid :: SparcOpType
SparcOpReg :: SparcOpType
SparcOpImm :: SparcOpType
SparcOpMem :: SparcOpType

-- | SPARC registers
data SparcReg
SparcRegInvalid :: SparcReg
SparcRegF0 :: SparcReg
SparcRegF1 :: SparcReg
SparcRegF2 :: SparcReg
SparcRegF3 :: SparcReg
SparcRegF4 :: SparcReg
SparcRegF5 :: SparcReg
SparcRegF6 :: SparcReg
SparcRegF7 :: SparcReg
SparcRegF8 :: SparcReg
SparcRegF9 :: SparcReg
SparcRegF10 :: SparcReg
SparcRegF11 :: SparcReg
SparcRegF12 :: SparcReg
SparcRegF13 :: SparcReg
SparcRegF14 :: SparcReg
SparcRegF15 :: SparcReg
SparcRegF16 :: SparcReg
SparcRegF17 :: SparcReg
SparcRegF18 :: SparcReg
SparcRegF19 :: SparcReg
SparcRegF20 :: SparcReg
SparcRegF21 :: SparcReg
SparcRegF22 :: SparcReg
SparcRegF23 :: SparcReg
SparcRegF24 :: SparcReg
SparcRegF25 :: SparcReg
SparcRegF26 :: SparcReg
SparcRegF27 :: SparcReg
SparcRegF28 :: SparcReg
SparcRegF29 :: SparcReg
SparcRegF30 :: SparcReg
SparcRegF31 :: SparcReg
SparcRegF32 :: SparcReg
SparcRegF34 :: SparcReg
SparcRegF36 :: SparcReg
SparcRegF38 :: SparcReg
SparcRegF40 :: SparcReg
SparcRegF42 :: SparcReg
SparcRegF44 :: SparcReg
SparcRegF46 :: SparcReg
SparcRegF48 :: SparcReg
SparcRegF50 :: SparcReg
SparcRegF52 :: SparcReg
SparcRegF54 :: SparcReg
SparcRegF56 :: SparcReg
SparcRegF58 :: SparcReg
SparcRegF60 :: SparcReg
SparcRegF62 :: SparcReg
SparcRegFcc0 :: SparcReg
SparcRegFcc1 :: SparcReg
SparcRegFcc2 :: SparcReg
SparcRegFcc3 :: SparcReg
SparcRegFp :: SparcReg
SparcRegI6 :: SparcReg
SparcRegG0 :: SparcReg
SparcRegG1 :: SparcReg
SparcRegG2 :: SparcReg
SparcRegG3 :: SparcReg
SparcRegG4 :: SparcReg
SparcRegG5 :: SparcReg
SparcRegG6 :: SparcReg
SparcRegG7 :: SparcReg
SparcRegI0 :: SparcReg
SparcRegI1 :: SparcReg
SparcRegI2 :: SparcReg
SparcRegI3 :: SparcReg
SparcRegI4 :: SparcReg
SparcRegI5 :: SparcReg
SparcRegI7 :: SparcReg
SparcRegIcc :: SparcReg
SparcRegL0 :: SparcReg
SparcRegL1 :: SparcReg
SparcRegL2 :: SparcReg
SparcRegL3 :: SparcReg
SparcRegL4 :: SparcReg
SparcRegL5 :: SparcReg
SparcRegL6 :: SparcReg
SparcRegL7 :: SparcReg
SparcRegO0 :: SparcReg
SparcRegO1 :: SparcReg
SparcRegO2 :: SparcReg
SparcRegO3 :: SparcReg
SparcRegO4 :: SparcReg
SparcRegO5 :: SparcReg
SparcRegO7 :: SparcReg
SparcRegSp :: SparcReg
SparcRegO6 :: SparcReg
SparcRegY :: SparcReg
SparcRegXcc :: SparcReg
SparcRegEnding :: SparcReg

-- | memory access operand associated with <a>SparcOpMem</a> operand type
data SparcOpMemStruct
SparcOpMemStruct :: Word8 -> Word8 -> Int32 -> SparcOpMemStruct

-- | base register
[base] :: SparcOpMemStruct -> Word8

-- | index register
[index] :: SparcOpMemStruct -> Word8

-- | displacement/offset value
[disp] :: SparcOpMemStruct -> Int32
data CsSparcOp

-- | register value for <a>SparcOpReg</a> operands
Reg :: Word32 -> CsSparcOp

-- | immediate value for <a>SparcOpImm</a> operands
Imm :: Int32 -> CsSparcOp

-- | base,index,disp value for <a>SparcOpMem</a> operands
Mem :: SparcOpMemStruct -> CsSparcOp

-- | invalid operand value, for <a>SparcOpInvalid</a> operand
Undefined :: CsSparcOp

-- | instruction datatype
data CsSparc
CsSparc :: SparcCc -> SparcHint -> [CsSparcOp] -> CsSparc

-- | condition code
[cc] :: CsSparc -> SparcCc

-- | branch hint
[hint] :: CsSparc -> SparcHint

-- | operand list of this instruction, *MUST* have &lt;= 4 elements, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   memory via it's Storable instance
[operands] :: CsSparc -> [CsSparcOp]

-- | SPARC instructions
data SparcInsn
SparcInsInvalid :: SparcInsn
SparcInsAddcc :: SparcInsn
SparcInsAddx :: SparcInsn
SparcInsAddxcc :: SparcInsn
SparcInsAddxc :: SparcInsn
SparcInsAddxccc :: SparcInsn
SparcInsAdd :: SparcInsn
SparcInsAlignaddr :: SparcInsn
SparcInsAlignaddrl :: SparcInsn
SparcInsAndcc :: SparcInsn
SparcInsAndncc :: SparcInsn
SparcInsAndn :: SparcInsn
SparcInsAnd :: SparcInsn
SparcInsArray16 :: SparcInsn
SparcInsArray32 :: SparcInsn
SparcInsArray8 :: SparcInsn
SparcInsB :: SparcInsn
SparcInsJmp :: SparcInsn
SparcInsBmask :: SparcInsn
SparcInsFb :: SparcInsn
SparcInsBrgez :: SparcInsn
SparcInsBrgz :: SparcInsn
SparcInsBrlez :: SparcInsn
SparcInsBrlz :: SparcInsn
SparcInsBrnz :: SparcInsn
SparcInsBrz :: SparcInsn
SparcInsBshuffle :: SparcInsn
SparcInsCall :: SparcInsn
SparcInsCasx :: SparcInsn
SparcInsCas :: SparcInsn
SparcInsCmask16 :: SparcInsn
SparcInsCmask32 :: SparcInsn
SparcInsCmask8 :: SparcInsn
SparcInsCmp :: SparcInsn
SparcInsEdge16 :: SparcInsn
SparcInsEdge16l :: SparcInsn
SparcInsEdge16ln :: SparcInsn
SparcInsEdge16n :: SparcInsn
SparcInsEdge32 :: SparcInsn
SparcInsEdge32l :: SparcInsn
SparcInsEdge32ln :: SparcInsn
SparcInsEdge32n :: SparcInsn
SparcInsEdge8 :: SparcInsn
SparcInsEdge8l :: SparcInsn
SparcInsEdge8ln :: SparcInsn
SparcInsEdge8n :: SparcInsn
SparcInsFabsd :: SparcInsn
SparcInsFabsq :: SparcInsn
SparcInsFabss :: SparcInsn
SparcInsFaddd :: SparcInsn
SparcInsFaddq :: SparcInsn
SparcInsFadds :: SparcInsn
SparcInsFaligndata :: SparcInsn
SparcInsFand :: SparcInsn
SparcInsFandnot1 :: SparcInsn
SparcInsFandnot1s :: SparcInsn
SparcInsFandnot2 :: SparcInsn
SparcInsFandnot2s :: SparcInsn
SparcInsFands :: SparcInsn
SparcInsFchksm16 :: SparcInsn
SparcInsFcmpd :: SparcInsn
SparcInsFcmpeq16 :: SparcInsn
SparcInsFcmpeq32 :: SparcInsn
SparcInsFcmpgt16 :: SparcInsn
SparcInsFcmpgt32 :: SparcInsn
SparcInsFcmple16 :: SparcInsn
SparcInsFcmple32 :: SparcInsn
SparcInsFcmpne16 :: SparcInsn
SparcInsFcmpne32 :: SparcInsn
SparcInsFcmpq :: SparcInsn
SparcInsFcmps :: SparcInsn
SparcInsFdivd :: SparcInsn
SparcInsFdivq :: SparcInsn
SparcInsFdivs :: SparcInsn
SparcInsFdmulq :: SparcInsn
SparcInsFdtoi :: SparcInsn
SparcInsFdtoq :: SparcInsn
SparcInsFdtos :: SparcInsn
SparcInsFdtox :: SparcInsn
SparcInsFexpand :: SparcInsn
SparcInsFhaddd :: SparcInsn
SparcInsFhadds :: SparcInsn
SparcInsFhsubd :: SparcInsn
SparcInsFhsubs :: SparcInsn
SparcInsFitod :: SparcInsn
SparcInsFitoq :: SparcInsn
SparcInsFitos :: SparcInsn
SparcInsFlcmpd :: SparcInsn
SparcInsFlcmps :: SparcInsn
SparcInsFlushw :: SparcInsn
SparcInsFmean16 :: SparcInsn
SparcInsFmovd :: SparcInsn
SparcInsFmovq :: SparcInsn
SparcInsFmovrdgez :: SparcInsn
SparcInsFmovrqgez :: SparcInsn
SparcInsFmovrsgez :: SparcInsn
SparcInsFmovrdgz :: SparcInsn
SparcInsFmovrqgz :: SparcInsn
SparcInsFmovrsgz :: SparcInsn
SparcInsFmovrdlez :: SparcInsn
SparcInsFmovrqlez :: SparcInsn
SparcInsFmovrslez :: SparcInsn
SparcInsFmovrdlz :: SparcInsn
SparcInsFmovrqlz :: SparcInsn
SparcInsFmovrslz :: SparcInsn
SparcInsFmovrdnz :: SparcInsn
SparcInsFmovrqnz :: SparcInsn
SparcInsFmovrsnz :: SparcInsn
SparcInsFmovrdz :: SparcInsn
SparcInsFmovrqz :: SparcInsn
SparcInsFmovrsz :: SparcInsn
SparcInsFmovs :: SparcInsn
SparcInsFmul8sux16 :: SparcInsn
SparcInsFmul8ulx16 :: SparcInsn
SparcInsFmul8x16 :: SparcInsn
SparcInsFmul8x16al :: SparcInsn
SparcInsFmul8x16au :: SparcInsn
SparcInsFmuld :: SparcInsn
SparcInsFmuld8sux16 :: SparcInsn
SparcInsFmuld8ulx16 :: SparcInsn
SparcInsFmulq :: SparcInsn
SparcInsFmuls :: SparcInsn
SparcInsFnaddd :: SparcInsn
SparcInsFnadds :: SparcInsn
SparcInsFnand :: SparcInsn
SparcInsFnands :: SparcInsn
SparcInsFnegd :: SparcInsn
SparcInsFnegq :: SparcInsn
SparcInsFnegs :: SparcInsn
SparcInsFnhaddd :: SparcInsn
SparcInsFnhadds :: SparcInsn
SparcInsFnor :: SparcInsn
SparcInsFnors :: SparcInsn
SparcInsFnot1 :: SparcInsn
SparcInsFnot1s :: SparcInsn
SparcInsFnot2 :: SparcInsn
SparcInsFnot2s :: SparcInsn
SparcInsFone :: SparcInsn
SparcInsFones :: SparcInsn
SparcInsFor :: SparcInsn
SparcInsFornot1 :: SparcInsn
SparcInsFornot1s :: SparcInsn
SparcInsFornot2 :: SparcInsn
SparcInsFornot2s :: SparcInsn
SparcInsFors :: SparcInsn
SparcInsFpack16 :: SparcInsn
SparcInsFpack32 :: SparcInsn
SparcInsFpackfix :: SparcInsn
SparcInsFpadd16 :: SparcInsn
SparcInsFpadd16s :: SparcInsn
SparcInsFpadd32 :: SparcInsn
SparcInsFpadd32s :: SparcInsn
SparcInsFpadd64 :: SparcInsn
SparcInsFpmerge :: SparcInsn
SparcInsFpsub16 :: SparcInsn
SparcInsFpsub16s :: SparcInsn
SparcInsFpsub32 :: SparcInsn
SparcInsFpsub32s :: SparcInsn
SparcInsFqtod :: SparcInsn
SparcInsFqtoi :: SparcInsn
SparcInsFqtos :: SparcInsn
SparcInsFqtox :: SparcInsn
SparcInsFslas16 :: SparcInsn
SparcInsFslas32 :: SparcInsn
SparcInsFsll16 :: SparcInsn
SparcInsFsll32 :: SparcInsn
SparcInsFsmuld :: SparcInsn
SparcInsFsqrtd :: SparcInsn
SparcInsFsqrtq :: SparcInsn
SparcInsFsqrts :: SparcInsn
SparcInsFsra16 :: SparcInsn
SparcInsFsra32 :: SparcInsn
SparcInsFsrc1 :: SparcInsn
SparcInsFsrc1s :: SparcInsn
SparcInsFsrc2 :: SparcInsn
SparcInsFsrc2s :: SparcInsn
SparcInsFsrl16 :: SparcInsn
SparcInsFsrl32 :: SparcInsn
SparcInsFstod :: SparcInsn
SparcInsFstoi :: SparcInsn
SparcInsFstoq :: SparcInsn
SparcInsFstox :: SparcInsn
SparcInsFsubd :: SparcInsn
SparcInsFsubq :: SparcInsn
SparcInsFsubs :: SparcInsn
SparcInsFxnor :: SparcInsn
SparcInsFxnors :: SparcInsn
SparcInsFxor :: SparcInsn
SparcInsFxors :: SparcInsn
SparcInsFxtod :: SparcInsn
SparcInsFxtoq :: SparcInsn
SparcInsFxtos :: SparcInsn
SparcInsFzero :: SparcInsn
SparcInsFzeros :: SparcInsn
SparcInsJmpl :: SparcInsn
SparcInsLdd :: SparcInsn
SparcInsLd :: SparcInsn
SparcInsLdq :: SparcInsn
SparcInsLdsb :: SparcInsn
SparcInsLdsh :: SparcInsn
SparcInsLdsw :: SparcInsn
SparcInsLdub :: SparcInsn
SparcInsLduh :: SparcInsn
SparcInsLdx :: SparcInsn
SparcInsLzcnt :: SparcInsn
SparcInsMembar :: SparcInsn
SparcInsMovdtox :: SparcInsn
SparcInsMov :: SparcInsn
SparcInsMovrgez :: SparcInsn
SparcInsMovrgz :: SparcInsn
SparcInsMovrlez :: SparcInsn
SparcInsMovrlz :: SparcInsn
SparcInsMovrnz :: SparcInsn
SparcInsMovrz :: SparcInsn
SparcInsMovstosw :: SparcInsn
SparcInsMovstouw :: SparcInsn
SparcInsMulx :: SparcInsn
SparcInsNop :: SparcInsn
SparcInsOrcc :: SparcInsn
SparcInsOrncc :: SparcInsn
SparcInsOrn :: SparcInsn
SparcInsOr :: SparcInsn
SparcInsPdist :: SparcInsn
SparcInsPdistn :: SparcInsn
SparcInsPopc :: SparcInsn
SparcInsRd :: SparcInsn
SparcInsRestore :: SparcInsn
SparcInsRett :: SparcInsn
SparcInsSave :: SparcInsn
SparcInsSdivcc :: SparcInsn
SparcInsSdivx :: SparcInsn
SparcInsSdiv :: SparcInsn
SparcInsSethi :: SparcInsn
SparcInsShutdown :: SparcInsn
SparcInsSiam :: SparcInsn
SparcInsSllx :: SparcInsn
SparcInsSll :: SparcInsn
SparcInsSmulcc :: SparcInsn
SparcInsSmul :: SparcInsn
SparcInsSrax :: SparcInsn
SparcInsSra :: SparcInsn
SparcInsSrlx :: SparcInsn
SparcInsSrl :: SparcInsn
SparcInsStbar :: SparcInsn
SparcInsStb :: SparcInsn
SparcInsStd :: SparcInsn
SparcInsSt :: SparcInsn
SparcInsSth :: SparcInsn
SparcInsStq :: SparcInsn
SparcInsStx :: SparcInsn
SparcInsSubcc :: SparcInsn
SparcInsSubx :: SparcInsn
SparcInsSubxcc :: SparcInsn
SparcInsSub :: SparcInsn
SparcInsSwap :: SparcInsn
SparcInsTaddcctv :: SparcInsn
SparcInsTaddcc :: SparcInsn
SparcInsT :: SparcInsn
SparcInsTsubcctv :: SparcInsn
SparcInsTsubcc :: SparcInsn
SparcInsUdivcc :: SparcInsn
SparcInsUdivx :: SparcInsn
SparcInsUdiv :: SparcInsn
SparcInsUmulcc :: SparcInsn
SparcInsUmulxhi :: SparcInsn
SparcInsUmul :: SparcInsn
SparcInsUnimp :: SparcInsn
SparcInsFcmped :: SparcInsn
SparcInsFcmpeq :: SparcInsn
SparcInsFcmpes :: SparcInsn
SparcInsWr :: SparcInsn
SparcInsXmulx :: SparcInsn
SparcInsXmulxhi :: SparcInsn
SparcInsXnorcc :: SparcInsn
SparcInsXnor :: SparcInsn
SparcInsXorcc :: SparcInsn
SparcInsXor :: SparcInsn
SparcInsRet :: SparcInsn
SparcInsRetl :: SparcInsn
SparcInsEnding :: SparcInsn

-- | SPARC instruction groups
data SparcInsnGroup
SparcGrpInvalid :: SparcInsnGroup
SparcGrpJump :: SparcInsnGroup
SparcGrpHardquad :: SparcInsnGroup
SparcGrpV9 :: SparcInsnGroup
SparcGrpVis :: SparcInsnGroup
SparcGrpVis2 :: SparcInsnGroup
SparcGrpVis3 :: SparcInsnGroup
SparcGrp32bit :: SparcInsnGroup
SparcGrp64bit :: SparcInsnGroup
SparcGrpEnding :: SparcInsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.Sparc.SparcCc
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcCc
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcCc
instance GHC.Enum.Bounded Hapstone.Internal.Sparc.SparcHint
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcHint
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcHint
instance GHC.Enum.Bounded Hapstone.Internal.Sparc.SparcOpType
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcOpType
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcOpType
instance GHC.Enum.Bounded Hapstone.Internal.Sparc.SparcReg
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcReg
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcReg
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcOpMemStruct
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcOpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.Sparc.CsSparcOp
instance GHC.Show.Show Hapstone.Internal.Sparc.CsSparcOp
instance GHC.Classes.Eq Hapstone.Internal.Sparc.CsSparc
instance GHC.Show.Show Hapstone.Internal.Sparc.CsSparc
instance GHC.Enum.Bounded Hapstone.Internal.Sparc.SparcInsn
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcInsn
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcInsn
instance GHC.Enum.Bounded Hapstone.Internal.Sparc.SparcInsnGroup
instance GHC.Classes.Eq Hapstone.Internal.Sparc.SparcInsnGroup
instance GHC.Show.Show Hapstone.Internal.Sparc.SparcInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Sparc.SparcInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.Sparc.SparcInsn
instance Foreign.Storable.Storable Hapstone.Internal.Sparc.CsSparc
instance Foreign.Storable.Storable Hapstone.Internal.Sparc.CsSparcOp
instance Foreign.Storable.Storable Hapstone.Internal.Sparc.SparcOpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.Sparc.SparcReg
instance GHC.Enum.Enum Hapstone.Internal.Sparc.SparcOpType
instance GHC.Enum.Enum Hapstone.Internal.Sparc.SparcHint
instance GHC.Enum.Enum Hapstone.Internal.Sparc.SparcCc


-- | This module contains SystemZ specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.SystemZ

-- | SystemZ condition code
data SysZCc
SyszCcInvalid :: SysZCc
SyszCcO :: SysZCc
SyszCcH :: SysZCc
SyszCcNle :: SysZCc
SyszCcL :: SysZCc
SyszCcNhe :: SysZCc
SyszCcLh :: SysZCc
SyszCcNe :: SysZCc
SyszCcE :: SysZCc
SyszCcNlh :: SysZCc
SyszCcHe :: SysZCc
SyszCcNl :: SysZCc
SyszCcLe :: SysZCc
SyszCcNh :: SysZCc
SyszCcNo :: SysZCc

-- | operand type for instruction's operands
data SysZOpType
SyszOpInvalid :: SysZOpType
SyszOpReg :: SysZOpType
SyszOpImm :: SysZOpType
SyszOpMem :: SysZOpType
SyszOpAcreg :: SysZOpType

-- | SystemZ registers
data SysZReg
SyszRegInvalid :: SysZReg
SyszReg0 :: SysZReg
SyszReg1 :: SysZReg
SyszReg2 :: SysZReg
SyszReg3 :: SysZReg
SyszReg4 :: SysZReg
SyszReg5 :: SysZReg
SyszReg6 :: SysZReg
SyszReg7 :: SysZReg
SyszReg8 :: SysZReg
SyszReg9 :: SysZReg
SyszReg10 :: SysZReg
SyszReg11 :: SysZReg
SyszReg12 :: SysZReg
SyszReg13 :: SysZReg
SyszReg14 :: SysZReg
SyszReg15 :: SysZReg
SyszRegCc :: SysZReg
SyszRegF0 :: SysZReg
SyszRegF1 :: SysZReg
SyszRegF2 :: SysZReg
SyszRegF3 :: SysZReg
SyszRegF4 :: SysZReg
SyszRegF5 :: SysZReg
SyszRegF6 :: SysZReg
SyszRegF7 :: SysZReg
SyszRegF8 :: SysZReg
SyszRegF9 :: SysZReg
SyszRegF10 :: SysZReg
SyszRegF11 :: SysZReg
SyszRegF12 :: SysZReg
SyszRegF13 :: SysZReg
SyszRegF14 :: SysZReg
SyszRegF15 :: SysZReg
SyszRegR0l :: SysZReg
SyszRegEnding :: SysZReg

-- | memory access operands
data SysZOpMemStruct
SysZOpMemStruct :: Word8 -> Word8 -> Word64 -> Int64 -> SysZOpMemStruct

-- | base register
[base] :: SysZOpMemStruct -> Word8

-- | index register
[index] :: SysZOpMemStruct -> Word8

-- | BDLAddr operand
[len] :: SysZOpMemStruct -> Word64

-- | displacement/offset value
[disp] :: SysZOpMemStruct -> Int64

-- | instruction operand
data CsSysZOp

-- | register value for <a>SyszOpReg</a> operands
Reg :: Word32 -> CsSysZOp

-- | immediate value for <a>SyszOpImm</a> operands
Imm :: Int64 -> CsSysZOp

-- | base<i>index</i>length/disp value for <a>SyszOpMem</a> operands
Mem :: SysZOpMemStruct -> CsSysZOp

-- | <a>SyszOpAcreg</a> operand
AcReg :: CsSysZOp

-- | invalid operand value, for <tt>Arm64OpInvalid</tt> operand
Undefined :: CsSysZOp

-- | instruction datatype
data CsSysZ
CsSysZ :: SysZCc -> [CsSysZOp] -> CsSysZ

-- | condition code
[cc] :: CsSysZ -> SysZCc
[operands] :: CsSysZ -> [CsSysZOp]

-- | SystemZ instructions
data SysZInsn
SyszInsInvalid :: SysZInsn
SyszInsA :: SysZInsn
SyszInsAdb :: SysZInsn
SyszInsAdbr :: SysZInsn
SyszInsAeb :: SysZInsn
SyszInsAebr :: SysZInsn
SyszInsAfi :: SysZInsn
SyszInsAg :: SysZInsn
SyszInsAgf :: SysZInsn
SyszInsAgfi :: SysZInsn
SyszInsAgfr :: SysZInsn
SyszInsAghi :: SysZInsn
SyszInsAghik :: SysZInsn
SyszInsAgr :: SysZInsn
SyszInsAgrk :: SysZInsn
SyszInsAgsi :: SysZInsn
SyszInsAh :: SysZInsn
SyszInsAhi :: SysZInsn
SyszInsAhik :: SysZInsn
SyszInsAhy :: SysZInsn
SyszInsAih :: SysZInsn
SyszInsAl :: SysZInsn
SyszInsAlc :: SysZInsn
SyszInsAlcg :: SysZInsn
SyszInsAlcgr :: SysZInsn
SyszInsAlcr :: SysZInsn
SyszInsAlfi :: SysZInsn
SyszInsAlg :: SysZInsn
SyszInsAlgf :: SysZInsn
SyszInsAlgfi :: SysZInsn
SyszInsAlgfr :: SysZInsn
SyszInsAlghsik :: SysZInsn
SyszInsAlgr :: SysZInsn
SyszInsAlgrk :: SysZInsn
SyszInsAlhsik :: SysZInsn
SyszInsAlr :: SysZInsn
SyszInsAlrk :: SysZInsn
SyszInsAly :: SysZInsn
SyszInsAr :: SysZInsn
SyszInsArk :: SysZInsn
SyszInsAsi :: SysZInsn
SyszInsAxbr :: SysZInsn
SyszInsAy :: SysZInsn
SyszInsBcr :: SysZInsn
SyszInsBrc :: SysZInsn
SyszInsBrcl :: SysZInsn
SyszInsCgij :: SysZInsn
SyszInsCgrj :: SysZInsn
SyszInsCij :: SysZInsn
SyszInsClgij :: SysZInsn
SyszInsClgrj :: SysZInsn
SyszInsClij :: SysZInsn
SyszInsClrj :: SysZInsn
SyszInsCrj :: SysZInsn
SyszInsBer :: SysZInsn
SyszInsJe :: SysZInsn
SyszInsJge :: SysZInsn
SyszInsLoce :: SysZInsn
SyszInsLocge :: SysZInsn
SyszInsLocgre :: SysZInsn
SyszInsLocre :: SysZInsn
SyszInsStoce :: SysZInsn
SyszInsStocge :: SysZInsn
SyszInsBhr :: SysZInsn
SyszInsBher :: SysZInsn
SyszInsJhe :: SysZInsn
SyszInsJghe :: SysZInsn
SyszInsLoche :: SysZInsn
SyszInsLocghe :: SysZInsn
SyszInsLocgrhe :: SysZInsn
SyszInsLocrhe :: SysZInsn
SyszInsStoche :: SysZInsn
SyszInsStocghe :: SysZInsn
SyszInsJh :: SysZInsn
SyszInsJgh :: SysZInsn
SyszInsLoch :: SysZInsn
SyszInsLocgh :: SysZInsn
SyszInsLocgrh :: SysZInsn
SyszInsLocrh :: SysZInsn
SyszInsStoch :: SysZInsn
SyszInsStocgh :: SysZInsn
SyszInsCgijnlh :: SysZInsn
SyszInsCgrjnlh :: SysZInsn
SyszInsCijnlh :: SysZInsn
SyszInsClgijnlh :: SysZInsn
SyszInsClgrjnlh :: SysZInsn
SyszInsClijnlh :: SysZInsn
SyszInsClrjnlh :: SysZInsn
SyszInsCrjnlh :: SysZInsn
SyszInsCgije :: SysZInsn
SyszInsCgrje :: SysZInsn
SyszInsCije :: SysZInsn
SyszInsClgije :: SysZInsn
SyszInsClgrje :: SysZInsn
SyszInsClije :: SysZInsn
SyszInsClrje :: SysZInsn
SyszInsCrje :: SysZInsn
SyszInsCgijnle :: SysZInsn
SyszInsCgrjnle :: SysZInsn
SyszInsCijnle :: SysZInsn
SyszInsClgijnle :: SysZInsn
SyszInsClgrjnle :: SysZInsn
SyszInsClijnle :: SysZInsn
SyszInsClrjnle :: SysZInsn
SyszInsCrjnle :: SysZInsn
SyszInsCgijh :: SysZInsn
SyszInsCgrjh :: SysZInsn
SyszInsCijh :: SysZInsn
SyszInsClgijh :: SysZInsn
SyszInsClgrjh :: SysZInsn
SyszInsClijh :: SysZInsn
SyszInsClrjh :: SysZInsn
SyszInsCrjh :: SysZInsn
SyszInsCgijnl :: SysZInsn
SyszInsCgrjnl :: SysZInsn
SyszInsCijnl :: SysZInsn
SyszInsClgijnl :: SysZInsn
SyszInsClgrjnl :: SysZInsn
SyszInsClijnl :: SysZInsn
SyszInsClrjnl :: SysZInsn
SyszInsCrjnl :: SysZInsn
SyszInsCgijhe :: SysZInsn
SyszInsCgrjhe :: SysZInsn
SyszInsCijhe :: SysZInsn
SyszInsClgijhe :: SysZInsn
SyszInsClgrjhe :: SysZInsn
SyszInsClijhe :: SysZInsn
SyszInsClrjhe :: SysZInsn
SyszInsCrjhe :: SysZInsn
SyszInsCgijnhe :: SysZInsn
SyszInsCgrjnhe :: SysZInsn
SyszInsCijnhe :: SysZInsn
SyszInsClgijnhe :: SysZInsn
SyszInsClgrjnhe :: SysZInsn
SyszInsClijnhe :: SysZInsn
SyszInsClrjnhe :: SysZInsn
SyszInsCrjnhe :: SysZInsn
SyszInsCgijl :: SysZInsn
SyszInsCgrjl :: SysZInsn
SyszInsCijl :: SysZInsn
SyszInsClgijl :: SysZInsn
SyszInsClgrjl :: SysZInsn
SyszInsClijl :: SysZInsn
SyszInsClrjl :: SysZInsn
SyszInsCrjl :: SysZInsn
SyszInsCgijnh :: SysZInsn
SyszInsCgrjnh :: SysZInsn
SyszInsCijnh :: SysZInsn
SyszInsClgijnh :: SysZInsn
SyszInsClgrjnh :: SysZInsn
SyszInsClijnh :: SysZInsn
SyszInsClrjnh :: SysZInsn
SyszInsCrjnh :: SysZInsn
SyszInsCgijle :: SysZInsn
SyszInsCgrjle :: SysZInsn
SyszInsCijle :: SysZInsn
SyszInsClgijle :: SysZInsn
SyszInsClgrjle :: SysZInsn
SyszInsClijle :: SysZInsn
SyszInsClrjle :: SysZInsn
SyszInsCrjle :: SysZInsn
SyszInsCgijne :: SysZInsn
SyszInsCgrjne :: SysZInsn
SyszInsCijne :: SysZInsn
SyszInsClgijne :: SysZInsn
SyszInsClgrjne :: SysZInsn
SyszInsClijne :: SysZInsn
SyszInsClrjne :: SysZInsn
SyszInsCrjne :: SysZInsn
SyszInsCgijlh :: SysZInsn
SyszInsCgrjlh :: SysZInsn
SyszInsCijlh :: SysZInsn
SyszInsClgijlh :: SysZInsn
SyszInsClgrjlh :: SysZInsn
SyszInsClijlh :: SysZInsn
SyszInsClrjlh :: SysZInsn
SyszInsCrjlh :: SysZInsn
SyszInsBlr :: SysZInsn
SyszInsBler :: SysZInsn
SyszInsJle :: SysZInsn
SyszInsJgle :: SysZInsn
SyszInsLocle :: SysZInsn
SyszInsLocgle :: SysZInsn
SyszInsLocgrle :: SysZInsn
SyszInsLocrle :: SysZInsn
SyszInsStocle :: SysZInsn
SyszInsStocgle :: SysZInsn
SyszInsBlhr :: SysZInsn
SyszInsJlh :: SysZInsn
SyszInsJglh :: SysZInsn
SyszInsLoclh :: SysZInsn
SyszInsLocglh :: SysZInsn
SyszInsLocgrlh :: SysZInsn
SyszInsLocrlh :: SysZInsn
SyszInsStoclh :: SysZInsn
SyszInsStocglh :: SysZInsn
SyszInsJl :: SysZInsn
SyszInsJgl :: SysZInsn
SyszInsLocl :: SysZInsn
SyszInsLocgl :: SysZInsn
SyszInsLocgrl :: SysZInsn
SyszInsLocrl :: SysZInsn
SyszInsLoc :: SysZInsn
SyszInsLocg :: SysZInsn
SyszInsLocgr :: SysZInsn
SyszInsLocr :: SysZInsn
SyszInsStocl :: SysZInsn
SyszInsStocgl :: SysZInsn
SyszInsBner :: SysZInsn
SyszInsJne :: SysZInsn
SyszInsJgne :: SysZInsn
SyszInsLocne :: SysZInsn
SyszInsLocgne :: SysZInsn
SyszInsLocgrne :: SysZInsn
SyszInsLocrne :: SysZInsn
SyszInsStocne :: SysZInsn
SyszInsStocgne :: SysZInsn
SyszInsBnhr :: SysZInsn
SyszInsBnher :: SysZInsn
SyszInsJnhe :: SysZInsn
SyszInsJgnhe :: SysZInsn
SyszInsLocnhe :: SysZInsn
SyszInsLocgnhe :: SysZInsn
SyszInsLocgrnhe :: SysZInsn
SyszInsLocrnhe :: SysZInsn
SyszInsStocnhe :: SysZInsn
SyszInsStocgnhe :: SysZInsn
SyszInsJnh :: SysZInsn
SyszInsJgnh :: SysZInsn
SyszInsLocnh :: SysZInsn
SyszInsLocgnh :: SysZInsn
SyszInsLocgrnh :: SysZInsn
SyszInsLocrnh :: SysZInsn
SyszInsStocnh :: SysZInsn
SyszInsStocgnh :: SysZInsn
SyszInsBnlr :: SysZInsn
SyszInsBnler :: SysZInsn
SyszInsJnle :: SysZInsn
SyszInsJgnle :: SysZInsn
SyszInsLocnle :: SysZInsn
SyszInsLocgnle :: SysZInsn
SyszInsLocgrnle :: SysZInsn
SyszInsLocrnle :: SysZInsn
SyszInsStocnle :: SysZInsn
SyszInsStocgnle :: SysZInsn
SyszInsBnlhr :: SysZInsn
SyszInsJnlh :: SysZInsn
SyszInsJgnlh :: SysZInsn
SyszInsLocnlh :: SysZInsn
SyszInsLocgnlh :: SysZInsn
SyszInsLocgrnlh :: SysZInsn
SyszInsLocrnlh :: SysZInsn
SyszInsStocnlh :: SysZInsn
SyszInsStocgnlh :: SysZInsn
SyszInsJnl :: SysZInsn
SyszInsJgnl :: SysZInsn
SyszInsLocnl :: SysZInsn
SyszInsLocgnl :: SysZInsn
SyszInsLocgrnl :: SysZInsn
SyszInsLocrnl :: SysZInsn
SyszInsStocnl :: SysZInsn
SyszInsStocgnl :: SysZInsn
SyszInsBnor :: SysZInsn
SyszInsJno :: SysZInsn
SyszInsJgno :: SysZInsn
SyszInsLocno :: SysZInsn
SyszInsLocgno :: SysZInsn
SyszInsLocgrno :: SysZInsn
SyszInsLocrno :: SysZInsn
SyszInsStocno :: SysZInsn
SyszInsStocgno :: SysZInsn
SyszInsBor :: SysZInsn
SyszInsJo :: SysZInsn
SyszInsJgo :: SysZInsn
SyszInsLoco :: SysZInsn
SyszInsLocgo :: SysZInsn
SyszInsLocgro :: SysZInsn
SyszInsLocro :: SysZInsn
SyszInsStoco :: SysZInsn
SyszInsStocgo :: SysZInsn
SyszInsStoc :: SysZInsn
SyszInsStocg :: SysZInsn
SyszInsBasr :: SysZInsn
SyszInsBr :: SysZInsn
SyszInsBras :: SysZInsn
SyszInsBrasl :: SysZInsn
SyszInsJ :: SysZInsn
SyszInsJg :: SysZInsn
SyszInsBrct :: SysZInsn
SyszInsBrctg :: SysZInsn
SyszInsC :: SysZInsn
SyszInsCdb :: SysZInsn
SyszInsCdbr :: SysZInsn
SyszInsCdfbr :: SysZInsn
SyszInsCdgbr :: SysZInsn
SyszInsCdlfbr :: SysZInsn
SyszInsCdlgbr :: SysZInsn
SyszInsCeb :: SysZInsn
SyszInsCebr :: SysZInsn
SyszInsCefbr :: SysZInsn
SyszInsCegbr :: SysZInsn
SyszInsCelfbr :: SysZInsn
SyszInsCelgbr :: SysZInsn
SyszInsCfdbr :: SysZInsn
SyszInsCfebr :: SysZInsn
SyszInsCfi :: SysZInsn
SyszInsCfxbr :: SysZInsn
SyszInsCg :: SysZInsn
SyszInsCgdbr :: SysZInsn
SyszInsCgebr :: SysZInsn
SyszInsCgf :: SysZInsn
SyszInsCgfi :: SysZInsn
SyszInsCgfr :: SysZInsn
SyszInsCgfrl :: SysZInsn
SyszInsCgh :: SysZInsn
SyszInsCghi :: SysZInsn
SyszInsCghrl :: SysZInsn
SyszInsCghsi :: SysZInsn
SyszInsCgr :: SysZInsn
SyszInsCgrl :: SysZInsn
SyszInsCgxbr :: SysZInsn
SyszInsCh :: SysZInsn
SyszInsChf :: SysZInsn
SyszInsChhsi :: SysZInsn
SyszInsChi :: SysZInsn
SyszInsChrl :: SysZInsn
SyszInsChsi :: SysZInsn
SyszInsChy :: SysZInsn
SyszInsCih :: SysZInsn
SyszInsCl :: SysZInsn
SyszInsClc :: SysZInsn
SyszInsClfdbr :: SysZInsn
SyszInsClfebr :: SysZInsn
SyszInsClfhsi :: SysZInsn
SyszInsClfi :: SysZInsn
SyszInsClfxbr :: SysZInsn
SyszInsClg :: SysZInsn
SyszInsClgdbr :: SysZInsn
SyszInsClgebr :: SysZInsn
SyszInsClgf :: SysZInsn
SyszInsClgfi :: SysZInsn
SyszInsClgfr :: SysZInsn
SyszInsClgfrl :: SysZInsn
SyszInsClghrl :: SysZInsn
SyszInsClghsi :: SysZInsn
SyszInsClgr :: SysZInsn
SyszInsClgrl :: SysZInsn
SyszInsClgxbr :: SysZInsn
SyszInsClhf :: SysZInsn
SyszInsClhhsi :: SysZInsn
SyszInsClhrl :: SysZInsn
SyszInsCli :: SysZInsn
SyszInsClih :: SysZInsn
SyszInsCliy :: SysZInsn
SyszInsClr :: SysZInsn
SyszInsClrl :: SysZInsn
SyszInsClst :: SysZInsn
SyszInsCly :: SysZInsn
SyszInsCpsdr :: SysZInsn
SyszInsCr :: SysZInsn
SyszInsCrl :: SysZInsn
SyszInsCs :: SysZInsn
SyszInsCsg :: SysZInsn
SyszInsCsy :: SysZInsn
SyszInsCxbr :: SysZInsn
SyszInsCxfbr :: SysZInsn
SyszInsCxgbr :: SysZInsn
SyszInsCxlfbr :: SysZInsn
SyszInsCxlgbr :: SysZInsn
SyszInsCy :: SysZInsn
SyszInsDdb :: SysZInsn
SyszInsDdbr :: SysZInsn
SyszInsDeb :: SysZInsn
SyszInsDebr :: SysZInsn
SyszInsDl :: SysZInsn
SyszInsDlg :: SysZInsn
SyszInsDlgr :: SysZInsn
SyszInsDlr :: SysZInsn
SyszInsDsg :: SysZInsn
SyszInsDsgf :: SysZInsn
SyszInsDsgfr :: SysZInsn
SyszInsDsgr :: SysZInsn
SyszInsDxbr :: SysZInsn
SyszInsEar :: SysZInsn
SyszInsFidbr :: SysZInsn
SyszInsFidbra :: SysZInsn
SyszInsFiebr :: SysZInsn
SyszInsFiebra :: SysZInsn
SyszInsFixbr :: SysZInsn
SyszInsFixbra :: SysZInsn
SyszInsFlogr :: SysZInsn
SyszInsIc :: SysZInsn
SyszInsIcy :: SysZInsn
SyszInsIihf :: SysZInsn
SyszInsIihh :: SysZInsn
SyszInsIihl :: SysZInsn
SyszInsIilf :: SysZInsn
SyszInsIilh :: SysZInsn
SyszInsIill :: SysZInsn
SyszInsIpm :: SysZInsn
SyszInsL :: SysZInsn
SyszInsLa :: SysZInsn
SyszInsLaa :: SysZInsn
SyszInsLaag :: SysZInsn
SyszInsLaal :: SysZInsn
SyszInsLaalg :: SysZInsn
SyszInsLan :: SysZInsn
SyszInsLang :: SysZInsn
SyszInsLao :: SysZInsn
SyszInsLaog :: SysZInsn
SyszInsLarl :: SysZInsn
SyszInsLax :: SysZInsn
SyszInsLaxg :: SysZInsn
SyszInsLay :: SysZInsn
SyszInsLb :: SysZInsn
SyszInsLbh :: SysZInsn
SyszInsLbr :: SysZInsn
SyszInsLcdbr :: SysZInsn
SyszInsLcebr :: SysZInsn
SyszInsLcgfr :: SysZInsn
SyszInsLcgr :: SysZInsn
SyszInsLcr :: SysZInsn
SyszInsLcxbr :: SysZInsn
SyszInsLd :: SysZInsn
SyszInsLdeb :: SysZInsn
SyszInsLdebr :: SysZInsn
SyszInsLdgr :: SysZInsn
SyszInsLdr :: SysZInsn
SyszInsLdxbr :: SysZInsn
SyszInsLdxbra :: SysZInsn
SyszInsLdy :: SysZInsn
SyszInsLe :: SysZInsn
SyszInsLedbr :: SysZInsn
SyszInsLedbra :: SysZInsn
SyszInsLer :: SysZInsn
SyszInsLexbr :: SysZInsn
SyszInsLexbra :: SysZInsn
SyszInsLey :: SysZInsn
SyszInsLfh :: SysZInsn
SyszInsLg :: SysZInsn
SyszInsLgb :: SysZInsn
SyszInsLgbr :: SysZInsn
SyszInsLgdr :: SysZInsn
SyszInsLgf :: SysZInsn
SyszInsLgfi :: SysZInsn
SyszInsLgfr :: SysZInsn
SyszInsLgfrl :: SysZInsn
SyszInsLgh :: SysZInsn
SyszInsLghi :: SysZInsn
SyszInsLghr :: SysZInsn
SyszInsLghrl :: SysZInsn
SyszInsLgr :: SysZInsn
SyszInsLgrl :: SysZInsn
SyszInsLh :: SysZInsn
SyszInsLhh :: SysZInsn
SyszInsLhi :: SysZInsn
SyszInsLhr :: SysZInsn
SyszInsLhrl :: SysZInsn
SyszInsLhy :: SysZInsn
SyszInsLlc :: SysZInsn
SyszInsLlch :: SysZInsn
SyszInsLlcr :: SysZInsn
SyszInsLlgc :: SysZInsn
SyszInsLlgcr :: SysZInsn
SyszInsLlgf :: SysZInsn
SyszInsLlgfr :: SysZInsn
SyszInsLlgfrl :: SysZInsn
SyszInsLlgh :: SysZInsn
SyszInsLlghr :: SysZInsn
SyszInsLlghrl :: SysZInsn
SyszInsLlh :: SysZInsn
SyszInsLlhh :: SysZInsn
SyszInsLlhr :: SysZInsn
SyszInsLlhrl :: SysZInsn
SyszInsLlihf :: SysZInsn
SyszInsLlihh :: SysZInsn
SyszInsLlihl :: SysZInsn
SyszInsLlilf :: SysZInsn
SyszInsLlilh :: SysZInsn
SyszInsLlill :: SysZInsn
SyszInsLmg :: SysZInsn
SyszInsLndbr :: SysZInsn
SyszInsLnebr :: SysZInsn
SyszInsLngfr :: SysZInsn
SyszInsLngr :: SysZInsn
SyszInsLnr :: SysZInsn
SyszInsLnxbr :: SysZInsn
SyszInsLpdbr :: SysZInsn
SyszInsLpebr :: SysZInsn
SyszInsLpgfr :: SysZInsn
SyszInsLpgr :: SysZInsn
SyszInsLpr :: SysZInsn
SyszInsLpxbr :: SysZInsn
SyszInsLr :: SysZInsn
SyszInsLrl :: SysZInsn
SyszInsLrv :: SysZInsn
SyszInsLrvg :: SysZInsn
SyszInsLrvgr :: SysZInsn
SyszInsLrvr :: SysZInsn
SyszInsLt :: SysZInsn
SyszInsLtdbr :: SysZInsn
SyszInsLtebr :: SysZInsn
SyszInsLtg :: SysZInsn
SyszInsLtgf :: SysZInsn
SyszInsLtgfr :: SysZInsn
SyszInsLtgr :: SysZInsn
SyszInsLtr :: SysZInsn
SyszInsLtxbr :: SysZInsn
SyszInsLxdb :: SysZInsn
SyszInsLxdbr :: SysZInsn
SyszInsLxeb :: SysZInsn
SyszInsLxebr :: SysZInsn
SyszInsLxr :: SysZInsn
SyszInsLy :: SysZInsn
SyszInsLzdr :: SysZInsn
SyszInsLzer :: SysZInsn
SyszInsLzxr :: SysZInsn
SyszInsMadb :: SysZInsn
SyszInsMadbr :: SysZInsn
SyszInsMaeb :: SysZInsn
SyszInsMaebr :: SysZInsn
SyszInsMdb :: SysZInsn
SyszInsMdbr :: SysZInsn
SyszInsMdeb :: SysZInsn
SyszInsMdebr :: SysZInsn
SyszInsMeeb :: SysZInsn
SyszInsMeebr :: SysZInsn
SyszInsMghi :: SysZInsn
SyszInsMh :: SysZInsn
SyszInsMhi :: SysZInsn
SyszInsMhy :: SysZInsn
SyszInsMlg :: SysZInsn
SyszInsMlgr :: SysZInsn
SyszInsMs :: SysZInsn
SyszInsMsdb :: SysZInsn
SyszInsMsdbr :: SysZInsn
SyszInsMseb :: SysZInsn
SyszInsMsebr :: SysZInsn
SyszInsMsfi :: SysZInsn
SyszInsMsg :: SysZInsn
SyszInsMsgf :: SysZInsn
SyszInsMsgfi :: SysZInsn
SyszInsMsgfr :: SysZInsn
SyszInsMsgr :: SysZInsn
SyszInsMsr :: SysZInsn
SyszInsMsy :: SysZInsn
SyszInsMvc :: SysZInsn
SyszInsMvghi :: SysZInsn
SyszInsMvhhi :: SysZInsn
SyszInsMvhi :: SysZInsn
SyszInsMvi :: SysZInsn
SyszInsMviy :: SysZInsn
SyszInsMvst :: SysZInsn
SyszInsMxbr :: SysZInsn
SyszInsMxdb :: SysZInsn
SyszInsMxdbr :: SysZInsn
SyszInsN :: SysZInsn
SyszInsNc :: SysZInsn
SyszInsNg :: SysZInsn
SyszInsNgr :: SysZInsn
SyszInsNgrk :: SysZInsn
SyszInsNi :: SysZInsn
SyszInsNihf :: SysZInsn
SyszInsNihh :: SysZInsn
SyszInsNihl :: SysZInsn
SyszInsNilf :: SysZInsn
SyszInsNilh :: SysZInsn
SyszInsNill :: SysZInsn
SyszInsNiy :: SysZInsn
SyszInsNr :: SysZInsn
SyszInsNrk :: SysZInsn
SyszInsNy :: SysZInsn
SyszInsO :: SysZInsn
SyszInsOc :: SysZInsn
SyszInsOg :: SysZInsn
SyszInsOgr :: SysZInsn
SyszInsOgrk :: SysZInsn
SyszInsOi :: SysZInsn
SyszInsOihf :: SysZInsn
SyszInsOihh :: SysZInsn
SyszInsOihl :: SysZInsn
SyszInsOilf :: SysZInsn
SyszInsOilh :: SysZInsn
SyszInsOill :: SysZInsn
SyszInsOiy :: SysZInsn
SyszInsOr :: SysZInsn
SyszInsOrk :: SysZInsn
SyszInsOy :: SysZInsn
SyszInsPfd :: SysZInsn
SyszInsPfdrl :: SysZInsn
SyszInsRisbg :: SysZInsn
SyszInsRisbhg :: SysZInsn
SyszInsRisblg :: SysZInsn
SyszInsRll :: SysZInsn
SyszInsRllg :: SysZInsn
SyszInsRnsbg :: SysZInsn
SyszInsRosbg :: SysZInsn
SyszInsRxsbg :: SysZInsn
SyszInsS :: SysZInsn
SyszInsSdb :: SysZInsn
SyszInsSdbr :: SysZInsn
SyszInsSeb :: SysZInsn
SyszInsSebr :: SysZInsn
SyszInsSg :: SysZInsn
SyszInsSgf :: SysZInsn
SyszInsSgfr :: SysZInsn
SyszInsSgr :: SysZInsn
SyszInsSgrk :: SysZInsn
SyszInsSh :: SysZInsn
SyszInsShy :: SysZInsn
SyszInsSl :: SysZInsn
SyszInsSlb :: SysZInsn
SyszInsSlbg :: SysZInsn
SyszInsSlbr :: SysZInsn
SyszInsSlfi :: SysZInsn
SyszInsSlg :: SysZInsn
SyszInsSlbgr :: SysZInsn
SyszInsSlgf :: SysZInsn
SyszInsSlgfi :: SysZInsn
SyszInsSlgfr :: SysZInsn
SyszInsSlgr :: SysZInsn
SyszInsSlgrk :: SysZInsn
SyszInsSll :: SysZInsn
SyszInsSllg :: SysZInsn
SyszInsSllk :: SysZInsn
SyszInsSlr :: SysZInsn
SyszInsSlrk :: SysZInsn
SyszInsSly :: SysZInsn
SyszInsSqdb :: SysZInsn
SyszInsSqdbr :: SysZInsn
SyszInsSqeb :: SysZInsn
SyszInsSqebr :: SysZInsn
SyszInsSqxbr :: SysZInsn
SyszInsSr :: SysZInsn
SyszInsSra :: SysZInsn
SyszInsSrag :: SysZInsn
SyszInsSrak :: SysZInsn
SyszInsSrk :: SysZInsn
SyszInsSrl :: SysZInsn
SyszInsSrlg :: SysZInsn
SyszInsSrlk :: SysZInsn
SyszInsSrst :: SysZInsn
SyszInsSt :: SysZInsn
SyszInsStc :: SysZInsn
SyszInsStch :: SysZInsn
SyszInsStcy :: SysZInsn
SyszInsStd :: SysZInsn
SyszInsStdy :: SysZInsn
SyszInsSte :: SysZInsn
SyszInsStey :: SysZInsn
SyszInsStfh :: SysZInsn
SyszInsStg :: SysZInsn
SyszInsStgrl :: SysZInsn
SyszInsSth :: SysZInsn
SyszInsSthh :: SysZInsn
SyszInsSthrl :: SysZInsn
SyszInsSthy :: SysZInsn
SyszInsStmg :: SysZInsn
SyszInsStrl :: SysZInsn
SyszInsStrv :: SysZInsn
SyszInsStrvg :: SysZInsn
SyszInsSty :: SysZInsn
SyszInsSxbr :: SysZInsn
SyszInsSy :: SysZInsn
SyszInsTm :: SysZInsn
SyszInsTmhh :: SysZInsn
SyszInsTmhl :: SysZInsn
SyszInsTmlh :: SysZInsn
SyszInsTmll :: SysZInsn
SyszInsTmy :: SysZInsn
SyszInsX :: SysZInsn
SyszInsXc :: SysZInsn
SyszInsXg :: SysZInsn
SyszInsXgr :: SysZInsn
SyszInsXgrk :: SysZInsn
SyszInsXi :: SysZInsn
SyszInsXihf :: SysZInsn
SyszInsXilf :: SysZInsn
SyszInsXiy :: SysZInsn
SyszInsXr :: SysZInsn
SyszInsXrk :: SysZInsn
SyszInsXy :: SysZInsn
SyszInsEnding :: SysZInsn

-- | SystemZ instruction groups
data SysZInsnGroup
SyszGrpInvalid :: SysZInsnGroup
SyszGrpJump :: SysZInsnGroup
SyszGrpDistinctops :: SysZInsnGroup
SyszGrpFpextension :: SysZInsnGroup
SyszGrpHighword :: SysZInsnGroup
SyszGrpInterlockedaccess1 :: SysZInsnGroup
SyszGrpLoadstoreoncond :: SysZInsnGroup
SyszGrpEnding :: SysZInsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.SystemZ.SysZCc
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.SysZCc
instance GHC.Show.Show Hapstone.Internal.SystemZ.SysZCc
instance GHC.Enum.Bounded Hapstone.Internal.SystemZ.SysZOpType
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.SysZOpType
instance GHC.Show.Show Hapstone.Internal.SystemZ.SysZOpType
instance GHC.Enum.Bounded Hapstone.Internal.SystemZ.SysZReg
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.SysZReg
instance GHC.Show.Show Hapstone.Internal.SystemZ.SysZReg
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.SysZOpMemStruct
instance GHC.Show.Show Hapstone.Internal.SystemZ.SysZOpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.CsSysZOp
instance GHC.Show.Show Hapstone.Internal.SystemZ.CsSysZOp
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.CsSysZ
instance GHC.Show.Show Hapstone.Internal.SystemZ.CsSysZ
instance GHC.Enum.Bounded Hapstone.Internal.SystemZ.SysZInsn
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.SysZInsn
instance GHC.Show.Show Hapstone.Internal.SystemZ.SysZInsn
instance GHC.Enum.Bounded Hapstone.Internal.SystemZ.SysZInsnGroup
instance GHC.Classes.Eq Hapstone.Internal.SystemZ.SysZInsnGroup
instance GHC.Show.Show Hapstone.Internal.SystemZ.SysZInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.SystemZ.SysZInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.SystemZ.SysZInsn
instance Foreign.Storable.Storable Hapstone.Internal.SystemZ.CsSysZ
instance Foreign.Storable.Storable Hapstone.Internal.SystemZ.CsSysZOp
instance Foreign.Storable.Storable Hapstone.Internal.SystemZ.SysZOpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.SystemZ.SysZReg
instance GHC.Enum.Enum Hapstone.Internal.SystemZ.SysZOpType
instance GHC.Enum.Enum Hapstone.Internal.SystemZ.SysZCc


-- | This module contains various utility functions used to perform common
--   actions when sanitizing data passed to and from the C functions
--   exposed by capstone.
module Hapstone.Internal.Util

-- | peeking with number conversion
peekNum :: (Integral a, Num b, Storable a) => Ptr a -> IO b

-- | number conversion and enum casting
getCULongFromEnum :: Enum e => e -> CULong

-- | cast a pointer before using with
withCast :: Storable a => a -> (Ptr b -> IO c) -> IO c

-- | bitwise OR a list of symbolic constants from an enumeration
combine :: (Enum e, Num n, Bits n) => [e] -> n

-- | lookup a possibly NULL-valued char *
stringLookup :: CString -> Maybe String

-- | convert between Maybe and zero/nonzero Num
fromZero :: (Eq a, Num a) => a -> Maybe a

-- | peek if given pointer is not NULL
peekFunMaybe :: Storable a => (Ptr a -> IO a) -> Ptr a -> IO (Maybe a)


-- | This module contains x86 specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.X86

-- | x86 registers
data X86Reg
X86RegInvalid :: X86Reg
X86RegAh :: X86Reg
X86RegAl :: X86Reg
X86RegAx :: X86Reg
X86RegBh :: X86Reg
X86RegBl :: X86Reg
X86RegBp :: X86Reg
X86RegBpl :: X86Reg
X86RegBx :: X86Reg
X86RegCh :: X86Reg
X86RegCl :: X86Reg
X86RegCs :: X86Reg
X86RegCx :: X86Reg
X86RegDh :: X86Reg
X86RegDi :: X86Reg
X86RegDil :: X86Reg
X86RegDl :: X86Reg
X86RegDs :: X86Reg
X86RegDx :: X86Reg
X86RegEax :: X86Reg
X86RegEbp :: X86Reg
X86RegEbx :: X86Reg
X86RegEcx :: X86Reg
X86RegEdi :: X86Reg
X86RegEdx :: X86Reg
X86RegEflags :: X86Reg
X86RegEip :: X86Reg
X86RegEiz :: X86Reg
X86RegEs :: X86Reg
X86RegEsi :: X86Reg
X86RegEsp :: X86Reg
X86RegFpsw :: X86Reg
X86RegFs :: X86Reg
X86RegGs :: X86Reg
X86RegIp :: X86Reg
X86RegRax :: X86Reg
X86RegRbp :: X86Reg
X86RegRbx :: X86Reg
X86RegRcx :: X86Reg
X86RegRdi :: X86Reg
X86RegRdx :: X86Reg
X86RegRip :: X86Reg
X86RegRiz :: X86Reg
X86RegRsi :: X86Reg
X86RegRsp :: X86Reg
X86RegSi :: X86Reg
X86RegSil :: X86Reg
X86RegSp :: X86Reg
X86RegSpl :: X86Reg
X86RegSs :: X86Reg
X86RegCr0 :: X86Reg
X86RegCr1 :: X86Reg
X86RegCr2 :: X86Reg
X86RegCr3 :: X86Reg
X86RegCr4 :: X86Reg
X86RegCr5 :: X86Reg
X86RegCr6 :: X86Reg
X86RegCr7 :: X86Reg
X86RegCr8 :: X86Reg
X86RegCr9 :: X86Reg
X86RegCr10 :: X86Reg
X86RegCr11 :: X86Reg
X86RegCr12 :: X86Reg
X86RegCr13 :: X86Reg
X86RegCr14 :: X86Reg
X86RegCr15 :: X86Reg
X86RegDr0 :: X86Reg
X86RegDr1 :: X86Reg
X86RegDr2 :: X86Reg
X86RegDr3 :: X86Reg
X86RegDr4 :: X86Reg
X86RegDr5 :: X86Reg
X86RegDr6 :: X86Reg
X86RegDr7 :: X86Reg
X86RegDr8 :: X86Reg
X86RegDr9 :: X86Reg
X86RegDr10 :: X86Reg
X86RegDr11 :: X86Reg
X86RegDr12 :: X86Reg
X86RegDr13 :: X86Reg
X86RegDr14 :: X86Reg
X86RegDr15 :: X86Reg
X86RegFp0 :: X86Reg
X86RegFp1 :: X86Reg
X86RegFp2 :: X86Reg
X86RegFp3 :: X86Reg
X86RegFp4 :: X86Reg
X86RegFp5 :: X86Reg
X86RegFp6 :: X86Reg
X86RegFp7 :: X86Reg
X86RegK0 :: X86Reg
X86RegK1 :: X86Reg
X86RegK2 :: X86Reg
X86RegK3 :: X86Reg
X86RegK4 :: X86Reg
X86RegK5 :: X86Reg
X86RegK6 :: X86Reg
X86RegK7 :: X86Reg
X86RegMm0 :: X86Reg
X86RegMm1 :: X86Reg
X86RegMm2 :: X86Reg
X86RegMm3 :: X86Reg
X86RegMm4 :: X86Reg
X86RegMm5 :: X86Reg
X86RegMm6 :: X86Reg
X86RegMm7 :: X86Reg
X86RegR8 :: X86Reg
X86RegR9 :: X86Reg
X86RegR10 :: X86Reg
X86RegR11 :: X86Reg
X86RegR12 :: X86Reg
X86RegR13 :: X86Reg
X86RegR14 :: X86Reg
X86RegR15 :: X86Reg
X86RegSt0 :: X86Reg
X86RegSt1 :: X86Reg
X86RegSt2 :: X86Reg
X86RegSt3 :: X86Reg
X86RegSt4 :: X86Reg
X86RegSt5 :: X86Reg
X86RegSt6 :: X86Reg
X86RegSt7 :: X86Reg
X86RegXmm0 :: X86Reg
X86RegXmm1 :: X86Reg
X86RegXmm2 :: X86Reg
X86RegXmm3 :: X86Reg
X86RegXmm4 :: X86Reg
X86RegXmm5 :: X86Reg
X86RegXmm6 :: X86Reg
X86RegXmm7 :: X86Reg
X86RegXmm8 :: X86Reg
X86RegXmm9 :: X86Reg
X86RegXmm10 :: X86Reg
X86RegXmm11 :: X86Reg
X86RegXmm12 :: X86Reg
X86RegXmm13 :: X86Reg
X86RegXmm14 :: X86Reg
X86RegXmm15 :: X86Reg
X86RegXmm16 :: X86Reg
X86RegXmm17 :: X86Reg
X86RegXmm18 :: X86Reg
X86RegXmm19 :: X86Reg
X86RegXmm20 :: X86Reg
X86RegXmm21 :: X86Reg
X86RegXmm22 :: X86Reg
X86RegXmm23 :: X86Reg
X86RegXmm24 :: X86Reg
X86RegXmm25 :: X86Reg
X86RegXmm26 :: X86Reg
X86RegXmm27 :: X86Reg
X86RegXmm28 :: X86Reg
X86RegXmm29 :: X86Reg
X86RegXmm30 :: X86Reg
X86RegXmm31 :: X86Reg
X86RegYmm0 :: X86Reg
X86RegYmm1 :: X86Reg
X86RegYmm2 :: X86Reg
X86RegYmm3 :: X86Reg
X86RegYmm4 :: X86Reg
X86RegYmm5 :: X86Reg
X86RegYmm6 :: X86Reg
X86RegYmm7 :: X86Reg
X86RegYmm8 :: X86Reg
X86RegYmm9 :: X86Reg
X86RegYmm10 :: X86Reg
X86RegYmm11 :: X86Reg
X86RegYmm12 :: X86Reg
X86RegYmm13 :: X86Reg
X86RegYmm14 :: X86Reg
X86RegYmm15 :: X86Reg
X86RegYmm16 :: X86Reg
X86RegYmm17 :: X86Reg
X86RegYmm18 :: X86Reg
X86RegYmm19 :: X86Reg
X86RegYmm20 :: X86Reg
X86RegYmm21 :: X86Reg
X86RegYmm22 :: X86Reg
X86RegYmm23 :: X86Reg
X86RegYmm24 :: X86Reg
X86RegYmm25 :: X86Reg
X86RegYmm26 :: X86Reg
X86RegYmm27 :: X86Reg
X86RegYmm28 :: X86Reg
X86RegYmm29 :: X86Reg
X86RegYmm30 :: X86Reg
X86RegYmm31 :: X86Reg
X86RegZmm0 :: X86Reg
X86RegZmm1 :: X86Reg
X86RegZmm2 :: X86Reg
X86RegZmm3 :: X86Reg
X86RegZmm4 :: X86Reg
X86RegZmm5 :: X86Reg
X86RegZmm6 :: X86Reg
X86RegZmm7 :: X86Reg
X86RegZmm8 :: X86Reg
X86RegZmm9 :: X86Reg
X86RegZmm10 :: X86Reg
X86RegZmm11 :: X86Reg
X86RegZmm12 :: X86Reg
X86RegZmm13 :: X86Reg
X86RegZmm14 :: X86Reg
X86RegZmm15 :: X86Reg
X86RegZmm16 :: X86Reg
X86RegZmm17 :: X86Reg
X86RegZmm18 :: X86Reg
X86RegZmm19 :: X86Reg
X86RegZmm20 :: X86Reg
X86RegZmm21 :: X86Reg
X86RegZmm22 :: X86Reg
X86RegZmm23 :: X86Reg
X86RegZmm24 :: X86Reg
X86RegZmm25 :: X86Reg
X86RegZmm26 :: X86Reg
X86RegZmm27 :: X86Reg
X86RegZmm28 :: X86Reg
X86RegZmm29 :: X86Reg
X86RegZmm30 :: X86Reg
X86RegZmm31 :: X86Reg
X86RegR8b :: X86Reg
X86RegR9b :: X86Reg
X86RegR10b :: X86Reg
X86RegR11b :: X86Reg
X86RegR12b :: X86Reg
X86RegR13b :: X86Reg
X86RegR14b :: X86Reg
X86RegR15b :: X86Reg
X86RegR8d :: X86Reg
X86RegR9d :: X86Reg
X86RegR10d :: X86Reg
X86RegR11d :: X86Reg
X86RegR12d :: X86Reg
X86RegR13d :: X86Reg
X86RegR14d :: X86Reg
X86RegR15d :: X86Reg
X86RegR8w :: X86Reg
X86RegR9w :: X86Reg
X86RegR10w :: X86Reg
X86RegR11w :: X86Reg
X86RegR12w :: X86Reg
X86RegR13w :: X86Reg
X86RegR14w :: X86Reg
X86RegR15w :: X86Reg
X86RegEnding :: X86Reg

-- | operand type for instruction's operands
data X86OpType
X86OpInvalid :: X86OpType
X86OpReg :: X86OpType
X86OpImm :: X86OpType
X86OpMem :: X86OpType

-- | AVX broadcast
data X86AvxBcast
X86AvxBcastInvalid :: X86AvxBcast
X86AvxBcast2 :: X86AvxBcast
X86AvxBcast4 :: X86AvxBcast
X86AvxBcast8 :: X86AvxBcast
X86AvxBcast16 :: X86AvxBcast

-- | SSE condition code
data X86SseCc
X86SseCcInvalid :: X86SseCc
X86SseCcEq :: X86SseCc
X86SseCcLt :: X86SseCc
X86SseCcLe :: X86SseCc
X86SseCcUnord :: X86SseCc
X86SseCcNeq :: X86SseCc
X86SseCcNlt :: X86SseCc
X86SseCcNle :: X86SseCc
X86SseCcOrd :: X86SseCc

-- | AVX condition code
data X86AvxCc
X86AvxCcInvalid :: X86AvxCc
X86AvxCcEq :: X86AvxCc
X86AvxCcLt :: X86AvxCc
X86AvxCcLe :: X86AvxCc
X86AvxCcUnord :: X86AvxCc
X86AvxCcNeq :: X86AvxCc
X86AvxCcNlt :: X86AvxCc
X86AvxCcNle :: X86AvxCc
X86AvxCcOrd :: X86AvxCc
X86AvxCcEqUq :: X86AvxCc
X86AvxCcNge :: X86AvxCc
X86AvxCcNgt :: X86AvxCc
X86AvxCcFalse :: X86AvxCc
X86AvxCcNeqOq :: X86AvxCc
X86AvxCcGe :: X86AvxCc
X86AvxCcGt :: X86AvxCc
X86AvxCcTrue :: X86AvxCc
X86AvxCcEqOs :: X86AvxCc
X86AvxCcLtOq :: X86AvxCc
X86AvxCcLeOq :: X86AvxCc
X86AvxCcUnordS :: X86AvxCc
X86AvxCcNeqUs :: X86AvxCc
X86AvxCcNltUq :: X86AvxCc
X86AvxCcNleUq :: X86AvxCc
X86AvxCcOrdS :: X86AvxCc
X86AvxCcEqUs :: X86AvxCc
X86AvxCcNgeUq :: X86AvxCc
X86AvxCcNgtUq :: X86AvxCc
X86AvxCcFalseOs :: X86AvxCc
X86AvxCcNeqOs :: X86AvxCc
X86AvxCcGeOq :: X86AvxCc
X86AvxCcGtOq :: X86AvxCc
X86AvxCcTrueUs :: X86AvxCc

-- | AVX static rounding mode
data X86AvxRm
X86AvxRmInvalid :: X86AvxRm
X86AvxRmRn :: X86AvxRm
X86AvxRmRd :: X86AvxRm
X86AvxRmRu :: X86AvxRm
X86AvxRmRz :: X86AvxRm

-- | instruction prefix
data X86Prefix
X86PrefixEs :: X86Prefix
X86PrefixCs :: X86Prefix
X86PrefixSs :: X86Prefix
X86PrefixDs :: X86Prefix
X86PrefixFs :: X86Prefix
X86PrefixGs :: X86Prefix
X86PrefixOpsize :: X86Prefix
X86PrefixAddrsize :: X86Prefix
X86PrefixLock :: X86Prefix
X86PrefixRepne :: X86Prefix
X86PrefixRep :: X86Prefix
X86PrefixRepe :: X86Prefix

-- | memory access operands
data X86OpMemStruct
X86OpMemStruct :: X86Reg -> X86Reg -> X86Reg -> Int32 -> Int64 -> X86OpMemStruct

-- | segment register
[segment] :: X86OpMemStruct -> X86Reg

-- | base register
[base] :: X86OpMemStruct -> X86Reg

-- | index register
[index] :: X86OpMemStruct -> X86Reg

-- | scale for index register
[scale] :: X86OpMemStruct -> Int32

-- | displacement/offset value
[disp'] :: X86OpMemStruct -> Int64

-- | possible operand types (corresponding to the tagged union in the C
--   header)
data CsX86OpValue

-- | register value for <a>X86OpReg</a> operands
Reg :: X86Reg -> CsX86OpValue

-- | immediate value for <a>X86OpImm</a> operands | Fp Double ^ floating
--   point value for <tt>X86OpFp</tt> operands
Imm :: Word64 -> CsX86OpValue

-- | segment,base,index,scale,disp value for <a>X86OpMem</a> operands
Mem :: X86OpMemStruct -> CsX86OpValue

-- | invalid operand value, for <a>X86OpInvalid</a> operand
Undefined :: CsX86OpValue

-- | instruction operand
data CsX86Op
CsX86Op :: CsX86OpValue -> Word8 -> Word8 -> X86AvxBcast -> Bool -> CsX86Op

-- | operand type and value
[value] :: CsX86Op -> CsX86OpValue

-- | size of this operand in bytes
[size] :: CsX86Op -> Word8

-- | access mode of this operand
[access] :: CsX86Op -> Word8

-- | AVX broadcast type
[avxBcast] :: CsX86Op -> X86AvxBcast

-- | AVX zero opmask
[avxZeroOpmask] :: CsX86Op -> Bool
data CsX86
CsX86 :: (Maybe Word8, Maybe Word8, Maybe Word8, Maybe Word8) -> [Word8] -> Word8 -> Word8 -> Word8 -> Maybe Word8 -> Maybe Int32 -> X86Reg -> Int8 -> X86Reg -> X86SseCc -> X86AvxCc -> Bool -> X86AvxRm -> [CsX86Op] -> CsX86

-- | instruction prefix, up to 4 bytes. Each prefix byte is optional. first
--   byte: REP<i>REPNE</i>LOCK, second byte: segment override, third byte:
--   operand-size override fourth byte: address-size override
[prefix] :: CsX86 -> (Maybe Word8, Maybe Word8, Maybe Word8, Maybe Word8)

-- | instruction opcode, 1-4 bytes long
[opcode] :: CsX86 -> [Word8]

-- | REX prefix, only non-zero values relevant for x86_64
[rex] :: CsX86 -> Word8

-- | address size
[addrSize] :: CsX86 -> Word8

-- | ModR/M byte
[modRM] :: CsX86 -> Word8

-- | optional SIB value
[sib] :: CsX86 -> Maybe Word8

-- | optional displacement value
[disp] :: CsX86 -> Maybe Int32

-- | SIB index register, possibly irrelevant
[sibIndex] :: CsX86 -> X86Reg

-- | SIB scale, possibly irrelevant
[sibScale] :: CsX86 -> Int8

-- | SIB base register, possibly irrelevant
[sibBase] :: CsX86 -> X86Reg

-- | SSE condition code
[sseCc] :: CsX86 -> X86SseCc

-- | AVX condition code
[avxCc] :: CsX86 -> X86AvxCc

-- | AXV Supress all Exception
[avxSae] :: CsX86 -> Bool

-- | AVX static rounding mode
[avxRm] :: CsX86 -> X86AvxRm

-- | operand list for this instruction, *MUST* have &lt;= 8 elements, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   memory via it's Storable instance
[operands] :: CsX86 -> [CsX86Op]

-- | x86 instructions
data X86Insn
X86InsInvalid :: X86Insn
X86InsAaa :: X86Insn
X86InsAad :: X86Insn
X86InsAam :: X86Insn
X86InsAas :: X86Insn
X86InsFabs :: X86Insn
X86InsAdc :: X86Insn
X86InsAdcx :: X86Insn
X86InsAdd :: X86Insn
X86InsAddpd :: X86Insn
X86InsAddps :: X86Insn
X86InsAddsd :: X86Insn
X86InsAddss :: X86Insn
X86InsAddsubpd :: X86Insn
X86InsAddsubps :: X86Insn
X86InsFadd :: X86Insn
X86InsFiadd :: X86Insn
X86InsFaddp :: X86Insn
X86InsAdox :: X86Insn
X86InsAesdeclast :: X86Insn
X86InsAesdec :: X86Insn
X86InsAesenclast :: X86Insn
X86InsAesenc :: X86Insn
X86InsAesimc :: X86Insn
X86InsAeskeygenassist :: X86Insn
X86InsAnd :: X86Insn
X86InsAndn :: X86Insn
X86InsAndnpd :: X86Insn
X86InsAndnps :: X86Insn
X86InsAndpd :: X86Insn
X86InsAndps :: X86Insn
X86InsArpl :: X86Insn
X86InsBextr :: X86Insn
X86InsBlcfill :: X86Insn
X86InsBlci :: X86Insn
X86InsBlcic :: X86Insn
X86InsBlcmsk :: X86Insn
X86InsBlcs :: X86Insn
X86InsBlendpd :: X86Insn
X86InsBlendps :: X86Insn
X86InsBlendvpd :: X86Insn
X86InsBlendvps :: X86Insn
X86InsBlsfill :: X86Insn
X86InsBlsi :: X86Insn
X86InsBlsic :: X86Insn
X86InsBlsmsk :: X86Insn
X86InsBlsr :: X86Insn
X86InsBound :: X86Insn
X86InsBsf :: X86Insn
X86InsBsr :: X86Insn
X86InsBswap :: X86Insn
X86InsBt :: X86Insn
X86InsBtc :: X86Insn
X86InsBtr :: X86Insn
X86InsBts :: X86Insn
X86InsBzhi :: X86Insn
X86InsCall :: X86Insn
X86InsCbw :: X86Insn
X86InsCdq :: X86Insn
X86InsCdqe :: X86Insn
X86InsFchs :: X86Insn
X86InsClac :: X86Insn
X86InsClc :: X86Insn
X86InsCld :: X86Insn
X86InsClflush :: X86Insn
X86InsClflushopt :: X86Insn
X86InsClgi :: X86Insn
X86InsCli :: X86Insn
X86InsClts :: X86Insn
X86InsClwb :: X86Insn
X86InsCmc :: X86Insn
X86InsCmova :: X86Insn
X86InsCmovae :: X86Insn
X86InsCmovb :: X86Insn
X86InsCmovbe :: X86Insn
X86InsFcmovbe :: X86Insn
X86InsFcmovb :: X86Insn
X86InsCmove :: X86Insn
X86InsFcmove :: X86Insn
X86InsCmovg :: X86Insn
X86InsCmovge :: X86Insn
X86InsCmovl :: X86Insn
X86InsCmovle :: X86Insn
X86InsFcmovnbe :: X86Insn
X86InsFcmovnb :: X86Insn
X86InsCmovne :: X86Insn
X86InsFcmovne :: X86Insn
X86InsCmovno :: X86Insn
X86InsCmovnp :: X86Insn
X86InsFcmovnu :: X86Insn
X86InsCmovns :: X86Insn
X86InsCmovo :: X86Insn
X86InsCmovp :: X86Insn
X86InsFcmovu :: X86Insn
X86InsCmovs :: X86Insn
X86InsCmp :: X86Insn
X86InsCmpsb :: X86Insn
X86InsCmpsq :: X86Insn
X86InsCmpsw :: X86Insn
X86InsCmpxchg16b :: X86Insn
X86InsCmpxchg :: X86Insn
X86InsCmpxchg8b :: X86Insn
X86InsComisd :: X86Insn
X86InsComiss :: X86Insn
X86InsFcomp :: X86Insn
X86InsFcomip :: X86Insn
X86InsFcomi :: X86Insn
X86InsFcom :: X86Insn
X86InsFcos :: X86Insn
X86InsCpuid :: X86Insn
X86InsCqo :: X86Insn
X86InsCrc32 :: X86Insn
X86InsCvtdq2pd :: X86Insn
X86InsCvtdq2ps :: X86Insn
X86InsCvtpd2dq :: X86Insn
X86InsCvtpd2ps :: X86Insn
X86InsCvtps2dq :: X86Insn
X86InsCvtps2pd :: X86Insn
X86InsCvtsd2si :: X86Insn
X86InsCvtsd2ss :: X86Insn
X86InsCvtsi2sd :: X86Insn
X86InsCvtsi2ss :: X86Insn
X86InsCvtss2sd :: X86Insn
X86InsCvtss2si :: X86Insn
X86InsCvttpd2dq :: X86Insn
X86InsCvttps2dq :: X86Insn
X86InsCvttsd2si :: X86Insn
X86InsCvttss2si :: X86Insn
X86InsCwd :: X86Insn
X86InsCwde :: X86Insn
X86InsDaa :: X86Insn
X86InsDas :: X86Insn
X86InsData16 :: X86Insn
X86InsDec :: X86Insn
X86InsDiv :: X86Insn
X86InsDivpd :: X86Insn
X86InsDivps :: X86Insn
X86InsFdivr :: X86Insn
X86InsFidivr :: X86Insn
X86InsFdivrp :: X86Insn
X86InsDivsd :: X86Insn
X86InsDivss :: X86Insn
X86InsFdiv :: X86Insn
X86InsFidiv :: X86Insn
X86InsFdivp :: X86Insn
X86InsDppd :: X86Insn
X86InsDpps :: X86Insn
X86InsRet :: X86Insn
X86InsEncls :: X86Insn
X86InsEnclu :: X86Insn
X86InsEnter :: X86Insn
X86InsExtractps :: X86Insn
X86InsExtrq :: X86Insn
X86InsF2xm1 :: X86Insn
X86InsLcall :: X86Insn
X86InsLjmp :: X86Insn
X86InsFbld :: X86Insn
X86InsFbstp :: X86Insn
X86InsFcompp :: X86Insn
X86InsFdecstp :: X86Insn
X86InsFemms :: X86Insn
X86InsFfree :: X86Insn
X86InsFicom :: X86Insn
X86InsFicomp :: X86Insn
X86InsFincstp :: X86Insn
X86InsFldcw :: X86Insn
X86InsFldenv :: X86Insn
X86InsFldl2e :: X86Insn
X86InsFldl2t :: X86Insn
X86InsFldlg2 :: X86Insn
X86InsFldln2 :: X86Insn
X86InsFldpi :: X86Insn
X86InsFnclex :: X86Insn
X86InsFninit :: X86Insn
X86InsFnop :: X86Insn
X86InsFnstcw :: X86Insn
X86InsFnstsw :: X86Insn
X86InsFpatan :: X86Insn
X86InsFprem :: X86Insn
X86InsFprem1 :: X86Insn
X86InsFptan :: X86Insn
X86InsFfreep :: X86Insn
X86InsFrndint :: X86Insn
X86InsFrstor :: X86Insn
X86InsFnsave :: X86Insn
X86InsFscale :: X86Insn
X86InsFsetpm :: X86Insn
X86InsFsincos :: X86Insn
X86InsFnstenv :: X86Insn
X86InsFxam :: X86Insn
X86InsFxrstor :: X86Insn
X86InsFxrstor64 :: X86Insn
X86InsFxsave :: X86Insn
X86InsFxsave64 :: X86Insn
X86InsFxtract :: X86Insn
X86InsFyl2x :: X86Insn
X86InsFyl2xp1 :: X86Insn
X86InsMovapd :: X86Insn
X86InsMovaps :: X86Insn
X86InsOrpd :: X86Insn
X86InsOrps :: X86Insn
X86InsVmovapd :: X86Insn
X86InsVmovaps :: X86Insn
X86InsXorpd :: X86Insn
X86InsXorps :: X86Insn
X86InsGetsec :: X86Insn
X86InsHaddpd :: X86Insn
X86InsHaddps :: X86Insn
X86InsHlt :: X86Insn
X86InsHsubpd :: X86Insn
X86InsHsubps :: X86Insn
X86InsIdiv :: X86Insn
X86InsFild :: X86Insn
X86InsImul :: X86Insn
X86InsIn :: X86Insn
X86InsInc :: X86Insn
X86InsInsb :: X86Insn
X86InsInsertps :: X86Insn
X86InsInsertq :: X86Insn
X86InsInsd :: X86Insn
X86InsInsw :: X86Insn
X86InsInt :: X86Insn
X86InsInt1 :: X86Insn
X86InsInt3 :: X86Insn
X86InsInto :: X86Insn
X86InsInvd :: X86Insn
X86InsInvept :: X86Insn
X86InsInvlpg :: X86Insn
X86InsInvlpga :: X86Insn
X86InsInvpcid :: X86Insn
X86InsInvvpid :: X86Insn
X86InsIret :: X86Insn
X86InsIretd :: X86Insn
X86InsIretq :: X86Insn
X86InsFisttp :: X86Insn
X86InsFist :: X86Insn
X86InsFistp :: X86Insn
X86InsUcomisd :: X86Insn
X86InsUcomiss :: X86Insn
X86InsVcomisd :: X86Insn
X86InsVcomiss :: X86Insn
X86InsVcvtsd2ss :: X86Insn
X86InsVcvtsi2sd :: X86Insn
X86InsVcvtsi2ss :: X86Insn
X86InsVcvtss2sd :: X86Insn
X86InsVcvttsd2si :: X86Insn
X86InsVcvttsd2usi :: X86Insn
X86InsVcvttss2si :: X86Insn
X86InsVcvttss2usi :: X86Insn
X86InsVcvtusi2sd :: X86Insn
X86InsVcvtusi2ss :: X86Insn
X86InsVucomisd :: X86Insn
X86InsVucomiss :: X86Insn
X86InsJae :: X86Insn
X86InsJa :: X86Insn
X86InsJbe :: X86Insn
X86InsJb :: X86Insn
X86InsJcxz :: X86Insn
X86InsJecxz :: X86Insn
X86InsJe :: X86Insn
X86InsJge :: X86Insn
X86InsJg :: X86Insn
X86InsJle :: X86Insn
X86InsJl :: X86Insn
X86InsJmp :: X86Insn
X86InsJne :: X86Insn
X86InsJno :: X86Insn
X86InsJnp :: X86Insn
X86InsJns :: X86Insn
X86InsJo :: X86Insn
X86InsJp :: X86Insn
X86InsJrcxz :: X86Insn
X86InsJs :: X86Insn
X86InsKandb :: X86Insn
X86InsKandd :: X86Insn
X86InsKandnb :: X86Insn
X86InsKandnd :: X86Insn
X86InsKandnq :: X86Insn
X86InsKandnw :: X86Insn
X86InsKandq :: X86Insn
X86InsKandw :: X86Insn
X86InsKmovb :: X86Insn
X86InsKmovd :: X86Insn
X86InsKmovq :: X86Insn
X86InsKmovw :: X86Insn
X86InsKnotb :: X86Insn
X86InsKnotd :: X86Insn
X86InsKnotq :: X86Insn
X86InsKnotw :: X86Insn
X86InsKorb :: X86Insn
X86InsKord :: X86Insn
X86InsKorq :: X86Insn
X86InsKortestb :: X86Insn
X86InsKortestd :: X86Insn
X86InsKortestq :: X86Insn
X86InsKortestw :: X86Insn
X86InsKorw :: X86Insn
X86InsKshiftlb :: X86Insn
X86InsKshiftld :: X86Insn
X86InsKshiftlq :: X86Insn
X86InsKshiftlw :: X86Insn
X86InsKshiftrb :: X86Insn
X86InsKshiftrd :: X86Insn
X86InsKshiftrq :: X86Insn
X86InsKshiftrw :: X86Insn
X86InsKunpckbw :: X86Insn
X86InsKxnorb :: X86Insn
X86InsKxnord :: X86Insn
X86InsKxnorq :: X86Insn
X86InsKxnorw :: X86Insn
X86InsKxorb :: X86Insn
X86InsKxord :: X86Insn
X86InsKxorq :: X86Insn
X86InsKxorw :: X86Insn
X86InsLahf :: X86Insn
X86InsLar :: X86Insn
X86InsLddqu :: X86Insn
X86InsLdmxcsr :: X86Insn
X86InsLds :: X86Insn
X86InsFldz :: X86Insn
X86InsFld1 :: X86Insn
X86InsFld :: X86Insn
X86InsLea :: X86Insn
X86InsLeave :: X86Insn
X86InsLes :: X86Insn
X86InsLfence :: X86Insn
X86InsLfs :: X86Insn
X86InsLgdt :: X86Insn
X86InsLgs :: X86Insn
X86InsLidt :: X86Insn
X86InsLldt :: X86Insn
X86InsLmsw :: X86Insn
X86InsOr :: X86Insn
X86InsSub :: X86Insn
X86InsXor :: X86Insn
X86InsLodsb :: X86Insn
X86InsLodsd :: X86Insn
X86InsLodsq :: X86Insn
X86InsLodsw :: X86Insn
X86InsLoop :: X86Insn
X86InsLoope :: X86Insn
X86InsLoopne :: X86Insn
X86InsRetf :: X86Insn
X86InsRetfq :: X86Insn
X86InsLsl :: X86Insn
X86InsLss :: X86Insn
X86InsLtr :: X86Insn
X86InsXadd :: X86Insn
X86InsLzcnt :: X86Insn
X86InsMaskmovdqu :: X86Insn
X86InsMaxpd :: X86Insn
X86InsMaxps :: X86Insn
X86InsMaxsd :: X86Insn
X86InsMaxss :: X86Insn
X86InsMfence :: X86Insn
X86InsMinpd :: X86Insn
X86InsMinps :: X86Insn
X86InsMinsd :: X86Insn
X86InsMinss :: X86Insn
X86InsCvtpd2pi :: X86Insn
X86InsCvtpi2pd :: X86Insn
X86InsCvtpi2ps :: X86Insn
X86InsCvtps2pi :: X86Insn
X86InsCvttpd2pi :: X86Insn
X86InsCvttps2pi :: X86Insn
X86InsEmms :: X86Insn
X86InsMaskmovq :: X86Insn
X86InsMovd :: X86Insn
X86InsMovdq2q :: X86Insn
X86InsMovntq :: X86Insn
X86InsMovq2dq :: X86Insn
X86InsMovq :: X86Insn
X86InsPabsb :: X86Insn
X86InsPabsd :: X86Insn
X86InsPabsw :: X86Insn
X86InsPackssdw :: X86Insn
X86InsPacksswb :: X86Insn
X86InsPackuswb :: X86Insn
X86InsPaddb :: X86Insn
X86InsPaddd :: X86Insn
X86InsPaddq :: X86Insn
X86InsPaddsb :: X86Insn
X86InsPaddsw :: X86Insn
X86InsPaddusb :: X86Insn
X86InsPaddusw :: X86Insn
X86InsPaddw :: X86Insn
X86InsPalignr :: X86Insn
X86InsPandn :: X86Insn
X86InsPand :: X86Insn
X86InsPavgb :: X86Insn
X86InsPavgw :: X86Insn
X86InsPcmpeqb :: X86Insn
X86InsPcmpeqd :: X86Insn
X86InsPcmpeqw :: X86Insn
X86InsPcmpgtb :: X86Insn
X86InsPcmpgtd :: X86Insn
X86InsPcmpgtw :: X86Insn
X86InsPextrw :: X86Insn
X86InsPhaddsw :: X86Insn
X86InsPhaddw :: X86Insn
X86InsPhaddd :: X86Insn
X86InsPhsubd :: X86Insn
X86InsPhsubsw :: X86Insn
X86InsPhsubw :: X86Insn
X86InsPinsrw :: X86Insn
X86InsPmaddubsw :: X86Insn
X86InsPmaddwd :: X86Insn
X86InsPmaxsw :: X86Insn
X86InsPmaxub :: X86Insn
X86InsPminsw :: X86Insn
X86InsPminub :: X86Insn
X86InsPmovmskb :: X86Insn
X86InsPmulhrsw :: X86Insn
X86InsPmulhuw :: X86Insn
X86InsPmulhw :: X86Insn
X86InsPmullw :: X86Insn
X86InsPmuludq :: X86Insn
X86InsPor :: X86Insn
X86InsPsadbw :: X86Insn
X86InsPshufb :: X86Insn
X86InsPshufw :: X86Insn
X86InsPsignb :: X86Insn
X86InsPsignd :: X86Insn
X86InsPsignw :: X86Insn
X86InsPslld :: X86Insn
X86InsPsllq :: X86Insn
X86InsPsllw :: X86Insn
X86InsPsrad :: X86Insn
X86InsPsraw :: X86Insn
X86InsPsrld :: X86Insn
X86InsPsrlq :: X86Insn
X86InsPsrlw :: X86Insn
X86InsPsubb :: X86Insn
X86InsPsubd :: X86Insn
X86InsPsubq :: X86Insn
X86InsPsubsb :: X86Insn
X86InsPsubsw :: X86Insn
X86InsPsubusb :: X86Insn
X86InsPsubusw :: X86Insn
X86InsPsubw :: X86Insn
X86InsPunpckhbw :: X86Insn
X86InsPunpckhdq :: X86Insn
X86InsPunpckhwd :: X86Insn
X86InsPunpcklbw :: X86Insn
X86InsPunpckldq :: X86Insn
X86InsPunpcklwd :: X86Insn
X86InsPxor :: X86Insn
X86InsMonitor :: X86Insn
X86InsMontmul :: X86Insn
X86InsMov :: X86Insn
X86InsMovabs :: X86Insn
X86InsMovbe :: X86Insn
X86InsMovddup :: X86Insn
X86InsMovdqa :: X86Insn
X86InsMovdqu :: X86Insn
X86InsMovhlps :: X86Insn
X86InsMovhpd :: X86Insn
X86InsMovhps :: X86Insn
X86InsMovlhps :: X86Insn
X86InsMovlpd :: X86Insn
X86InsMovlps :: X86Insn
X86InsMovmskpd :: X86Insn
X86InsMovmskps :: X86Insn
X86InsMovntdqa :: X86Insn
X86InsMovntdq :: X86Insn
X86InsMovnti :: X86Insn
X86InsMovntpd :: X86Insn
X86InsMovntps :: X86Insn
X86InsMovntsd :: X86Insn
X86InsMovntss :: X86Insn
X86InsMovsb :: X86Insn
X86InsMovsd :: X86Insn
X86InsMovshdup :: X86Insn
X86InsMovsldup :: X86Insn
X86InsMovsq :: X86Insn
X86InsMovss :: X86Insn
X86InsMovsw :: X86Insn
X86InsMovsx :: X86Insn
X86InsMovsxd :: X86Insn
X86InsMovupd :: X86Insn
X86InsMovups :: X86Insn
X86InsMovzx :: X86Insn
X86InsMpsadbw :: X86Insn
X86InsMul :: X86Insn
X86InsMulpd :: X86Insn
X86InsMulps :: X86Insn
X86InsMulsd :: X86Insn
X86InsMulss :: X86Insn
X86InsMulx :: X86Insn
X86InsFmul :: X86Insn
X86InsFimul :: X86Insn
X86InsFmulp :: X86Insn
X86InsMwait :: X86Insn
X86InsNeg :: X86Insn
X86InsNop :: X86Insn
X86InsNot :: X86Insn
X86InsOut :: X86Insn
X86InsOutsb :: X86Insn
X86InsOutsd :: X86Insn
X86InsOutsw :: X86Insn
X86InsPackusdw :: X86Insn
X86InsPause :: X86Insn
X86InsPavgusb :: X86Insn
X86InsPblendvb :: X86Insn
X86InsPblendw :: X86Insn
X86InsPclmulqdq :: X86Insn
X86InsPcmpeqq :: X86Insn
X86InsPcmpestri :: X86Insn
X86InsPcmpestrm :: X86Insn
X86InsPcmpgtq :: X86Insn
X86InsPcmpistri :: X86Insn
X86InsPcmpistrm :: X86Insn
X86InsPcommit :: X86Insn
X86InsPdep :: X86Insn
X86InsPext :: X86Insn
X86InsPextrb :: X86Insn
X86InsPextrd :: X86Insn
X86InsPextrq :: X86Insn
X86InsPf2id :: X86Insn
X86InsPf2iw :: X86Insn
X86InsPfacc :: X86Insn
X86InsPfadd :: X86Insn
X86InsPfcmpeq :: X86Insn
X86InsPfcmpge :: X86Insn
X86InsPfcmpgt :: X86Insn
X86InsPfmax :: X86Insn
X86InsPfmin :: X86Insn
X86InsPfmul :: X86Insn
X86InsPfnacc :: X86Insn
X86InsPfpnacc :: X86Insn
X86InsPfrcpit1 :: X86Insn
X86InsPfrcpit2 :: X86Insn
X86InsPfrcp :: X86Insn
X86InsPfrsqit1 :: X86Insn
X86InsPfrsqrt :: X86Insn
X86InsPfsubr :: X86Insn
X86InsPfsub :: X86Insn
X86InsPhminposuw :: X86Insn
X86InsPi2fd :: X86Insn
X86InsPi2fw :: X86Insn
X86InsPinsrb :: X86Insn
X86InsPinsrd :: X86Insn
X86InsPinsrq :: X86Insn
X86InsPmaxsb :: X86Insn
X86InsPmaxsd :: X86Insn
X86InsPmaxud :: X86Insn
X86InsPmaxuw :: X86Insn
X86InsPminsb :: X86Insn
X86InsPminsd :: X86Insn
X86InsPminud :: X86Insn
X86InsPminuw :: X86Insn
X86InsPmovsxbd :: X86Insn
X86InsPmovsxbq :: X86Insn
X86InsPmovsxbw :: X86Insn
X86InsPmovsxdq :: X86Insn
X86InsPmovsxwd :: X86Insn
X86InsPmovsxwq :: X86Insn
X86InsPmovzxbd :: X86Insn
X86InsPmovzxbq :: X86Insn
X86InsPmovzxbw :: X86Insn
X86InsPmovzxdq :: X86Insn
X86InsPmovzxwd :: X86Insn
X86InsPmovzxwq :: X86Insn
X86InsPmuldq :: X86Insn
X86InsPmulhrw :: X86Insn
X86InsPmulld :: X86Insn
X86InsPop :: X86Insn
X86InsPopaw :: X86Insn
X86InsPopal :: X86Insn
X86InsPopcnt :: X86Insn
X86InsPopf :: X86Insn
X86InsPopfd :: X86Insn
X86InsPopfq :: X86Insn
X86InsPrefetch :: X86Insn
X86InsPrefetchnta :: X86Insn
X86InsPrefetcht0 :: X86Insn
X86InsPrefetcht1 :: X86Insn
X86InsPrefetcht2 :: X86Insn
X86InsPrefetchw :: X86Insn
X86InsPshufd :: X86Insn
X86InsPshufhw :: X86Insn
X86InsPshuflw :: X86Insn
X86InsPslldq :: X86Insn
X86InsPsrldq :: X86Insn
X86InsPswapd :: X86Insn
X86InsPtest :: X86Insn
X86InsPunpckhqdq :: X86Insn
X86InsPunpcklqdq :: X86Insn
X86InsPush :: X86Insn
X86InsPushaw :: X86Insn
X86InsPushal :: X86Insn
X86InsPushf :: X86Insn
X86InsPushfd :: X86Insn
X86InsPushfq :: X86Insn
X86InsRcl :: X86Insn
X86InsRcpps :: X86Insn
X86InsRcpss :: X86Insn
X86InsRcr :: X86Insn
X86InsRdfsbase :: X86Insn
X86InsRdgsbase :: X86Insn
X86InsRdmsr :: X86Insn
X86InsRdpmc :: X86Insn
X86InsRdrand :: X86Insn
X86InsRdseed :: X86Insn
X86InsRdtsc :: X86Insn
X86InsRdtscp :: X86Insn
X86InsRol :: X86Insn
X86InsRor :: X86Insn
X86InsRorx :: X86Insn
X86InsRoundpd :: X86Insn
X86InsRoundps :: X86Insn
X86InsRoundsd :: X86Insn
X86InsRoundss :: X86Insn
X86InsRsm :: X86Insn
X86InsRsqrtps :: X86Insn
X86InsRsqrtss :: X86Insn
X86InsSahf :: X86Insn
X86InsSal :: X86Insn
X86InsSalc :: X86Insn
X86InsSar :: X86Insn
X86InsSarx :: X86Insn
X86InsSbb :: X86Insn
X86InsScasb :: X86Insn
X86InsScasd :: X86Insn
X86InsScasq :: X86Insn
X86InsScasw :: X86Insn
X86InsSetae :: X86Insn
X86InsSeta :: X86Insn
X86InsSetbe :: X86Insn
X86InsSetb :: X86Insn
X86InsSete :: X86Insn
X86InsSetge :: X86Insn
X86InsSetg :: X86Insn
X86InsSetle :: X86Insn
X86InsSetl :: X86Insn
X86InsSetne :: X86Insn
X86InsSetno :: X86Insn
X86InsSetnp :: X86Insn
X86InsSetns :: X86Insn
X86InsSeto :: X86Insn
X86InsSetp :: X86Insn
X86InsSets :: X86Insn
X86InsSfence :: X86Insn
X86InsSgdt :: X86Insn
X86InsSha1msg1 :: X86Insn
X86InsSha1msg2 :: X86Insn
X86InsSha1nexte :: X86Insn
X86InsSha1rnds4 :: X86Insn
X86InsSha256msg1 :: X86Insn
X86InsSha256msg2 :: X86Insn
X86InsSha256rnds2 :: X86Insn
X86InsShl :: X86Insn
X86InsShld :: X86Insn
X86InsShlx :: X86Insn
X86InsShr :: X86Insn
X86InsShrd :: X86Insn
X86InsShrx :: X86Insn
X86InsShufpd :: X86Insn
X86InsShufps :: X86Insn
X86InsSidt :: X86Insn
X86InsFsin :: X86Insn
X86InsSkinit :: X86Insn
X86InsSldt :: X86Insn
X86InsSmsw :: X86Insn
X86InsSqrtpd :: X86Insn
X86InsSqrtps :: X86Insn
X86InsSqrtsd :: X86Insn
X86InsSqrtss :: X86Insn
X86InsFsqrt :: X86Insn
X86InsStac :: X86Insn
X86InsStc :: X86Insn
X86InsStd :: X86Insn
X86InsStgi :: X86Insn
X86InsSti :: X86Insn
X86InsStmxcsr :: X86Insn
X86InsStosb :: X86Insn
X86InsStosd :: X86Insn
X86InsStosq :: X86Insn
X86InsStosw :: X86Insn
X86InsStr :: X86Insn
X86InsFst :: X86Insn
X86InsFstp :: X86Insn
X86InsFstpnce :: X86Insn
X86InsFxch :: X86Insn
X86InsSubpd :: X86Insn
X86InsSubps :: X86Insn
X86InsFsubr :: X86Insn
X86InsFisubr :: X86Insn
X86InsFsubrp :: X86Insn
X86InsSubsd :: X86Insn
X86InsSubss :: X86Insn
X86InsFsub :: X86Insn
X86InsFisub :: X86Insn
X86InsFsubp :: X86Insn
X86InsSwapgs :: X86Insn
X86InsSyscall :: X86Insn
X86InsSysenter :: X86Insn
X86InsSysexit :: X86Insn
X86InsSysret :: X86Insn
X86InsT1mskc :: X86Insn
X86InsTest :: X86Insn
X86InsUd2 :: X86Insn
X86InsFtst :: X86Insn
X86InsTzcnt :: X86Insn
X86InsTzmsk :: X86Insn
X86InsFucomip :: X86Insn
X86InsFucomi :: X86Insn
X86InsFucompp :: X86Insn
X86InsFucomp :: X86Insn
X86InsFucom :: X86Insn
X86InsUd2b :: X86Insn
X86InsUnpckhpd :: X86Insn
X86InsUnpckhps :: X86Insn
X86InsUnpcklpd :: X86Insn
X86InsUnpcklps :: X86Insn
X86InsVaddpd :: X86Insn
X86InsVaddps :: X86Insn
X86InsVaddsd :: X86Insn
X86InsVaddss :: X86Insn
X86InsVaddsubpd :: X86Insn
X86InsVaddsubps :: X86Insn
X86InsVaesdeclast :: X86Insn
X86InsVaesdec :: X86Insn
X86InsVaesenclast :: X86Insn
X86InsVaesenc :: X86Insn
X86InsVaesimc :: X86Insn
X86InsVaeskeygenassist :: X86Insn
X86InsValignd :: X86Insn
X86InsValignq :: X86Insn
X86InsVandnpd :: X86Insn
X86InsVandnps :: X86Insn
X86InsVandpd :: X86Insn
X86InsVandps :: X86Insn
X86InsVblendmpd :: X86Insn
X86InsVblendmps :: X86Insn
X86InsVblendpd :: X86Insn
X86InsVblendps :: X86Insn
X86InsVblendvpd :: X86Insn
X86InsVblendvps :: X86Insn
X86InsVbroadcastf128 :: X86Insn
X86InsVbroadcasti32x4 :: X86Insn
X86InsVbroadcasti64x4 :: X86Insn
X86InsVbroadcastsd :: X86Insn
X86InsVbroadcastss :: X86Insn
X86InsVcompresspd :: X86Insn
X86InsVcompressps :: X86Insn
X86InsVcvtdq2pd :: X86Insn
X86InsVcvtdq2ps :: X86Insn
X86InsVcvtpd2dqx :: X86Insn
X86InsVcvtpd2dq :: X86Insn
X86InsVcvtpd2psx :: X86Insn
X86InsVcvtpd2ps :: X86Insn
X86InsVcvtpd2udq :: X86Insn
X86InsVcvtph2ps :: X86Insn
X86InsVcvtps2dq :: X86Insn
X86InsVcvtps2pd :: X86Insn
X86InsVcvtps2ph :: X86Insn
X86InsVcvtps2udq :: X86Insn
X86InsVcvtsd2si :: X86Insn
X86InsVcvtsd2usi :: X86Insn
X86InsVcvtss2si :: X86Insn
X86InsVcvtss2usi :: X86Insn
X86InsVcvttpd2dqx :: X86Insn
X86InsVcvttpd2dq :: X86Insn
X86InsVcvttpd2udq :: X86Insn
X86InsVcvttps2dq :: X86Insn
X86InsVcvttps2udq :: X86Insn
X86InsVcvtudq2pd :: X86Insn
X86InsVcvtudq2ps :: X86Insn
X86InsVdivpd :: X86Insn
X86InsVdivps :: X86Insn
X86InsVdivsd :: X86Insn
X86InsVdivss :: X86Insn
X86InsVdppd :: X86Insn
X86InsVdpps :: X86Insn
X86InsVerr :: X86Insn
X86InsVerw :: X86Insn
X86InsVexp2pd :: X86Insn
X86InsVexp2ps :: X86Insn
X86InsVexpandpd :: X86Insn
X86InsVexpandps :: X86Insn
X86InsVextractf128 :: X86Insn
X86InsVextractf32x4 :: X86Insn
X86InsVextractf64x4 :: X86Insn
X86InsVextracti128 :: X86Insn
X86InsVextracti32x4 :: X86Insn
X86InsVextracti64x4 :: X86Insn
X86InsVextractps :: X86Insn
X86InsVfmadd132pd :: X86Insn
X86InsVfmadd132ps :: X86Insn
X86InsVfmaddpd :: X86Insn
X86InsVfmadd213pd :: X86Insn
X86InsVfmadd231pd :: X86Insn
X86InsVfmaddps :: X86Insn
X86InsVfmadd213ps :: X86Insn
X86InsVfmadd231ps :: X86Insn
X86InsVfmaddsd :: X86Insn
X86InsVfmadd213sd :: X86Insn
X86InsVfmadd132sd :: X86Insn
X86InsVfmadd231sd :: X86Insn
X86InsVfmaddss :: X86Insn
X86InsVfmadd213ss :: X86Insn
X86InsVfmadd132ss :: X86Insn
X86InsVfmadd231ss :: X86Insn
X86InsVfmaddsub132pd :: X86Insn
X86InsVfmaddsub132ps :: X86Insn
X86InsVfmaddsubpd :: X86Insn
X86InsVfmaddsub213pd :: X86Insn
X86InsVfmaddsub231pd :: X86Insn
X86InsVfmaddsubps :: X86Insn
X86InsVfmaddsub213ps :: X86Insn
X86InsVfmaddsub231ps :: X86Insn
X86InsVfmsub132pd :: X86Insn
X86InsVfmsub132ps :: X86Insn
X86InsVfmsubadd132pd :: X86Insn
X86InsVfmsubadd132ps :: X86Insn
X86InsVfmsubaddpd :: X86Insn
X86InsVfmsubadd213pd :: X86Insn
X86InsVfmsubadd231pd :: X86Insn
X86InsVfmsubaddps :: X86Insn
X86InsVfmsubadd213ps :: X86Insn
X86InsVfmsubadd231ps :: X86Insn
X86InsVfmsubpd :: X86Insn
X86InsVfmsub213pd :: X86Insn
X86InsVfmsub231pd :: X86Insn
X86InsVfmsubps :: X86Insn
X86InsVfmsub213ps :: X86Insn
X86InsVfmsub231ps :: X86Insn
X86InsVfmsubsd :: X86Insn
X86InsVfmsub213sd :: X86Insn
X86InsVfmsub132sd :: X86Insn
X86InsVfmsub231sd :: X86Insn
X86InsVfmsubss :: X86Insn
X86InsVfmsub213ss :: X86Insn
X86InsVfmsub132ss :: X86Insn
X86InsVfmsub231ss :: X86Insn
X86InsVfnmadd132pd :: X86Insn
X86InsVfnmadd132ps :: X86Insn
X86InsVfnmaddpd :: X86Insn
X86InsVfnmadd213pd :: X86Insn
X86InsVfnmadd231pd :: X86Insn
X86InsVfnmaddps :: X86Insn
X86InsVfnmadd213ps :: X86Insn
X86InsVfnmadd231ps :: X86Insn
X86InsVfnmaddsd :: X86Insn
X86InsVfnmadd213sd :: X86Insn
X86InsVfnmadd132sd :: X86Insn
X86InsVfnmadd231sd :: X86Insn
X86InsVfnmaddss :: X86Insn
X86InsVfnmadd213ss :: X86Insn
X86InsVfnmadd132ss :: X86Insn
X86InsVfnmadd231ss :: X86Insn
X86InsVfnmsub132pd :: X86Insn
X86InsVfnmsub132ps :: X86Insn
X86InsVfnmsubpd :: X86Insn
X86InsVfnmsub213pd :: X86Insn
X86InsVfnmsub231pd :: X86Insn
X86InsVfnmsubps :: X86Insn
X86InsVfnmsub213ps :: X86Insn
X86InsVfnmsub231ps :: X86Insn
X86InsVfnmsubsd :: X86Insn
X86InsVfnmsub213sd :: X86Insn
X86InsVfnmsub132sd :: X86Insn
X86InsVfnmsub231sd :: X86Insn
X86InsVfnmsubss :: X86Insn
X86InsVfnmsub213ss :: X86Insn
X86InsVfnmsub132ss :: X86Insn
X86InsVfnmsub231ss :: X86Insn
X86InsVfrczpd :: X86Insn
X86InsVfrczps :: X86Insn
X86InsVfrczsd :: X86Insn
X86InsVfrczss :: X86Insn
X86InsVorpd :: X86Insn
X86InsVorps :: X86Insn
X86InsVxorpd :: X86Insn
X86InsVxorps :: X86Insn
X86InsVgatherdpd :: X86Insn
X86InsVgatherdps :: X86Insn
X86InsVgatherpf0dpd :: X86Insn
X86InsVgatherpf0dps :: X86Insn
X86InsVgatherpf0qpd :: X86Insn
X86InsVgatherpf0qps :: X86Insn
X86InsVgatherpf1dpd :: X86Insn
X86InsVgatherpf1dps :: X86Insn
X86InsVgatherpf1qpd :: X86Insn
X86InsVgatherpf1qps :: X86Insn
X86InsVgatherqpd :: X86Insn
X86InsVgatherqps :: X86Insn
X86InsVhaddpd :: X86Insn
X86InsVhaddps :: X86Insn
X86InsVhsubpd :: X86Insn
X86InsVhsubps :: X86Insn
X86InsVinsertf128 :: X86Insn
X86InsVinsertf32x4 :: X86Insn
X86InsVinsertf32x8 :: X86Insn
X86InsVinsertf64x2 :: X86Insn
X86InsVinsertf64x4 :: X86Insn
X86InsVinserti128 :: X86Insn
X86InsVinserti32x4 :: X86Insn
X86InsVinserti32x8 :: X86Insn
X86InsVinserti64x2 :: X86Insn
X86InsVinserti64x4 :: X86Insn
X86InsVinsertps :: X86Insn
X86InsVlddqu :: X86Insn
X86InsVldmxcsr :: X86Insn
X86InsVmaskmovdqu :: X86Insn
X86InsVmaskmovpd :: X86Insn
X86InsVmaskmovps :: X86Insn
X86InsVmaxpd :: X86Insn
X86InsVmaxps :: X86Insn
X86InsVmaxsd :: X86Insn
X86InsVmaxss :: X86Insn
X86InsVmcall :: X86Insn
X86InsVmclear :: X86Insn
X86InsVmfunc :: X86Insn
X86InsVminpd :: X86Insn
X86InsVminps :: X86Insn
X86InsVminsd :: X86Insn
X86InsVminss :: X86Insn
X86InsVmlaunch :: X86Insn
X86InsVmload :: X86Insn
X86InsVmmcall :: X86Insn
X86InsVmovq :: X86Insn
X86InsVmovddup :: X86Insn
X86InsVmovd :: X86Insn
X86InsVmovdqa32 :: X86Insn
X86InsVmovdqa64 :: X86Insn
X86InsVmovdqa :: X86Insn
X86InsVmovdqu16 :: X86Insn
X86InsVmovdqu32 :: X86Insn
X86InsVmovdqu64 :: X86Insn
X86InsVmovdqu8 :: X86Insn
X86InsVmovdqu :: X86Insn
X86InsVmovhlps :: X86Insn
X86InsVmovhpd :: X86Insn
X86InsVmovhps :: X86Insn
X86InsVmovlhps :: X86Insn
X86InsVmovlpd :: X86Insn
X86InsVmovlps :: X86Insn
X86InsVmovmskpd :: X86Insn
X86InsVmovmskps :: X86Insn
X86InsVmovntdqa :: X86Insn
X86InsVmovntdq :: X86Insn
X86InsVmovntpd :: X86Insn
X86InsVmovntps :: X86Insn
X86InsVmovsd :: X86Insn
X86InsVmovshdup :: X86Insn
X86InsVmovsldup :: X86Insn
X86InsVmovss :: X86Insn
X86InsVmovupd :: X86Insn
X86InsVmovups :: X86Insn
X86InsVmpsadbw :: X86Insn
X86InsVmptrld :: X86Insn
X86InsVmptrst :: X86Insn
X86InsVmread :: X86Insn
X86InsVmresume :: X86Insn
X86InsVmrun :: X86Insn
X86InsVmsave :: X86Insn
X86InsVmulpd :: X86Insn
X86InsVmulps :: X86Insn
X86InsVmulsd :: X86Insn
X86InsVmulss :: X86Insn
X86InsVmwrite :: X86Insn
X86InsVmxoff :: X86Insn
X86InsVmxon :: X86Insn
X86InsVpabsb :: X86Insn
X86InsVpabsd :: X86Insn
X86InsVpabsq :: X86Insn
X86InsVpabsw :: X86Insn
X86InsVpackssdw :: X86Insn
X86InsVpacksswb :: X86Insn
X86InsVpackusdw :: X86Insn
X86InsVpackuswb :: X86Insn
X86InsVpaddb :: X86Insn
X86InsVpaddd :: X86Insn
X86InsVpaddq :: X86Insn
X86InsVpaddsb :: X86Insn
X86InsVpaddsw :: X86Insn
X86InsVpaddusb :: X86Insn
X86InsVpaddusw :: X86Insn
X86InsVpaddw :: X86Insn
X86InsVpalignr :: X86Insn
X86InsVpandd :: X86Insn
X86InsVpandnd :: X86Insn
X86InsVpandnq :: X86Insn
X86InsVpandn :: X86Insn
X86InsVpandq :: X86Insn
X86InsVpand :: X86Insn
X86InsVpavgb :: X86Insn
X86InsVpavgw :: X86Insn
X86InsVpblendd :: X86Insn
X86InsVpblendmb :: X86Insn
X86InsVpblendmd :: X86Insn
X86InsVpblendmq :: X86Insn
X86InsVpblendmw :: X86Insn
X86InsVpblendvb :: X86Insn
X86InsVpblendw :: X86Insn
X86InsVpbroadcastb :: X86Insn
X86InsVpbroadcastd :: X86Insn
X86InsVpbroadcastmb2q :: X86Insn
X86InsVpbroadcastmw2d :: X86Insn
X86InsVpbroadcastq :: X86Insn
X86InsVpbroadcastw :: X86Insn
X86InsVpclmulqdq :: X86Insn
X86InsVpcmov :: X86Insn
X86InsVpcmpb :: X86Insn
X86InsVpcmpd :: X86Insn
X86InsVpcmpeqb :: X86Insn
X86InsVpcmpeqd :: X86Insn
X86InsVpcmpeqq :: X86Insn
X86InsVpcmpeqw :: X86Insn
X86InsVpcmpestri :: X86Insn
X86InsVpcmpestrm :: X86Insn
X86InsVpcmpgtb :: X86Insn
X86InsVpcmpgtd :: X86Insn
X86InsVpcmpgtq :: X86Insn
X86InsVpcmpgtw :: X86Insn
X86InsVpcmpistri :: X86Insn
X86InsVpcmpistrm :: X86Insn
X86InsVpcmpq :: X86Insn
X86InsVpcmpub :: X86Insn
X86InsVpcmpud :: X86Insn
X86InsVpcmpuq :: X86Insn
X86InsVpcmpuw :: X86Insn
X86InsVpcmpw :: X86Insn
X86InsVpcomb :: X86Insn
X86InsVpcomd :: X86Insn
X86InsVpcompressd :: X86Insn
X86InsVpcompressq :: X86Insn
X86InsVpcomq :: X86Insn
X86InsVpcomub :: X86Insn
X86InsVpcomud :: X86Insn
X86InsVpcomuq :: X86Insn
X86InsVpcomuw :: X86Insn
X86InsVpcomw :: X86Insn
X86InsVpconflictd :: X86Insn
X86InsVpconflictq :: X86Insn
X86InsVperm2f128 :: X86Insn
X86InsVperm2i128 :: X86Insn
X86InsVpermd :: X86Insn
X86InsVpermi2d :: X86Insn
X86InsVpermi2pd :: X86Insn
X86InsVpermi2ps :: X86Insn
X86InsVpermi2q :: X86Insn
X86InsVpermil2pd :: X86Insn
X86InsVpermil2ps :: X86Insn
X86InsVpermilpd :: X86Insn
X86InsVpermilps :: X86Insn
X86InsVpermpd :: X86Insn
X86InsVpermps :: X86Insn
X86InsVpermq :: X86Insn
X86InsVpermt2d :: X86Insn
X86InsVpermt2pd :: X86Insn
X86InsVpermt2ps :: X86Insn
X86InsVpermt2q :: X86Insn
X86InsVpexpandd :: X86Insn
X86InsVpexpandq :: X86Insn
X86InsVpextrb :: X86Insn
X86InsVpextrd :: X86Insn
X86InsVpextrq :: X86Insn
X86InsVpextrw :: X86Insn
X86InsVpgatherdd :: X86Insn
X86InsVpgatherdq :: X86Insn
X86InsVpgatherqd :: X86Insn
X86InsVpgatherqq :: X86Insn
X86InsVphaddbd :: X86Insn
X86InsVphaddbq :: X86Insn
X86InsVphaddbw :: X86Insn
X86InsVphadddq :: X86Insn
X86InsVphaddd :: X86Insn
X86InsVphaddsw :: X86Insn
X86InsVphaddubd :: X86Insn
X86InsVphaddubq :: X86Insn
X86InsVphaddubw :: X86Insn
X86InsVphaddudq :: X86Insn
X86InsVphadduwd :: X86Insn
X86InsVphadduwq :: X86Insn
X86InsVphaddwd :: X86Insn
X86InsVphaddwq :: X86Insn
X86InsVphaddw :: X86Insn
X86InsVphminposuw :: X86Insn
X86InsVphsubbw :: X86Insn
X86InsVphsubdq :: X86Insn
X86InsVphsubd :: X86Insn
X86InsVphsubsw :: X86Insn
X86InsVphsubwd :: X86Insn
X86InsVphsubw :: X86Insn
X86InsVpinsrb :: X86Insn
X86InsVpinsrd :: X86Insn
X86InsVpinsrq :: X86Insn
X86InsVpinsrw :: X86Insn
X86InsVplzcntd :: X86Insn
X86InsVplzcntq :: X86Insn
X86InsVpmacsdd :: X86Insn
X86InsVpmacsdqh :: X86Insn
X86InsVpmacsdql :: X86Insn
X86InsVpmacssdd :: X86Insn
X86InsVpmacssdqh :: X86Insn
X86InsVpmacssdql :: X86Insn
X86InsVpmacsswd :: X86Insn
X86InsVpmacssww :: X86Insn
X86InsVpmacswd :: X86Insn
X86InsVpmacsww :: X86Insn
X86InsVpmadcsswd :: X86Insn
X86InsVpmadcswd :: X86Insn
X86InsVpmaddubsw :: X86Insn
X86InsVpmaddwd :: X86Insn
X86InsVpmaskmovd :: X86Insn
X86InsVpmaskmovq :: X86Insn
X86InsVpmaxsb :: X86Insn
X86InsVpmaxsd :: X86Insn
X86InsVpmaxsq :: X86Insn
X86InsVpmaxsw :: X86Insn
X86InsVpmaxub :: X86Insn
X86InsVpmaxud :: X86Insn
X86InsVpmaxuq :: X86Insn
X86InsVpmaxuw :: X86Insn
X86InsVpminsb :: X86Insn
X86InsVpminsd :: X86Insn
X86InsVpminsq :: X86Insn
X86InsVpminsw :: X86Insn
X86InsVpminub :: X86Insn
X86InsVpminud :: X86Insn
X86InsVpminuq :: X86Insn
X86InsVpminuw :: X86Insn
X86InsVpmovdb :: X86Insn
X86InsVpmovdw :: X86Insn
X86InsVpmovm2b :: X86Insn
X86InsVpmovm2d :: X86Insn
X86InsVpmovm2q :: X86Insn
X86InsVpmovm2w :: X86Insn
X86InsVpmovmskb :: X86Insn
X86InsVpmovqb :: X86Insn
X86InsVpmovqd :: X86Insn
X86InsVpmovqw :: X86Insn
X86InsVpmovsdb :: X86Insn
X86InsVpmovsdw :: X86Insn
X86InsVpmovsqb :: X86Insn
X86InsVpmovsqd :: X86Insn
X86InsVpmovsqw :: X86Insn
X86InsVpmovsxbd :: X86Insn
X86InsVpmovsxbq :: X86Insn
X86InsVpmovsxbw :: X86Insn
X86InsVpmovsxdq :: X86Insn
X86InsVpmovsxwd :: X86Insn
X86InsVpmovsxwq :: X86Insn
X86InsVpmovusdb :: X86Insn
X86InsVpmovusdw :: X86Insn
X86InsVpmovusqb :: X86Insn
X86InsVpmovusqd :: X86Insn
X86InsVpmovusqw :: X86Insn
X86InsVpmovzxbd :: X86Insn
X86InsVpmovzxbq :: X86Insn
X86InsVpmovzxbw :: X86Insn
X86InsVpmovzxdq :: X86Insn
X86InsVpmovzxwd :: X86Insn
X86InsVpmovzxwq :: X86Insn
X86InsVpmuldq :: X86Insn
X86InsVpmulhrsw :: X86Insn
X86InsVpmulhuw :: X86Insn
X86InsVpmulhw :: X86Insn
X86InsVpmulld :: X86Insn
X86InsVpmullq :: X86Insn
X86InsVpmullw :: X86Insn
X86InsVpmuludq :: X86Insn
X86InsVpord :: X86Insn
X86InsVporq :: X86Insn
X86InsVpor :: X86Insn
X86InsVpperm :: X86Insn
X86InsVprotb :: X86Insn
X86InsVprotd :: X86Insn
X86InsVprotq :: X86Insn
X86InsVprotw :: X86Insn
X86InsVpsadbw :: X86Insn
X86InsVpscatterdd :: X86Insn
X86InsVpscatterdq :: X86Insn
X86InsVpscatterqd :: X86Insn
X86InsVpscatterqq :: X86Insn
X86InsVpshab :: X86Insn
X86InsVpshad :: X86Insn
X86InsVpshaq :: X86Insn
X86InsVpshaw :: X86Insn
X86InsVpshlb :: X86Insn
X86InsVpshld :: X86Insn
X86InsVpshlq :: X86Insn
X86InsVpshlw :: X86Insn
X86InsVpshufb :: X86Insn
X86InsVpshufd :: X86Insn
X86InsVpshufhw :: X86Insn
X86InsVpshuflw :: X86Insn
X86InsVpsignb :: X86Insn
X86InsVpsignd :: X86Insn
X86InsVpsignw :: X86Insn
X86InsVpslldq :: X86Insn
X86InsVpslld :: X86Insn
X86InsVpsllq :: X86Insn
X86InsVpsllvd :: X86Insn
X86InsVpsllvq :: X86Insn
X86InsVpsllw :: X86Insn
X86InsVpsrad :: X86Insn
X86InsVpsraq :: X86Insn
X86InsVpsravd :: X86Insn
X86InsVpsravq :: X86Insn
X86InsVpsraw :: X86Insn
X86InsVpsrldq :: X86Insn
X86InsVpsrld :: X86Insn
X86InsVpsrlq :: X86Insn
X86InsVpsrlvd :: X86Insn
X86InsVpsrlvq :: X86Insn
X86InsVpsrlw :: X86Insn
X86InsVpsubb :: X86Insn
X86InsVpsubd :: X86Insn
X86InsVpsubq :: X86Insn
X86InsVpsubsb :: X86Insn
X86InsVpsubsw :: X86Insn
X86InsVpsubusb :: X86Insn
X86InsVpsubusw :: X86Insn
X86InsVpsubw :: X86Insn
X86InsVptestmd :: X86Insn
X86InsVptestmq :: X86Insn
X86InsVptestnmd :: X86Insn
X86InsVptestnmq :: X86Insn
X86InsVptest :: X86Insn
X86InsVpunpckhbw :: X86Insn
X86InsVpunpckhdq :: X86Insn
X86InsVpunpckhqdq :: X86Insn
X86InsVpunpckhwd :: X86Insn
X86InsVpunpcklbw :: X86Insn
X86InsVpunpckldq :: X86Insn
X86InsVpunpcklqdq :: X86Insn
X86InsVpunpcklwd :: X86Insn
X86InsVpxord :: X86Insn
X86InsVpxorq :: X86Insn
X86InsVpxor :: X86Insn
X86InsVrcp14pd :: X86Insn
X86InsVrcp14ps :: X86Insn
X86InsVrcp14sd :: X86Insn
X86InsVrcp14ss :: X86Insn
X86InsVrcp28pd :: X86Insn
X86InsVrcp28ps :: X86Insn
X86InsVrcp28sd :: X86Insn
X86InsVrcp28ss :: X86Insn
X86InsVrcpps :: X86Insn
X86InsVrcpss :: X86Insn
X86InsVrndscalepd :: X86Insn
X86InsVrndscaleps :: X86Insn
X86InsVrndscalesd :: X86Insn
X86InsVrndscaless :: X86Insn
X86InsVroundpd :: X86Insn
X86InsVroundps :: X86Insn
X86InsVroundsd :: X86Insn
X86InsVroundss :: X86Insn
X86InsVrsqrt14pd :: X86Insn
X86InsVrsqrt14ps :: X86Insn
X86InsVrsqrt14sd :: X86Insn
X86InsVrsqrt14ss :: X86Insn
X86InsVrsqrt28pd :: X86Insn
X86InsVrsqrt28ps :: X86Insn
X86InsVrsqrt28sd :: X86Insn
X86InsVrsqrt28ss :: X86Insn
X86InsVrsqrtps :: X86Insn
X86InsVrsqrtss :: X86Insn
X86InsVscatterdpd :: X86Insn
X86InsVscatterdps :: X86Insn
X86InsVscatterpf0dpd :: X86Insn
X86InsVscatterpf0dps :: X86Insn
X86InsVscatterpf0qpd :: X86Insn
X86InsVscatterpf0qps :: X86Insn
X86InsVscatterpf1dpd :: X86Insn
X86InsVscatterpf1dps :: X86Insn
X86InsVscatterpf1qpd :: X86Insn
X86InsVscatterpf1qps :: X86Insn
X86InsVscatterqpd :: X86Insn
X86InsVscatterqps :: X86Insn
X86InsVshufpd :: X86Insn
X86InsVshufps :: X86Insn
X86InsVsqrtpd :: X86Insn
X86InsVsqrtps :: X86Insn
X86InsVsqrtsd :: X86Insn
X86InsVsqrtss :: X86Insn
X86InsVstmxcsr :: X86Insn
X86InsVsubpd :: X86Insn
X86InsVsubps :: X86Insn
X86InsVsubsd :: X86Insn
X86InsVsubss :: X86Insn
X86InsVtestpd :: X86Insn
X86InsVtestps :: X86Insn
X86InsVunpckhpd :: X86Insn
X86InsVunpckhps :: X86Insn
X86InsVunpcklpd :: X86Insn
X86InsVunpcklps :: X86Insn
X86InsVzeroall :: X86Insn
X86InsVzeroupper :: X86Insn
X86InsWait :: X86Insn
X86InsWbinvd :: X86Insn
X86InsWrfsbase :: X86Insn
X86InsWrgsbase :: X86Insn
X86InsWrmsr :: X86Insn
X86InsXabort :: X86Insn
X86InsXacquire :: X86Insn
X86InsXbegin :: X86Insn
X86InsXchg :: X86Insn
X86InsXcryptcbc :: X86Insn
X86InsXcryptcfb :: X86Insn
X86InsXcryptctr :: X86Insn
X86InsXcryptecb :: X86Insn
X86InsXcryptofb :: X86Insn
X86InsXend :: X86Insn
X86InsXgetbv :: X86Insn
X86InsXlatb :: X86Insn
X86InsXrelease :: X86Insn
X86InsXrstor :: X86Insn
X86InsXrstor64 :: X86Insn
X86InsXrstors :: X86Insn
X86InsXrstors64 :: X86Insn
X86InsXsave :: X86Insn
X86InsXsave64 :: X86Insn
X86InsXsavec :: X86Insn
X86InsXsavec64 :: X86Insn
X86InsXsaveopt :: X86Insn
X86InsXsaveopt64 :: X86Insn
X86InsXsaves :: X86Insn
X86InsXsaves64 :: X86Insn
X86InsXsetbv :: X86Insn
X86InsXsha1 :: X86Insn
X86InsXsha256 :: X86Insn
X86InsXstore :: X86Insn
X86InsXtest :: X86Insn
X86InsFdisi8087Nop :: X86Insn
X86InsFeni8087Nop :: X86Insn
X86InsCmpss :: X86Insn
X86InsCmpeqss :: X86Insn
X86InsCmpltss :: X86Insn
X86InsCmpless :: X86Insn
X86InsCmpunordss :: X86Insn
X86InsCmpneqss :: X86Insn
X86InsCmpnltss :: X86Insn
X86InsCmpnless :: X86Insn
X86InsCmpordss :: X86Insn
X86InsCmpsd :: X86Insn
X86InsCmpeqsd :: X86Insn
X86InsCmpltsd :: X86Insn
X86InsCmplesd :: X86Insn
X86InsCmpunordsd :: X86Insn
X86InsCmpneqsd :: X86Insn
X86InsCmpnltsd :: X86Insn
X86InsCmpnlesd :: X86Insn
X86InsCmpordsd :: X86Insn
X86InsCmpps :: X86Insn
X86InsCmpeqps :: X86Insn
X86InsCmpltps :: X86Insn
X86InsCmpleps :: X86Insn
X86InsCmpunordps :: X86Insn
X86InsCmpneqps :: X86Insn
X86InsCmpnltps :: X86Insn
X86InsCmpnleps :: X86Insn
X86InsCmpordps :: X86Insn
X86InsCmppd :: X86Insn
X86InsCmpeqpd :: X86Insn
X86InsCmpltpd :: X86Insn
X86InsCmplepd :: X86Insn
X86InsCmpunordpd :: X86Insn
X86InsCmpneqpd :: X86Insn
X86InsCmpnltpd :: X86Insn
X86InsCmpnlepd :: X86Insn
X86InsCmpordpd :: X86Insn
X86InsVcmpss :: X86Insn
X86InsVcmpeqss :: X86Insn
X86InsVcmpltss :: X86Insn
X86InsVcmpless :: X86Insn
X86InsVcmpunordss :: X86Insn
X86InsVcmpneqss :: X86Insn
X86InsVcmpnltss :: X86Insn
X86InsVcmpnless :: X86Insn
X86InsVcmpordss :: X86Insn
X86InsVcmpeqUqss :: X86Insn
X86InsVcmpngess :: X86Insn
X86InsVcmpngtss :: X86Insn
X86InsVcmpfalsess :: X86Insn
X86InsVcmpneqOqss :: X86Insn
X86InsVcmpgess :: X86Insn
X86InsVcmpgtss :: X86Insn
X86InsVcmptruess :: X86Insn
X86InsVcmpeqOsss :: X86Insn
X86InsVcmpltOqss :: X86Insn
X86InsVcmpleOqss :: X86Insn
X86InsVcmpunordSss :: X86Insn
X86InsVcmpneqUsss :: X86Insn
X86InsVcmpnltUqss :: X86Insn
X86InsVcmpnleUqss :: X86Insn
X86InsVcmpordSss :: X86Insn
X86InsVcmpeqUsss :: X86Insn
X86InsVcmpngeUqss :: X86Insn
X86InsVcmpngtUqss :: X86Insn
X86InsVcmpfalseOsss :: X86Insn
X86InsVcmpneqOsss :: X86Insn
X86InsVcmpgeOqss :: X86Insn
X86InsVcmpgtOqss :: X86Insn
X86InsVcmptrueUsss :: X86Insn
X86InsVcmpsd :: X86Insn
X86InsVcmpeqsd :: X86Insn
X86InsVcmpltsd :: X86Insn
X86InsVcmplesd :: X86Insn
X86InsVcmpunordsd :: X86Insn
X86InsVcmpneqsd :: X86Insn
X86InsVcmpnltsd :: X86Insn
X86InsVcmpnlesd :: X86Insn
X86InsVcmpordsd :: X86Insn
X86InsVcmpeqUqsd :: X86Insn
X86InsVcmpngesd :: X86Insn
X86InsVcmpngtsd :: X86Insn
X86InsVcmpfalsesd :: X86Insn
X86InsVcmpneqOqsd :: X86Insn
X86InsVcmpgesd :: X86Insn
X86InsVcmpgtsd :: X86Insn
X86InsVcmptruesd :: X86Insn
X86InsVcmpeqOssd :: X86Insn
X86InsVcmpltOqsd :: X86Insn
X86InsVcmpleOqsd :: X86Insn
X86InsVcmpunordSsd :: X86Insn
X86InsVcmpneqUssd :: X86Insn
X86InsVcmpnltUqsd :: X86Insn
X86InsVcmpnleUqsd :: X86Insn
X86InsVcmpordSsd :: X86Insn
X86InsVcmpeqUssd :: X86Insn
X86InsVcmpngeUqsd :: X86Insn
X86InsVcmpngtUqsd :: X86Insn
X86InsVcmpfalseOssd :: X86Insn
X86InsVcmpneqOssd :: X86Insn
X86InsVcmpgeOqsd :: X86Insn
X86InsVcmpgtOqsd :: X86Insn
X86InsVcmptrueUssd :: X86Insn
X86InsVcmpps :: X86Insn
X86InsVcmpeqps :: X86Insn
X86InsVcmpltps :: X86Insn
X86InsVcmpleps :: X86Insn
X86InsVcmpunordps :: X86Insn
X86InsVcmpneqps :: X86Insn
X86InsVcmpnltps :: X86Insn
X86InsVcmpnleps :: X86Insn
X86InsVcmpordps :: X86Insn
X86InsVcmpeqUqps :: X86Insn
X86InsVcmpngeps :: X86Insn
X86InsVcmpngtps :: X86Insn
X86InsVcmpfalseps :: X86Insn
X86InsVcmpneqOqps :: X86Insn
X86InsVcmpgeps :: X86Insn
X86InsVcmpgtps :: X86Insn
X86InsVcmptrueps :: X86Insn
X86InsVcmpeqOsps :: X86Insn
X86InsVcmpltOqps :: X86Insn
X86InsVcmpleOqps :: X86Insn
X86InsVcmpunordSps :: X86Insn
X86InsVcmpneqUsps :: X86Insn
X86InsVcmpnltUqps :: X86Insn
X86InsVcmpnleUqps :: X86Insn
X86InsVcmpordSps :: X86Insn
X86InsVcmpeqUsps :: X86Insn
X86InsVcmpngeUqps :: X86Insn
X86InsVcmpngtUqps :: X86Insn
X86InsVcmpfalseOsps :: X86Insn
X86InsVcmpneqOsps :: X86Insn
X86InsVcmpgeOqps :: X86Insn
X86InsVcmpgtOqps :: X86Insn
X86InsVcmptrueUsps :: X86Insn
X86InsVcmppd :: X86Insn
X86InsVcmpeqpd :: X86Insn
X86InsVcmpltpd :: X86Insn
X86InsVcmplepd :: X86Insn
X86InsVcmpunordpd :: X86Insn
X86InsVcmpneqpd :: X86Insn
X86InsVcmpnltpd :: X86Insn
X86InsVcmpnlepd :: X86Insn
X86InsVcmpordpd :: X86Insn
X86InsVcmpeqUqpd :: X86Insn
X86InsVcmpngepd :: X86Insn
X86InsVcmpngtpd :: X86Insn
X86InsVcmpfalsepd :: X86Insn
X86InsVcmpneqOqpd :: X86Insn
X86InsVcmpgepd :: X86Insn
X86InsVcmpgtpd :: X86Insn
X86InsVcmptruepd :: X86Insn
X86InsVcmpeqOspd :: X86Insn
X86InsVcmpltOqpd :: X86Insn
X86InsVcmpleOqpd :: X86Insn
X86InsVcmpunordSpd :: X86Insn
X86InsVcmpneqUspd :: X86Insn
X86InsVcmpnltUqpd :: X86Insn
X86InsVcmpnleUqpd :: X86Insn
X86InsVcmpordSpd :: X86Insn
X86InsVcmpeqUspd :: X86Insn
X86InsVcmpngeUqpd :: X86Insn
X86InsVcmpngtUqpd :: X86Insn
X86InsVcmpfalseOspd :: X86Insn
X86InsVcmpneqOspd :: X86Insn
X86InsVcmpgeOqpd :: X86Insn
X86InsVcmpgtOqpd :: X86Insn
X86InsVcmptrueUspd :: X86Insn
X86InsUd0 :: X86Insn
X86InsEndbr32 :: X86Insn
X86InsEndbr64 :: X86Insn
X86InsEnding :: X86Insn

-- | x86 instruction groups
data X86InsnGroup
X86GrpInvalid :: X86InsnGroup
X86GrpJump :: X86InsnGroup
X86GrpCall :: X86InsnGroup
X86GrpRet :: X86InsnGroup
X86GrpInt :: X86InsnGroup
X86GrpIret :: X86InsnGroup
X86GrpPrivilege :: X86InsnGroup
X86GrpBranchRelative :: X86InsnGroup
X86GrpVm :: X86InsnGroup
X86Grp3dnow :: X86InsnGroup
X86GrpAes :: X86InsnGroup
X86GrpAdx :: X86InsnGroup
X86GrpAvx :: X86InsnGroup
X86GrpAvx2 :: X86InsnGroup
X86GrpAvx512 :: X86InsnGroup
X86GrpBmi :: X86InsnGroup
X86GrpBmi2 :: X86InsnGroup
X86GrpCmov :: X86InsnGroup
X86GrpF16c :: X86InsnGroup
X86GrpFma :: X86InsnGroup
X86GrpFma4 :: X86InsnGroup
X86GrpFsgsbase :: X86InsnGroup
X86GrpHle :: X86InsnGroup
X86GrpMmx :: X86InsnGroup
X86GrpMode32 :: X86InsnGroup
X86GrpMode64 :: X86InsnGroup
X86GrpRtm :: X86InsnGroup
X86GrpSha :: X86InsnGroup
X86GrpSse1 :: X86InsnGroup
X86GrpSse2 :: X86InsnGroup
X86GrpSse3 :: X86InsnGroup
X86GrpSse41 :: X86InsnGroup
X86GrpSse42 :: X86InsnGroup
X86GrpSse4a :: X86InsnGroup
X86GrpSsse3 :: X86InsnGroup
X86GrpPclmul :: X86InsnGroup
X86GrpXop :: X86InsnGroup
X86GrpCdi :: X86InsnGroup
X86GrpEri :: X86InsnGroup
X86GrpTbm :: X86InsnGroup
X86Grp16bitmode :: X86InsnGroup
X86GrpNot64bitmode :: X86InsnGroup
X86GrpSgx :: X86InsnGroup
X86GrpDqi :: X86InsnGroup
X86GrpBwi :: X86InsnGroup
X86GrpPfi :: X86InsnGroup
X86GrpVlx :: X86InsnGroup
X86GrpSmap :: X86InsnGroup
X86GrpNovlx :: X86InsnGroup
X86GrpFpu :: X86InsnGroup
X86GrpEnding :: X86InsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86Reg
instance GHC.Classes.Eq Hapstone.Internal.X86.X86Reg
instance GHC.Show.Show Hapstone.Internal.X86.X86Reg
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86OpType
instance GHC.Classes.Eq Hapstone.Internal.X86.X86OpType
instance GHC.Show.Show Hapstone.Internal.X86.X86OpType
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86AvxBcast
instance GHC.Classes.Eq Hapstone.Internal.X86.X86AvxBcast
instance GHC.Show.Show Hapstone.Internal.X86.X86AvxBcast
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86SseCc
instance GHC.Classes.Eq Hapstone.Internal.X86.X86SseCc
instance GHC.Show.Show Hapstone.Internal.X86.X86SseCc
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86AvxCc
instance GHC.Classes.Eq Hapstone.Internal.X86.X86AvxCc
instance GHC.Show.Show Hapstone.Internal.X86.X86AvxCc
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86AvxRm
instance GHC.Classes.Eq Hapstone.Internal.X86.X86AvxRm
instance GHC.Show.Show Hapstone.Internal.X86.X86AvxRm
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86Prefix
instance GHC.Classes.Eq Hapstone.Internal.X86.X86Prefix
instance GHC.Show.Show Hapstone.Internal.X86.X86Prefix
instance GHC.Classes.Eq Hapstone.Internal.X86.X86OpMemStruct
instance GHC.Show.Show Hapstone.Internal.X86.X86OpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.X86.CsX86OpValue
instance GHC.Show.Show Hapstone.Internal.X86.CsX86OpValue
instance GHC.Classes.Eq Hapstone.Internal.X86.CsX86Op
instance GHC.Show.Show Hapstone.Internal.X86.CsX86Op
instance GHC.Classes.Eq Hapstone.Internal.X86.CsX86
instance GHC.Show.Show Hapstone.Internal.X86.CsX86
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86Insn
instance GHC.Classes.Eq Hapstone.Internal.X86.X86Insn
instance GHC.Show.Show Hapstone.Internal.X86.X86Insn
instance GHC.Enum.Bounded Hapstone.Internal.X86.X86InsnGroup
instance GHC.Classes.Eq Hapstone.Internal.X86.X86InsnGroup
instance GHC.Show.Show Hapstone.Internal.X86.X86InsnGroup
instance GHC.Enum.Enum Hapstone.Internal.X86.X86InsnGroup
instance GHC.Enum.Enum Hapstone.Internal.X86.X86Insn
instance Foreign.Storable.Storable Hapstone.Internal.X86.CsX86
instance Foreign.Storable.Storable Hapstone.Internal.X86.CsX86Op
instance Foreign.Storable.Storable Hapstone.Internal.X86.X86OpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.X86.X86Prefix
instance GHC.Enum.Enum Hapstone.Internal.X86.X86AvxRm
instance GHC.Enum.Enum Hapstone.Internal.X86.X86AvxCc
instance GHC.Enum.Enum Hapstone.Internal.X86.X86SseCc
instance GHC.Enum.Enum Hapstone.Internal.X86.X86AvxBcast
instance GHC.Enum.Enum Hapstone.Internal.X86.X86OpType
instance GHC.Enum.Enum Hapstone.Internal.X86.X86Reg


-- | This module contains XCore specific datatypes and their respective
--   Storable instances. Most of the types are used internally and can be
--   looked up here. Some of them are currently unused, as the headers only
--   define them as symbolic constants whose type is never used explicitly,
--   which poses a problem for a memory-safe port to the Haskell language,
--   this is about to get fixed in a future version.
--   
--   Apart from that, because the module is generated using C2HS, some of
--   the documentation is misplaced or rendered incorrectly, so if in
--   doubt, read the source file.
module Hapstone.Internal.XCore

-- | operand type for instruction's operands
data XCoreOpType
XcoreOpInvalid :: XCoreOpType
XcoreOpReg :: XCoreOpType
XcoreOpImm :: XCoreOpType
XcoreOpMem :: XCoreOpType

-- | XCore registers
data XCoreReg
XcoreRegInvalid :: XCoreReg
XcoreRegCp :: XCoreReg
XcoreRegDp :: XCoreReg
XcoreRegLr :: XCoreReg
XcoreRegSp :: XCoreReg
XcoreRegR0 :: XCoreReg
XcoreRegR1 :: XCoreReg
XcoreRegR2 :: XCoreReg
XcoreRegR3 :: XCoreReg
XcoreRegR4 :: XCoreReg
XcoreRegR5 :: XCoreReg
XcoreRegR6 :: XCoreReg
XcoreRegR7 :: XCoreReg
XcoreRegR8 :: XCoreReg
XcoreRegR9 :: XCoreReg
XcoreRegR10 :: XCoreReg
XcoreRegR11 :: XCoreReg
XcoreRegPc :: XCoreReg
XcoreRegScp :: XCoreReg
XcoreRegSsr :: XCoreReg
XcoreRegEt :: XCoreReg
XcoreRegEd :: XCoreReg
XcoreRegSed :: XCoreReg
XcoreRegKep :: XCoreReg
XcoreRegKsp :: XCoreReg
XcoreRegId :: XCoreReg
XcoreRegEnding :: XCoreReg

-- | memory access operands associated with <a>XcoreOpMem</a> operand type
data XCoreOpMemStruct
XCoreOpMemStruct :: Word8 -> Word8 -> Int32 -> Int32 -> XCoreOpMemStruct

-- | base register
[base] :: XCoreOpMemStruct -> Word8

-- | index register
[index] :: XCoreOpMemStruct -> Word8

-- | displacement/offset value
[disp] :: XCoreOpMemStruct -> Int32

-- | +1: forward, -1: backward
[direct] :: XCoreOpMemStruct -> Int32

-- | instruction operand
data CsXCoreOp

-- | register value for <a>XcoreOpReg</a> operands
Reg :: XCoreReg -> CsXCoreOp

-- | immediate value for <a>XcoreOpImm</a> operands
Imm :: Int32 -> CsXCoreOp

-- | base<i>index</i>disp/direct value for <a>XcoreOpMem</a> operands
Mem :: XCoreOpMemStruct -> CsXCoreOp

-- | invalid operand value, for <a>XcoreOpInvalid</a> operand
Undefined :: CsXCoreOp

-- | instruction datatype
newtype CsXCore

-- | operand list of this instruction, *MUST* have &lt;= 8 operands, else
--   you'll get a runtime error when you (implicitly) try to write it to
--   memory via it's Storable instance
CsXCore :: [CsXCoreOp] -> CsXCore

-- | XCore instructions
data XCoreInsn
XcoreInsInvalid :: XCoreInsn
XcoreInsAdd :: XCoreInsn
XcoreInsAndnot :: XCoreInsn
XcoreInsAnd :: XCoreInsn
XcoreInsAshr :: XCoreInsn
XcoreInsBau :: XCoreInsn
XcoreInsBitrev :: XCoreInsn
XcoreInsBla :: XCoreInsn
XcoreInsBlat :: XCoreInsn
XcoreInsBl :: XCoreInsn
XcoreInsBf :: XCoreInsn
XcoreInsBt :: XCoreInsn
XcoreInsBu :: XCoreInsn
XcoreInsBru :: XCoreInsn
XcoreInsByterev :: XCoreInsn
XcoreInsChkct :: XCoreInsn
XcoreInsClre :: XCoreInsn
XcoreInsClrpt :: XCoreInsn
XcoreInsClrsr :: XCoreInsn
XcoreInsClz :: XCoreInsn
XcoreInsCrc8 :: XCoreInsn
XcoreInsCrc32 :: XCoreInsn
XcoreInsDcall :: XCoreInsn
XcoreInsDentsp :: XCoreInsn
XcoreInsDgetreg :: XCoreInsn
XcoreInsDivs :: XCoreInsn
XcoreInsDivu :: XCoreInsn
XcoreInsDrestsp :: XCoreInsn
XcoreInsDret :: XCoreInsn
XcoreInsEcallf :: XCoreInsn
XcoreInsEcallt :: XCoreInsn
XcoreInsEdu :: XCoreInsn
XcoreInsEef :: XCoreInsn
XcoreInsEet :: XCoreInsn
XcoreInsEeu :: XCoreInsn
XcoreInsEndin :: XCoreInsn
XcoreInsEntsp :: XCoreInsn
XcoreInsEq :: XCoreInsn
XcoreInsExtdp :: XCoreInsn
XcoreInsExtsp :: XCoreInsn
XcoreInsFreer :: XCoreInsn
XcoreInsFreet :: XCoreInsn
XcoreInsGetd :: XCoreInsn
XcoreInsGet :: XCoreInsn
XcoreInsGetn :: XCoreInsn
XcoreInsGetr :: XCoreInsn
XcoreInsGetsr :: XCoreInsn
XcoreInsGetst :: XCoreInsn
XcoreInsGetts :: XCoreInsn
XcoreInsInct :: XCoreInsn
XcoreInsInit :: XCoreInsn
XcoreInsInpw :: XCoreInsn
XcoreInsInshr :: XCoreInsn
XcoreInsInt :: XCoreInsn
XcoreInsIn :: XCoreInsn
XcoreInsKcall :: XCoreInsn
XcoreInsKentsp :: XCoreInsn
XcoreInsKrestsp :: XCoreInsn
XcoreInsKret :: XCoreInsn
XcoreInsLadd :: XCoreInsn
XcoreInsLd16s :: XCoreInsn
XcoreInsLd8u :: XCoreInsn
XcoreInsLda16 :: XCoreInsn
XcoreInsLdap :: XCoreInsn
XcoreInsLdaw :: XCoreInsn
XcoreInsLdc :: XCoreInsn
XcoreInsLdw :: XCoreInsn
XcoreInsLdivu :: XCoreInsn
XcoreInsLmul :: XCoreInsn
XcoreInsLss :: XCoreInsn
XcoreInsLsub :: XCoreInsn
XcoreInsLsu :: XCoreInsn
XcoreInsMaccs :: XCoreInsn
XcoreInsMaccu :: XCoreInsn
XcoreInsMjoin :: XCoreInsn
XcoreInsMkmsk :: XCoreInsn
XcoreInsMsync :: XCoreInsn
XcoreInsMul :: XCoreInsn
XcoreInsNeg :: XCoreInsn
XcoreInsNot :: XCoreInsn
XcoreInsOr :: XCoreInsn
XcoreInsOutct :: XCoreInsn
XcoreInsOutpw :: XCoreInsn
XcoreInsOutshr :: XCoreInsn
XcoreInsOutt :: XCoreInsn
XcoreInsOut :: XCoreInsn
XcoreInsPeek :: XCoreInsn
XcoreInsRems :: XCoreInsn
XcoreInsRemu :: XCoreInsn
XcoreInsRetsp :: XCoreInsn
XcoreInsSetclk :: XCoreInsn
XcoreInsSet :: XCoreInsn
XcoreInsSetc :: XCoreInsn
XcoreInsSetd :: XCoreInsn
XcoreInsSetev :: XCoreInsn
XcoreInsSetn :: XCoreInsn
XcoreInsSetpsc :: XCoreInsn
XcoreInsSetpt :: XCoreInsn
XcoreInsSetrdy :: XCoreInsn
XcoreInsSetsr :: XCoreInsn
XcoreInsSettw :: XCoreInsn
XcoreInsSetv :: XCoreInsn
XcoreInsSext :: XCoreInsn
XcoreInsShl :: XCoreInsn
XcoreInsShr :: XCoreInsn
XcoreInsSsync :: XCoreInsn
XcoreInsSt16 :: XCoreInsn
XcoreInsSt8 :: XCoreInsn
XcoreInsStw :: XCoreInsn
XcoreInsSub :: XCoreInsn
XcoreInsSyncr :: XCoreInsn
XcoreInsTestct :: XCoreInsn
XcoreInsTestlcl :: XCoreInsn
XcoreInsTestwct :: XCoreInsn
XcoreInsTsetmr :: XCoreInsn
XcoreInsStart :: XCoreInsn
XcoreInsWaitef :: XCoreInsn
XcoreInsWaitet :: XCoreInsn
XcoreInsWaiteu :: XCoreInsn
XcoreInsXor :: XCoreInsn
XcoreInsZext :: XCoreInsn
XcoreInsEnding :: XCoreInsn

-- | XCore instruction groups
data XCoreInsnGroup
XcoreGrpInvalid :: XCoreInsnGroup
XcoreGrpJump :: XCoreInsnGroup
XcoreGrpEnding :: XCoreInsnGroup
instance GHC.Enum.Bounded Hapstone.Internal.XCore.XCoreOpType
instance GHC.Classes.Eq Hapstone.Internal.XCore.XCoreOpType
instance GHC.Show.Show Hapstone.Internal.XCore.XCoreOpType
instance GHC.Enum.Bounded Hapstone.Internal.XCore.XCoreReg
instance GHC.Classes.Eq Hapstone.Internal.XCore.XCoreReg
instance GHC.Show.Show Hapstone.Internal.XCore.XCoreReg
instance GHC.Classes.Eq Hapstone.Internal.XCore.XCoreOpMemStruct
instance GHC.Show.Show Hapstone.Internal.XCore.XCoreOpMemStruct
instance GHC.Classes.Eq Hapstone.Internal.XCore.CsXCoreOp
instance GHC.Show.Show Hapstone.Internal.XCore.CsXCoreOp
instance GHC.Classes.Eq Hapstone.Internal.XCore.CsXCore
instance GHC.Show.Show Hapstone.Internal.XCore.CsXCore
instance GHC.Enum.Bounded Hapstone.Internal.XCore.XCoreInsn
instance GHC.Classes.Eq Hapstone.Internal.XCore.XCoreInsn
instance GHC.Show.Show Hapstone.Internal.XCore.XCoreInsn
instance GHC.Enum.Bounded Hapstone.Internal.XCore.XCoreInsnGroup
instance GHC.Classes.Eq Hapstone.Internal.XCore.XCoreInsnGroup
instance GHC.Show.Show Hapstone.Internal.XCore.XCoreInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.XCore.XCoreInsnGroup
instance GHC.Enum.Enum Hapstone.Internal.XCore.XCoreInsn
instance Foreign.Storable.Storable Hapstone.Internal.XCore.CsXCore
instance Foreign.Storable.Storable Hapstone.Internal.XCore.CsXCoreOp
instance Foreign.Storable.Storable Hapstone.Internal.XCore.XCoreOpMemStruct
instance GHC.Enum.Enum Hapstone.Internal.XCore.XCoreReg
instance GHC.Enum.Enum Hapstone.Internal.XCore.XCoreOpType


-- | This module contains capstone's public API, with the necessary
--   datatypes and functions, and some boilerplate to make it usable. Thus,
--   it exposes an IO-based interface to capstone, which is a rough 1:1
--   translation of the capstone C header to Haskell. Obviously, it isn't
--   very ideomatic to use, so a higher-level API is present in
--   <a>Hapstone.Capstone</a>. The approach there is to wrap all necessary
--   cleanup and initialization and expose an ideomatic (but heavily
--   abstracted) interface to capstone.
--   
--   This module, on the other hand, is intended to be used when
--   performance is more critical or greater versatility is needed. This
--   means that the abstractions introduced in the C version of the library
--   are still present, but their use has been restricted to provide more
--   reasonable levels of safety.
module Hapstone.Internal.Capstone

-- | capstone's weird^M^M^M^M^Mopaque handle type
type Csh = CSize

-- | supported architectures
data CsArch
CsArchArm :: CsArch
CsArchArm64 :: CsArch
CsArchMips :: CsArch
CsArchX86 :: CsArch
CsArchPpc :: CsArch
CsArchSparc :: CsArch
CsArchSysz :: CsArch
CsArchXcore :: CsArch
CsArchM68k :: CsArch
CsArchTms320c64x :: CsArch
CsArchM680x :: CsArch
CsArchEvm :: CsArch
CsArchMax :: CsArch
CsArchAll :: CsArch

-- | support constants
data CsSupport
CsSupportDiet :: CsSupport
CsSupportX86Reduce :: CsSupport

-- | working modes
data CsMode
CsModeLittleEndian :: CsMode
CsModeArm :: CsMode
CsMode16 :: CsMode
CsModeM68k000 :: CsMode
CsModeM680x6301 :: CsMode
CsMode32 :: CsMode
CsModeM68k010 :: CsMode
CsModeMips32 :: CsMode
CsModeM680x6309 :: CsMode
CsMode64 :: CsMode
CsModeM68k020 :: CsMode
CsModeMips64 :: CsMode
CsModeM680x6800 :: CsMode
CsModeThumb :: CsMode
CsModeMicro :: CsMode
CsModeV9 :: CsMode
CsModeQpx :: CsMode
CsModeM68k030 :: CsMode
CsModeM680x6801 :: CsMode
CsModeMclass :: CsMode
CsModeMips3 :: CsMode
CsModeM68k040 :: CsMode
CsModeM680x6805 :: CsMode
CsModeV8 :: CsMode
CsModeMips32r6 :: CsMode
CsModeM68k060 :: CsMode
CsModeM680x6808 :: CsMode
CsModeMips2 :: CsMode
CsModeM680x6809 :: CsMode
CsModeM680x6811 :: CsMode
CsModeM680xCpu12 :: CsMode
CsModeM680xHcs08 :: CsMode
CsModeBigEndian :: CsMode

-- | options are, interestingly, represented by different types: an option
data CsOption
CsOptInvalid :: CsOption
CsOptSyntax :: CsOption
CsOptDetail :: CsOption
CsOptMode :: CsOption
CsOptMem :: CsOption
CsOptSkipdata :: CsOption
CsOptSkipdataSetup :: CsOption
CsOptMnemonic :: CsOption
CsOptUnsigned :: CsOption

-- | ... and a state of an option
data CsOptionState
CsOptOff :: CsOptionState
CsOptSyntaxDefault :: CsOptionState
CsOptSyntaxIntel :: CsOptionState
CsOptSyntaxAtt :: CsOptionState
CsOptOn :: CsOptionState
CsOptSyntaxNoregname :: CsOptionState
CsOptSyntaxMasm :: CsOptionState

-- | arch-uniting operand type
data CsOperand
CsOpInvalid :: CsOperand
CsOpReg :: CsOperand
CsOpImm :: CsOperand
CsOpMem :: CsOperand
CsOpFp :: CsOperand

-- | arch-uniting instruction group type
data CsGroup
CsGrpInvalid :: CsGroup
CsGrpJump :: CsGroup
CsGrpCall :: CsGroup
CsGrpRet :: CsGroup
CsGrpInt :: CsGroup
CsGrpIret :: CsGroup
CsGrpPrivilege :: CsGroup
CsGrpBranchRelative :: CsGroup

-- | callback type for user-defined SKIPDATA work
type CsSkipdataCallback = FunPtr (Ptr Word8 -> CSize -> CSize -> Ptr () -> IO CSize)

-- | user-defined SKIPDATA setup
data CsSkipdataStruct
CsSkipdataStruct :: String -> CsSkipdataCallback -> Ptr () -> CsSkipdataStruct

-- | safely set SKIPDATA options (reset on Nothing)
csSetSkipdata :: Csh -> Maybe CsSkipdataStruct -> IO CsErr

-- | architecture specific information
data ArchInfo

-- | x86 architecture
X86 :: CsX86 -> ArchInfo

-- | ARM64 architecture
Arm64 :: CsArm64 -> ArchInfo

-- | ARM architecture
Arm :: CsArm -> ArchInfo

-- | MIPS architecture
Mips :: CsMips -> ArchInfo

-- | PPC architecture
Ppc :: CsPpc -> ArchInfo

-- | SPARC architecture
Sparc :: CsSparc -> ArchInfo

-- | SystemZ architecture
SysZ :: CsSysZ -> ArchInfo

-- | XCore architecture
XCore :: CsXCore -> ArchInfo

-- | instruction information
data CsDetail
CsDetail :: [Word8] -> [Word8] -> [Word8] -> Maybe ArchInfo -> CsDetail

-- | registers read by this instruction
[regsRead] :: CsDetail -> [Word8]

-- | registers written by this instruction
[regsWrite] :: CsDetail -> [Word8]

-- | instruction groups this instruction belongs to
[groups] :: CsDetail -> [Word8]

-- | (optional) architecture-specific info
[archInfo] :: CsDetail -> Maybe ArchInfo

-- | an arch-sensitive peek for cs_detail
peekDetail :: CsArch -> Ptr CsDetail -> IO CsDetail

-- | instructions
data CsInsn
CsInsn :: Word32 -> Word64 -> [Word8] -> String -> String -> Maybe CsDetail -> CsInsn

-- | instruction ID
[insnId] :: CsInsn -> Word32

-- | instruction's address in memory
[address] :: CsInsn -> Word64

-- | raw byte representation
[bytes] :: CsInsn -> [Word8]

-- | instruction's mnemonic
[mnemonic] :: CsInsn -> String

-- | operands
[opStr] :: CsInsn -> String

-- | (optional) detailed info
[detail] :: CsInsn -> Maybe CsDetail

-- | an arch-sensitive peek for cs_insn
peekArch :: CsArch -> Ptr CsInsn -> IO CsInsn

-- | an arch-sensitive peekArray for cs_insn
peekArrayArch :: CsArch -> Int -> Ptr CsInsn -> IO [CsInsn]

-- | our own port of the CS_INSN_OFFSET macro
csInsnOffset :: Ptr CsInsn -> Int -> Int

-- | possible error conditions
data CsErr
CsErrOk :: CsErr
CsErrMem :: CsErr
CsErrArch :: CsErr
CsErrHandle :: CsErr
CsErrCsh :: CsErr
CsErrMode :: CsErr
CsErrOption :: CsErr
CsErrDetail :: CsErr
CsErrMemsetup :: CsErr
CsErrVersion :: CsErr
CsErrDiet :: CsErr
CsErrSkipdata :: CsErr
CsErrX86Att :: CsErr
CsErrX86Intel :: CsErr
CsErrX86Masm :: CsErr

-- | get information on supported features
csSupport :: Enum a => a -> Bool

-- | open a new disassembly handle
csOpen :: CsArch -> [CsMode] -> IO (CsErr, Csh)
csClose :: Csh -> IO CsErr

-- | set an option on a handle
csOption :: Enum a => Csh -> CsOption -> a -> IO CsErr

-- | get the last error from a handle
csErrno :: Csh -> IO CsErr

-- | get the description of an error
csStrerror :: CsErr -> String

-- | disassemble a buffer
csDisasm :: CsArch -> Csh -> [Word8] -> Word64 -> Int -> IO [CsInsn]

-- | disassemble one instruction at a time
csDisasmIter :: Csh -> [Word8] -> Word64 -> IO ([Word8], Word64, Either CsErr CsInsn)

-- | free an instruction struct array
csFree :: Ptr CsInsn -> Int -> IO ()

-- | allocate space for an instruction structure
csMalloc :: Csh -> IO (Ptr CsInsn)
csRegName :: Enum e => Csh -> e -> Maybe String
csInsnName :: Enum e => Csh -> e -> Maybe String
csGroupName :: Enum e => Csh -> e -> Maybe String

-- | check whether an instruction is member of a group
csInsnGroup :: Csh -> CsInsn -> Bool

-- | check whether an instruction reads from a register
csRegRead :: Csh -> CsInsn -> Int -> Bool

-- | check whether an instruction writes to a register
csRegWrite :: Csh -> CsInsn -> Int -> Bool

-- | return the number of operands of given type an instruction has
csOpCount :: Csh -> CsInsn -> Int -> Int

-- | return the position of the first operand of given type an instruction
--   has, given an inclusive search range
csOpIndex :: Csh -> CsInsn -> Int -> Int -> Int
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsArch
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsArch
instance GHC.Show.Show Hapstone.Internal.Capstone.CsArch
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsSupport
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsSupport
instance GHC.Show.Show Hapstone.Internal.Capstone.CsSupport
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsMode
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsMode
instance GHC.Show.Show Hapstone.Internal.Capstone.CsMode
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsOption
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsOption
instance GHC.Show.Show Hapstone.Internal.Capstone.CsOption
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsOptionState
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsOptionState
instance GHC.Show.Show Hapstone.Internal.Capstone.CsOptionState
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsOperand
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsOperand
instance GHC.Show.Show Hapstone.Internal.Capstone.CsOperand
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsGroup
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsGroup
instance GHC.Show.Show Hapstone.Internal.Capstone.CsGroup
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsSkipdataStruct
instance GHC.Show.Show Hapstone.Internal.Capstone.CsSkipdataStruct
instance GHC.Classes.Eq Hapstone.Internal.Capstone.ArchInfo
instance GHC.Show.Show Hapstone.Internal.Capstone.ArchInfo
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsDetail
instance GHC.Show.Show Hapstone.Internal.Capstone.CsDetail
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsInsn
instance GHC.Show.Show Hapstone.Internal.Capstone.CsInsn
instance GHC.Enum.Bounded Hapstone.Internal.Capstone.CsErr
instance GHC.Classes.Eq Hapstone.Internal.Capstone.CsErr
instance GHC.Show.Show Hapstone.Internal.Capstone.CsErr
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsErr
instance Foreign.Storable.Storable Hapstone.Internal.Capstone.CsInsn
instance Foreign.Storable.Storable Hapstone.Internal.Capstone.CsDetail
instance Foreign.Storable.Storable Hapstone.Internal.Capstone.CsSkipdataStruct
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsGroup
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsOperand
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsOptionState
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsOption
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsMode
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsSupport
instance GHC.Enum.Enum Hapstone.Internal.Capstone.CsArch


-- | This module wraps all the complex and unsafe details of the capstone
--   API to provide a simple interface to a disassembler, while retaining a
--   reasonable level of versatility.
--   
--   TODO: write a proper user guide here.
module Hapstone.Capstone

-- | run a Disassembler, keeping the results of the custom action
disasmIO :: Disassembler a -> IO (Either CsErr [(CsInsn, a)])

-- | run a disassembler, throwing away the results of the custom action
disasmSimpleIO :: Disassembler a -> IO (Either CsErr [CsInsn])

-- | a structure holding settings for a disassembling action
data Disassembler a
Disassembler :: CsArch -> [CsMode] -> [Word8] -> Word64 -> Int -> Bool -> Maybe CsSkipdataStruct -> (Csh -> CsInsn -> IO a) -> Disassembler a

-- | architecture
[arch] :: Disassembler a -> CsArch

-- | disassembling modes
[modes] :: Disassembler a -> [CsMode]

-- | buffer to disassemble
[buffer] :: Disassembler a -> [Word8]

-- | address of first byte in the buffer
[addr] :: Disassembler a -> Word64

-- | number of instructions to disassemble (0 for maximum)
[num] :: Disassembler a -> Int

-- | include detailed information?
[detail] :: Disassembler a -> Bool

-- | setup SKIPDATA options
[skip] :: Disassembler a -> Maybe CsSkipdataStruct

-- | action to run on each instruction
[action] :: Disassembler a -> Csh -> CsInsn -> IO a

-- | default setup for skipdata: ".db" string and no callback
defaultSkipdataStruct :: CsSkipdataStruct

-- | default action to run on each instruction (does nothing)
defaultAction :: Csh -> CsInsn -> IO ()

-- | wrap a relatively safe function to get a callback "safe" in this
--   context means that the buffer remains unmodified
mkCallback :: Storable a => (([Word8], [Word8]) -> a -> IO CSize) -> IO CsSkipdataCallback
