module Hapstone.Internal.Arm64 where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Storable as C2HSImp
import Control.Monad (join)
import Foreign
import Foreign.C.Types
data Arm64Shifter = Arm64SftInvalid
| Arm64SftLsl
| Arm64SftMsl
| Arm64SftLsr
| Arm64SftAsr
| Arm64SftRor
deriving (Show,Eq,Bounded)
instance Enum Arm64Shifter where
succ Arm64SftInvalid = Arm64SftLsl
succ Arm64SftLsl = Arm64SftMsl
succ Arm64SftMsl = Arm64SftLsr
succ Arm64SftLsr = Arm64SftAsr
succ Arm64SftAsr = Arm64SftRor
succ Arm64SftRor = error "Arm64Shifter.succ: Arm64SftRor has no successor"
pred Arm64SftLsl = Arm64SftInvalid
pred Arm64SftMsl = Arm64SftLsl
pred Arm64SftLsr = Arm64SftMsl
pred Arm64SftAsr = Arm64SftLsr
pred Arm64SftRor = Arm64SftAsr
pred Arm64SftInvalid = error "Arm64Shifter.pred: Arm64SftInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64SftRor
fromEnum Arm64SftInvalid = 0
fromEnum Arm64SftLsl = 1
fromEnum Arm64SftMsl = 2
fromEnum Arm64SftLsr = 3
fromEnum Arm64SftAsr = 4
fromEnum Arm64SftRor = 5
toEnum 0 = Arm64SftInvalid
toEnum 1 = Arm64SftLsl
toEnum 2 = Arm64SftMsl
toEnum 3 = Arm64SftLsr
toEnum 4 = Arm64SftAsr
toEnum 5 = Arm64SftRor
toEnum unmatched = error ("Arm64Shifter.toEnum: Cannot match " ++ show unmatched)
data Arm64Extender = Arm64ExtInvalid
| Arm64ExtUxtb
| Arm64ExtUxth
| Arm64ExtUxtw
| Arm64ExtUxtx
| Arm64ExtSxtb
| Arm64ExtSxth
| Arm64ExtSxtw
| Arm64ExtSxtx
deriving (Show,Eq,Bounded)
instance Enum Arm64Extender where
succ Arm64ExtInvalid = Arm64ExtUxtb
succ Arm64ExtUxtb = Arm64ExtUxth
succ Arm64ExtUxth = Arm64ExtUxtw
succ Arm64ExtUxtw = Arm64ExtUxtx
succ Arm64ExtUxtx = Arm64ExtSxtb
succ Arm64ExtSxtb = Arm64ExtSxth
succ Arm64ExtSxth = Arm64ExtSxtw
succ Arm64ExtSxtw = Arm64ExtSxtx
succ Arm64ExtSxtx = error "Arm64Extender.succ: Arm64ExtSxtx has no successor"
pred Arm64ExtUxtb = Arm64ExtInvalid
pred Arm64ExtUxth = Arm64ExtUxtb
pred Arm64ExtUxtw = Arm64ExtUxth
pred Arm64ExtUxtx = Arm64ExtUxtw
pred Arm64ExtSxtb = Arm64ExtUxtx
pred Arm64ExtSxth = Arm64ExtSxtb
pred Arm64ExtSxtw = Arm64ExtSxth
pred Arm64ExtSxtx = Arm64ExtSxtw
pred Arm64ExtInvalid = error "Arm64Extender.pred: Arm64ExtInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64ExtSxtx
fromEnum Arm64ExtInvalid = 0
fromEnum Arm64ExtUxtb = 1
fromEnum Arm64ExtUxth = 2
fromEnum Arm64ExtUxtw = 3
fromEnum Arm64ExtUxtx = 4
fromEnum Arm64ExtSxtb = 5
fromEnum Arm64ExtSxth = 6
fromEnum Arm64ExtSxtw = 7
fromEnum Arm64ExtSxtx = 8
toEnum 0 = Arm64ExtInvalid
toEnum 1 = Arm64ExtUxtb
toEnum 2 = Arm64ExtUxth
toEnum 3 = Arm64ExtUxtw
toEnum 4 = Arm64ExtUxtx
toEnum 5 = Arm64ExtSxtb
toEnum 6 = Arm64ExtSxth
toEnum 7 = Arm64ExtSxtw
toEnum 8 = Arm64ExtSxtx
toEnum unmatched = error ("Arm64Extender.toEnum: Cannot match " ++ show unmatched)
data Arm64ConditionCode = Arm64CcInvalid
| Arm64CcEq
| Arm64CcNe
| Arm64CcHs
| Arm64CcLo
| Arm64CcMi
| Arm64CcPl
| Arm64CcVs
| Arm64CcVc
| Arm64CcHi
| Arm64CcLs
| Arm64CcGe
| Arm64CcLt
| Arm64CcGt
| Arm64CcLe
| Arm64CcAl
| Arm64CcNv
deriving (Show,Eq,Bounded)
instance Enum Arm64ConditionCode where
succ Arm64CcInvalid = Arm64CcEq
succ Arm64CcEq = Arm64CcNe
succ Arm64CcNe = Arm64CcHs
succ Arm64CcHs = Arm64CcLo
succ Arm64CcLo = Arm64CcMi
succ Arm64CcMi = Arm64CcPl
succ Arm64CcPl = Arm64CcVs
succ Arm64CcVs = Arm64CcVc
succ Arm64CcVc = Arm64CcHi
succ Arm64CcHi = Arm64CcLs
succ Arm64CcLs = Arm64CcGe
succ Arm64CcGe = Arm64CcLt
succ Arm64CcLt = Arm64CcGt
succ Arm64CcGt = Arm64CcLe
succ Arm64CcLe = Arm64CcAl
succ Arm64CcAl = Arm64CcNv
succ Arm64CcNv = error "Arm64ConditionCode.succ: Arm64CcNv has no successor"
pred Arm64CcEq = Arm64CcInvalid
pred Arm64CcNe = Arm64CcEq
pred Arm64CcHs = Arm64CcNe
pred Arm64CcLo = Arm64CcHs
pred Arm64CcMi = Arm64CcLo
pred Arm64CcPl = Arm64CcMi
pred Arm64CcVs = Arm64CcPl
pred Arm64CcVc = Arm64CcVs
pred Arm64CcHi = Arm64CcVc
pred Arm64CcLs = Arm64CcHi
pred Arm64CcGe = Arm64CcLs
pred Arm64CcLt = Arm64CcGe
pred Arm64CcGt = Arm64CcLt
pred Arm64CcLe = Arm64CcGt
pred Arm64CcAl = Arm64CcLe
pred Arm64CcNv = Arm64CcAl
pred Arm64CcInvalid = error "Arm64ConditionCode.pred: Arm64CcInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64CcNv
fromEnum Arm64CcInvalid = 0
fromEnum Arm64CcEq = 1
fromEnum Arm64CcNe = 2
fromEnum Arm64CcHs = 3
fromEnum Arm64CcLo = 4
fromEnum Arm64CcMi = 5
fromEnum Arm64CcPl = 6
fromEnum Arm64CcVs = 7
fromEnum Arm64CcVc = 8
fromEnum Arm64CcHi = 9
fromEnum Arm64CcLs = 10
fromEnum Arm64CcGe = 11
fromEnum Arm64CcLt = 12
fromEnum Arm64CcGt = 13
fromEnum Arm64CcLe = 14
fromEnum Arm64CcAl = 15
fromEnum Arm64CcNv = 16
toEnum 0 = Arm64CcInvalid
toEnum 1 = Arm64CcEq
toEnum 2 = Arm64CcNe
toEnum 3 = Arm64CcHs
toEnum 4 = Arm64CcLo
toEnum 5 = Arm64CcMi
toEnum 6 = Arm64CcPl
toEnum 7 = Arm64CcVs
toEnum 8 = Arm64CcVc
toEnum 9 = Arm64CcHi
toEnum 10 = Arm64CcLs
toEnum 11 = Arm64CcGe
toEnum 12 = Arm64CcLt
toEnum 13 = Arm64CcGt
toEnum 14 = Arm64CcLe
toEnum 15 = Arm64CcAl
toEnum 16 = Arm64CcNv
toEnum unmatched = error ("Arm64ConditionCode.toEnum: Cannot match " ++ show unmatched)
data Arm64Sysreg = Arm64SysregInvalid
| Arm64SysregMdrarEl1
| Arm64SysregOslsrEl1
| Arm64SysregDbgauthstatusEl1
| Arm64SysregTrcidr8
| Arm64SysregTrcidr9
| Arm64SysregTrcidr10
| Arm64SysregTrcstatr
| Arm64SysregTrcidr11
| Arm64SysregTrcidr12
| Arm64SysregTrcidr13
| Arm64SysregTrcidr0
| Arm64SysregTrcidr1
| Arm64SysregTrcidr2
| Arm64SysregTrcidr3
| Arm64SysregTrcidr4
| Arm64SysregTrcidr5
| Arm64SysregTrcidr6
| Arm64SysregTrcidr7
| Arm64SysregTrcoslsr
| Arm64SysregTrcpdsr
| Arm64SysregTrcdevid
| Arm64SysregTrcdevtype
| Arm64SysregTrcpidr4
| Arm64SysregTrcpidr5
| Arm64SysregTrcpidr6
| Arm64SysregTrcpidr7
| Arm64SysregTrcpidr0
| Arm64SysregTrcpidr1
| Arm64SysregTrcdevaff0
| Arm64SysregTrcpidr2
| Arm64SysregTrcdevaff1
| Arm64SysregTrcpidr3
| Arm64SysregTrccidr0
| Arm64SysregTrclsr
| Arm64SysregTrccidr1
| Arm64SysregTrcauthstatus
| Arm64SysregTrccidr2
| Arm64SysregTrcdevarch
| Arm64SysregTrccidr3
| Arm64SysregMdccsrEl0
| Arm64SysregDbgdtrrxEl0
| Arm64SysregMidrEl1
| Arm64SysregMpidrEl1
| Arm64SysregRevidrEl1
| Arm64SysregIdPfr0El1
| Arm64SysregIdPfr1El1
| Arm64SysregIdDfr0El1
| Arm64SysregIdAfr0El1
| Arm64SysregIdMmfr0El1
| Arm64SysregIdMmfr1El1
| Arm64SysregIdMmfr2El1
| Arm64SysregIdMmfr3El1
| Arm64SysregIdIsar0El1
| Arm64SysregIdIsar1El1
| Arm64SysregIdIsar2El1
| Arm64SysregIdIsar3El1
| Arm64SysregIdIsar4El1
| Arm64SysregIdIsar5El1
| Arm64SysregMvfr0El1
| Arm64SysregMvfr1El1
| Arm64SysregMvfr2El1
| Arm64SysregIdA64pfr0El1
| Arm64SysregIdA64pfr1El1
| Arm64SysregIdA64dfr0El1
| Arm64SysregIdA64dfr1El1
| Arm64SysregIdA64afr0El1
| Arm64SysregIdA64afr1El1
| Arm64SysregIdA64isar0El1
| Arm64SysregIdA64isar1El1
| Arm64SysregIdA64mmfr0El1
| Arm64SysregIdA64mmfr1El1
| Arm64SysregRvbarEl1
| Arm64SysregIsrEl1
| Arm64SysregIccIar0El1
| Arm64SysregIccHppir0El1
| Arm64SysregIccRprEl1
| Arm64SysregIccIar1El1
| Arm64SysregIccHppir1El1
| Arm64SysregCcsidrEl1
| Arm64SysregClidrEl1
| Arm64SysregAidrEl1
| Arm64SysregCtrEl0
| Arm64SysregDczidEl0
| Arm64SysregPmceid0El0
| Arm64SysregPmceid1El0
| Arm64SysregCntpctEl0
| Arm64SysregCntvctEl0
| Arm64SysregRvbarEl2
| Arm64SysregIchVtrEl2
| Arm64SysregIchEisrEl2
| Arm64SysregIchElsrEl2
| Arm64SysregRvbarEl3
deriving (Show,Eq,Bounded)
instance Enum Arm64Sysreg where
succ Arm64SysregInvalid = Arm64SysregMdrarEl1
succ Arm64SysregMdrarEl1 = Arm64SysregOslsrEl1
succ Arm64SysregOslsrEl1 = Arm64SysregDbgauthstatusEl1
succ Arm64SysregDbgauthstatusEl1 = Arm64SysregTrcidr8
succ Arm64SysregTrcidr8 = Arm64SysregTrcidr9
succ Arm64SysregTrcidr9 = Arm64SysregTrcidr10
succ Arm64SysregTrcidr10 = Arm64SysregTrcstatr
succ Arm64SysregTrcstatr = Arm64SysregTrcidr11
succ Arm64SysregTrcidr11 = Arm64SysregTrcidr12
succ Arm64SysregTrcidr12 = Arm64SysregTrcidr13
succ Arm64SysregTrcidr13 = Arm64SysregTrcidr0
succ Arm64SysregTrcidr0 = Arm64SysregTrcidr1
succ Arm64SysregTrcidr1 = Arm64SysregTrcidr2
succ Arm64SysregTrcidr2 = Arm64SysregTrcidr3
succ Arm64SysregTrcidr3 = Arm64SysregTrcidr4
succ Arm64SysregTrcidr4 = Arm64SysregTrcidr5
succ Arm64SysregTrcidr5 = Arm64SysregTrcidr6
succ Arm64SysregTrcidr6 = Arm64SysregTrcidr7
succ Arm64SysregTrcidr7 = Arm64SysregTrcoslsr
succ Arm64SysregTrcoslsr = Arm64SysregTrcpdsr
succ Arm64SysregTrcpdsr = Arm64SysregTrcdevid
succ Arm64SysregTrcdevid = Arm64SysregTrcdevtype
succ Arm64SysregTrcdevtype = Arm64SysregTrcpidr4
succ Arm64SysregTrcpidr4 = Arm64SysregTrcpidr5
succ Arm64SysregTrcpidr5 = Arm64SysregTrcpidr6
succ Arm64SysregTrcpidr6 = Arm64SysregTrcpidr7
succ Arm64SysregTrcpidr7 = Arm64SysregTrcpidr0
succ Arm64SysregTrcpidr0 = Arm64SysregTrcpidr1
succ Arm64SysregTrcpidr1 = Arm64SysregTrcdevaff0
succ Arm64SysregTrcdevaff0 = Arm64SysregTrcpidr2
succ Arm64SysregTrcpidr2 = Arm64SysregTrcdevaff1
succ Arm64SysregTrcdevaff1 = Arm64SysregTrcpidr3
succ Arm64SysregTrcpidr3 = Arm64SysregTrccidr0
succ Arm64SysregTrccidr0 = Arm64SysregTrclsr
succ Arm64SysregTrclsr = Arm64SysregTrccidr1
succ Arm64SysregTrccidr1 = Arm64SysregTrcauthstatus
succ Arm64SysregTrcauthstatus = Arm64SysregTrccidr2
succ Arm64SysregTrccidr2 = Arm64SysregTrcdevarch
succ Arm64SysregTrcdevarch = Arm64SysregTrccidr3
succ Arm64SysregTrccidr3 = Arm64SysregMdccsrEl0
succ Arm64SysregMdccsrEl0 = Arm64SysregDbgdtrrxEl0
succ Arm64SysregDbgdtrrxEl0 = Arm64SysregMidrEl1
succ Arm64SysregMidrEl1 = Arm64SysregMpidrEl1
succ Arm64SysregMpidrEl1 = Arm64SysregRevidrEl1
succ Arm64SysregRevidrEl1 = Arm64SysregIdPfr0El1
succ Arm64SysregIdPfr0El1 = Arm64SysregIdPfr1El1
succ Arm64SysregIdPfr1El1 = Arm64SysregIdDfr0El1
succ Arm64SysregIdDfr0El1 = Arm64SysregIdAfr0El1
succ Arm64SysregIdAfr0El1 = Arm64SysregIdMmfr0El1
succ Arm64SysregIdMmfr0El1 = Arm64SysregIdMmfr1El1
succ Arm64SysregIdMmfr1El1 = Arm64SysregIdMmfr2El1
succ Arm64SysregIdMmfr2El1 = Arm64SysregIdMmfr3El1
succ Arm64SysregIdMmfr3El1 = Arm64SysregIdIsar0El1
succ Arm64SysregIdIsar0El1 = Arm64SysregIdIsar1El1
succ Arm64SysregIdIsar1El1 = Arm64SysregIdIsar2El1
succ Arm64SysregIdIsar2El1 = Arm64SysregIdIsar3El1
succ Arm64SysregIdIsar3El1 = Arm64SysregIdIsar4El1
succ Arm64SysregIdIsar4El1 = Arm64SysregIdIsar5El1
succ Arm64SysregIdIsar5El1 = Arm64SysregMvfr0El1
succ Arm64SysregMvfr0El1 = Arm64SysregMvfr1El1
succ Arm64SysregMvfr1El1 = Arm64SysregMvfr2El1
succ Arm64SysregMvfr2El1 = Arm64SysregIdA64pfr0El1
succ Arm64SysregIdA64pfr0El1 = Arm64SysregIdA64pfr1El1
succ Arm64SysregIdA64pfr1El1 = Arm64SysregIdA64dfr0El1
succ Arm64SysregIdA64dfr0El1 = Arm64SysregIdA64dfr1El1
succ Arm64SysregIdA64dfr1El1 = Arm64SysregIdA64afr0El1
succ Arm64SysregIdA64afr0El1 = Arm64SysregIdA64afr1El1
succ Arm64SysregIdA64afr1El1 = Arm64SysregIdA64isar0El1
succ Arm64SysregIdA64isar0El1 = Arm64SysregIdA64isar1El1
succ Arm64SysregIdA64isar1El1 = Arm64SysregIdA64mmfr0El1
succ Arm64SysregIdA64mmfr0El1 = Arm64SysregIdA64mmfr1El1
succ Arm64SysregIdA64mmfr1El1 = Arm64SysregRvbarEl1
succ Arm64SysregRvbarEl1 = Arm64SysregIsrEl1
succ Arm64SysregIsrEl1 = Arm64SysregIccIar0El1
succ Arm64SysregIccIar0El1 = Arm64SysregIccHppir0El1
succ Arm64SysregIccHppir0El1 = Arm64SysregIccRprEl1
succ Arm64SysregIccRprEl1 = Arm64SysregIccIar1El1
succ Arm64SysregIccIar1El1 = Arm64SysregIccHppir1El1
succ Arm64SysregIccHppir1El1 = Arm64SysregCcsidrEl1
succ Arm64SysregCcsidrEl1 = Arm64SysregClidrEl1
succ Arm64SysregClidrEl1 = Arm64SysregAidrEl1
succ Arm64SysregAidrEl1 = Arm64SysregCtrEl0
succ Arm64SysregCtrEl0 = Arm64SysregDczidEl0
succ Arm64SysregDczidEl0 = Arm64SysregPmceid0El0
succ Arm64SysregPmceid0El0 = Arm64SysregPmceid1El0
succ Arm64SysregPmceid1El0 = Arm64SysregCntpctEl0
succ Arm64SysregCntpctEl0 = Arm64SysregCntvctEl0
succ Arm64SysregCntvctEl0 = Arm64SysregRvbarEl2
succ Arm64SysregRvbarEl2 = Arm64SysregIchVtrEl2
succ Arm64SysregIchVtrEl2 = Arm64SysregIchEisrEl2
succ Arm64SysregIchEisrEl2 = Arm64SysregIchElsrEl2
succ Arm64SysregIchElsrEl2 = Arm64SysregRvbarEl3
succ Arm64SysregRvbarEl3 = error "Arm64Sysreg.succ: Arm64SysregRvbarEl3 has no successor"
pred Arm64SysregMdrarEl1 = Arm64SysregInvalid
pred Arm64SysregOslsrEl1 = Arm64SysregMdrarEl1
pred Arm64SysregDbgauthstatusEl1 = Arm64SysregOslsrEl1
pred Arm64SysregTrcidr8 = Arm64SysregDbgauthstatusEl1
pred Arm64SysregTrcidr9 = Arm64SysregTrcidr8
pred Arm64SysregTrcidr10 = Arm64SysregTrcidr9
pred Arm64SysregTrcstatr = Arm64SysregTrcidr10
pred Arm64SysregTrcidr11 = Arm64SysregTrcstatr
pred Arm64SysregTrcidr12 = Arm64SysregTrcidr11
pred Arm64SysregTrcidr13 = Arm64SysregTrcidr12
pred Arm64SysregTrcidr0 = Arm64SysregTrcidr13
pred Arm64SysregTrcidr1 = Arm64SysregTrcidr0
pred Arm64SysregTrcidr2 = Arm64SysregTrcidr1
pred Arm64SysregTrcidr3 = Arm64SysregTrcidr2
pred Arm64SysregTrcidr4 = Arm64SysregTrcidr3
pred Arm64SysregTrcidr5 = Arm64SysregTrcidr4
pred Arm64SysregTrcidr6 = Arm64SysregTrcidr5
pred Arm64SysregTrcidr7 = Arm64SysregTrcidr6
pred Arm64SysregTrcoslsr = Arm64SysregTrcidr7
pred Arm64SysregTrcpdsr = Arm64SysregTrcoslsr
pred Arm64SysregTrcdevid = Arm64SysregTrcpdsr
pred Arm64SysregTrcdevtype = Arm64SysregTrcdevid
pred Arm64SysregTrcpidr4 = Arm64SysregTrcdevtype
pred Arm64SysregTrcpidr5 = Arm64SysregTrcpidr4
pred Arm64SysregTrcpidr6 = Arm64SysregTrcpidr5
pred Arm64SysregTrcpidr7 = Arm64SysregTrcpidr6
pred Arm64SysregTrcpidr0 = Arm64SysregTrcpidr7
pred Arm64SysregTrcpidr1 = Arm64SysregTrcpidr0
pred Arm64SysregTrcdevaff0 = Arm64SysregTrcpidr1
pred Arm64SysregTrcpidr2 = Arm64SysregTrcdevaff0
pred Arm64SysregTrcdevaff1 = Arm64SysregTrcpidr2
pred Arm64SysregTrcpidr3 = Arm64SysregTrcdevaff1
pred Arm64SysregTrccidr0 = Arm64SysregTrcpidr3
pred Arm64SysregTrclsr = Arm64SysregTrccidr0
pred Arm64SysregTrccidr1 = Arm64SysregTrclsr
pred Arm64SysregTrcauthstatus = Arm64SysregTrccidr1
pred Arm64SysregTrccidr2 = Arm64SysregTrcauthstatus
pred Arm64SysregTrcdevarch = Arm64SysregTrccidr2
pred Arm64SysregTrccidr3 = Arm64SysregTrcdevarch
pred Arm64SysregMdccsrEl0 = Arm64SysregTrccidr3
pred Arm64SysregDbgdtrrxEl0 = Arm64SysregMdccsrEl0
pred Arm64SysregMidrEl1 = Arm64SysregDbgdtrrxEl0
pred Arm64SysregMpidrEl1 = Arm64SysregMidrEl1
pred Arm64SysregRevidrEl1 = Arm64SysregMpidrEl1
pred Arm64SysregIdPfr0El1 = Arm64SysregRevidrEl1
pred Arm64SysregIdPfr1El1 = Arm64SysregIdPfr0El1
pred Arm64SysregIdDfr0El1 = Arm64SysregIdPfr1El1
pred Arm64SysregIdAfr0El1 = Arm64SysregIdDfr0El1
pred Arm64SysregIdMmfr0El1 = Arm64SysregIdAfr0El1
pred Arm64SysregIdMmfr1El1 = Arm64SysregIdMmfr0El1
pred Arm64SysregIdMmfr2El1 = Arm64SysregIdMmfr1El1
pred Arm64SysregIdMmfr3El1 = Arm64SysregIdMmfr2El1
pred Arm64SysregIdIsar0El1 = Arm64SysregIdMmfr3El1
pred Arm64SysregIdIsar1El1 = Arm64SysregIdIsar0El1
pred Arm64SysregIdIsar2El1 = Arm64SysregIdIsar1El1
pred Arm64SysregIdIsar3El1 = Arm64SysregIdIsar2El1
pred Arm64SysregIdIsar4El1 = Arm64SysregIdIsar3El1
pred Arm64SysregIdIsar5El1 = Arm64SysregIdIsar4El1
pred Arm64SysregMvfr0El1 = Arm64SysregIdIsar5El1
pred Arm64SysregMvfr1El1 = Arm64SysregMvfr0El1
pred Arm64SysregMvfr2El1 = Arm64SysregMvfr1El1
pred Arm64SysregIdA64pfr0El1 = Arm64SysregMvfr2El1
pred Arm64SysregIdA64pfr1El1 = Arm64SysregIdA64pfr0El1
pred Arm64SysregIdA64dfr0El1 = Arm64SysregIdA64pfr1El1
pred Arm64SysregIdA64dfr1El1 = Arm64SysregIdA64dfr0El1
pred Arm64SysregIdA64afr0El1 = Arm64SysregIdA64dfr1El1
pred Arm64SysregIdA64afr1El1 = Arm64SysregIdA64afr0El1
pred Arm64SysregIdA64isar0El1 = Arm64SysregIdA64afr1El1
pred Arm64SysregIdA64isar1El1 = Arm64SysregIdA64isar0El1
pred Arm64SysregIdA64mmfr0El1 = Arm64SysregIdA64isar1El1
pred Arm64SysregIdA64mmfr1El1 = Arm64SysregIdA64mmfr0El1
pred Arm64SysregRvbarEl1 = Arm64SysregIdA64mmfr1El1
pred Arm64SysregIsrEl1 = Arm64SysregRvbarEl1
pred Arm64SysregIccIar0El1 = Arm64SysregIsrEl1
pred Arm64SysregIccHppir0El1 = Arm64SysregIccIar0El1
pred Arm64SysregIccRprEl1 = Arm64SysregIccHppir0El1
pred Arm64SysregIccIar1El1 = Arm64SysregIccRprEl1
pred Arm64SysregIccHppir1El1 = Arm64SysregIccIar1El1
pred Arm64SysregCcsidrEl1 = Arm64SysregIccHppir1El1
pred Arm64SysregClidrEl1 = Arm64SysregCcsidrEl1
pred Arm64SysregAidrEl1 = Arm64SysregClidrEl1
pred Arm64SysregCtrEl0 = Arm64SysregAidrEl1
pred Arm64SysregDczidEl0 = Arm64SysregCtrEl0
pred Arm64SysregPmceid0El0 = Arm64SysregDczidEl0
pred Arm64SysregPmceid1El0 = Arm64SysregPmceid0El0
pred Arm64SysregCntpctEl0 = Arm64SysregPmceid1El0
pred Arm64SysregCntvctEl0 = Arm64SysregCntpctEl0
pred Arm64SysregRvbarEl2 = Arm64SysregCntvctEl0
pred Arm64SysregIchVtrEl2 = Arm64SysregRvbarEl2
pred Arm64SysregIchEisrEl2 = Arm64SysregIchVtrEl2
pred Arm64SysregIchElsrEl2 = Arm64SysregIchEisrEl2
pred Arm64SysregRvbarEl3 = Arm64SysregIchElsrEl2
pred Arm64SysregInvalid = error "Arm64Sysreg.pred: Arm64SysregInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64SysregRvbarEl3
fromEnum Arm64SysregInvalid = 0
fromEnum Arm64SysregMdrarEl1 = 32896
fromEnum Arm64SysregOslsrEl1 = 32908
fromEnum Arm64SysregDbgauthstatusEl1 = 33782
fromEnum Arm64SysregTrcidr8 = 34822
fromEnum Arm64SysregTrcidr9 = 34830
fromEnum Arm64SysregTrcidr10 = 34838
fromEnum Arm64SysregTrcstatr = 34840
fromEnum Arm64SysregTrcidr11 = 34846
fromEnum Arm64SysregTrcidr12 = 34854
fromEnum Arm64SysregTrcidr13 = 34862
fromEnum Arm64SysregTrcidr0 = 34887
fromEnum Arm64SysregTrcidr1 = 34895
fromEnum Arm64SysregTrcidr2 = 34903
fromEnum Arm64SysregTrcidr3 = 34911
fromEnum Arm64SysregTrcidr4 = 34919
fromEnum Arm64SysregTrcidr5 = 34927
fromEnum Arm64SysregTrcidr6 = 34935
fromEnum Arm64SysregTrcidr7 = 34943
fromEnum Arm64SysregTrcoslsr = 34956
fromEnum Arm64SysregTrcpdsr = 34988
fromEnum Arm64SysregTrcdevid = 35735
fromEnum Arm64SysregTrcdevtype = 35743
fromEnum Arm64SysregTrcpidr4 = 35751
fromEnum Arm64SysregTrcpidr5 = 35759
fromEnum Arm64SysregTrcpidr6 = 35767
fromEnum Arm64SysregTrcpidr7 = 35775
fromEnum Arm64SysregTrcpidr0 = 35783
fromEnum Arm64SysregTrcpidr1 = 35791
fromEnum Arm64SysregTrcdevaff0 = 35798
fromEnum Arm64SysregTrcpidr2 = 35799
fromEnum Arm64SysregTrcdevaff1 = 35806
fromEnum Arm64SysregTrcpidr3 = 35807
fromEnum Arm64SysregTrccidr0 = 35815
fromEnum Arm64SysregTrclsr = 35822
fromEnum Arm64SysregTrccidr1 = 35823
fromEnum Arm64SysregTrcauthstatus = 35830
fromEnum Arm64SysregTrccidr2 = 35831
fromEnum Arm64SysregTrcdevarch = 35838
fromEnum Arm64SysregTrccidr3 = 35839
fromEnum Arm64SysregMdccsrEl0 = 38920
fromEnum Arm64SysregDbgdtrrxEl0 = 38952
fromEnum Arm64SysregMidrEl1 = 49152
fromEnum Arm64SysregMpidrEl1 = 49157
fromEnum Arm64SysregRevidrEl1 = 49158
fromEnum Arm64SysregIdPfr0El1 = 49160
fromEnum Arm64SysregIdPfr1El1 = 49161
fromEnum Arm64SysregIdDfr0El1 = 49162
fromEnum Arm64SysregIdAfr0El1 = 49163
fromEnum Arm64SysregIdMmfr0El1 = 49164
fromEnum Arm64SysregIdMmfr1El1 = 49165
fromEnum Arm64SysregIdMmfr2El1 = 49166
fromEnum Arm64SysregIdMmfr3El1 = 49167
fromEnum Arm64SysregIdIsar0El1 = 49168
fromEnum Arm64SysregIdIsar1El1 = 49169
fromEnum Arm64SysregIdIsar2El1 = 49170
fromEnum Arm64SysregIdIsar3El1 = 49171
fromEnum Arm64SysregIdIsar4El1 = 49172
fromEnum Arm64SysregIdIsar5El1 = 49173
fromEnum Arm64SysregMvfr0El1 = 49176
fromEnum Arm64SysregMvfr1El1 = 49177
fromEnum Arm64SysregMvfr2El1 = 49178
fromEnum Arm64SysregIdA64pfr0El1 = 49184
fromEnum Arm64SysregIdA64pfr1El1 = 49185
fromEnum Arm64SysregIdA64dfr0El1 = 49192
fromEnum Arm64SysregIdA64dfr1El1 = 49193
fromEnum Arm64SysregIdA64afr0El1 = 49196
fromEnum Arm64SysregIdA64afr1El1 = 49197
fromEnum Arm64SysregIdA64isar0El1 = 49200
fromEnum Arm64SysregIdA64isar1El1 = 49201
fromEnum Arm64SysregIdA64mmfr0El1 = 49208
fromEnum Arm64SysregIdA64mmfr1El1 = 49209
fromEnum Arm64SysregRvbarEl1 = 50689
fromEnum Arm64SysregIsrEl1 = 50696
fromEnum Arm64SysregIccIar0El1 = 50752
fromEnum Arm64SysregIccHppir0El1 = 50754
fromEnum Arm64SysregIccRprEl1 = 50779
fromEnum Arm64SysregIccIar1El1 = 50784
fromEnum Arm64SysregIccHppir1El1 = 50786
fromEnum Arm64SysregCcsidrEl1 = 51200
fromEnum Arm64SysregClidrEl1 = 51201
fromEnum Arm64SysregAidrEl1 = 51207
fromEnum Arm64SysregCtrEl0 = 55297
fromEnum Arm64SysregDczidEl0 = 55303
fromEnum Arm64SysregPmceid0El0 = 56550
fromEnum Arm64SysregPmceid1El0 = 56551
fromEnum Arm64SysregCntpctEl0 = 57089
fromEnum Arm64SysregCntvctEl0 = 57090
fromEnum Arm64SysregRvbarEl2 = 58881
fromEnum Arm64SysregIchVtrEl2 = 58969
fromEnum Arm64SysregIchEisrEl2 = 58971
fromEnum Arm64SysregIchElsrEl2 = 58973
fromEnum Arm64SysregRvbarEl3 = 62977
toEnum 0 = Arm64SysregInvalid
toEnum 32896 = Arm64SysregMdrarEl1
toEnum 32908 = Arm64SysregOslsrEl1
toEnum 33782 = Arm64SysregDbgauthstatusEl1
toEnum 34822 = Arm64SysregTrcidr8
toEnum 34830 = Arm64SysregTrcidr9
toEnum 34838 = Arm64SysregTrcidr10
toEnum 34840 = Arm64SysregTrcstatr
toEnum 34846 = Arm64SysregTrcidr11
toEnum 34854 = Arm64SysregTrcidr12
toEnum 34862 = Arm64SysregTrcidr13
toEnum 34887 = Arm64SysregTrcidr0
toEnum 34895 = Arm64SysregTrcidr1
toEnum 34903 = Arm64SysregTrcidr2
toEnum 34911 = Arm64SysregTrcidr3
toEnum 34919 = Arm64SysregTrcidr4
toEnum 34927 = Arm64SysregTrcidr5
toEnum 34935 = Arm64SysregTrcidr6
toEnum 34943 = Arm64SysregTrcidr7
toEnum 34956 = Arm64SysregTrcoslsr
toEnum 34988 = Arm64SysregTrcpdsr
toEnum 35735 = Arm64SysregTrcdevid
toEnum 35743 = Arm64SysregTrcdevtype
toEnum 35751 = Arm64SysregTrcpidr4
toEnum 35759 = Arm64SysregTrcpidr5
toEnum 35767 = Arm64SysregTrcpidr6
toEnum 35775 = Arm64SysregTrcpidr7
toEnum 35783 = Arm64SysregTrcpidr0
toEnum 35791 = Arm64SysregTrcpidr1
toEnum 35798 = Arm64SysregTrcdevaff0
toEnum 35799 = Arm64SysregTrcpidr2
toEnum 35806 = Arm64SysregTrcdevaff1
toEnum 35807 = Arm64SysregTrcpidr3
toEnum 35815 = Arm64SysregTrccidr0
toEnum 35822 = Arm64SysregTrclsr
toEnum 35823 = Arm64SysregTrccidr1
toEnum 35830 = Arm64SysregTrcauthstatus
toEnum 35831 = Arm64SysregTrccidr2
toEnum 35838 = Arm64SysregTrcdevarch
toEnum 35839 = Arm64SysregTrccidr3
toEnum 38920 = Arm64SysregMdccsrEl0
toEnum 38952 = Arm64SysregDbgdtrrxEl0
toEnum 49152 = Arm64SysregMidrEl1
toEnum 49157 = Arm64SysregMpidrEl1
toEnum 49158 = Arm64SysregRevidrEl1
toEnum 49160 = Arm64SysregIdPfr0El1
toEnum 49161 = Arm64SysregIdPfr1El1
toEnum 49162 = Arm64SysregIdDfr0El1
toEnum 49163 = Arm64SysregIdAfr0El1
toEnum 49164 = Arm64SysregIdMmfr0El1
toEnum 49165 = Arm64SysregIdMmfr1El1
toEnum 49166 = Arm64SysregIdMmfr2El1
toEnum 49167 = Arm64SysregIdMmfr3El1
toEnum 49168 = Arm64SysregIdIsar0El1
toEnum 49169 = Arm64SysregIdIsar1El1
toEnum 49170 = Arm64SysregIdIsar2El1
toEnum 49171 = Arm64SysregIdIsar3El1
toEnum 49172 = Arm64SysregIdIsar4El1
toEnum 49173 = Arm64SysregIdIsar5El1
toEnum 49176 = Arm64SysregMvfr0El1
toEnum 49177 = Arm64SysregMvfr1El1
toEnum 49178 = Arm64SysregMvfr2El1
toEnum 49184 = Arm64SysregIdA64pfr0El1
toEnum 49185 = Arm64SysregIdA64pfr1El1
toEnum 49192 = Arm64SysregIdA64dfr0El1
toEnum 49193 = Arm64SysregIdA64dfr1El1
toEnum 49196 = Arm64SysregIdA64afr0El1
toEnum 49197 = Arm64SysregIdA64afr1El1
toEnum 49200 = Arm64SysregIdA64isar0El1
toEnum 49201 = Arm64SysregIdA64isar1El1
toEnum 49208 = Arm64SysregIdA64mmfr0El1
toEnum 49209 = Arm64SysregIdA64mmfr1El1
toEnum 50689 = Arm64SysregRvbarEl1
toEnum 50696 = Arm64SysregIsrEl1
toEnum 50752 = Arm64SysregIccIar0El1
toEnum 50754 = Arm64SysregIccHppir0El1
toEnum 50779 = Arm64SysregIccRprEl1
toEnum 50784 = Arm64SysregIccIar1El1
toEnum 50786 = Arm64SysregIccHppir1El1
toEnum 51200 = Arm64SysregCcsidrEl1
toEnum 51201 = Arm64SysregClidrEl1
toEnum 51207 = Arm64SysregAidrEl1
toEnum 55297 = Arm64SysregCtrEl0
toEnum 55303 = Arm64SysregDczidEl0
toEnum 56550 = Arm64SysregPmceid0El0
toEnum 56551 = Arm64SysregPmceid1El0
toEnum 57089 = Arm64SysregCntpctEl0
toEnum 57090 = Arm64SysregCntvctEl0
toEnum 58881 = Arm64SysregRvbarEl2
toEnum 58969 = Arm64SysregIchVtrEl2
toEnum 58971 = Arm64SysregIchEisrEl2
toEnum 58973 = Arm64SysregIchElsrEl2
toEnum 62977 = Arm64SysregRvbarEl3
toEnum unmatched = error ("Arm64Sysreg.toEnum: Cannot match " ++ show unmatched)
data Arm64MsrReg = Arm64SysregOslarEl1
| Arm64SysregTrcoslar
| Arm64SysregTrclar
| Arm64SysregDbgdtrtxEl0
| Arm64SysregIccEoir0El1
| Arm64SysregIccDirEl1
| Arm64SysregIccSgi1rEl1
| Arm64SysregIccAsgi1rEl1
| Arm64SysregIccSgi0rEl1
| Arm64SysregIccEoir1El1
| Arm64SysregPmswincEl0
deriving (Show,Eq,Bounded)
instance Enum Arm64MsrReg where
succ Arm64SysregOslarEl1 = Arm64SysregTrcoslar
succ Arm64SysregTrcoslar = Arm64SysregTrclar
succ Arm64SysregTrclar = Arm64SysregDbgdtrtxEl0
succ Arm64SysregDbgdtrtxEl0 = Arm64SysregIccEoir0El1
succ Arm64SysregIccEoir0El1 = Arm64SysregIccDirEl1
succ Arm64SysregIccDirEl1 = Arm64SysregIccSgi1rEl1
succ Arm64SysregIccSgi1rEl1 = Arm64SysregIccAsgi1rEl1
succ Arm64SysregIccAsgi1rEl1 = Arm64SysregIccSgi0rEl1
succ Arm64SysregIccSgi0rEl1 = Arm64SysregIccEoir1El1
succ Arm64SysregIccEoir1El1 = Arm64SysregPmswincEl0
succ Arm64SysregPmswincEl0 = error "Arm64MsrReg.succ: Arm64SysregPmswincEl0 has no successor"
pred Arm64SysregTrcoslar = Arm64SysregOslarEl1
pred Arm64SysregTrclar = Arm64SysregTrcoslar
pred Arm64SysregDbgdtrtxEl0 = Arm64SysregTrclar
pred Arm64SysregIccEoir0El1 = Arm64SysregDbgdtrtxEl0
pred Arm64SysregIccDirEl1 = Arm64SysregIccEoir0El1
pred Arm64SysregIccSgi1rEl1 = Arm64SysregIccDirEl1
pred Arm64SysregIccAsgi1rEl1 = Arm64SysregIccSgi1rEl1
pred Arm64SysregIccSgi0rEl1 = Arm64SysregIccAsgi1rEl1
pred Arm64SysregIccEoir1El1 = Arm64SysregIccSgi0rEl1
pred Arm64SysregPmswincEl0 = Arm64SysregIccEoir1El1
pred Arm64SysregOslarEl1 = error "Arm64MsrReg.pred: Arm64SysregOslarEl1 has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64SysregPmswincEl0
fromEnum Arm64SysregOslarEl1 = 32900
fromEnum Arm64SysregTrcoslar = 34948
fromEnum Arm64SysregTrclar = 35814
fromEnum Arm64SysregDbgdtrtxEl0 = 38952
fromEnum Arm64SysregIccEoir0El1 = 50753
fromEnum Arm64SysregIccDirEl1 = 50777
fromEnum Arm64SysregIccSgi1rEl1 = 50781
fromEnum Arm64SysregIccAsgi1rEl1 = 50782
fromEnum Arm64SysregIccSgi0rEl1 = 50783
fromEnum Arm64SysregIccEoir1El1 = 50785
fromEnum Arm64SysregPmswincEl0 = 56548
toEnum 32900 = Arm64SysregOslarEl1
toEnum 34948 = Arm64SysregTrcoslar
toEnum 35814 = Arm64SysregTrclar
toEnum 38952 = Arm64SysregDbgdtrtxEl0
toEnum 50753 = Arm64SysregIccEoir0El1
toEnum 50777 = Arm64SysregIccDirEl1
toEnum 50781 = Arm64SysregIccSgi1rEl1
toEnum 50782 = Arm64SysregIccAsgi1rEl1
toEnum 50783 = Arm64SysregIccSgi0rEl1
toEnum 50785 = Arm64SysregIccEoir1El1
toEnum 56548 = Arm64SysregPmswincEl0
toEnum unmatched = error ("Arm64MsrReg.toEnum: Cannot match " ++ show unmatched)
data Arm64Pstate = Arm64PstateInvalid
| Arm64PstateSpsel
| Arm64PstateDaifset
| Arm64PstateDaifclr
deriving (Show,Eq,Bounded)
instance Enum Arm64Pstate where
succ Arm64PstateInvalid = Arm64PstateSpsel
succ Arm64PstateSpsel = Arm64PstateDaifset
succ Arm64PstateDaifset = Arm64PstateDaifclr
succ Arm64PstateDaifclr = error "Arm64Pstate.succ: Arm64PstateDaifclr has no successor"
pred Arm64PstateSpsel = Arm64PstateInvalid
pred Arm64PstateDaifset = Arm64PstateSpsel
pred Arm64PstateDaifclr = Arm64PstateDaifset
pred Arm64PstateInvalid = error "Arm64Pstate.pred: Arm64PstateInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64PstateDaifclr
fromEnum Arm64PstateInvalid = 0
fromEnum Arm64PstateSpsel = 5
fromEnum Arm64PstateDaifset = 30
fromEnum Arm64PstateDaifclr = 31
toEnum 0 = Arm64PstateInvalid
toEnum 5 = Arm64PstateSpsel
toEnum 30 = Arm64PstateDaifset
toEnum 31 = Arm64PstateDaifclr
toEnum unmatched = error ("Arm64Pstate.toEnum: Cannot match " ++ show unmatched)
data Arm64Vas = Arm64VasInvalid
| Arm64Vas8b
| Arm64Vas16b
| Arm64Vas4h
| Arm64Vas8h
| Arm64Vas2s
| Arm64Vas4s
| Arm64Vas1d
| Arm64Vas2d
| Arm64Vas1q
deriving (Show,Eq,Bounded)
instance Enum Arm64Vas where
succ Arm64VasInvalid = Arm64Vas8b
succ Arm64Vas8b = Arm64Vas16b
succ Arm64Vas16b = Arm64Vas4h
succ Arm64Vas4h = Arm64Vas8h
succ Arm64Vas8h = Arm64Vas2s
succ Arm64Vas2s = Arm64Vas4s
succ Arm64Vas4s = Arm64Vas1d
succ Arm64Vas1d = Arm64Vas2d
succ Arm64Vas2d = Arm64Vas1q
succ Arm64Vas1q = error "Arm64Vas.succ: Arm64Vas1q has no successor"
pred Arm64Vas8b = Arm64VasInvalid
pred Arm64Vas16b = Arm64Vas8b
pred Arm64Vas4h = Arm64Vas16b
pred Arm64Vas8h = Arm64Vas4h
pred Arm64Vas2s = Arm64Vas8h
pred Arm64Vas4s = Arm64Vas2s
pred Arm64Vas1d = Arm64Vas4s
pred Arm64Vas2d = Arm64Vas1d
pred Arm64Vas1q = Arm64Vas2d
pred Arm64VasInvalid = error "Arm64Vas.pred: Arm64VasInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64Vas1q
fromEnum Arm64VasInvalid = 0
fromEnum Arm64Vas8b = 1
fromEnum Arm64Vas16b = 2
fromEnum Arm64Vas4h = 3
fromEnum Arm64Vas8h = 4
fromEnum Arm64Vas2s = 5
fromEnum Arm64Vas4s = 6
fromEnum Arm64Vas1d = 7
fromEnum Arm64Vas2d = 8
fromEnum Arm64Vas1q = 9
toEnum 0 = Arm64VasInvalid
toEnum 1 = Arm64Vas8b
toEnum 2 = Arm64Vas16b
toEnum 3 = Arm64Vas4h
toEnum 4 = Arm64Vas8h
toEnum 5 = Arm64Vas2s
toEnum 6 = Arm64Vas4s
toEnum 7 = Arm64Vas1d
toEnum 8 = Arm64Vas2d
toEnum 9 = Arm64Vas1q
toEnum unmatched = error ("Arm64Vas.toEnum: Cannot match " ++ show unmatched)
data Arm64Vess = Arm64VessInvalid
| Arm64VessB
| Arm64VessH
| Arm64VessS
| Arm64VessD
deriving (Show,Eq,Bounded)
instance Enum Arm64Vess where
succ Arm64VessInvalid = Arm64VessB
succ Arm64VessB = Arm64VessH
succ Arm64VessH = Arm64VessS
succ Arm64VessS = Arm64VessD
succ Arm64VessD = error "Arm64Vess.succ: Arm64VessD has no successor"
pred Arm64VessB = Arm64VessInvalid
pred Arm64VessH = Arm64VessB
pred Arm64VessS = Arm64VessH
pred Arm64VessD = Arm64VessS
pred Arm64VessInvalid = error "Arm64Vess.pred: Arm64VessInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64VessD
fromEnum Arm64VessInvalid = 0
fromEnum Arm64VessB = 1
fromEnum Arm64VessH = 2
fromEnum Arm64VessS = 3
fromEnum Arm64VessD = 4
toEnum 0 = Arm64VessInvalid
toEnum 1 = Arm64VessB
toEnum 2 = Arm64VessH
toEnum 3 = Arm64VessS
toEnum 4 = Arm64VessD
toEnum unmatched = error ("Arm64Vess.toEnum: Cannot match " ++ show unmatched)
data Arm64BarrierOp = Arm64BarrierInvalid
| Arm64BarrierOshld
| Arm64BarrierOshst
| Arm64BarrierOsh
| Arm64BarrierNshld
| Arm64BarrierNshst
| Arm64BarrierNsh
| Arm64BarrierIshld
| Arm64BarrierIshst
| Arm64BarrierIsh
| Arm64BarrierLd
| Arm64BarrierSt
| Arm64BarrierSy
deriving (Show,Eq,Bounded)
instance Enum Arm64BarrierOp where
succ Arm64BarrierInvalid = Arm64BarrierOshld
succ Arm64BarrierOshld = Arm64BarrierOshst
succ Arm64BarrierOshst = Arm64BarrierOsh
succ Arm64BarrierOsh = Arm64BarrierNshld
succ Arm64BarrierNshld = Arm64BarrierNshst
succ Arm64BarrierNshst = Arm64BarrierNsh
succ Arm64BarrierNsh = Arm64BarrierIshld
succ Arm64BarrierIshld = Arm64BarrierIshst
succ Arm64BarrierIshst = Arm64BarrierIsh
succ Arm64BarrierIsh = Arm64BarrierLd
succ Arm64BarrierLd = Arm64BarrierSt
succ Arm64BarrierSt = Arm64BarrierSy
succ Arm64BarrierSy = error "Arm64BarrierOp.succ: Arm64BarrierSy has no successor"
pred Arm64BarrierOshld = Arm64BarrierInvalid
pred Arm64BarrierOshst = Arm64BarrierOshld
pred Arm64BarrierOsh = Arm64BarrierOshst
pred Arm64BarrierNshld = Arm64BarrierOsh
pred Arm64BarrierNshst = Arm64BarrierNshld
pred Arm64BarrierNsh = Arm64BarrierNshst
pred Arm64BarrierIshld = Arm64BarrierNsh
pred Arm64BarrierIshst = Arm64BarrierIshld
pred Arm64BarrierIsh = Arm64BarrierIshst
pred Arm64BarrierLd = Arm64BarrierIsh
pred Arm64BarrierSt = Arm64BarrierLd
pred Arm64BarrierSy = Arm64BarrierSt
pred Arm64BarrierInvalid = error "Arm64BarrierOp.pred: Arm64BarrierInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64BarrierSy
fromEnum Arm64BarrierInvalid = 0
fromEnum Arm64BarrierOshld = 1
fromEnum Arm64BarrierOshst = 2
fromEnum Arm64BarrierOsh = 3
fromEnum Arm64BarrierNshld = 5
fromEnum Arm64BarrierNshst = 6
fromEnum Arm64BarrierNsh = 7
fromEnum Arm64BarrierIshld = 9
fromEnum Arm64BarrierIshst = 10
fromEnum Arm64BarrierIsh = 11
fromEnum Arm64BarrierLd = 13
fromEnum Arm64BarrierSt = 14
fromEnum Arm64BarrierSy = 15
toEnum 0 = Arm64BarrierInvalid
toEnum 1 = Arm64BarrierOshld
toEnum 2 = Arm64BarrierOshst
toEnum 3 = Arm64BarrierOsh
toEnum 5 = Arm64BarrierNshld
toEnum 6 = Arm64BarrierNshst
toEnum 7 = Arm64BarrierNsh
toEnum 9 = Arm64BarrierIshld
toEnum 10 = Arm64BarrierIshst
toEnum 11 = Arm64BarrierIsh
toEnum 13 = Arm64BarrierLd
toEnum 14 = Arm64BarrierSt
toEnum 15 = Arm64BarrierSy
toEnum unmatched = error ("Arm64BarrierOp.toEnum: Cannot match " ++ show unmatched)
data Arm64OpType = Arm64OpInvalid
| Arm64OpReg
| Arm64OpImm
| Arm64OpMem
| Arm64OpFp
| Arm64OpCimm
| Arm64OpRegMrs
| Arm64OpRegMsr
| Arm64OpPstate
| Arm64OpSys
| Arm64OpPrefetch
| Arm64OpBarrier
deriving (Show,Eq,Bounded)
instance Enum Arm64OpType where
succ Arm64OpInvalid = Arm64OpReg
succ Arm64OpReg = Arm64OpImm
succ Arm64OpImm = Arm64OpMem
succ Arm64OpMem = Arm64OpFp
succ Arm64OpFp = Arm64OpCimm
succ Arm64OpCimm = Arm64OpRegMrs
succ Arm64OpRegMrs = Arm64OpRegMsr
succ Arm64OpRegMsr = Arm64OpPstate
succ Arm64OpPstate = Arm64OpSys
succ Arm64OpSys = Arm64OpPrefetch
succ Arm64OpPrefetch = Arm64OpBarrier
succ Arm64OpBarrier = error "Arm64OpType.succ: Arm64OpBarrier has no successor"
pred Arm64OpReg = Arm64OpInvalid
pred Arm64OpImm = Arm64OpReg
pred Arm64OpMem = Arm64OpImm
pred Arm64OpFp = Arm64OpMem
pred Arm64OpCimm = Arm64OpFp
pred Arm64OpRegMrs = Arm64OpCimm
pred Arm64OpRegMsr = Arm64OpRegMrs
pred Arm64OpPstate = Arm64OpRegMsr
pred Arm64OpSys = Arm64OpPstate
pred Arm64OpPrefetch = Arm64OpSys
pred Arm64OpBarrier = Arm64OpPrefetch
pred Arm64OpInvalid = error "Arm64OpType.pred: Arm64OpInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64OpBarrier
fromEnum Arm64OpInvalid = 0
fromEnum Arm64OpReg = 1
fromEnum Arm64OpImm = 2
fromEnum Arm64OpMem = 3
fromEnum Arm64OpFp = 4
fromEnum Arm64OpCimm = 64
fromEnum Arm64OpRegMrs = 65
fromEnum Arm64OpRegMsr = 66
fromEnum Arm64OpPstate = 67
fromEnum Arm64OpSys = 68
fromEnum Arm64OpPrefetch = 69
fromEnum Arm64OpBarrier = 70
toEnum 0 = Arm64OpInvalid
toEnum 1 = Arm64OpReg
toEnum 2 = Arm64OpImm
toEnum 3 = Arm64OpMem
toEnum 4 = Arm64OpFp
toEnum 64 = Arm64OpCimm
toEnum 65 = Arm64OpRegMrs
toEnum 66 = Arm64OpRegMsr
toEnum 67 = Arm64OpPstate
toEnum 68 = Arm64OpSys
toEnum 69 = Arm64OpPrefetch
toEnum 70 = Arm64OpBarrier
toEnum unmatched = error ("Arm64OpType.toEnum: Cannot match " ++ show unmatched)
data Arm64TlbiOp = Arm64TlbiInvalid
| Arm64TlbiVmalle1is
| Arm64TlbiVae1is
| Arm64TlbiAside1is
| Arm64TlbiVaae1is
| Arm64TlbiVale1is
| Arm64TlbiVaale1is
| Arm64TlbiAlle2is
| Arm64TlbiVae2is
| Arm64TlbiAlle1is
| Arm64TlbiVale2is
| Arm64TlbiVmalls12e1is
| Arm64TlbiAlle3is
| Arm64TlbiVae3is
| Arm64TlbiVale3is
| Arm64TlbiIpas2e1is
| Arm64TlbiIpas2le1is
| Arm64TlbiIpas2e1
| Arm64TlbiIpas2le1
| Arm64TlbiVmalle1
| Arm64TlbiVae1
| Arm64TlbiAside1
| Arm64TlbiVaae1
| Arm64TlbiVale1
| Arm64TlbiVaale1
| Arm64TlbiAlle2
| Arm64TlbiVae2
| Arm64TlbiAlle1
| Arm64TlbiVale2
| Arm64TlbiVmalls12e1
| Arm64TlbiAlle3
| Arm64TlbiVae3
| Arm64TlbiVale3
deriving (Show,Eq,Bounded)
instance Enum Arm64TlbiOp where
succ Arm64TlbiInvalid = Arm64TlbiVmalle1is
succ Arm64TlbiVmalle1is = Arm64TlbiVae1is
succ Arm64TlbiVae1is = Arm64TlbiAside1is
succ Arm64TlbiAside1is = Arm64TlbiVaae1is
succ Arm64TlbiVaae1is = Arm64TlbiVale1is
succ Arm64TlbiVale1is = Arm64TlbiVaale1is
succ Arm64TlbiVaale1is = Arm64TlbiAlle2is
succ Arm64TlbiAlle2is = Arm64TlbiVae2is
succ Arm64TlbiVae2is = Arm64TlbiAlle1is
succ Arm64TlbiAlle1is = Arm64TlbiVale2is
succ Arm64TlbiVale2is = Arm64TlbiVmalls12e1is
succ Arm64TlbiVmalls12e1is = Arm64TlbiAlle3is
succ Arm64TlbiAlle3is = Arm64TlbiVae3is
succ Arm64TlbiVae3is = Arm64TlbiVale3is
succ Arm64TlbiVale3is = Arm64TlbiIpas2e1is
succ Arm64TlbiIpas2e1is = Arm64TlbiIpas2le1is
succ Arm64TlbiIpas2le1is = Arm64TlbiIpas2e1
succ Arm64TlbiIpas2e1 = Arm64TlbiIpas2le1
succ Arm64TlbiIpas2le1 = Arm64TlbiVmalle1
succ Arm64TlbiVmalle1 = Arm64TlbiVae1
succ Arm64TlbiVae1 = Arm64TlbiAside1
succ Arm64TlbiAside1 = Arm64TlbiVaae1
succ Arm64TlbiVaae1 = Arm64TlbiVale1
succ Arm64TlbiVale1 = Arm64TlbiVaale1
succ Arm64TlbiVaale1 = Arm64TlbiAlle2
succ Arm64TlbiAlle2 = Arm64TlbiVae2
succ Arm64TlbiVae2 = Arm64TlbiAlle1
succ Arm64TlbiAlle1 = Arm64TlbiVale2
succ Arm64TlbiVale2 = Arm64TlbiVmalls12e1
succ Arm64TlbiVmalls12e1 = Arm64TlbiAlle3
succ Arm64TlbiAlle3 = Arm64TlbiVae3
succ Arm64TlbiVae3 = Arm64TlbiVale3
succ Arm64TlbiVale3 = error "Arm64TlbiOp.succ: Arm64TlbiVale3 has no successor"
pred Arm64TlbiVmalle1is = Arm64TlbiInvalid
pred Arm64TlbiVae1is = Arm64TlbiVmalle1is
pred Arm64TlbiAside1is = Arm64TlbiVae1is
pred Arm64TlbiVaae1is = Arm64TlbiAside1is
pred Arm64TlbiVale1is = Arm64TlbiVaae1is
pred Arm64TlbiVaale1is = Arm64TlbiVale1is
pred Arm64TlbiAlle2is = Arm64TlbiVaale1is
pred Arm64TlbiVae2is = Arm64TlbiAlle2is
pred Arm64TlbiAlle1is = Arm64TlbiVae2is
pred Arm64TlbiVale2is = Arm64TlbiAlle1is
pred Arm64TlbiVmalls12e1is = Arm64TlbiVale2is
pred Arm64TlbiAlle3is = Arm64TlbiVmalls12e1is
pred Arm64TlbiVae3is = Arm64TlbiAlle3is
pred Arm64TlbiVale3is = Arm64TlbiVae3is
pred Arm64TlbiIpas2e1is = Arm64TlbiVale3is
pred Arm64TlbiIpas2le1is = Arm64TlbiIpas2e1is
pred Arm64TlbiIpas2e1 = Arm64TlbiIpas2le1is
pred Arm64TlbiIpas2le1 = Arm64TlbiIpas2e1
pred Arm64TlbiVmalle1 = Arm64TlbiIpas2le1
pred Arm64TlbiVae1 = Arm64TlbiVmalle1
pred Arm64TlbiAside1 = Arm64TlbiVae1
pred Arm64TlbiVaae1 = Arm64TlbiAside1
pred Arm64TlbiVale1 = Arm64TlbiVaae1
pred Arm64TlbiVaale1 = Arm64TlbiVale1
pred Arm64TlbiAlle2 = Arm64TlbiVaale1
pred Arm64TlbiVae2 = Arm64TlbiAlle2
pred Arm64TlbiAlle1 = Arm64TlbiVae2
pred Arm64TlbiVale2 = Arm64TlbiAlle1
pred Arm64TlbiVmalls12e1 = Arm64TlbiVale2
pred Arm64TlbiAlle3 = Arm64TlbiVmalls12e1
pred Arm64TlbiVae3 = Arm64TlbiAlle3
pred Arm64TlbiVale3 = Arm64TlbiVae3
pred Arm64TlbiInvalid = error "Arm64TlbiOp.pred: Arm64TlbiInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64TlbiVale3
fromEnum Arm64TlbiInvalid = 0
fromEnum Arm64TlbiVmalle1is = 1
fromEnum Arm64TlbiVae1is = 2
fromEnum Arm64TlbiAside1is = 3
fromEnum Arm64TlbiVaae1is = 4
fromEnum Arm64TlbiVale1is = 5
fromEnum Arm64TlbiVaale1is = 6
fromEnum Arm64TlbiAlle2is = 7
fromEnum Arm64TlbiVae2is = 8
fromEnum Arm64TlbiAlle1is = 9
fromEnum Arm64TlbiVale2is = 10
fromEnum Arm64TlbiVmalls12e1is = 11
fromEnum Arm64TlbiAlle3is = 12
fromEnum Arm64TlbiVae3is = 13
fromEnum Arm64TlbiVale3is = 14
fromEnum Arm64TlbiIpas2e1is = 15
fromEnum Arm64TlbiIpas2le1is = 16
fromEnum Arm64TlbiIpas2e1 = 17
fromEnum Arm64TlbiIpas2le1 = 18
fromEnum Arm64TlbiVmalle1 = 19
fromEnum Arm64TlbiVae1 = 20
fromEnum Arm64TlbiAside1 = 21
fromEnum Arm64TlbiVaae1 = 22
fromEnum Arm64TlbiVale1 = 23
fromEnum Arm64TlbiVaale1 = 24
fromEnum Arm64TlbiAlle2 = 25
fromEnum Arm64TlbiVae2 = 26
fromEnum Arm64TlbiAlle1 = 27
fromEnum Arm64TlbiVale2 = 28
fromEnum Arm64TlbiVmalls12e1 = 29
fromEnum Arm64TlbiAlle3 = 30
fromEnum Arm64TlbiVae3 = 31
fromEnum Arm64TlbiVale3 = 32
toEnum 0 = Arm64TlbiInvalid
toEnum 1 = Arm64TlbiVmalle1is
toEnum 2 = Arm64TlbiVae1is
toEnum 3 = Arm64TlbiAside1is
toEnum 4 = Arm64TlbiVaae1is
toEnum 5 = Arm64TlbiVale1is
toEnum 6 = Arm64TlbiVaale1is
toEnum 7 = Arm64TlbiAlle2is
toEnum 8 = Arm64TlbiVae2is
toEnum 9 = Arm64TlbiAlle1is
toEnum 10 = Arm64TlbiVale2is
toEnum 11 = Arm64TlbiVmalls12e1is
toEnum 12 = Arm64TlbiAlle3is
toEnum 13 = Arm64TlbiVae3is
toEnum 14 = Arm64TlbiVale3is
toEnum 15 = Arm64TlbiIpas2e1is
toEnum 16 = Arm64TlbiIpas2le1is
toEnum 17 = Arm64TlbiIpas2e1
toEnum 18 = Arm64TlbiIpas2le1
toEnum 19 = Arm64TlbiVmalle1
toEnum 20 = Arm64TlbiVae1
toEnum 21 = Arm64TlbiAside1
toEnum 22 = Arm64TlbiVaae1
toEnum 23 = Arm64TlbiVale1
toEnum 24 = Arm64TlbiVaale1
toEnum 25 = Arm64TlbiAlle2
toEnum 26 = Arm64TlbiVae2
toEnum 27 = Arm64TlbiAlle1
toEnum 28 = Arm64TlbiVale2
toEnum 29 = Arm64TlbiVmalls12e1
toEnum 30 = Arm64TlbiAlle3
toEnum 31 = Arm64TlbiVae3
toEnum 32 = Arm64TlbiVale3
toEnum unmatched = error ("Arm64TlbiOp.toEnum: Cannot match " ++ show unmatched)
data Arm64AtOp = Arm64AtS1e1r
| Arm64AtS1e1w
| Arm64AtS1e0r
| Arm64AtS1e0w
| Arm64AtS1e2r
| Arm64AtS1e2w
| Arm64AtS12e1r
| Arm64AtS12e1w
| Arm64AtS12e0r
| Arm64AtS12e0w
| Arm64AtS1e3r
| Arm64AtS1e3w
deriving (Enum,Show,Eq,Bounded)
data Arm64DcOp = Arm64DcInvalid
| Arm64DcZva
| Arm64DcIvac
| Arm64DcIsw
| Arm64DcCvac
| Arm64DcCsw
| Arm64DcCvau
| Arm64DcCivac
| Arm64DcCisw
deriving (Show,Eq,Bounded)
instance Enum Arm64DcOp where
succ Arm64DcInvalid = Arm64DcZva
succ Arm64DcZva = Arm64DcIvac
succ Arm64DcIvac = Arm64DcIsw
succ Arm64DcIsw = Arm64DcCvac
succ Arm64DcCvac = Arm64DcCsw
succ Arm64DcCsw = Arm64DcCvau
succ Arm64DcCvau = Arm64DcCivac
succ Arm64DcCivac = Arm64DcCisw
succ Arm64DcCisw = error "Arm64DcOp.succ: Arm64DcCisw has no successor"
pred Arm64DcZva = Arm64DcInvalid
pred Arm64DcIvac = Arm64DcZva
pred Arm64DcIsw = Arm64DcIvac
pred Arm64DcCvac = Arm64DcIsw
pred Arm64DcCsw = Arm64DcCvac
pred Arm64DcCvau = Arm64DcCsw
pred Arm64DcCivac = Arm64DcCvau
pred Arm64DcCisw = Arm64DcCivac
pred Arm64DcInvalid = error "Arm64DcOp.pred: Arm64DcInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64DcCisw
fromEnum Arm64DcInvalid = 0
fromEnum Arm64DcZva = 1
fromEnum Arm64DcIvac = 2
fromEnum Arm64DcIsw = 3
fromEnum Arm64DcCvac = 4
fromEnum Arm64DcCsw = 5
fromEnum Arm64DcCvau = 6
fromEnum Arm64DcCivac = 7
fromEnum Arm64DcCisw = 8
toEnum 0 = Arm64DcInvalid
toEnum 1 = Arm64DcZva
toEnum 2 = Arm64DcIvac
toEnum 3 = Arm64DcIsw
toEnum 4 = Arm64DcCvac
toEnum 5 = Arm64DcCsw
toEnum 6 = Arm64DcCvau
toEnum 7 = Arm64DcCivac
toEnum 8 = Arm64DcCisw
toEnum unmatched = error ("Arm64DcOp.toEnum: Cannot match " ++ show unmatched)
data Arm64IcOp = Arm64IcInvalid
| Arm64IcIalluis
| Arm64IcIallu
| Arm64IcIvau
deriving (Show,Eq,Bounded)
instance Enum Arm64IcOp where
succ Arm64IcInvalid = Arm64IcIalluis
succ Arm64IcIalluis = Arm64IcIallu
succ Arm64IcIallu = Arm64IcIvau
succ Arm64IcIvau = error "Arm64IcOp.succ: Arm64IcIvau has no successor"
pred Arm64IcIalluis = Arm64IcInvalid
pred Arm64IcIallu = Arm64IcIalluis
pred Arm64IcIvau = Arm64IcIallu
pred Arm64IcInvalid = error "Arm64IcOp.pred: Arm64IcInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64IcIvau
fromEnum Arm64IcInvalid = 0
fromEnum Arm64IcIalluis = 1
fromEnum Arm64IcIallu = 2
fromEnum Arm64IcIvau = 3
toEnum 0 = Arm64IcInvalid
toEnum 1 = Arm64IcIalluis
toEnum 2 = Arm64IcIallu
toEnum 3 = Arm64IcIvau
toEnum unmatched = error ("Arm64IcOp.toEnum: Cannot match " ++ show unmatched)
data Arm64PrefetchOp = Arm64PrfmInvalid
| Arm64PrfmPldl1keep
| Arm64PrfmPldl1strm
| Arm64PrfmPldl2keep
| Arm64PrfmPldl2strm
| Arm64PrfmPldl3keep
| Arm64PrfmPldl3strm
| Arm64PrfmPlil1keep
| Arm64PrfmPlil1strm
| Arm64PrfmPlil2keep
| Arm64PrfmPlil2strm
| Arm64PrfmPlil3keep
| Arm64PrfmPlil3strm
| Arm64PrfmPstl1keep
| Arm64PrfmPstl1strm
| Arm64PrfmPstl2keep
| Arm64PrfmPstl2strm
| Arm64PrfmPstl3keep
| Arm64PrfmPstl3strm
deriving (Show,Eq,Bounded)
instance Enum Arm64PrefetchOp where
succ Arm64PrfmInvalid = Arm64PrfmPldl1keep
succ Arm64PrfmPldl1keep = Arm64PrfmPldl1strm
succ Arm64PrfmPldl1strm = Arm64PrfmPldl2keep
succ Arm64PrfmPldl2keep = Arm64PrfmPldl2strm
succ Arm64PrfmPldl2strm = Arm64PrfmPldl3keep
succ Arm64PrfmPldl3keep = Arm64PrfmPldl3strm
succ Arm64PrfmPldl3strm = Arm64PrfmPlil1keep
succ Arm64PrfmPlil1keep = Arm64PrfmPlil1strm
succ Arm64PrfmPlil1strm = Arm64PrfmPlil2keep
succ Arm64PrfmPlil2keep = Arm64PrfmPlil2strm
succ Arm64PrfmPlil2strm = Arm64PrfmPlil3keep
succ Arm64PrfmPlil3keep = Arm64PrfmPlil3strm
succ Arm64PrfmPlil3strm = Arm64PrfmPstl1keep
succ Arm64PrfmPstl1keep = Arm64PrfmPstl1strm
succ Arm64PrfmPstl1strm = Arm64PrfmPstl2keep
succ Arm64PrfmPstl2keep = Arm64PrfmPstl2strm
succ Arm64PrfmPstl2strm = Arm64PrfmPstl3keep
succ Arm64PrfmPstl3keep = Arm64PrfmPstl3strm
succ Arm64PrfmPstl3strm = error "Arm64PrefetchOp.succ: Arm64PrfmPstl3strm has no successor"
pred Arm64PrfmPldl1keep = Arm64PrfmInvalid
pred Arm64PrfmPldl1strm = Arm64PrfmPldl1keep
pred Arm64PrfmPldl2keep = Arm64PrfmPldl1strm
pred Arm64PrfmPldl2strm = Arm64PrfmPldl2keep
pred Arm64PrfmPldl3keep = Arm64PrfmPldl2strm
pred Arm64PrfmPldl3strm = Arm64PrfmPldl3keep
pred Arm64PrfmPlil1keep = Arm64PrfmPldl3strm
pred Arm64PrfmPlil1strm = Arm64PrfmPlil1keep
pred Arm64PrfmPlil2keep = Arm64PrfmPlil1strm
pred Arm64PrfmPlil2strm = Arm64PrfmPlil2keep
pred Arm64PrfmPlil3keep = Arm64PrfmPlil2strm
pred Arm64PrfmPlil3strm = Arm64PrfmPlil3keep
pred Arm64PrfmPstl1keep = Arm64PrfmPlil3strm
pred Arm64PrfmPstl1strm = Arm64PrfmPstl1keep
pred Arm64PrfmPstl2keep = Arm64PrfmPstl1strm
pred Arm64PrfmPstl2strm = Arm64PrfmPstl2keep
pred Arm64PrfmPstl3keep = Arm64PrfmPstl2strm
pred Arm64PrfmPstl3strm = Arm64PrfmPstl3keep
pred Arm64PrfmInvalid = error "Arm64PrefetchOp.pred: Arm64PrfmInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64PrfmPstl3strm
fromEnum Arm64PrfmInvalid = 0
fromEnum Arm64PrfmPldl1keep = 1
fromEnum Arm64PrfmPldl1strm = 2
fromEnum Arm64PrfmPldl2keep = 3
fromEnum Arm64PrfmPldl2strm = 4
fromEnum Arm64PrfmPldl3keep = 5
fromEnum Arm64PrfmPldl3strm = 6
fromEnum Arm64PrfmPlil1keep = 9
fromEnum Arm64PrfmPlil1strm = 10
fromEnum Arm64PrfmPlil2keep = 11
fromEnum Arm64PrfmPlil2strm = 12
fromEnum Arm64PrfmPlil3keep = 13
fromEnum Arm64PrfmPlil3strm = 14
fromEnum Arm64PrfmPstl1keep = 17
fromEnum Arm64PrfmPstl1strm = 18
fromEnum Arm64PrfmPstl2keep = 19
fromEnum Arm64PrfmPstl2strm = 20
fromEnum Arm64PrfmPstl3keep = 21
fromEnum Arm64PrfmPstl3strm = 22
toEnum 0 = Arm64PrfmInvalid
toEnum 1 = Arm64PrfmPldl1keep
toEnum 2 = Arm64PrfmPldl1strm
toEnum 3 = Arm64PrfmPldl2keep
toEnum 4 = Arm64PrfmPldl2strm
toEnum 5 = Arm64PrfmPldl3keep
toEnum 6 = Arm64PrfmPldl3strm
toEnum 9 = Arm64PrfmPlil1keep
toEnum 10 = Arm64PrfmPlil1strm
toEnum 11 = Arm64PrfmPlil2keep
toEnum 12 = Arm64PrfmPlil2strm
toEnum 13 = Arm64PrfmPlil3keep
toEnum 14 = Arm64PrfmPlil3strm
toEnum 17 = Arm64PrfmPstl1keep
toEnum 18 = Arm64PrfmPstl1strm
toEnum 19 = Arm64PrfmPstl2keep
toEnum 20 = Arm64PrfmPstl2strm
toEnum 21 = Arm64PrfmPstl3keep
toEnum 22 = Arm64PrfmPstl3strm
toEnum unmatched = error ("Arm64PrefetchOp.toEnum: Cannot match " ++ show unmatched)
data Arm64Reg = Arm64RegInvalid
| Arm64RegX29
| Arm64RegFp
| Arm64RegX30
| Arm64RegLr
| Arm64RegNzcv
| Arm64RegSp
| Arm64RegWsp
| Arm64RegWzr
| Arm64RegXzr
| Arm64RegB0
| Arm64RegB1
| Arm64RegB2
| Arm64RegB3
| Arm64RegB4
| Arm64RegB5
| Arm64RegB6
| Arm64RegB7
| Arm64RegB8
| Arm64RegB9
| Arm64RegB10
| Arm64RegB11
| Arm64RegB12
| Arm64RegB13
| Arm64RegB14
| Arm64RegB15
| Arm64RegB16
| Arm64RegB17
| Arm64RegB18
| Arm64RegB19
| Arm64RegB20
| Arm64RegB21
| Arm64RegB22
| Arm64RegB23
| Arm64RegB24
| Arm64RegB25
| Arm64RegB26
| Arm64RegB27
| Arm64RegB28
| Arm64RegB29
| Arm64RegB30
| Arm64RegB31
| Arm64RegD0
| Arm64RegD1
| Arm64RegD2
| Arm64RegD3
| Arm64RegD4
| Arm64RegD5
| Arm64RegD6
| Arm64RegD7
| Arm64RegD8
| Arm64RegD9
| Arm64RegD10
| Arm64RegD11
| Arm64RegD12
| Arm64RegD13
| Arm64RegD14
| Arm64RegD15
| Arm64RegD16
| Arm64RegD17
| Arm64RegD18
| Arm64RegD19
| Arm64RegD20
| Arm64RegD21
| Arm64RegD22
| Arm64RegD23
| Arm64RegD24
| Arm64RegD25
| Arm64RegD26
| Arm64RegD27
| Arm64RegD28
| Arm64RegD29
| Arm64RegD30
| Arm64RegD31
| Arm64RegH0
| Arm64RegH1
| Arm64RegH2
| Arm64RegH3
| Arm64RegH4
| Arm64RegH5
| Arm64RegH6
| Arm64RegH7
| Arm64RegH8
| Arm64RegH9
| Arm64RegH10
| Arm64RegH11
| Arm64RegH12
| Arm64RegH13
| Arm64RegH14
| Arm64RegH15
| Arm64RegH16
| Arm64RegH17
| Arm64RegH18
| Arm64RegH19
| Arm64RegH20
| Arm64RegH21
| Arm64RegH22
| Arm64RegH23
| Arm64RegH24
| Arm64RegH25
| Arm64RegH26
| Arm64RegH27
| Arm64RegH28
| Arm64RegH29
| Arm64RegH30
| Arm64RegH31
| Arm64RegQ0
| Arm64RegQ1
| Arm64RegQ2
| Arm64RegQ3
| Arm64RegQ4
| Arm64RegQ5
| Arm64RegQ6
| Arm64RegQ7
| Arm64RegQ8
| Arm64RegQ9
| Arm64RegQ10
| Arm64RegQ11
| Arm64RegQ12
| Arm64RegQ13
| Arm64RegQ14
| Arm64RegQ15
| Arm64RegQ16
| Arm64RegQ17
| Arm64RegQ18
| Arm64RegQ19
| Arm64RegQ20
| Arm64RegQ21
| Arm64RegQ22
| Arm64RegQ23
| Arm64RegQ24
| Arm64RegQ25
| Arm64RegQ26
| Arm64RegQ27
| Arm64RegQ28
| Arm64RegQ29
| Arm64RegQ30
| Arm64RegQ31
| Arm64RegS0
| Arm64RegS1
| Arm64RegS2
| Arm64RegS3
| Arm64RegS4
| Arm64RegS5
| Arm64RegS6
| Arm64RegS7
| Arm64RegS8
| Arm64RegS9
| Arm64RegS10
| Arm64RegS11
| Arm64RegS12
| Arm64RegS13
| Arm64RegS14
| Arm64RegS15
| Arm64RegS16
| Arm64RegS17
| Arm64RegS18
| Arm64RegS19
| Arm64RegS20
| Arm64RegS21
| Arm64RegS22
| Arm64RegS23
| Arm64RegS24
| Arm64RegS25
| Arm64RegS26
| Arm64RegS27
| Arm64RegS28
| Arm64RegS29
| Arm64RegS30
| Arm64RegS31
| Arm64RegW0
| Arm64RegW1
| Arm64RegW2
| Arm64RegW3
| Arm64RegW4
| Arm64RegW5
| Arm64RegW6
| Arm64RegW7
| Arm64RegW8
| Arm64RegW9
| Arm64RegW10
| Arm64RegW11
| Arm64RegW12
| Arm64RegW13
| Arm64RegW14
| Arm64RegW15
| Arm64RegW16
| Arm64RegW17
| Arm64RegW18
| Arm64RegW19
| Arm64RegW20
| Arm64RegW21
| Arm64RegW22
| Arm64RegW23
| Arm64RegW24
| Arm64RegW25
| Arm64RegW26
| Arm64RegW27
| Arm64RegW28
| Arm64RegW29
| Arm64RegW30
| Arm64RegX0
| Arm64RegX1
| Arm64RegX2
| Arm64RegX3
| Arm64RegX4
| Arm64RegX5
| Arm64RegX6
| Arm64RegX7
| Arm64RegX8
| Arm64RegX9
| Arm64RegX10
| Arm64RegX11
| Arm64RegX12
| Arm64RegX13
| Arm64RegX14
| Arm64RegX15
| Arm64RegX16
| Arm64RegIp1
| Arm64RegX17
| Arm64RegIp0
| Arm64RegX18
| Arm64RegX19
| Arm64RegX20
| Arm64RegX21
| Arm64RegX22
| Arm64RegX23
| Arm64RegX24
| Arm64RegX25
| Arm64RegX26
| Arm64RegX27
| Arm64RegX28
| Arm64RegV0
| Arm64RegV1
| Arm64RegV2
| Arm64RegV3
| Arm64RegV4
| Arm64RegV5
| Arm64RegV6
| Arm64RegV7
| Arm64RegV8
| Arm64RegV9
| Arm64RegV10
| Arm64RegV11
| Arm64RegV12
| Arm64RegV13
| Arm64RegV14
| Arm64RegV15
| Arm64RegV16
| Arm64RegV17
| Arm64RegV18
| Arm64RegV19
| Arm64RegV20
| Arm64RegV21
| Arm64RegV22
| Arm64RegV23
| Arm64RegV24
| Arm64RegV25
| Arm64RegV26
| Arm64RegV27
| Arm64RegV28
| Arm64RegV29
| Arm64RegV30
| Arm64RegV31
| Arm64RegEnding
deriving (Show,Eq,Bounded)
instance Enum Arm64Reg where
succ Arm64RegInvalid = Arm64RegX29
succ Arm64RegX29 = Arm64RegX30
succ Arm64RegFp = Arm64RegX30
succ Arm64RegX30 = Arm64RegNzcv
succ Arm64RegLr = Arm64RegNzcv
succ Arm64RegNzcv = Arm64RegSp
succ Arm64RegSp = Arm64RegWsp
succ Arm64RegWsp = Arm64RegWzr
succ Arm64RegWzr = Arm64RegXzr
succ Arm64RegXzr = Arm64RegB0
succ Arm64RegB0 = Arm64RegB1
succ Arm64RegB1 = Arm64RegB2
succ Arm64RegB2 = Arm64RegB3
succ Arm64RegB3 = Arm64RegB4
succ Arm64RegB4 = Arm64RegB5
succ Arm64RegB5 = Arm64RegB6
succ Arm64RegB6 = Arm64RegB7
succ Arm64RegB7 = Arm64RegB8
succ Arm64RegB8 = Arm64RegB9
succ Arm64RegB9 = Arm64RegB10
succ Arm64RegB10 = Arm64RegB11
succ Arm64RegB11 = Arm64RegB12
succ Arm64RegB12 = Arm64RegB13
succ Arm64RegB13 = Arm64RegB14
succ Arm64RegB14 = Arm64RegB15
succ Arm64RegB15 = Arm64RegB16
succ Arm64RegB16 = Arm64RegB17
succ Arm64RegB17 = Arm64RegB18
succ Arm64RegB18 = Arm64RegB19
succ Arm64RegB19 = Arm64RegB20
succ Arm64RegB20 = Arm64RegB21
succ Arm64RegB21 = Arm64RegB22
succ Arm64RegB22 = Arm64RegB23
succ Arm64RegB23 = Arm64RegB24
succ Arm64RegB24 = Arm64RegB25
succ Arm64RegB25 = Arm64RegB26
succ Arm64RegB26 = Arm64RegB27
succ Arm64RegB27 = Arm64RegB28
succ Arm64RegB28 = Arm64RegB29
succ Arm64RegB29 = Arm64RegB30
succ Arm64RegB30 = Arm64RegB31
succ Arm64RegB31 = Arm64RegD0
succ Arm64RegD0 = Arm64RegD1
succ Arm64RegD1 = Arm64RegD2
succ Arm64RegD2 = Arm64RegD3
succ Arm64RegD3 = Arm64RegD4
succ Arm64RegD4 = Arm64RegD5
succ Arm64RegD5 = Arm64RegD6
succ Arm64RegD6 = Arm64RegD7
succ Arm64RegD7 = Arm64RegD8
succ Arm64RegD8 = Arm64RegD9
succ Arm64RegD9 = Arm64RegD10
succ Arm64RegD10 = Arm64RegD11
succ Arm64RegD11 = Arm64RegD12
succ Arm64RegD12 = Arm64RegD13
succ Arm64RegD13 = Arm64RegD14
succ Arm64RegD14 = Arm64RegD15
succ Arm64RegD15 = Arm64RegD16
succ Arm64RegD16 = Arm64RegD17
succ Arm64RegD17 = Arm64RegD18
succ Arm64RegD18 = Arm64RegD19
succ Arm64RegD19 = Arm64RegD20
succ Arm64RegD20 = Arm64RegD21
succ Arm64RegD21 = Arm64RegD22
succ Arm64RegD22 = Arm64RegD23
succ Arm64RegD23 = Arm64RegD24
succ Arm64RegD24 = Arm64RegD25
succ Arm64RegD25 = Arm64RegD26
succ Arm64RegD26 = Arm64RegD27
succ Arm64RegD27 = Arm64RegD28
succ Arm64RegD28 = Arm64RegD29
succ Arm64RegD29 = Arm64RegD30
succ Arm64RegD30 = Arm64RegD31
succ Arm64RegD31 = Arm64RegH0
succ Arm64RegH0 = Arm64RegH1
succ Arm64RegH1 = Arm64RegH2
succ Arm64RegH2 = Arm64RegH3
succ Arm64RegH3 = Arm64RegH4
succ Arm64RegH4 = Arm64RegH5
succ Arm64RegH5 = Arm64RegH6
succ Arm64RegH6 = Arm64RegH7
succ Arm64RegH7 = Arm64RegH8
succ Arm64RegH8 = Arm64RegH9
succ Arm64RegH9 = Arm64RegH10
succ Arm64RegH10 = Arm64RegH11
succ Arm64RegH11 = Arm64RegH12
succ Arm64RegH12 = Arm64RegH13
succ Arm64RegH13 = Arm64RegH14
succ Arm64RegH14 = Arm64RegH15
succ Arm64RegH15 = Arm64RegH16
succ Arm64RegH16 = Arm64RegH17
succ Arm64RegH17 = Arm64RegH18
succ Arm64RegH18 = Arm64RegH19
succ Arm64RegH19 = Arm64RegH20
succ Arm64RegH20 = Arm64RegH21
succ Arm64RegH21 = Arm64RegH22
succ Arm64RegH22 = Arm64RegH23
succ Arm64RegH23 = Arm64RegH24
succ Arm64RegH24 = Arm64RegH25
succ Arm64RegH25 = Arm64RegH26
succ Arm64RegH26 = Arm64RegH27
succ Arm64RegH27 = Arm64RegH28
succ Arm64RegH28 = Arm64RegH29
succ Arm64RegH29 = Arm64RegH30
succ Arm64RegH30 = Arm64RegH31
succ Arm64RegH31 = Arm64RegQ0
succ Arm64RegQ0 = Arm64RegQ1
succ Arm64RegQ1 = Arm64RegQ2
succ Arm64RegQ2 = Arm64RegQ3
succ Arm64RegQ3 = Arm64RegQ4
succ Arm64RegQ4 = Arm64RegQ5
succ Arm64RegQ5 = Arm64RegQ6
succ Arm64RegQ6 = Arm64RegQ7
succ Arm64RegQ7 = Arm64RegQ8
succ Arm64RegQ8 = Arm64RegQ9
succ Arm64RegQ9 = Arm64RegQ10
succ Arm64RegQ10 = Arm64RegQ11
succ Arm64RegQ11 = Arm64RegQ12
succ Arm64RegQ12 = Arm64RegQ13
succ Arm64RegQ13 = Arm64RegQ14
succ Arm64RegQ14 = Arm64RegQ15
succ Arm64RegQ15 = Arm64RegQ16
succ Arm64RegQ16 = Arm64RegQ17
succ Arm64RegQ17 = Arm64RegQ18
succ Arm64RegQ18 = Arm64RegQ19
succ Arm64RegQ19 = Arm64RegQ20
succ Arm64RegQ20 = Arm64RegQ21
succ Arm64RegQ21 = Arm64RegQ22
succ Arm64RegQ22 = Arm64RegQ23
succ Arm64RegQ23 = Arm64RegQ24
succ Arm64RegQ24 = Arm64RegQ25
succ Arm64RegQ25 = Arm64RegQ26
succ Arm64RegQ26 = Arm64RegQ27
succ Arm64RegQ27 = Arm64RegQ28
succ Arm64RegQ28 = Arm64RegQ29
succ Arm64RegQ29 = Arm64RegQ30
succ Arm64RegQ30 = Arm64RegQ31
succ Arm64RegQ31 = Arm64RegS0
succ Arm64RegS0 = Arm64RegS1
succ Arm64RegS1 = Arm64RegS2
succ Arm64RegS2 = Arm64RegS3
succ Arm64RegS3 = Arm64RegS4
succ Arm64RegS4 = Arm64RegS5
succ Arm64RegS5 = Arm64RegS6
succ Arm64RegS6 = Arm64RegS7
succ Arm64RegS7 = Arm64RegS8
succ Arm64RegS8 = Arm64RegS9
succ Arm64RegS9 = Arm64RegS10
succ Arm64RegS10 = Arm64RegS11
succ Arm64RegS11 = Arm64RegS12
succ Arm64RegS12 = Arm64RegS13
succ Arm64RegS13 = Arm64RegS14
succ Arm64RegS14 = Arm64RegS15
succ Arm64RegS15 = Arm64RegS16
succ Arm64RegS16 = Arm64RegS17
succ Arm64RegS17 = Arm64RegS18
succ Arm64RegS18 = Arm64RegS19
succ Arm64RegS19 = Arm64RegS20
succ Arm64RegS20 = Arm64RegS21
succ Arm64RegS21 = Arm64RegS22
succ Arm64RegS22 = Arm64RegS23
succ Arm64RegS23 = Arm64RegS24
succ Arm64RegS24 = Arm64RegS25
succ Arm64RegS25 = Arm64RegS26
succ Arm64RegS26 = Arm64RegS27
succ Arm64RegS27 = Arm64RegS28
succ Arm64RegS28 = Arm64RegS29
succ Arm64RegS29 = Arm64RegS30
succ Arm64RegS30 = Arm64RegS31
succ Arm64RegS31 = Arm64RegW0
succ Arm64RegW0 = Arm64RegW1
succ Arm64RegW1 = Arm64RegW2
succ Arm64RegW2 = Arm64RegW3
succ Arm64RegW3 = Arm64RegW4
succ Arm64RegW4 = Arm64RegW5
succ Arm64RegW5 = Arm64RegW6
succ Arm64RegW6 = Arm64RegW7
succ Arm64RegW7 = Arm64RegW8
succ Arm64RegW8 = Arm64RegW9
succ Arm64RegW9 = Arm64RegW10
succ Arm64RegW10 = Arm64RegW11
succ Arm64RegW11 = Arm64RegW12
succ Arm64RegW12 = Arm64RegW13
succ Arm64RegW13 = Arm64RegW14
succ Arm64RegW14 = Arm64RegW15
succ Arm64RegW15 = Arm64RegW16
succ Arm64RegW16 = Arm64RegW17
succ Arm64RegW17 = Arm64RegW18
succ Arm64RegW18 = Arm64RegW19
succ Arm64RegW19 = Arm64RegW20
succ Arm64RegW20 = Arm64RegW21
succ Arm64RegW21 = Arm64RegW22
succ Arm64RegW22 = Arm64RegW23
succ Arm64RegW23 = Arm64RegW24
succ Arm64RegW24 = Arm64RegW25
succ Arm64RegW25 = Arm64RegW26
succ Arm64RegW26 = Arm64RegW27
succ Arm64RegW27 = Arm64RegW28
succ Arm64RegW28 = Arm64RegW29
succ Arm64RegW29 = Arm64RegW30
succ Arm64RegW30 = Arm64RegX0
succ Arm64RegX0 = Arm64RegX1
succ Arm64RegX1 = Arm64RegX2
succ Arm64RegX2 = Arm64RegX3
succ Arm64RegX3 = Arm64RegX4
succ Arm64RegX4 = Arm64RegX5
succ Arm64RegX5 = Arm64RegX6
succ Arm64RegX6 = Arm64RegX7
succ Arm64RegX7 = Arm64RegX8
succ Arm64RegX8 = Arm64RegX9
succ Arm64RegX9 = Arm64RegX10
succ Arm64RegX10 = Arm64RegX11
succ Arm64RegX11 = Arm64RegX12
succ Arm64RegX12 = Arm64RegX13
succ Arm64RegX13 = Arm64RegX14
succ Arm64RegX14 = Arm64RegX15
succ Arm64RegX15 = Arm64RegX16
succ Arm64RegX16 = Arm64RegX17
succ Arm64RegIp1 = Arm64RegX17
succ Arm64RegX17 = Arm64RegX18
succ Arm64RegIp0 = Arm64RegX18
succ Arm64RegX18 = Arm64RegX19
succ Arm64RegX19 = Arm64RegX20
succ Arm64RegX20 = Arm64RegX21
succ Arm64RegX21 = Arm64RegX22
succ Arm64RegX22 = Arm64RegX23
succ Arm64RegX23 = Arm64RegX24
succ Arm64RegX24 = Arm64RegX25
succ Arm64RegX25 = Arm64RegX26
succ Arm64RegX26 = Arm64RegX27
succ Arm64RegX27 = Arm64RegX28
succ Arm64RegX28 = Arm64RegV0
succ Arm64RegV0 = Arm64RegV1
succ Arm64RegV1 = Arm64RegV2
succ Arm64RegV2 = Arm64RegV3
succ Arm64RegV3 = Arm64RegV4
succ Arm64RegV4 = Arm64RegV5
succ Arm64RegV5 = Arm64RegV6
succ Arm64RegV6 = Arm64RegV7
succ Arm64RegV7 = Arm64RegV8
succ Arm64RegV8 = Arm64RegV9
succ Arm64RegV9 = Arm64RegV10
succ Arm64RegV10 = Arm64RegV11
succ Arm64RegV11 = Arm64RegV12
succ Arm64RegV12 = Arm64RegV13
succ Arm64RegV13 = Arm64RegV14
succ Arm64RegV14 = Arm64RegV15
succ Arm64RegV15 = Arm64RegV16
succ Arm64RegV16 = Arm64RegV17
succ Arm64RegV17 = Arm64RegV18
succ Arm64RegV18 = Arm64RegV19
succ Arm64RegV19 = Arm64RegV20
succ Arm64RegV20 = Arm64RegV21
succ Arm64RegV21 = Arm64RegV22
succ Arm64RegV22 = Arm64RegV23
succ Arm64RegV23 = Arm64RegV24
succ Arm64RegV24 = Arm64RegV25
succ Arm64RegV25 = Arm64RegV26
succ Arm64RegV26 = Arm64RegV27
succ Arm64RegV27 = Arm64RegV28
succ Arm64RegV28 = Arm64RegV29
succ Arm64RegV29 = Arm64RegV30
succ Arm64RegV30 = Arm64RegV31
succ Arm64RegV31 = Arm64RegEnding
succ Arm64RegEnding = error "Arm64Reg.succ: Arm64RegEnding has no successor"
pred Arm64RegX29 = Arm64RegInvalid
pred Arm64RegFp = Arm64RegInvalid
pred Arm64RegX30 = Arm64RegX29
pred Arm64RegLr = Arm64RegX29
pred Arm64RegNzcv = Arm64RegX30
pred Arm64RegSp = Arm64RegNzcv
pred Arm64RegWsp = Arm64RegSp
pred Arm64RegWzr = Arm64RegWsp
pred Arm64RegXzr = Arm64RegWzr
pred Arm64RegB0 = Arm64RegXzr
pred Arm64RegB1 = Arm64RegB0
pred Arm64RegB2 = Arm64RegB1
pred Arm64RegB3 = Arm64RegB2
pred Arm64RegB4 = Arm64RegB3
pred Arm64RegB5 = Arm64RegB4
pred Arm64RegB6 = Arm64RegB5
pred Arm64RegB7 = Arm64RegB6
pred Arm64RegB8 = Arm64RegB7
pred Arm64RegB9 = Arm64RegB8
pred Arm64RegB10 = Arm64RegB9
pred Arm64RegB11 = Arm64RegB10
pred Arm64RegB12 = Arm64RegB11
pred Arm64RegB13 = Arm64RegB12
pred Arm64RegB14 = Arm64RegB13
pred Arm64RegB15 = Arm64RegB14
pred Arm64RegB16 = Arm64RegB15
pred Arm64RegB17 = Arm64RegB16
pred Arm64RegB18 = Arm64RegB17
pred Arm64RegB19 = Arm64RegB18
pred Arm64RegB20 = Arm64RegB19
pred Arm64RegB21 = Arm64RegB20
pred Arm64RegB22 = Arm64RegB21
pred Arm64RegB23 = Arm64RegB22
pred Arm64RegB24 = Arm64RegB23
pred Arm64RegB25 = Arm64RegB24
pred Arm64RegB26 = Arm64RegB25
pred Arm64RegB27 = Arm64RegB26
pred Arm64RegB28 = Arm64RegB27
pred Arm64RegB29 = Arm64RegB28
pred Arm64RegB30 = Arm64RegB29
pred Arm64RegB31 = Arm64RegB30
pred Arm64RegD0 = Arm64RegB31
pred Arm64RegD1 = Arm64RegD0
pred Arm64RegD2 = Arm64RegD1
pred Arm64RegD3 = Arm64RegD2
pred Arm64RegD4 = Arm64RegD3
pred Arm64RegD5 = Arm64RegD4
pred Arm64RegD6 = Arm64RegD5
pred Arm64RegD7 = Arm64RegD6
pred Arm64RegD8 = Arm64RegD7
pred Arm64RegD9 = Arm64RegD8
pred Arm64RegD10 = Arm64RegD9
pred Arm64RegD11 = Arm64RegD10
pred Arm64RegD12 = Arm64RegD11
pred Arm64RegD13 = Arm64RegD12
pred Arm64RegD14 = Arm64RegD13
pred Arm64RegD15 = Arm64RegD14
pred Arm64RegD16 = Arm64RegD15
pred Arm64RegD17 = Arm64RegD16
pred Arm64RegD18 = Arm64RegD17
pred Arm64RegD19 = Arm64RegD18
pred Arm64RegD20 = Arm64RegD19
pred Arm64RegD21 = Arm64RegD20
pred Arm64RegD22 = Arm64RegD21
pred Arm64RegD23 = Arm64RegD22
pred Arm64RegD24 = Arm64RegD23
pred Arm64RegD25 = Arm64RegD24
pred Arm64RegD26 = Arm64RegD25
pred Arm64RegD27 = Arm64RegD26
pred Arm64RegD28 = Arm64RegD27
pred Arm64RegD29 = Arm64RegD28
pred Arm64RegD30 = Arm64RegD29
pred Arm64RegD31 = Arm64RegD30
pred Arm64RegH0 = Arm64RegD31
pred Arm64RegH1 = Arm64RegH0
pred Arm64RegH2 = Arm64RegH1
pred Arm64RegH3 = Arm64RegH2
pred Arm64RegH4 = Arm64RegH3
pred Arm64RegH5 = Arm64RegH4
pred Arm64RegH6 = Arm64RegH5
pred Arm64RegH7 = Arm64RegH6
pred Arm64RegH8 = Arm64RegH7
pred Arm64RegH9 = Arm64RegH8
pred Arm64RegH10 = Arm64RegH9
pred Arm64RegH11 = Arm64RegH10
pred Arm64RegH12 = Arm64RegH11
pred Arm64RegH13 = Arm64RegH12
pred Arm64RegH14 = Arm64RegH13
pred Arm64RegH15 = Arm64RegH14
pred Arm64RegH16 = Arm64RegH15
pred Arm64RegH17 = Arm64RegH16
pred Arm64RegH18 = Arm64RegH17
pred Arm64RegH19 = Arm64RegH18
pred Arm64RegH20 = Arm64RegH19
pred Arm64RegH21 = Arm64RegH20
pred Arm64RegH22 = Arm64RegH21
pred Arm64RegH23 = Arm64RegH22
pred Arm64RegH24 = Arm64RegH23
pred Arm64RegH25 = Arm64RegH24
pred Arm64RegH26 = Arm64RegH25
pred Arm64RegH27 = Arm64RegH26
pred Arm64RegH28 = Arm64RegH27
pred Arm64RegH29 = Arm64RegH28
pred Arm64RegH30 = Arm64RegH29
pred Arm64RegH31 = Arm64RegH30
pred Arm64RegQ0 = Arm64RegH31
pred Arm64RegQ1 = Arm64RegQ0
pred Arm64RegQ2 = Arm64RegQ1
pred Arm64RegQ3 = Arm64RegQ2
pred Arm64RegQ4 = Arm64RegQ3
pred Arm64RegQ5 = Arm64RegQ4
pred Arm64RegQ6 = Arm64RegQ5
pred Arm64RegQ7 = Arm64RegQ6
pred Arm64RegQ8 = Arm64RegQ7
pred Arm64RegQ9 = Arm64RegQ8
pred Arm64RegQ10 = Arm64RegQ9
pred Arm64RegQ11 = Arm64RegQ10
pred Arm64RegQ12 = Arm64RegQ11
pred Arm64RegQ13 = Arm64RegQ12
pred Arm64RegQ14 = Arm64RegQ13
pred Arm64RegQ15 = Arm64RegQ14
pred Arm64RegQ16 = Arm64RegQ15
pred Arm64RegQ17 = Arm64RegQ16
pred Arm64RegQ18 = Arm64RegQ17
pred Arm64RegQ19 = Arm64RegQ18
pred Arm64RegQ20 = Arm64RegQ19
pred Arm64RegQ21 = Arm64RegQ20
pred Arm64RegQ22 = Arm64RegQ21
pred Arm64RegQ23 = Arm64RegQ22
pred Arm64RegQ24 = Arm64RegQ23
pred Arm64RegQ25 = Arm64RegQ24
pred Arm64RegQ26 = Arm64RegQ25
pred Arm64RegQ27 = Arm64RegQ26
pred Arm64RegQ28 = Arm64RegQ27
pred Arm64RegQ29 = Arm64RegQ28
pred Arm64RegQ30 = Arm64RegQ29
pred Arm64RegQ31 = Arm64RegQ30
pred Arm64RegS0 = Arm64RegQ31
pred Arm64RegS1 = Arm64RegS0
pred Arm64RegS2 = Arm64RegS1
pred Arm64RegS3 = Arm64RegS2
pred Arm64RegS4 = Arm64RegS3
pred Arm64RegS5 = Arm64RegS4
pred Arm64RegS6 = Arm64RegS5
pred Arm64RegS7 = Arm64RegS6
pred Arm64RegS8 = Arm64RegS7
pred Arm64RegS9 = Arm64RegS8
pred Arm64RegS10 = Arm64RegS9
pred Arm64RegS11 = Arm64RegS10
pred Arm64RegS12 = Arm64RegS11
pred Arm64RegS13 = Arm64RegS12
pred Arm64RegS14 = Arm64RegS13
pred Arm64RegS15 = Arm64RegS14
pred Arm64RegS16 = Arm64RegS15
pred Arm64RegS17 = Arm64RegS16
pred Arm64RegS18 = Arm64RegS17
pred Arm64RegS19 = Arm64RegS18
pred Arm64RegS20 = Arm64RegS19
pred Arm64RegS21 = Arm64RegS20
pred Arm64RegS22 = Arm64RegS21
pred Arm64RegS23 = Arm64RegS22
pred Arm64RegS24 = Arm64RegS23
pred Arm64RegS25 = Arm64RegS24
pred Arm64RegS26 = Arm64RegS25
pred Arm64RegS27 = Arm64RegS26
pred Arm64RegS28 = Arm64RegS27
pred Arm64RegS29 = Arm64RegS28
pred Arm64RegS30 = Arm64RegS29
pred Arm64RegS31 = Arm64RegS30
pred Arm64RegW0 = Arm64RegS31
pred Arm64RegW1 = Arm64RegW0
pred Arm64RegW2 = Arm64RegW1
pred Arm64RegW3 = Arm64RegW2
pred Arm64RegW4 = Arm64RegW3
pred Arm64RegW5 = Arm64RegW4
pred Arm64RegW6 = Arm64RegW5
pred Arm64RegW7 = Arm64RegW6
pred Arm64RegW8 = Arm64RegW7
pred Arm64RegW9 = Arm64RegW8
pred Arm64RegW10 = Arm64RegW9
pred Arm64RegW11 = Arm64RegW10
pred Arm64RegW12 = Arm64RegW11
pred Arm64RegW13 = Arm64RegW12
pred Arm64RegW14 = Arm64RegW13
pred Arm64RegW15 = Arm64RegW14
pred Arm64RegW16 = Arm64RegW15
pred Arm64RegW17 = Arm64RegW16
pred Arm64RegW18 = Arm64RegW17
pred Arm64RegW19 = Arm64RegW18
pred Arm64RegW20 = Arm64RegW19
pred Arm64RegW21 = Arm64RegW20
pred Arm64RegW22 = Arm64RegW21
pred Arm64RegW23 = Arm64RegW22
pred Arm64RegW24 = Arm64RegW23
pred Arm64RegW25 = Arm64RegW24
pred Arm64RegW26 = Arm64RegW25
pred Arm64RegW27 = Arm64RegW26
pred Arm64RegW28 = Arm64RegW27
pred Arm64RegW29 = Arm64RegW28
pred Arm64RegW30 = Arm64RegW29
pred Arm64RegX0 = Arm64RegW30
pred Arm64RegX1 = Arm64RegX0
pred Arm64RegX2 = Arm64RegX1
pred Arm64RegX3 = Arm64RegX2
pred Arm64RegX4 = Arm64RegX3
pred Arm64RegX5 = Arm64RegX4
pred Arm64RegX6 = Arm64RegX5
pred Arm64RegX7 = Arm64RegX6
pred Arm64RegX8 = Arm64RegX7
pred Arm64RegX9 = Arm64RegX8
pred Arm64RegX10 = Arm64RegX9
pred Arm64RegX11 = Arm64RegX10
pred Arm64RegX12 = Arm64RegX11
pred Arm64RegX13 = Arm64RegX12
pred Arm64RegX14 = Arm64RegX13
pred Arm64RegX15 = Arm64RegX14
pred Arm64RegX16 = Arm64RegX15
pred Arm64RegIp1 = Arm64RegX15
pred Arm64RegX17 = Arm64RegX16
pred Arm64RegIp0 = Arm64RegX16
pred Arm64RegX18 = Arm64RegX17
pred Arm64RegX19 = Arm64RegX18
pred Arm64RegX20 = Arm64RegX19
pred Arm64RegX21 = Arm64RegX20
pred Arm64RegX22 = Arm64RegX21
pred Arm64RegX23 = Arm64RegX22
pred Arm64RegX24 = Arm64RegX23
pred Arm64RegX25 = Arm64RegX24
pred Arm64RegX26 = Arm64RegX25
pred Arm64RegX27 = Arm64RegX26
pred Arm64RegX28 = Arm64RegX27
pred Arm64RegV0 = Arm64RegX28
pred Arm64RegV1 = Arm64RegV0
pred Arm64RegV2 = Arm64RegV1
pred Arm64RegV3 = Arm64RegV2
pred Arm64RegV4 = Arm64RegV3
pred Arm64RegV5 = Arm64RegV4
pred Arm64RegV6 = Arm64RegV5
pred Arm64RegV7 = Arm64RegV6
pred Arm64RegV8 = Arm64RegV7
pred Arm64RegV9 = Arm64RegV8
pred Arm64RegV10 = Arm64RegV9
pred Arm64RegV11 = Arm64RegV10
pred Arm64RegV12 = Arm64RegV11
pred Arm64RegV13 = Arm64RegV12
pred Arm64RegV14 = Arm64RegV13
pred Arm64RegV15 = Arm64RegV14
pred Arm64RegV16 = Arm64RegV15
pred Arm64RegV17 = Arm64RegV16
pred Arm64RegV18 = Arm64RegV17
pred Arm64RegV19 = Arm64RegV18
pred Arm64RegV20 = Arm64RegV19
pred Arm64RegV21 = Arm64RegV20
pred Arm64RegV22 = Arm64RegV21
pred Arm64RegV23 = Arm64RegV22
pred Arm64RegV24 = Arm64RegV23
pred Arm64RegV25 = Arm64RegV24
pred Arm64RegV26 = Arm64RegV25
pred Arm64RegV27 = Arm64RegV26
pred Arm64RegV28 = Arm64RegV27
pred Arm64RegV29 = Arm64RegV28
pred Arm64RegV30 = Arm64RegV29
pred Arm64RegV31 = Arm64RegV30
pred Arm64RegEnding = Arm64RegV31
pred Arm64RegInvalid = error "Arm64Reg.pred: Arm64RegInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64RegEnding
fromEnum Arm64RegInvalid = 0
fromEnum Arm64RegX29 = 1
fromEnum Arm64RegFp = 1
fromEnum Arm64RegX30 = 2
fromEnum Arm64RegLr = 2
fromEnum Arm64RegNzcv = 3
fromEnum Arm64RegSp = 4
fromEnum Arm64RegWsp = 5
fromEnum Arm64RegWzr = 6
fromEnum Arm64RegXzr = 7
fromEnum Arm64RegB0 = 8
fromEnum Arm64RegB1 = 9
fromEnum Arm64RegB2 = 10
fromEnum Arm64RegB3 = 11
fromEnum Arm64RegB4 = 12
fromEnum Arm64RegB5 = 13
fromEnum Arm64RegB6 = 14
fromEnum Arm64RegB7 = 15
fromEnum Arm64RegB8 = 16
fromEnum Arm64RegB9 = 17
fromEnum Arm64RegB10 = 18
fromEnum Arm64RegB11 = 19
fromEnum Arm64RegB12 = 20
fromEnum Arm64RegB13 = 21
fromEnum Arm64RegB14 = 22
fromEnum Arm64RegB15 = 23
fromEnum Arm64RegB16 = 24
fromEnum Arm64RegB17 = 25
fromEnum Arm64RegB18 = 26
fromEnum Arm64RegB19 = 27
fromEnum Arm64RegB20 = 28
fromEnum Arm64RegB21 = 29
fromEnum Arm64RegB22 = 30
fromEnum Arm64RegB23 = 31
fromEnum Arm64RegB24 = 32
fromEnum Arm64RegB25 = 33
fromEnum Arm64RegB26 = 34
fromEnum Arm64RegB27 = 35
fromEnum Arm64RegB28 = 36
fromEnum Arm64RegB29 = 37
fromEnum Arm64RegB30 = 38
fromEnum Arm64RegB31 = 39
fromEnum Arm64RegD0 = 40
fromEnum Arm64RegD1 = 41
fromEnum Arm64RegD2 = 42
fromEnum Arm64RegD3 = 43
fromEnum Arm64RegD4 = 44
fromEnum Arm64RegD5 = 45
fromEnum Arm64RegD6 = 46
fromEnum Arm64RegD7 = 47
fromEnum Arm64RegD8 = 48
fromEnum Arm64RegD9 = 49
fromEnum Arm64RegD10 = 50
fromEnum Arm64RegD11 = 51
fromEnum Arm64RegD12 = 52
fromEnum Arm64RegD13 = 53
fromEnum Arm64RegD14 = 54
fromEnum Arm64RegD15 = 55
fromEnum Arm64RegD16 = 56
fromEnum Arm64RegD17 = 57
fromEnum Arm64RegD18 = 58
fromEnum Arm64RegD19 = 59
fromEnum Arm64RegD20 = 60
fromEnum Arm64RegD21 = 61
fromEnum Arm64RegD22 = 62
fromEnum Arm64RegD23 = 63
fromEnum Arm64RegD24 = 64
fromEnum Arm64RegD25 = 65
fromEnum Arm64RegD26 = 66
fromEnum Arm64RegD27 = 67
fromEnum Arm64RegD28 = 68
fromEnum Arm64RegD29 = 69
fromEnum Arm64RegD30 = 70
fromEnum Arm64RegD31 = 71
fromEnum Arm64RegH0 = 72
fromEnum Arm64RegH1 = 73
fromEnum Arm64RegH2 = 74
fromEnum Arm64RegH3 = 75
fromEnum Arm64RegH4 = 76
fromEnum Arm64RegH5 = 77
fromEnum Arm64RegH6 = 78
fromEnum Arm64RegH7 = 79
fromEnum Arm64RegH8 = 80
fromEnum Arm64RegH9 = 81
fromEnum Arm64RegH10 = 82
fromEnum Arm64RegH11 = 83
fromEnum Arm64RegH12 = 84
fromEnum Arm64RegH13 = 85
fromEnum Arm64RegH14 = 86
fromEnum Arm64RegH15 = 87
fromEnum Arm64RegH16 = 88
fromEnum Arm64RegH17 = 89
fromEnum Arm64RegH18 = 90
fromEnum Arm64RegH19 = 91
fromEnum Arm64RegH20 = 92
fromEnum Arm64RegH21 = 93
fromEnum Arm64RegH22 = 94
fromEnum Arm64RegH23 = 95
fromEnum Arm64RegH24 = 96
fromEnum Arm64RegH25 = 97
fromEnum Arm64RegH26 = 98
fromEnum Arm64RegH27 = 99
fromEnum Arm64RegH28 = 100
fromEnum Arm64RegH29 = 101
fromEnum Arm64RegH30 = 102
fromEnum Arm64RegH31 = 103
fromEnum Arm64RegQ0 = 104
fromEnum Arm64RegQ1 = 105
fromEnum Arm64RegQ2 = 106
fromEnum Arm64RegQ3 = 107
fromEnum Arm64RegQ4 = 108
fromEnum Arm64RegQ5 = 109
fromEnum Arm64RegQ6 = 110
fromEnum Arm64RegQ7 = 111
fromEnum Arm64RegQ8 = 112
fromEnum Arm64RegQ9 = 113
fromEnum Arm64RegQ10 = 114
fromEnum Arm64RegQ11 = 115
fromEnum Arm64RegQ12 = 116
fromEnum Arm64RegQ13 = 117
fromEnum Arm64RegQ14 = 118
fromEnum Arm64RegQ15 = 119
fromEnum Arm64RegQ16 = 120
fromEnum Arm64RegQ17 = 121
fromEnum Arm64RegQ18 = 122
fromEnum Arm64RegQ19 = 123
fromEnum Arm64RegQ20 = 124
fromEnum Arm64RegQ21 = 125
fromEnum Arm64RegQ22 = 126
fromEnum Arm64RegQ23 = 127
fromEnum Arm64RegQ24 = 128
fromEnum Arm64RegQ25 = 129
fromEnum Arm64RegQ26 = 130
fromEnum Arm64RegQ27 = 131
fromEnum Arm64RegQ28 = 132
fromEnum Arm64RegQ29 = 133
fromEnum Arm64RegQ30 = 134
fromEnum Arm64RegQ31 = 135
fromEnum Arm64RegS0 = 136
fromEnum Arm64RegS1 = 137
fromEnum Arm64RegS2 = 138
fromEnum Arm64RegS3 = 139
fromEnum Arm64RegS4 = 140
fromEnum Arm64RegS5 = 141
fromEnum Arm64RegS6 = 142
fromEnum Arm64RegS7 = 143
fromEnum Arm64RegS8 = 144
fromEnum Arm64RegS9 = 145
fromEnum Arm64RegS10 = 146
fromEnum Arm64RegS11 = 147
fromEnum Arm64RegS12 = 148
fromEnum Arm64RegS13 = 149
fromEnum Arm64RegS14 = 150
fromEnum Arm64RegS15 = 151
fromEnum Arm64RegS16 = 152
fromEnum Arm64RegS17 = 153
fromEnum Arm64RegS18 = 154
fromEnum Arm64RegS19 = 155
fromEnum Arm64RegS20 = 156
fromEnum Arm64RegS21 = 157
fromEnum Arm64RegS22 = 158
fromEnum Arm64RegS23 = 159
fromEnum Arm64RegS24 = 160
fromEnum Arm64RegS25 = 161
fromEnum Arm64RegS26 = 162
fromEnum Arm64RegS27 = 163
fromEnum Arm64RegS28 = 164
fromEnum Arm64RegS29 = 165
fromEnum Arm64RegS30 = 166
fromEnum Arm64RegS31 = 167
fromEnum Arm64RegW0 = 168
fromEnum Arm64RegW1 = 169
fromEnum Arm64RegW2 = 170
fromEnum Arm64RegW3 = 171
fromEnum Arm64RegW4 = 172
fromEnum Arm64RegW5 = 173
fromEnum Arm64RegW6 = 174
fromEnum Arm64RegW7 = 175
fromEnum Arm64RegW8 = 176
fromEnum Arm64RegW9 = 177
fromEnum Arm64RegW10 = 178
fromEnum Arm64RegW11 = 179
fromEnum Arm64RegW12 = 180
fromEnum Arm64RegW13 = 181
fromEnum Arm64RegW14 = 182
fromEnum Arm64RegW15 = 183
fromEnum Arm64RegW16 = 184
fromEnum Arm64RegW17 = 185
fromEnum Arm64RegW18 = 186
fromEnum Arm64RegW19 = 187
fromEnum Arm64RegW20 = 188
fromEnum Arm64RegW21 = 189
fromEnum Arm64RegW22 = 190
fromEnum Arm64RegW23 = 191
fromEnum Arm64RegW24 = 192
fromEnum Arm64RegW25 = 193
fromEnum Arm64RegW26 = 194
fromEnum Arm64RegW27 = 195
fromEnum Arm64RegW28 = 196
fromEnum Arm64RegW29 = 197
fromEnum Arm64RegW30 = 198
fromEnum Arm64RegX0 = 199
fromEnum Arm64RegX1 = 200
fromEnum Arm64RegX2 = 201
fromEnum Arm64RegX3 = 202
fromEnum Arm64RegX4 = 203
fromEnum Arm64RegX5 = 204
fromEnum Arm64RegX6 = 205
fromEnum Arm64RegX7 = 206
fromEnum Arm64RegX8 = 207
fromEnum Arm64RegX9 = 208
fromEnum Arm64RegX10 = 209
fromEnum Arm64RegX11 = 210
fromEnum Arm64RegX12 = 211
fromEnum Arm64RegX13 = 212
fromEnum Arm64RegX14 = 213
fromEnum Arm64RegX15 = 214
fromEnum Arm64RegX16 = 215
fromEnum Arm64RegIp1 = 215
fromEnum Arm64RegX17 = 216
fromEnum Arm64RegIp0 = 216
fromEnum Arm64RegX18 = 217
fromEnum Arm64RegX19 = 218
fromEnum Arm64RegX20 = 219
fromEnum Arm64RegX21 = 220
fromEnum Arm64RegX22 = 221
fromEnum Arm64RegX23 = 222
fromEnum Arm64RegX24 = 223
fromEnum Arm64RegX25 = 224
fromEnum Arm64RegX26 = 225
fromEnum Arm64RegX27 = 226
fromEnum Arm64RegX28 = 227
fromEnum Arm64RegV0 = 228
fromEnum Arm64RegV1 = 229
fromEnum Arm64RegV2 = 230
fromEnum Arm64RegV3 = 231
fromEnum Arm64RegV4 = 232
fromEnum Arm64RegV5 = 233
fromEnum Arm64RegV6 = 234
fromEnum Arm64RegV7 = 235
fromEnum Arm64RegV8 = 236
fromEnum Arm64RegV9 = 237
fromEnum Arm64RegV10 = 238
fromEnum Arm64RegV11 = 239
fromEnum Arm64RegV12 = 240
fromEnum Arm64RegV13 = 241
fromEnum Arm64RegV14 = 242
fromEnum Arm64RegV15 = 243
fromEnum Arm64RegV16 = 244
fromEnum Arm64RegV17 = 245
fromEnum Arm64RegV18 = 246
fromEnum Arm64RegV19 = 247
fromEnum Arm64RegV20 = 248
fromEnum Arm64RegV21 = 249
fromEnum Arm64RegV22 = 250
fromEnum Arm64RegV23 = 251
fromEnum Arm64RegV24 = 252
fromEnum Arm64RegV25 = 253
fromEnum Arm64RegV26 = 254
fromEnum Arm64RegV27 = 255
fromEnum Arm64RegV28 = 256
fromEnum Arm64RegV29 = 257
fromEnum Arm64RegV30 = 258
fromEnum Arm64RegV31 = 259
fromEnum Arm64RegEnding = 260
toEnum 0 = Arm64RegInvalid
toEnum 1 = Arm64RegX29
toEnum 2 = Arm64RegX30
toEnum 3 = Arm64RegNzcv
toEnum 4 = Arm64RegSp
toEnum 5 = Arm64RegWsp
toEnum 6 = Arm64RegWzr
toEnum 7 = Arm64RegXzr
toEnum 8 = Arm64RegB0
toEnum 9 = Arm64RegB1
toEnum 10 = Arm64RegB2
toEnum 11 = Arm64RegB3
toEnum 12 = Arm64RegB4
toEnum 13 = Arm64RegB5
toEnum 14 = Arm64RegB6
toEnum 15 = Arm64RegB7
toEnum 16 = Arm64RegB8
toEnum 17 = Arm64RegB9
toEnum 18 = Arm64RegB10
toEnum 19 = Arm64RegB11
toEnum 20 = Arm64RegB12
toEnum 21 = Arm64RegB13
toEnum 22 = Arm64RegB14
toEnum 23 = Arm64RegB15
toEnum 24 = Arm64RegB16
toEnum 25 = Arm64RegB17
toEnum 26 = Arm64RegB18
toEnum 27 = Arm64RegB19
toEnum 28 = Arm64RegB20
toEnum 29 = Arm64RegB21
toEnum 30 = Arm64RegB22
toEnum 31 = Arm64RegB23
toEnum 32 = Arm64RegB24
toEnum 33 = Arm64RegB25
toEnum 34 = Arm64RegB26
toEnum 35 = Arm64RegB27
toEnum 36 = Arm64RegB28
toEnum 37 = Arm64RegB29
toEnum 38 = Arm64RegB30
toEnum 39 = Arm64RegB31
toEnum 40 = Arm64RegD0
toEnum 41 = Arm64RegD1
toEnum 42 = Arm64RegD2
toEnum 43 = Arm64RegD3
toEnum 44 = Arm64RegD4
toEnum 45 = Arm64RegD5
toEnum 46 = Arm64RegD6
toEnum 47 = Arm64RegD7
toEnum 48 = Arm64RegD8
toEnum 49 = Arm64RegD9
toEnum 50 = Arm64RegD10
toEnum 51 = Arm64RegD11
toEnum 52 = Arm64RegD12
toEnum 53 = Arm64RegD13
toEnum 54 = Arm64RegD14
toEnum 55 = Arm64RegD15
toEnum 56 = Arm64RegD16
toEnum 57 = Arm64RegD17
toEnum 58 = Arm64RegD18
toEnum 59 = Arm64RegD19
toEnum 60 = Arm64RegD20
toEnum 61 = Arm64RegD21
toEnum 62 = Arm64RegD22
toEnum 63 = Arm64RegD23
toEnum 64 = Arm64RegD24
toEnum 65 = Arm64RegD25
toEnum 66 = Arm64RegD26
toEnum 67 = Arm64RegD27
toEnum 68 = Arm64RegD28
toEnum 69 = Arm64RegD29
toEnum 70 = Arm64RegD30
toEnum 71 = Arm64RegD31
toEnum 72 = Arm64RegH0
toEnum 73 = Arm64RegH1
toEnum 74 = Arm64RegH2
toEnum 75 = Arm64RegH3
toEnum 76 = Arm64RegH4
toEnum 77 = Arm64RegH5
toEnum 78 = Arm64RegH6
toEnum 79 = Arm64RegH7
toEnum 80 = Arm64RegH8
toEnum 81 = Arm64RegH9
toEnum 82 = Arm64RegH10
toEnum 83 = Arm64RegH11
toEnum 84 = Arm64RegH12
toEnum 85 = Arm64RegH13
toEnum 86 = Arm64RegH14
toEnum 87 = Arm64RegH15
toEnum 88 = Arm64RegH16
toEnum 89 = Arm64RegH17
toEnum 90 = Arm64RegH18
toEnum 91 = Arm64RegH19
toEnum 92 = Arm64RegH20
toEnum 93 = Arm64RegH21
toEnum 94 = Arm64RegH22
toEnum 95 = Arm64RegH23
toEnum 96 = Arm64RegH24
toEnum 97 = Arm64RegH25
toEnum 98 = Arm64RegH26
toEnum 99 = Arm64RegH27
toEnum 100 = Arm64RegH28
toEnum 101 = Arm64RegH29
toEnum 102 = Arm64RegH30
toEnum 103 = Arm64RegH31
toEnum 104 = Arm64RegQ0
toEnum 105 = Arm64RegQ1
toEnum 106 = Arm64RegQ2
toEnum 107 = Arm64RegQ3
toEnum 108 = Arm64RegQ4
toEnum 109 = Arm64RegQ5
toEnum 110 = Arm64RegQ6
toEnum 111 = Arm64RegQ7
toEnum 112 = Arm64RegQ8
toEnum 113 = Arm64RegQ9
toEnum 114 = Arm64RegQ10
toEnum 115 = Arm64RegQ11
toEnum 116 = Arm64RegQ12
toEnum 117 = Arm64RegQ13
toEnum 118 = Arm64RegQ14
toEnum 119 = Arm64RegQ15
toEnum 120 = Arm64RegQ16
toEnum 121 = Arm64RegQ17
toEnum 122 = Arm64RegQ18
toEnum 123 = Arm64RegQ19
toEnum 124 = Arm64RegQ20
toEnum 125 = Arm64RegQ21
toEnum 126 = Arm64RegQ22
toEnum 127 = Arm64RegQ23
toEnum 128 = Arm64RegQ24
toEnum 129 = Arm64RegQ25
toEnum 130 = Arm64RegQ26
toEnum 131 = Arm64RegQ27
toEnum 132 = Arm64RegQ28
toEnum 133 = Arm64RegQ29
toEnum 134 = Arm64RegQ30
toEnum 135 = Arm64RegQ31
toEnum 136 = Arm64RegS0
toEnum 137 = Arm64RegS1
toEnum 138 = Arm64RegS2
toEnum 139 = Arm64RegS3
toEnum 140 = Arm64RegS4
toEnum 141 = Arm64RegS5
toEnum 142 = Arm64RegS6
toEnum 143 = Arm64RegS7
toEnum 144 = Arm64RegS8
toEnum 145 = Arm64RegS9
toEnum 146 = Arm64RegS10
toEnum 147 = Arm64RegS11
toEnum 148 = Arm64RegS12
toEnum 149 = Arm64RegS13
toEnum 150 = Arm64RegS14
toEnum 151 = Arm64RegS15
toEnum 152 = Arm64RegS16
toEnum 153 = Arm64RegS17
toEnum 154 = Arm64RegS18
toEnum 155 = Arm64RegS19
toEnum 156 = Arm64RegS20
toEnum 157 = Arm64RegS21
toEnum 158 = Arm64RegS22
toEnum 159 = Arm64RegS23
toEnum 160 = Arm64RegS24
toEnum 161 = Arm64RegS25
toEnum 162 = Arm64RegS26
toEnum 163 = Arm64RegS27
toEnum 164 = Arm64RegS28
toEnum 165 = Arm64RegS29
toEnum 166 = Arm64RegS30
toEnum 167 = Arm64RegS31
toEnum 168 = Arm64RegW0
toEnum 169 = Arm64RegW1
toEnum 170 = Arm64RegW2
toEnum 171 = Arm64RegW3
toEnum 172 = Arm64RegW4
toEnum 173 = Arm64RegW5
toEnum 174 = Arm64RegW6
toEnum 175 = Arm64RegW7
toEnum 176 = Arm64RegW8
toEnum 177 = Arm64RegW9
toEnum 178 = Arm64RegW10
toEnum 179 = Arm64RegW11
toEnum 180 = Arm64RegW12
toEnum 181 = Arm64RegW13
toEnum 182 = Arm64RegW14
toEnum 183 = Arm64RegW15
toEnum 184 = Arm64RegW16
toEnum 185 = Arm64RegW17
toEnum 186 = Arm64RegW18
toEnum 187 = Arm64RegW19
toEnum 188 = Arm64RegW20
toEnum 189 = Arm64RegW21
toEnum 190 = Arm64RegW22
toEnum 191 = Arm64RegW23
toEnum 192 = Arm64RegW24
toEnum 193 = Arm64RegW25
toEnum 194 = Arm64RegW26
toEnum 195 = Arm64RegW27
toEnum 196 = Arm64RegW28
toEnum 197 = Arm64RegW29
toEnum 198 = Arm64RegW30
toEnum 199 = Arm64RegX0
toEnum 200 = Arm64RegX1
toEnum 201 = Arm64RegX2
toEnum 202 = Arm64RegX3
toEnum 203 = Arm64RegX4
toEnum 204 = Arm64RegX5
toEnum 205 = Arm64RegX6
toEnum 206 = Arm64RegX7
toEnum 207 = Arm64RegX8
toEnum 208 = Arm64RegX9
toEnum 209 = Arm64RegX10
toEnum 210 = Arm64RegX11
toEnum 211 = Arm64RegX12
toEnum 212 = Arm64RegX13
toEnum 213 = Arm64RegX14
toEnum 214 = Arm64RegX15
toEnum 215 = Arm64RegX16
toEnum 216 = Arm64RegX17
toEnum 217 = Arm64RegX18
toEnum 218 = Arm64RegX19
toEnum 219 = Arm64RegX20
toEnum 220 = Arm64RegX21
toEnum 221 = Arm64RegX22
toEnum 222 = Arm64RegX23
toEnum 223 = Arm64RegX24
toEnum 224 = Arm64RegX25
toEnum 225 = Arm64RegX26
toEnum 226 = Arm64RegX27
toEnum 227 = Arm64RegX28
toEnum 228 = Arm64RegV0
toEnum 229 = Arm64RegV1
toEnum 230 = Arm64RegV2
toEnum 231 = Arm64RegV3
toEnum 232 = Arm64RegV4
toEnum 233 = Arm64RegV5
toEnum 234 = Arm64RegV6
toEnum 235 = Arm64RegV7
toEnum 236 = Arm64RegV8
toEnum 237 = Arm64RegV9
toEnum 238 = Arm64RegV10
toEnum 239 = Arm64RegV11
toEnum 240 = Arm64RegV12
toEnum 241 = Arm64RegV13
toEnum 242 = Arm64RegV14
toEnum 243 = Arm64RegV15
toEnum 244 = Arm64RegV16
toEnum 245 = Arm64RegV17
toEnum 246 = Arm64RegV18
toEnum 247 = Arm64RegV19
toEnum 248 = Arm64RegV20
toEnum 249 = Arm64RegV21
toEnum 250 = Arm64RegV22
toEnum 251 = Arm64RegV23
toEnum 252 = Arm64RegV24
toEnum 253 = Arm64RegV25
toEnum 254 = Arm64RegV26
toEnum 255 = Arm64RegV27
toEnum 256 = Arm64RegV28
toEnum 257 = Arm64RegV29
toEnum 258 = Arm64RegV30
toEnum 259 = Arm64RegV31
toEnum 260 = Arm64RegEnding
toEnum unmatched = error ("Arm64Reg.toEnum: Cannot match " ++ show unmatched)
data Arm64OpMemStruct = Arm64OpMemStruct
{ base :: Arm64Reg
, index :: Arm64Reg
, disp :: Int32
} deriving (Show, Eq)
instance Storable Arm64OpMemStruct where
sizeOf _ = 12
alignment _ = 4
peek p = Arm64OpMemStruct
<$> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p)
<*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 4 :: IO C2HSImp.CInt}) p)
<*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 8 :: IO C2HSImp.CInt}) p)
poke p (Arm64OpMemStruct b i d) = do
(\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum b)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 4 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum i)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 8 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum d)
data CsArm64OpValue
= Reg Arm64Reg
| Imm Int64
| CImm Int64
| Fp Double
| Mem Arm64OpMemStruct
| Pstate Arm64Pstate
| Sys Word32
| Prefetch Arm64PrefetchOp
| Barrier Arm64BarrierOp
| Undefined
deriving (Show, Eq)
data CsArm64Op = CsArm64Op
{ vectorIndex :: Int32
, vas :: Arm64Vas
, vess :: Arm64Vess
, shift :: (Arm64Shifter, Word32)
, ext :: Arm64Extender
, value :: CsArm64OpValue
, access :: Word8
} deriving (Show, Eq)
instance Storable CsArm64Op where
sizeOf _ = 48
alignment _ = 8
peek p = CsArm64Op
<$> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p)
<*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 4 :: IO C2HSImp.CInt}) p)
<*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 8 :: IO C2HSImp.CInt}) p)
<*> ((,) <$>
((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 12 :: IO C2HSImp.CInt}) p) <*>
(fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 16 :: IO C2HSImp.CUInt}) p))
<*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 20 :: IO C2HSImp.CInt}) p)
<*> do
t <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 24 :: IO C2HSImp.CInt}) p
let bP = plusPtr p 32
case toEnum t of
Arm64OpReg -> (Reg . toEnum . fromIntegral) <$>
(peek bP :: IO CUInt)
Arm64OpImm -> (Imm . fromIntegral) <$> (peek bP :: IO Int64)
Arm64OpCimm -> (CImm . fromIntegral) <$> (peek bP :: IO Int64)
Arm64OpFp -> (Fp . realToFrac) <$> (peek bP :: IO CDouble)
Arm64OpMem -> Mem <$> peek bP
Arm64OpRegMsr -> (Pstate . toEnum . fromIntegral) <$>
(peek bP :: IO CInt)
Arm64OpSys -> (Sys . fromIntegral) <$> (peek bP :: IO CUInt)
Arm64OpPrefetch -> (Prefetch . toEnum . fromIntegral) <$>
(peek bP :: IO CInt)
Arm64OpBarrier -> (Barrier . toEnum . fromIntegral) <$>
(peek bP :: IO CInt)
_ -> return Undefined
<*> (peekByteOff p 44 :: IO Word8)
poke p (CsArm64Op vI va ve (sh, shV) ext val acc) = do
(\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p (fromIntegral vI)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 4 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum va)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 8 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum ve)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 12 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum sh)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 16 (val :: C2HSImp.CUInt)}) p (fromIntegral shV)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 20 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum ext)
let bP = plusPtr p 32
setType = (\ptr val -> do {C2HSImp.pokeByteOff ptr 24 (val :: C2HSImp.CInt)}) p . fromIntegral . fromEnum
case val of
Reg r -> do
poke bP (fromIntegral $ fromEnum r :: CUInt)
setType Arm64OpReg
Imm i -> do
poke bP (fromIntegral i :: Int64)
setType Arm64OpImm
CImm i -> do
poke bP (fromIntegral i :: Int64)
setType Arm64OpCimm
Fp f -> do
poke bP (realToFrac f :: CDouble)
setType Arm64OpFp
Mem m -> do
poke bP m
setType Arm64OpMem
Pstate p -> do
poke bP (fromIntegral $ fromEnum p :: CInt)
setType Arm64OpRegMsr
Sys s -> do
poke bP (fromIntegral s :: CUInt)
setType Arm64OpSys
Prefetch p -> do
poke bP (fromIntegral $ fromEnum p :: CInt)
setType Arm64OpPrefetch
Barrier b -> do
poke bP (fromIntegral $ fromEnum b :: CInt)
setType Arm64OpBarrier
_ -> setType Arm64OpInvalid
pokeByteOff p 44 acc
data CsArm64 = CsArm64
{ cc :: Arm64ConditionCode
, updateFlags :: Bool
, writeback :: Bool
, operands :: [CsArm64Op]
} deriving (Show, Eq)
instance Storable CsArm64 where
sizeOf _ = 392
alignment _ = 12
peek p = CsArm64
<$> (toEnum . fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p)
<*> (toBool <$> (peekByteOff p 4 :: IO Word8))
<*> (toBool <$> (peekByteOff p 5 :: IO Word8))
<*> do num <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 6 :: IO C2HSImp.CUChar}) p
let ptr = plusPtr p (8)
peekArray num ptr
poke p (CsArm64 cc uF w o) = do
(\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum cc)
pokeByteOff p 4 (fromBool uF :: Word8)
pokeByteOff p 5 (fromBool w :: Word8)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 6 (val :: C2HSImp.CUChar)}) p (fromIntegral $ length o)
if length o > 8
then error "operands overflew 8 elements"
else pokeArray (plusPtr p (8)) o
data Arm64Insn = Arm64InsInvalid
| Arm64InsAbs
| Arm64InsAdc
| Arm64InsAddhn
| Arm64InsAddhn2
| Arm64InsAddp
| Arm64InsAdd
| Arm64InsAddv
| Arm64InsAdr
| Arm64InsAdrp
| Arm64InsAesd
| Arm64InsAese
| Arm64InsAesimc
| Arm64InsAesmc
| Arm64InsAnd
| Arm64InsAsr
| Arm64InsB
| Arm64InsBfm
| Arm64InsBic
| Arm64InsBif
| Arm64InsBit
| Arm64InsBl
| Arm64InsBlr
| Arm64InsBr
| Arm64InsBrk
| Arm64InsBsl
| Arm64InsCbnz
| Arm64InsCbz
| Arm64InsCcmn
| Arm64InsCcmp
| Arm64InsClrex
| Arm64InsCls
| Arm64InsClz
| Arm64InsCmeq
| Arm64InsCmge
| Arm64InsCmgt
| Arm64InsCmhi
| Arm64InsCmhs
| Arm64InsCmle
| Arm64InsCmlt
| Arm64InsCmtst
| Arm64InsCnt
| Arm64InsMov
| Arm64InsCrc32b
| Arm64InsCrc32cb
| Arm64InsCrc32ch
| Arm64InsCrc32cw
| Arm64InsCrc32cx
| Arm64InsCrc32h
| Arm64InsCrc32w
| Arm64InsCrc32x
| Arm64InsCsel
| Arm64InsCsinc
| Arm64InsCsinv
| Arm64InsCsneg
| Arm64InsDcps1
| Arm64InsDcps2
| Arm64InsDcps3
| Arm64InsDmb
| Arm64InsDrps
| Arm64InsDsb
| Arm64InsDup
| Arm64InsEon
| Arm64InsEor
| Arm64InsEret
| Arm64InsExtr
| Arm64InsExt
| Arm64InsFabd
| Arm64InsFabs
| Arm64InsFacge
| Arm64InsFacgt
| Arm64InsFadd
| Arm64InsFaddp
| Arm64InsFccmp
| Arm64InsFccmpe
| Arm64InsFcmeq
| Arm64InsFcmge
| Arm64InsFcmgt
| Arm64InsFcmle
| Arm64InsFcmlt
| Arm64InsFcmp
| Arm64InsFcmpe
| Arm64InsFcsel
| Arm64InsFcvtas
| Arm64InsFcvtau
| Arm64InsFcvt
| Arm64InsFcvtl
| Arm64InsFcvtl2
| Arm64InsFcvtms
| Arm64InsFcvtmu
| Arm64InsFcvtns
| Arm64InsFcvtnu
| Arm64InsFcvtn
| Arm64InsFcvtn2
| Arm64InsFcvtps
| Arm64InsFcvtpu
| Arm64InsFcvtxn
| Arm64InsFcvtxn2
| Arm64InsFcvtzs
| Arm64InsFcvtzu
| Arm64InsFdiv
| Arm64InsFmadd
| Arm64InsFmax
| Arm64InsFmaxnm
| Arm64InsFmaxnmp
| Arm64InsFmaxnmv
| Arm64InsFmaxp
| Arm64InsFmaxv
| Arm64InsFmin
| Arm64InsFminnm
| Arm64InsFminnmp
| Arm64InsFminnmv
| Arm64InsFminp
| Arm64InsFminv
| Arm64InsFmla
| Arm64InsFmls
| Arm64InsFmov
| Arm64InsFmsub
| Arm64InsFmul
| Arm64InsFmulx
| Arm64InsFneg
| Arm64InsFnmadd
| Arm64InsFnmsub
| Arm64InsFnmul
| Arm64InsFrecpe
| Arm64InsFrecps
| Arm64InsFrecpx
| Arm64InsFrinta
| Arm64InsFrinti
| Arm64InsFrintm
| Arm64InsFrintn
| Arm64InsFrintp
| Arm64InsFrintx
| Arm64InsFrintz
| Arm64InsFrsqrte
| Arm64InsFrsqrts
| Arm64InsFsqrt
| Arm64InsFsub
| Arm64InsHint
| Arm64InsHlt
| Arm64InsHvc
| Arm64InsIns
| Arm64InsIsb
| Arm64InsLd1
| Arm64InsLd1r
| Arm64InsLd2r
| Arm64InsLd2
| Arm64InsLd3r
| Arm64InsLd3
| Arm64InsLd4
| Arm64InsLd4r
| Arm64InsLdarb
| Arm64InsLdarh
| Arm64InsLdar
| Arm64InsLdaxp
| Arm64InsLdaxrb
| Arm64InsLdaxrh
| Arm64InsLdaxr
| Arm64InsLdnp
| Arm64InsLdp
| Arm64InsLdpsw
| Arm64InsLdrb
| Arm64InsLdr
| Arm64InsLdrh
| Arm64InsLdrsb
| Arm64InsLdrsh
| Arm64InsLdrsw
| Arm64InsLdtrb
| Arm64InsLdtrh
| Arm64InsLdtrsb
| Arm64InsLdtrsh
| Arm64InsLdtrsw
| Arm64InsLdtr
| Arm64InsLdurb
| Arm64InsLdur
| Arm64InsLdurh
| Arm64InsLdursb
| Arm64InsLdursh
| Arm64InsLdursw
| Arm64InsLdxp
| Arm64InsLdxrb
| Arm64InsLdxrh
| Arm64InsLdxr
| Arm64InsLsl
| Arm64InsLsr
| Arm64InsMadd
| Arm64InsMla
| Arm64InsMls
| Arm64InsMovi
| Arm64InsMovk
| Arm64InsMovn
| Arm64InsMovz
| Arm64InsMrs
| Arm64InsMsr
| Arm64InsMsub
| Arm64InsMul
| Arm64InsMvni
| Arm64InsNeg
| Arm64InsNot
| Arm64InsOrn
| Arm64InsOrr
| Arm64InsPmull2
| Arm64InsPmull
| Arm64InsPmul
| Arm64InsPrfm
| Arm64InsPrfum
| Arm64InsRaddhn
| Arm64InsRaddhn2
| Arm64InsRbit
| Arm64InsRet
| Arm64InsRev16
| Arm64InsRev32
| Arm64InsRev64
| Arm64InsRev
| Arm64InsRor
| Arm64InsRshrn2
| Arm64InsRshrn
| Arm64InsRsubhn
| Arm64InsRsubhn2
| Arm64InsSabal2
| Arm64InsSabal
| Arm64InsSaba
| Arm64InsSabdl2
| Arm64InsSabdl
| Arm64InsSabd
| Arm64InsSadalp
| Arm64InsSaddlp
| Arm64InsSaddlv
| Arm64InsSaddl2
| Arm64InsSaddl
| Arm64InsSaddw2
| Arm64InsSaddw
| Arm64InsSbc
| Arm64InsSbfm
| Arm64InsScvtf
| Arm64InsSdiv
| Arm64InsSha1c
| Arm64InsSha1h
| Arm64InsSha1m
| Arm64InsSha1p
| Arm64InsSha1su0
| Arm64InsSha1su1
| Arm64InsSha256h2
| Arm64InsSha256h
| Arm64InsSha256su0
| Arm64InsSha256su1
| Arm64InsShadd
| Arm64InsShll2
| Arm64InsShll
| Arm64InsShl
| Arm64InsShrn2
| Arm64InsShrn
| Arm64InsShsub
| Arm64InsSli
| Arm64InsSmaddl
| Arm64InsSmaxp
| Arm64InsSmaxv
| Arm64InsSmax
| Arm64InsSmc
| Arm64InsSminp
| Arm64InsSminv
| Arm64InsSmin
| Arm64InsSmlal2
| Arm64InsSmlal
| Arm64InsSmlsl2
| Arm64InsSmlsl
| Arm64InsSmov
| Arm64InsSmsubl
| Arm64InsSmulh
| Arm64InsSmull2
| Arm64InsSmull
| Arm64InsSqabs
| Arm64InsSqadd
| Arm64InsSqdmlal
| Arm64InsSqdmlal2
| Arm64InsSqdmlsl
| Arm64InsSqdmlsl2
| Arm64InsSqdmulh
| Arm64InsSqdmull
| Arm64InsSqdmull2
| Arm64InsSqneg
| Arm64InsSqrdmulh
| Arm64InsSqrshl
| Arm64InsSqrshrn
| Arm64InsSqrshrn2
| Arm64InsSqrshrun
| Arm64InsSqrshrun2
| Arm64InsSqshlu
| Arm64InsSqshl
| Arm64InsSqshrn
| Arm64InsSqshrn2
| Arm64InsSqshrun
| Arm64InsSqshrun2
| Arm64InsSqsub
| Arm64InsSqxtn2
| Arm64InsSqxtn
| Arm64InsSqxtun2
| Arm64InsSqxtun
| Arm64InsSrhadd
| Arm64InsSri
| Arm64InsSrshl
| Arm64InsSrshr
| Arm64InsSrsra
| Arm64InsSshll2
| Arm64InsSshll
| Arm64InsSshl
| Arm64InsSshr
| Arm64InsSsra
| Arm64InsSsubl2
| Arm64InsSsubl
| Arm64InsSsubw2
| Arm64InsSsubw
| Arm64InsSt1
| Arm64InsSt2
| Arm64InsSt3
| Arm64InsSt4
| Arm64InsStlrb
| Arm64InsStlrh
| Arm64InsStlr
| Arm64InsStlxp
| Arm64InsStlxrb
| Arm64InsStlxrh
| Arm64InsStlxr
| Arm64InsStnp
| Arm64InsStp
| Arm64InsStrb
| Arm64InsStr
| Arm64InsStrh
| Arm64InsSttrb
| Arm64InsSttrh
| Arm64InsSttr
| Arm64InsSturb
| Arm64InsStur
| Arm64InsSturh
| Arm64InsStxp
| Arm64InsStxrb
| Arm64InsStxrh
| Arm64InsStxr
| Arm64InsSubhn
| Arm64InsSubhn2
| Arm64InsSub
| Arm64InsSuqadd
| Arm64InsSvc
| Arm64InsSysl
| Arm64InsSys
| Arm64InsTbl
| Arm64InsTbnz
| Arm64InsTbx
| Arm64InsTbz
| Arm64InsTrn1
| Arm64InsTrn2
| Arm64InsUabal2
| Arm64InsUabal
| Arm64InsUaba
| Arm64InsUabdl2
| Arm64InsUabdl
| Arm64InsUabd
| Arm64InsUadalp
| Arm64InsUaddlp
| Arm64InsUaddlv
| Arm64InsUaddl2
| Arm64InsUaddl
| Arm64InsUaddw2
| Arm64InsUaddw
| Arm64InsUbfm
| Arm64InsUcvtf
| Arm64InsUdiv
| Arm64InsUhadd
| Arm64InsUhsub
| Arm64InsUmaddl
| Arm64InsUmaxp
| Arm64InsUmaxv
| Arm64InsUmax
| Arm64InsUminp
| Arm64InsUminv
| Arm64InsUmin
| Arm64InsUmlal2
| Arm64InsUmlal
| Arm64InsUmlsl2
| Arm64InsUmlsl
| Arm64InsUmov
| Arm64InsUmsubl
| Arm64InsUmulh
| Arm64InsUmull2
| Arm64InsUmull
| Arm64InsUqadd
| Arm64InsUqrshl
| Arm64InsUqrshrn
| Arm64InsUqrshrn2
| Arm64InsUqshl
| Arm64InsUqshrn
| Arm64InsUqshrn2
| Arm64InsUqsub
| Arm64InsUqxtn2
| Arm64InsUqxtn
| Arm64InsUrecpe
| Arm64InsUrhadd
| Arm64InsUrshl
| Arm64InsUrshr
| Arm64InsUrsqrte
| Arm64InsUrsra
| Arm64InsUshll2
| Arm64InsUshll
| Arm64InsUshl
| Arm64InsUshr
| Arm64InsUsqadd
| Arm64InsUsra
| Arm64InsUsubl2
| Arm64InsUsubl
| Arm64InsUsubw2
| Arm64InsUsubw
| Arm64InsUzp1
| Arm64InsUzp2
| Arm64InsXtn2
| Arm64InsXtn
| Arm64InsZip1
| Arm64InsZip2
| Arm64InsMneg
| Arm64InsUmnegl
| Arm64InsSmnegl
| Arm64InsNop
| Arm64InsYield
| Arm64InsWfe
| Arm64InsWfi
| Arm64InsSev
| Arm64InsSevl
| Arm64InsNgc
| Arm64InsSbfiz
| Arm64InsUbfiz
| Arm64InsSbfx
| Arm64InsUbfx
| Arm64InsBfi
| Arm64InsBfxil
| Arm64InsCmn
| Arm64InsMvn
| Arm64InsTst
| Arm64InsCset
| Arm64InsCinc
| Arm64InsCsetm
| Arm64InsCinv
| Arm64InsCneg
| Arm64InsSxtb
| Arm64InsSxth
| Arm64InsSxtw
| Arm64InsCmp
| Arm64InsUxtb
| Arm64InsUxth
| Arm64InsUxtw
| Arm64InsIc
| Arm64InsDc
| Arm64InsAt
| Arm64InsTlbi
| Arm64InsEnding
deriving (Show,Eq,Bounded)
instance Enum Arm64Insn where
succ Arm64InsInvalid = Arm64InsAbs
succ Arm64InsAbs = Arm64InsAdc
succ Arm64InsAdc = Arm64InsAddhn
succ Arm64InsAddhn = Arm64InsAddhn2
succ Arm64InsAddhn2 = Arm64InsAddp
succ Arm64InsAddp = Arm64InsAdd
succ Arm64InsAdd = Arm64InsAddv
succ Arm64InsAddv = Arm64InsAdr
succ Arm64InsAdr = Arm64InsAdrp
succ Arm64InsAdrp = Arm64InsAesd
succ Arm64InsAesd = Arm64InsAese
succ Arm64InsAese = Arm64InsAesimc
succ Arm64InsAesimc = Arm64InsAesmc
succ Arm64InsAesmc = Arm64InsAnd
succ Arm64InsAnd = Arm64InsAsr
succ Arm64InsAsr = Arm64InsB
succ Arm64InsB = Arm64InsBfm
succ Arm64InsBfm = Arm64InsBic
succ Arm64InsBic = Arm64InsBif
succ Arm64InsBif = Arm64InsBit
succ Arm64InsBit = Arm64InsBl
succ Arm64InsBl = Arm64InsBlr
succ Arm64InsBlr = Arm64InsBr
succ Arm64InsBr = Arm64InsBrk
succ Arm64InsBrk = Arm64InsBsl
succ Arm64InsBsl = Arm64InsCbnz
succ Arm64InsCbnz = Arm64InsCbz
succ Arm64InsCbz = Arm64InsCcmn
succ Arm64InsCcmn = Arm64InsCcmp
succ Arm64InsCcmp = Arm64InsClrex
succ Arm64InsClrex = Arm64InsCls
succ Arm64InsCls = Arm64InsClz
succ Arm64InsClz = Arm64InsCmeq
succ Arm64InsCmeq = Arm64InsCmge
succ Arm64InsCmge = Arm64InsCmgt
succ Arm64InsCmgt = Arm64InsCmhi
succ Arm64InsCmhi = Arm64InsCmhs
succ Arm64InsCmhs = Arm64InsCmle
succ Arm64InsCmle = Arm64InsCmlt
succ Arm64InsCmlt = Arm64InsCmtst
succ Arm64InsCmtst = Arm64InsCnt
succ Arm64InsCnt = Arm64InsMov
succ Arm64InsMov = Arm64InsCrc32b
succ Arm64InsCrc32b = Arm64InsCrc32cb
succ Arm64InsCrc32cb = Arm64InsCrc32ch
succ Arm64InsCrc32ch = Arm64InsCrc32cw
succ Arm64InsCrc32cw = Arm64InsCrc32cx
succ Arm64InsCrc32cx = Arm64InsCrc32h
succ Arm64InsCrc32h = Arm64InsCrc32w
succ Arm64InsCrc32w = Arm64InsCrc32x
succ Arm64InsCrc32x = Arm64InsCsel
succ Arm64InsCsel = Arm64InsCsinc
succ Arm64InsCsinc = Arm64InsCsinv
succ Arm64InsCsinv = Arm64InsCsneg
succ Arm64InsCsneg = Arm64InsDcps1
succ Arm64InsDcps1 = Arm64InsDcps2
succ Arm64InsDcps2 = Arm64InsDcps3
succ Arm64InsDcps3 = Arm64InsDmb
succ Arm64InsDmb = Arm64InsDrps
succ Arm64InsDrps = Arm64InsDsb
succ Arm64InsDsb = Arm64InsDup
succ Arm64InsDup = Arm64InsEon
succ Arm64InsEon = Arm64InsEor
succ Arm64InsEor = Arm64InsEret
succ Arm64InsEret = Arm64InsExtr
succ Arm64InsExtr = Arm64InsExt
succ Arm64InsExt = Arm64InsFabd
succ Arm64InsFabd = Arm64InsFabs
succ Arm64InsFabs = Arm64InsFacge
succ Arm64InsFacge = Arm64InsFacgt
succ Arm64InsFacgt = Arm64InsFadd
succ Arm64InsFadd = Arm64InsFaddp
succ Arm64InsFaddp = Arm64InsFccmp
succ Arm64InsFccmp = Arm64InsFccmpe
succ Arm64InsFccmpe = Arm64InsFcmeq
succ Arm64InsFcmeq = Arm64InsFcmge
succ Arm64InsFcmge = Arm64InsFcmgt
succ Arm64InsFcmgt = Arm64InsFcmle
succ Arm64InsFcmle = Arm64InsFcmlt
succ Arm64InsFcmlt = Arm64InsFcmp
succ Arm64InsFcmp = Arm64InsFcmpe
succ Arm64InsFcmpe = Arm64InsFcsel
succ Arm64InsFcsel = Arm64InsFcvtas
succ Arm64InsFcvtas = Arm64InsFcvtau
succ Arm64InsFcvtau = Arm64InsFcvt
succ Arm64InsFcvt = Arm64InsFcvtl
succ Arm64InsFcvtl = Arm64InsFcvtl2
succ Arm64InsFcvtl2 = Arm64InsFcvtms
succ Arm64InsFcvtms = Arm64InsFcvtmu
succ Arm64InsFcvtmu = Arm64InsFcvtns
succ Arm64InsFcvtns = Arm64InsFcvtnu
succ Arm64InsFcvtnu = Arm64InsFcvtn
succ Arm64InsFcvtn = Arm64InsFcvtn2
succ Arm64InsFcvtn2 = Arm64InsFcvtps
succ Arm64InsFcvtps = Arm64InsFcvtpu
succ Arm64InsFcvtpu = Arm64InsFcvtxn
succ Arm64InsFcvtxn = Arm64InsFcvtxn2
succ Arm64InsFcvtxn2 = Arm64InsFcvtzs
succ Arm64InsFcvtzs = Arm64InsFcvtzu
succ Arm64InsFcvtzu = Arm64InsFdiv
succ Arm64InsFdiv = Arm64InsFmadd
succ Arm64InsFmadd = Arm64InsFmax
succ Arm64InsFmax = Arm64InsFmaxnm
succ Arm64InsFmaxnm = Arm64InsFmaxnmp
succ Arm64InsFmaxnmp = Arm64InsFmaxnmv
succ Arm64InsFmaxnmv = Arm64InsFmaxp
succ Arm64InsFmaxp = Arm64InsFmaxv
succ Arm64InsFmaxv = Arm64InsFmin
succ Arm64InsFmin = Arm64InsFminnm
succ Arm64InsFminnm = Arm64InsFminnmp
succ Arm64InsFminnmp = Arm64InsFminnmv
succ Arm64InsFminnmv = Arm64InsFminp
succ Arm64InsFminp = Arm64InsFminv
succ Arm64InsFminv = Arm64InsFmla
succ Arm64InsFmla = Arm64InsFmls
succ Arm64InsFmls = Arm64InsFmov
succ Arm64InsFmov = Arm64InsFmsub
succ Arm64InsFmsub = Arm64InsFmul
succ Arm64InsFmul = Arm64InsFmulx
succ Arm64InsFmulx = Arm64InsFneg
succ Arm64InsFneg = Arm64InsFnmadd
succ Arm64InsFnmadd = Arm64InsFnmsub
succ Arm64InsFnmsub = Arm64InsFnmul
succ Arm64InsFnmul = Arm64InsFrecpe
succ Arm64InsFrecpe = Arm64InsFrecps
succ Arm64InsFrecps = Arm64InsFrecpx
succ Arm64InsFrecpx = Arm64InsFrinta
succ Arm64InsFrinta = Arm64InsFrinti
succ Arm64InsFrinti = Arm64InsFrintm
succ Arm64InsFrintm = Arm64InsFrintn
succ Arm64InsFrintn = Arm64InsFrintp
succ Arm64InsFrintp = Arm64InsFrintx
succ Arm64InsFrintx = Arm64InsFrintz
succ Arm64InsFrintz = Arm64InsFrsqrte
succ Arm64InsFrsqrte = Arm64InsFrsqrts
succ Arm64InsFrsqrts = Arm64InsFsqrt
succ Arm64InsFsqrt = Arm64InsFsub
succ Arm64InsFsub = Arm64InsHint
succ Arm64InsHint = Arm64InsHlt
succ Arm64InsHlt = Arm64InsHvc
succ Arm64InsHvc = Arm64InsIns
succ Arm64InsIns = Arm64InsIsb
succ Arm64InsIsb = Arm64InsLd1
succ Arm64InsLd1 = Arm64InsLd1r
succ Arm64InsLd1r = Arm64InsLd2r
succ Arm64InsLd2r = Arm64InsLd2
succ Arm64InsLd2 = Arm64InsLd3r
succ Arm64InsLd3r = Arm64InsLd3
succ Arm64InsLd3 = Arm64InsLd4
succ Arm64InsLd4 = Arm64InsLd4r
succ Arm64InsLd4r = Arm64InsLdarb
succ Arm64InsLdarb = Arm64InsLdarh
succ Arm64InsLdarh = Arm64InsLdar
succ Arm64InsLdar = Arm64InsLdaxp
succ Arm64InsLdaxp = Arm64InsLdaxrb
succ Arm64InsLdaxrb = Arm64InsLdaxrh
succ Arm64InsLdaxrh = Arm64InsLdaxr
succ Arm64InsLdaxr = Arm64InsLdnp
succ Arm64InsLdnp = Arm64InsLdp
succ Arm64InsLdp = Arm64InsLdpsw
succ Arm64InsLdpsw = Arm64InsLdrb
succ Arm64InsLdrb = Arm64InsLdr
succ Arm64InsLdr = Arm64InsLdrh
succ Arm64InsLdrh = Arm64InsLdrsb
succ Arm64InsLdrsb = Arm64InsLdrsh
succ Arm64InsLdrsh = Arm64InsLdrsw
succ Arm64InsLdrsw = Arm64InsLdtrb
succ Arm64InsLdtrb = Arm64InsLdtrh
succ Arm64InsLdtrh = Arm64InsLdtrsb
succ Arm64InsLdtrsb = Arm64InsLdtrsh
succ Arm64InsLdtrsh = Arm64InsLdtrsw
succ Arm64InsLdtrsw = Arm64InsLdtr
succ Arm64InsLdtr = Arm64InsLdurb
succ Arm64InsLdurb = Arm64InsLdur
succ Arm64InsLdur = Arm64InsLdurh
succ Arm64InsLdurh = Arm64InsLdursb
succ Arm64InsLdursb = Arm64InsLdursh
succ Arm64InsLdursh = Arm64InsLdursw
succ Arm64InsLdursw = Arm64InsLdxp
succ Arm64InsLdxp = Arm64InsLdxrb
succ Arm64InsLdxrb = Arm64InsLdxrh
succ Arm64InsLdxrh = Arm64InsLdxr
succ Arm64InsLdxr = Arm64InsLsl
succ Arm64InsLsl = Arm64InsLsr
succ Arm64InsLsr = Arm64InsMadd
succ Arm64InsMadd = Arm64InsMla
succ Arm64InsMla = Arm64InsMls
succ Arm64InsMls = Arm64InsMovi
succ Arm64InsMovi = Arm64InsMovk
succ Arm64InsMovk = Arm64InsMovn
succ Arm64InsMovn = Arm64InsMovz
succ Arm64InsMovz = Arm64InsMrs
succ Arm64InsMrs = Arm64InsMsr
succ Arm64InsMsr = Arm64InsMsub
succ Arm64InsMsub = Arm64InsMul
succ Arm64InsMul = Arm64InsMvni
succ Arm64InsMvni = Arm64InsNeg
succ Arm64InsNeg = Arm64InsNot
succ Arm64InsNot = Arm64InsOrn
succ Arm64InsOrn = Arm64InsOrr
succ Arm64InsOrr = Arm64InsPmull2
succ Arm64InsPmull2 = Arm64InsPmull
succ Arm64InsPmull = Arm64InsPmul
succ Arm64InsPmul = Arm64InsPrfm
succ Arm64InsPrfm = Arm64InsPrfum
succ Arm64InsPrfum = Arm64InsRaddhn
succ Arm64InsRaddhn = Arm64InsRaddhn2
succ Arm64InsRaddhn2 = Arm64InsRbit
succ Arm64InsRbit = Arm64InsRet
succ Arm64InsRet = Arm64InsRev16
succ Arm64InsRev16 = Arm64InsRev32
succ Arm64InsRev32 = Arm64InsRev64
succ Arm64InsRev64 = Arm64InsRev
succ Arm64InsRev = Arm64InsRor
succ Arm64InsRor = Arm64InsRshrn2
succ Arm64InsRshrn2 = Arm64InsRshrn
succ Arm64InsRshrn = Arm64InsRsubhn
succ Arm64InsRsubhn = Arm64InsRsubhn2
succ Arm64InsRsubhn2 = Arm64InsSabal2
succ Arm64InsSabal2 = Arm64InsSabal
succ Arm64InsSabal = Arm64InsSaba
succ Arm64InsSaba = Arm64InsSabdl2
succ Arm64InsSabdl2 = Arm64InsSabdl
succ Arm64InsSabdl = Arm64InsSabd
succ Arm64InsSabd = Arm64InsSadalp
succ Arm64InsSadalp = Arm64InsSaddlp
succ Arm64InsSaddlp = Arm64InsSaddlv
succ Arm64InsSaddlv = Arm64InsSaddl2
succ Arm64InsSaddl2 = Arm64InsSaddl
succ Arm64InsSaddl = Arm64InsSaddw2
succ Arm64InsSaddw2 = Arm64InsSaddw
succ Arm64InsSaddw = Arm64InsSbc
succ Arm64InsSbc = Arm64InsSbfm
succ Arm64InsSbfm = Arm64InsScvtf
succ Arm64InsScvtf = Arm64InsSdiv
succ Arm64InsSdiv = Arm64InsSha1c
succ Arm64InsSha1c = Arm64InsSha1h
succ Arm64InsSha1h = Arm64InsSha1m
succ Arm64InsSha1m = Arm64InsSha1p
succ Arm64InsSha1p = Arm64InsSha1su0
succ Arm64InsSha1su0 = Arm64InsSha1su1
succ Arm64InsSha1su1 = Arm64InsSha256h2
succ Arm64InsSha256h2 = Arm64InsSha256h
succ Arm64InsSha256h = Arm64InsSha256su0
succ Arm64InsSha256su0 = Arm64InsSha256su1
succ Arm64InsSha256su1 = Arm64InsShadd
succ Arm64InsShadd = Arm64InsShll2
succ Arm64InsShll2 = Arm64InsShll
succ Arm64InsShll = Arm64InsShl
succ Arm64InsShl = Arm64InsShrn2
succ Arm64InsShrn2 = Arm64InsShrn
succ Arm64InsShrn = Arm64InsShsub
succ Arm64InsShsub = Arm64InsSli
succ Arm64InsSli = Arm64InsSmaddl
succ Arm64InsSmaddl = Arm64InsSmaxp
succ Arm64InsSmaxp = Arm64InsSmaxv
succ Arm64InsSmaxv = Arm64InsSmax
succ Arm64InsSmax = Arm64InsSmc
succ Arm64InsSmc = Arm64InsSminp
succ Arm64InsSminp = Arm64InsSminv
succ Arm64InsSminv = Arm64InsSmin
succ Arm64InsSmin = Arm64InsSmlal2
succ Arm64InsSmlal2 = Arm64InsSmlal
succ Arm64InsSmlal = Arm64InsSmlsl2
succ Arm64InsSmlsl2 = Arm64InsSmlsl
succ Arm64InsSmlsl = Arm64InsSmov
succ Arm64InsSmov = Arm64InsSmsubl
succ Arm64InsSmsubl = Arm64InsSmulh
succ Arm64InsSmulh = Arm64InsSmull2
succ Arm64InsSmull2 = Arm64InsSmull
succ Arm64InsSmull = Arm64InsSqabs
succ Arm64InsSqabs = Arm64InsSqadd
succ Arm64InsSqadd = Arm64InsSqdmlal
succ Arm64InsSqdmlal = Arm64InsSqdmlal2
succ Arm64InsSqdmlal2 = Arm64InsSqdmlsl
succ Arm64InsSqdmlsl = Arm64InsSqdmlsl2
succ Arm64InsSqdmlsl2 = Arm64InsSqdmulh
succ Arm64InsSqdmulh = Arm64InsSqdmull
succ Arm64InsSqdmull = Arm64InsSqdmull2
succ Arm64InsSqdmull2 = Arm64InsSqneg
succ Arm64InsSqneg = Arm64InsSqrdmulh
succ Arm64InsSqrdmulh = Arm64InsSqrshl
succ Arm64InsSqrshl = Arm64InsSqrshrn
succ Arm64InsSqrshrn = Arm64InsSqrshrn2
succ Arm64InsSqrshrn2 = Arm64InsSqrshrun
succ Arm64InsSqrshrun = Arm64InsSqrshrun2
succ Arm64InsSqrshrun2 = Arm64InsSqshlu
succ Arm64InsSqshlu = Arm64InsSqshl
succ Arm64InsSqshl = Arm64InsSqshrn
succ Arm64InsSqshrn = Arm64InsSqshrn2
succ Arm64InsSqshrn2 = Arm64InsSqshrun
succ Arm64InsSqshrun = Arm64InsSqshrun2
succ Arm64InsSqshrun2 = Arm64InsSqsub
succ Arm64InsSqsub = Arm64InsSqxtn2
succ Arm64InsSqxtn2 = Arm64InsSqxtn
succ Arm64InsSqxtn = Arm64InsSqxtun2
succ Arm64InsSqxtun2 = Arm64InsSqxtun
succ Arm64InsSqxtun = Arm64InsSrhadd
succ Arm64InsSrhadd = Arm64InsSri
succ Arm64InsSri = Arm64InsSrshl
succ Arm64InsSrshl = Arm64InsSrshr
succ Arm64InsSrshr = Arm64InsSrsra
succ Arm64InsSrsra = Arm64InsSshll2
succ Arm64InsSshll2 = Arm64InsSshll
succ Arm64InsSshll = Arm64InsSshl
succ Arm64InsSshl = Arm64InsSshr
succ Arm64InsSshr = Arm64InsSsra
succ Arm64InsSsra = Arm64InsSsubl2
succ Arm64InsSsubl2 = Arm64InsSsubl
succ Arm64InsSsubl = Arm64InsSsubw2
succ Arm64InsSsubw2 = Arm64InsSsubw
succ Arm64InsSsubw = Arm64InsSt1
succ Arm64InsSt1 = Arm64InsSt2
succ Arm64InsSt2 = Arm64InsSt3
succ Arm64InsSt3 = Arm64InsSt4
succ Arm64InsSt4 = Arm64InsStlrb
succ Arm64InsStlrb = Arm64InsStlrh
succ Arm64InsStlrh = Arm64InsStlr
succ Arm64InsStlr = Arm64InsStlxp
succ Arm64InsStlxp = Arm64InsStlxrb
succ Arm64InsStlxrb = Arm64InsStlxrh
succ Arm64InsStlxrh = Arm64InsStlxr
succ Arm64InsStlxr = Arm64InsStnp
succ Arm64InsStnp = Arm64InsStp
succ Arm64InsStp = Arm64InsStrb
succ Arm64InsStrb = Arm64InsStr
succ Arm64InsStr = Arm64InsStrh
succ Arm64InsStrh = Arm64InsSttrb
succ Arm64InsSttrb = Arm64InsSttrh
succ Arm64InsSttrh = Arm64InsSttr
succ Arm64InsSttr = Arm64InsSturb
succ Arm64InsSturb = Arm64InsStur
succ Arm64InsStur = Arm64InsSturh
succ Arm64InsSturh = Arm64InsStxp
succ Arm64InsStxp = Arm64InsStxrb
succ Arm64InsStxrb = Arm64InsStxrh
succ Arm64InsStxrh = Arm64InsStxr
succ Arm64InsStxr = Arm64InsSubhn
succ Arm64InsSubhn = Arm64InsSubhn2
succ Arm64InsSubhn2 = Arm64InsSub
succ Arm64InsSub = Arm64InsSuqadd
succ Arm64InsSuqadd = Arm64InsSvc
succ Arm64InsSvc = Arm64InsSysl
succ Arm64InsSysl = Arm64InsSys
succ Arm64InsSys = Arm64InsTbl
succ Arm64InsTbl = Arm64InsTbnz
succ Arm64InsTbnz = Arm64InsTbx
succ Arm64InsTbx = Arm64InsTbz
succ Arm64InsTbz = Arm64InsTrn1
succ Arm64InsTrn1 = Arm64InsTrn2
succ Arm64InsTrn2 = Arm64InsUabal2
succ Arm64InsUabal2 = Arm64InsUabal
succ Arm64InsUabal = Arm64InsUaba
succ Arm64InsUaba = Arm64InsUabdl2
succ Arm64InsUabdl2 = Arm64InsUabdl
succ Arm64InsUabdl = Arm64InsUabd
succ Arm64InsUabd = Arm64InsUadalp
succ Arm64InsUadalp = Arm64InsUaddlp
succ Arm64InsUaddlp = Arm64InsUaddlv
succ Arm64InsUaddlv = Arm64InsUaddl2
succ Arm64InsUaddl2 = Arm64InsUaddl
succ Arm64InsUaddl = Arm64InsUaddw2
succ Arm64InsUaddw2 = Arm64InsUaddw
succ Arm64InsUaddw = Arm64InsUbfm
succ Arm64InsUbfm = Arm64InsUcvtf
succ Arm64InsUcvtf = Arm64InsUdiv
succ Arm64InsUdiv = Arm64InsUhadd
succ Arm64InsUhadd = Arm64InsUhsub
succ Arm64InsUhsub = Arm64InsUmaddl
succ Arm64InsUmaddl = Arm64InsUmaxp
succ Arm64InsUmaxp = Arm64InsUmaxv
succ Arm64InsUmaxv = Arm64InsUmax
succ Arm64InsUmax = Arm64InsUminp
succ Arm64InsUminp = Arm64InsUminv
succ Arm64InsUminv = Arm64InsUmin
succ Arm64InsUmin = Arm64InsUmlal2
succ Arm64InsUmlal2 = Arm64InsUmlal
succ Arm64InsUmlal = Arm64InsUmlsl2
succ Arm64InsUmlsl2 = Arm64InsUmlsl
succ Arm64InsUmlsl = Arm64InsUmov
succ Arm64InsUmov = Arm64InsUmsubl
succ Arm64InsUmsubl = Arm64InsUmulh
succ Arm64InsUmulh = Arm64InsUmull2
succ Arm64InsUmull2 = Arm64InsUmull
succ Arm64InsUmull = Arm64InsUqadd
succ Arm64InsUqadd = Arm64InsUqrshl
succ Arm64InsUqrshl = Arm64InsUqrshrn
succ Arm64InsUqrshrn = Arm64InsUqrshrn2
succ Arm64InsUqrshrn2 = Arm64InsUqshl
succ Arm64InsUqshl = Arm64InsUqshrn
succ Arm64InsUqshrn = Arm64InsUqshrn2
succ Arm64InsUqshrn2 = Arm64InsUqsub
succ Arm64InsUqsub = Arm64InsUqxtn2
succ Arm64InsUqxtn2 = Arm64InsUqxtn
succ Arm64InsUqxtn = Arm64InsUrecpe
succ Arm64InsUrecpe = Arm64InsUrhadd
succ Arm64InsUrhadd = Arm64InsUrshl
succ Arm64InsUrshl = Arm64InsUrshr
succ Arm64InsUrshr = Arm64InsUrsqrte
succ Arm64InsUrsqrte = Arm64InsUrsra
succ Arm64InsUrsra = Arm64InsUshll2
succ Arm64InsUshll2 = Arm64InsUshll
succ Arm64InsUshll = Arm64InsUshl
succ Arm64InsUshl = Arm64InsUshr
succ Arm64InsUshr = Arm64InsUsqadd
succ Arm64InsUsqadd = Arm64InsUsra
succ Arm64InsUsra = Arm64InsUsubl2
succ Arm64InsUsubl2 = Arm64InsUsubl
succ Arm64InsUsubl = Arm64InsUsubw2
succ Arm64InsUsubw2 = Arm64InsUsubw
succ Arm64InsUsubw = Arm64InsUzp1
succ Arm64InsUzp1 = Arm64InsUzp2
succ Arm64InsUzp2 = Arm64InsXtn2
succ Arm64InsXtn2 = Arm64InsXtn
succ Arm64InsXtn = Arm64InsZip1
succ Arm64InsZip1 = Arm64InsZip2
succ Arm64InsZip2 = Arm64InsMneg
succ Arm64InsMneg = Arm64InsUmnegl
succ Arm64InsUmnegl = Arm64InsSmnegl
succ Arm64InsSmnegl = Arm64InsNop
succ Arm64InsNop = Arm64InsYield
succ Arm64InsYield = Arm64InsWfe
succ Arm64InsWfe = Arm64InsWfi
succ Arm64InsWfi = Arm64InsSev
succ Arm64InsSev = Arm64InsSevl
succ Arm64InsSevl = Arm64InsNgc
succ Arm64InsNgc = Arm64InsSbfiz
succ Arm64InsSbfiz = Arm64InsUbfiz
succ Arm64InsUbfiz = Arm64InsSbfx
succ Arm64InsSbfx = Arm64InsUbfx
succ Arm64InsUbfx = Arm64InsBfi
succ Arm64InsBfi = Arm64InsBfxil
succ Arm64InsBfxil = Arm64InsCmn
succ Arm64InsCmn = Arm64InsMvn
succ Arm64InsMvn = Arm64InsTst
succ Arm64InsTst = Arm64InsCset
succ Arm64InsCset = Arm64InsCinc
succ Arm64InsCinc = Arm64InsCsetm
succ Arm64InsCsetm = Arm64InsCinv
succ Arm64InsCinv = Arm64InsCneg
succ Arm64InsCneg = Arm64InsSxtb
succ Arm64InsSxtb = Arm64InsSxth
succ Arm64InsSxth = Arm64InsSxtw
succ Arm64InsSxtw = Arm64InsCmp
succ Arm64InsCmp = Arm64InsUxtb
succ Arm64InsUxtb = Arm64InsUxth
succ Arm64InsUxth = Arm64InsUxtw
succ Arm64InsUxtw = Arm64InsIc
succ Arm64InsIc = Arm64InsDc
succ Arm64InsDc = Arm64InsAt
succ Arm64InsAt = Arm64InsTlbi
succ Arm64InsTlbi = Arm64InsEnding
succ Arm64InsEnding = error "Arm64Insn.succ: Arm64InsEnding has no successor"
pred Arm64InsAbs = Arm64InsInvalid
pred Arm64InsAdc = Arm64InsAbs
pred Arm64InsAddhn = Arm64InsAdc
pred Arm64InsAddhn2 = Arm64InsAddhn
pred Arm64InsAddp = Arm64InsAddhn2
pred Arm64InsAdd = Arm64InsAddp
pred Arm64InsAddv = Arm64InsAdd
pred Arm64InsAdr = Arm64InsAddv
pred Arm64InsAdrp = Arm64InsAdr
pred Arm64InsAesd = Arm64InsAdrp
pred Arm64InsAese = Arm64InsAesd
pred Arm64InsAesimc = Arm64InsAese
pred Arm64InsAesmc = Arm64InsAesimc
pred Arm64InsAnd = Arm64InsAesmc
pred Arm64InsAsr = Arm64InsAnd
pred Arm64InsB = Arm64InsAsr
pred Arm64InsBfm = Arm64InsB
pred Arm64InsBic = Arm64InsBfm
pred Arm64InsBif = Arm64InsBic
pred Arm64InsBit = Arm64InsBif
pred Arm64InsBl = Arm64InsBit
pred Arm64InsBlr = Arm64InsBl
pred Arm64InsBr = Arm64InsBlr
pred Arm64InsBrk = Arm64InsBr
pred Arm64InsBsl = Arm64InsBrk
pred Arm64InsCbnz = Arm64InsBsl
pred Arm64InsCbz = Arm64InsCbnz
pred Arm64InsCcmn = Arm64InsCbz
pred Arm64InsCcmp = Arm64InsCcmn
pred Arm64InsClrex = Arm64InsCcmp
pred Arm64InsCls = Arm64InsClrex
pred Arm64InsClz = Arm64InsCls
pred Arm64InsCmeq = Arm64InsClz
pred Arm64InsCmge = Arm64InsCmeq
pred Arm64InsCmgt = Arm64InsCmge
pred Arm64InsCmhi = Arm64InsCmgt
pred Arm64InsCmhs = Arm64InsCmhi
pred Arm64InsCmle = Arm64InsCmhs
pred Arm64InsCmlt = Arm64InsCmle
pred Arm64InsCmtst = Arm64InsCmlt
pred Arm64InsCnt = Arm64InsCmtst
pred Arm64InsMov = Arm64InsCnt
pred Arm64InsCrc32b = Arm64InsMov
pred Arm64InsCrc32cb = Arm64InsCrc32b
pred Arm64InsCrc32ch = Arm64InsCrc32cb
pred Arm64InsCrc32cw = Arm64InsCrc32ch
pred Arm64InsCrc32cx = Arm64InsCrc32cw
pred Arm64InsCrc32h = Arm64InsCrc32cx
pred Arm64InsCrc32w = Arm64InsCrc32h
pred Arm64InsCrc32x = Arm64InsCrc32w
pred Arm64InsCsel = Arm64InsCrc32x
pred Arm64InsCsinc = Arm64InsCsel
pred Arm64InsCsinv = Arm64InsCsinc
pred Arm64InsCsneg = Arm64InsCsinv
pred Arm64InsDcps1 = Arm64InsCsneg
pred Arm64InsDcps2 = Arm64InsDcps1
pred Arm64InsDcps3 = Arm64InsDcps2
pred Arm64InsDmb = Arm64InsDcps3
pred Arm64InsDrps = Arm64InsDmb
pred Arm64InsDsb = Arm64InsDrps
pred Arm64InsDup = Arm64InsDsb
pred Arm64InsEon = Arm64InsDup
pred Arm64InsEor = Arm64InsEon
pred Arm64InsEret = Arm64InsEor
pred Arm64InsExtr = Arm64InsEret
pred Arm64InsExt = Arm64InsExtr
pred Arm64InsFabd = Arm64InsExt
pred Arm64InsFabs = Arm64InsFabd
pred Arm64InsFacge = Arm64InsFabs
pred Arm64InsFacgt = Arm64InsFacge
pred Arm64InsFadd = Arm64InsFacgt
pred Arm64InsFaddp = Arm64InsFadd
pred Arm64InsFccmp = Arm64InsFaddp
pred Arm64InsFccmpe = Arm64InsFccmp
pred Arm64InsFcmeq = Arm64InsFccmpe
pred Arm64InsFcmge = Arm64InsFcmeq
pred Arm64InsFcmgt = Arm64InsFcmge
pred Arm64InsFcmle = Arm64InsFcmgt
pred Arm64InsFcmlt = Arm64InsFcmle
pred Arm64InsFcmp = Arm64InsFcmlt
pred Arm64InsFcmpe = Arm64InsFcmp
pred Arm64InsFcsel = Arm64InsFcmpe
pred Arm64InsFcvtas = Arm64InsFcsel
pred Arm64InsFcvtau = Arm64InsFcvtas
pred Arm64InsFcvt = Arm64InsFcvtau
pred Arm64InsFcvtl = Arm64InsFcvt
pred Arm64InsFcvtl2 = Arm64InsFcvtl
pred Arm64InsFcvtms = Arm64InsFcvtl2
pred Arm64InsFcvtmu = Arm64InsFcvtms
pred Arm64InsFcvtns = Arm64InsFcvtmu
pred Arm64InsFcvtnu = Arm64InsFcvtns
pred Arm64InsFcvtn = Arm64InsFcvtnu
pred Arm64InsFcvtn2 = Arm64InsFcvtn
pred Arm64InsFcvtps = Arm64InsFcvtn2
pred Arm64InsFcvtpu = Arm64InsFcvtps
pred Arm64InsFcvtxn = Arm64InsFcvtpu
pred Arm64InsFcvtxn2 = Arm64InsFcvtxn
pred Arm64InsFcvtzs = Arm64InsFcvtxn2
pred Arm64InsFcvtzu = Arm64InsFcvtzs
pred Arm64InsFdiv = Arm64InsFcvtzu
pred Arm64InsFmadd = Arm64InsFdiv
pred Arm64InsFmax = Arm64InsFmadd
pred Arm64InsFmaxnm = Arm64InsFmax
pred Arm64InsFmaxnmp = Arm64InsFmaxnm
pred Arm64InsFmaxnmv = Arm64InsFmaxnmp
pred Arm64InsFmaxp = Arm64InsFmaxnmv
pred Arm64InsFmaxv = Arm64InsFmaxp
pred Arm64InsFmin = Arm64InsFmaxv
pred Arm64InsFminnm = Arm64InsFmin
pred Arm64InsFminnmp = Arm64InsFminnm
pred Arm64InsFminnmv = Arm64InsFminnmp
pred Arm64InsFminp = Arm64InsFminnmv
pred Arm64InsFminv = Arm64InsFminp
pred Arm64InsFmla = Arm64InsFminv
pred Arm64InsFmls = Arm64InsFmla
pred Arm64InsFmov = Arm64InsFmls
pred Arm64InsFmsub = Arm64InsFmov
pred Arm64InsFmul = Arm64InsFmsub
pred Arm64InsFmulx = Arm64InsFmul
pred Arm64InsFneg = Arm64InsFmulx
pred Arm64InsFnmadd = Arm64InsFneg
pred Arm64InsFnmsub = Arm64InsFnmadd
pred Arm64InsFnmul = Arm64InsFnmsub
pred Arm64InsFrecpe = Arm64InsFnmul
pred Arm64InsFrecps = Arm64InsFrecpe
pred Arm64InsFrecpx = Arm64InsFrecps
pred Arm64InsFrinta = Arm64InsFrecpx
pred Arm64InsFrinti = Arm64InsFrinta
pred Arm64InsFrintm = Arm64InsFrinti
pred Arm64InsFrintn = Arm64InsFrintm
pred Arm64InsFrintp = Arm64InsFrintn
pred Arm64InsFrintx = Arm64InsFrintp
pred Arm64InsFrintz = Arm64InsFrintx
pred Arm64InsFrsqrte = Arm64InsFrintz
pred Arm64InsFrsqrts = Arm64InsFrsqrte
pred Arm64InsFsqrt = Arm64InsFrsqrts
pred Arm64InsFsub = Arm64InsFsqrt
pred Arm64InsHint = Arm64InsFsub
pred Arm64InsHlt = Arm64InsHint
pred Arm64InsHvc = Arm64InsHlt
pred Arm64InsIns = Arm64InsHvc
pred Arm64InsIsb = Arm64InsIns
pred Arm64InsLd1 = Arm64InsIsb
pred Arm64InsLd1r = Arm64InsLd1
pred Arm64InsLd2r = Arm64InsLd1r
pred Arm64InsLd2 = Arm64InsLd2r
pred Arm64InsLd3r = Arm64InsLd2
pred Arm64InsLd3 = Arm64InsLd3r
pred Arm64InsLd4 = Arm64InsLd3
pred Arm64InsLd4r = Arm64InsLd4
pred Arm64InsLdarb = Arm64InsLd4r
pred Arm64InsLdarh = Arm64InsLdarb
pred Arm64InsLdar = Arm64InsLdarh
pred Arm64InsLdaxp = Arm64InsLdar
pred Arm64InsLdaxrb = Arm64InsLdaxp
pred Arm64InsLdaxrh = Arm64InsLdaxrb
pred Arm64InsLdaxr = Arm64InsLdaxrh
pred Arm64InsLdnp = Arm64InsLdaxr
pred Arm64InsLdp = Arm64InsLdnp
pred Arm64InsLdpsw = Arm64InsLdp
pred Arm64InsLdrb = Arm64InsLdpsw
pred Arm64InsLdr = Arm64InsLdrb
pred Arm64InsLdrh = Arm64InsLdr
pred Arm64InsLdrsb = Arm64InsLdrh
pred Arm64InsLdrsh = Arm64InsLdrsb
pred Arm64InsLdrsw = Arm64InsLdrsh
pred Arm64InsLdtrb = Arm64InsLdrsw
pred Arm64InsLdtrh = Arm64InsLdtrb
pred Arm64InsLdtrsb = Arm64InsLdtrh
pred Arm64InsLdtrsh = Arm64InsLdtrsb
pred Arm64InsLdtrsw = Arm64InsLdtrsh
pred Arm64InsLdtr = Arm64InsLdtrsw
pred Arm64InsLdurb = Arm64InsLdtr
pred Arm64InsLdur = Arm64InsLdurb
pred Arm64InsLdurh = Arm64InsLdur
pred Arm64InsLdursb = Arm64InsLdurh
pred Arm64InsLdursh = Arm64InsLdursb
pred Arm64InsLdursw = Arm64InsLdursh
pred Arm64InsLdxp = Arm64InsLdursw
pred Arm64InsLdxrb = Arm64InsLdxp
pred Arm64InsLdxrh = Arm64InsLdxrb
pred Arm64InsLdxr = Arm64InsLdxrh
pred Arm64InsLsl = Arm64InsLdxr
pred Arm64InsLsr = Arm64InsLsl
pred Arm64InsMadd = Arm64InsLsr
pred Arm64InsMla = Arm64InsMadd
pred Arm64InsMls = Arm64InsMla
pred Arm64InsMovi = Arm64InsMls
pred Arm64InsMovk = Arm64InsMovi
pred Arm64InsMovn = Arm64InsMovk
pred Arm64InsMovz = Arm64InsMovn
pred Arm64InsMrs = Arm64InsMovz
pred Arm64InsMsr = Arm64InsMrs
pred Arm64InsMsub = Arm64InsMsr
pred Arm64InsMul = Arm64InsMsub
pred Arm64InsMvni = Arm64InsMul
pred Arm64InsNeg = Arm64InsMvni
pred Arm64InsNot = Arm64InsNeg
pred Arm64InsOrn = Arm64InsNot
pred Arm64InsOrr = Arm64InsOrn
pred Arm64InsPmull2 = Arm64InsOrr
pred Arm64InsPmull = Arm64InsPmull2
pred Arm64InsPmul = Arm64InsPmull
pred Arm64InsPrfm = Arm64InsPmul
pred Arm64InsPrfum = Arm64InsPrfm
pred Arm64InsRaddhn = Arm64InsPrfum
pred Arm64InsRaddhn2 = Arm64InsRaddhn
pred Arm64InsRbit = Arm64InsRaddhn2
pred Arm64InsRet = Arm64InsRbit
pred Arm64InsRev16 = Arm64InsRet
pred Arm64InsRev32 = Arm64InsRev16
pred Arm64InsRev64 = Arm64InsRev32
pred Arm64InsRev = Arm64InsRev64
pred Arm64InsRor = Arm64InsRev
pred Arm64InsRshrn2 = Arm64InsRor
pred Arm64InsRshrn = Arm64InsRshrn2
pred Arm64InsRsubhn = Arm64InsRshrn
pred Arm64InsRsubhn2 = Arm64InsRsubhn
pred Arm64InsSabal2 = Arm64InsRsubhn2
pred Arm64InsSabal = Arm64InsSabal2
pred Arm64InsSaba = Arm64InsSabal
pred Arm64InsSabdl2 = Arm64InsSaba
pred Arm64InsSabdl = Arm64InsSabdl2
pred Arm64InsSabd = Arm64InsSabdl
pred Arm64InsSadalp = Arm64InsSabd
pred Arm64InsSaddlp = Arm64InsSadalp
pred Arm64InsSaddlv = Arm64InsSaddlp
pred Arm64InsSaddl2 = Arm64InsSaddlv
pred Arm64InsSaddl = Arm64InsSaddl2
pred Arm64InsSaddw2 = Arm64InsSaddl
pred Arm64InsSaddw = Arm64InsSaddw2
pred Arm64InsSbc = Arm64InsSaddw
pred Arm64InsSbfm = Arm64InsSbc
pred Arm64InsScvtf = Arm64InsSbfm
pred Arm64InsSdiv = Arm64InsScvtf
pred Arm64InsSha1c = Arm64InsSdiv
pred Arm64InsSha1h = Arm64InsSha1c
pred Arm64InsSha1m = Arm64InsSha1h
pred Arm64InsSha1p = Arm64InsSha1m
pred Arm64InsSha1su0 = Arm64InsSha1p
pred Arm64InsSha1su1 = Arm64InsSha1su0
pred Arm64InsSha256h2 = Arm64InsSha1su1
pred Arm64InsSha256h = Arm64InsSha256h2
pred Arm64InsSha256su0 = Arm64InsSha256h
pred Arm64InsSha256su1 = Arm64InsSha256su0
pred Arm64InsShadd = Arm64InsSha256su1
pred Arm64InsShll2 = Arm64InsShadd
pred Arm64InsShll = Arm64InsShll2
pred Arm64InsShl = Arm64InsShll
pred Arm64InsShrn2 = Arm64InsShl
pred Arm64InsShrn = Arm64InsShrn2
pred Arm64InsShsub = Arm64InsShrn
pred Arm64InsSli = Arm64InsShsub
pred Arm64InsSmaddl = Arm64InsSli
pred Arm64InsSmaxp = Arm64InsSmaddl
pred Arm64InsSmaxv = Arm64InsSmaxp
pred Arm64InsSmax = Arm64InsSmaxv
pred Arm64InsSmc = Arm64InsSmax
pred Arm64InsSminp = Arm64InsSmc
pred Arm64InsSminv = Arm64InsSminp
pred Arm64InsSmin = Arm64InsSminv
pred Arm64InsSmlal2 = Arm64InsSmin
pred Arm64InsSmlal = Arm64InsSmlal2
pred Arm64InsSmlsl2 = Arm64InsSmlal
pred Arm64InsSmlsl = Arm64InsSmlsl2
pred Arm64InsSmov = Arm64InsSmlsl
pred Arm64InsSmsubl = Arm64InsSmov
pred Arm64InsSmulh = Arm64InsSmsubl
pred Arm64InsSmull2 = Arm64InsSmulh
pred Arm64InsSmull = Arm64InsSmull2
pred Arm64InsSqabs = Arm64InsSmull
pred Arm64InsSqadd = Arm64InsSqabs
pred Arm64InsSqdmlal = Arm64InsSqadd
pred Arm64InsSqdmlal2 = Arm64InsSqdmlal
pred Arm64InsSqdmlsl = Arm64InsSqdmlal2
pred Arm64InsSqdmlsl2 = Arm64InsSqdmlsl
pred Arm64InsSqdmulh = Arm64InsSqdmlsl2
pred Arm64InsSqdmull = Arm64InsSqdmulh
pred Arm64InsSqdmull2 = Arm64InsSqdmull
pred Arm64InsSqneg = Arm64InsSqdmull2
pred Arm64InsSqrdmulh = Arm64InsSqneg
pred Arm64InsSqrshl = Arm64InsSqrdmulh
pred Arm64InsSqrshrn = Arm64InsSqrshl
pred Arm64InsSqrshrn2 = Arm64InsSqrshrn
pred Arm64InsSqrshrun = Arm64InsSqrshrn2
pred Arm64InsSqrshrun2 = Arm64InsSqrshrun
pred Arm64InsSqshlu = Arm64InsSqrshrun2
pred Arm64InsSqshl = Arm64InsSqshlu
pred Arm64InsSqshrn = Arm64InsSqshl
pred Arm64InsSqshrn2 = Arm64InsSqshrn
pred Arm64InsSqshrun = Arm64InsSqshrn2
pred Arm64InsSqshrun2 = Arm64InsSqshrun
pred Arm64InsSqsub = Arm64InsSqshrun2
pred Arm64InsSqxtn2 = Arm64InsSqsub
pred Arm64InsSqxtn = Arm64InsSqxtn2
pred Arm64InsSqxtun2 = Arm64InsSqxtn
pred Arm64InsSqxtun = Arm64InsSqxtun2
pred Arm64InsSrhadd = Arm64InsSqxtun
pred Arm64InsSri = Arm64InsSrhadd
pred Arm64InsSrshl = Arm64InsSri
pred Arm64InsSrshr = Arm64InsSrshl
pred Arm64InsSrsra = Arm64InsSrshr
pred Arm64InsSshll2 = Arm64InsSrsra
pred Arm64InsSshll = Arm64InsSshll2
pred Arm64InsSshl = Arm64InsSshll
pred Arm64InsSshr = Arm64InsSshl
pred Arm64InsSsra = Arm64InsSshr
pred Arm64InsSsubl2 = Arm64InsSsra
pred Arm64InsSsubl = Arm64InsSsubl2
pred Arm64InsSsubw2 = Arm64InsSsubl
pred Arm64InsSsubw = Arm64InsSsubw2
pred Arm64InsSt1 = Arm64InsSsubw
pred Arm64InsSt2 = Arm64InsSt1
pred Arm64InsSt3 = Arm64InsSt2
pred Arm64InsSt4 = Arm64InsSt3
pred Arm64InsStlrb = Arm64InsSt4
pred Arm64InsStlrh = Arm64InsStlrb
pred Arm64InsStlr = Arm64InsStlrh
pred Arm64InsStlxp = Arm64InsStlr
pred Arm64InsStlxrb = Arm64InsStlxp
pred Arm64InsStlxrh = Arm64InsStlxrb
pred Arm64InsStlxr = Arm64InsStlxrh
pred Arm64InsStnp = Arm64InsStlxr
pred Arm64InsStp = Arm64InsStnp
pred Arm64InsStrb = Arm64InsStp
pred Arm64InsStr = Arm64InsStrb
pred Arm64InsStrh = Arm64InsStr
pred Arm64InsSttrb = Arm64InsStrh
pred Arm64InsSttrh = Arm64InsSttrb
pred Arm64InsSttr = Arm64InsSttrh
pred Arm64InsSturb = Arm64InsSttr
pred Arm64InsStur = Arm64InsSturb
pred Arm64InsSturh = Arm64InsStur
pred Arm64InsStxp = Arm64InsSturh
pred Arm64InsStxrb = Arm64InsStxp
pred Arm64InsStxrh = Arm64InsStxrb
pred Arm64InsStxr = Arm64InsStxrh
pred Arm64InsSubhn = Arm64InsStxr
pred Arm64InsSubhn2 = Arm64InsSubhn
pred Arm64InsSub = Arm64InsSubhn2
pred Arm64InsSuqadd = Arm64InsSub
pred Arm64InsSvc = Arm64InsSuqadd
pred Arm64InsSysl = Arm64InsSvc
pred Arm64InsSys = Arm64InsSysl
pred Arm64InsTbl = Arm64InsSys
pred Arm64InsTbnz = Arm64InsTbl
pred Arm64InsTbx = Arm64InsTbnz
pred Arm64InsTbz = Arm64InsTbx
pred Arm64InsTrn1 = Arm64InsTbz
pred Arm64InsTrn2 = Arm64InsTrn1
pred Arm64InsUabal2 = Arm64InsTrn2
pred Arm64InsUabal = Arm64InsUabal2
pred Arm64InsUaba = Arm64InsUabal
pred Arm64InsUabdl2 = Arm64InsUaba
pred Arm64InsUabdl = Arm64InsUabdl2
pred Arm64InsUabd = Arm64InsUabdl
pred Arm64InsUadalp = Arm64InsUabd
pred Arm64InsUaddlp = Arm64InsUadalp
pred Arm64InsUaddlv = Arm64InsUaddlp
pred Arm64InsUaddl2 = Arm64InsUaddlv
pred Arm64InsUaddl = Arm64InsUaddl2
pred Arm64InsUaddw2 = Arm64InsUaddl
pred Arm64InsUaddw = Arm64InsUaddw2
pred Arm64InsUbfm = Arm64InsUaddw
pred Arm64InsUcvtf = Arm64InsUbfm
pred Arm64InsUdiv = Arm64InsUcvtf
pred Arm64InsUhadd = Arm64InsUdiv
pred Arm64InsUhsub = Arm64InsUhadd
pred Arm64InsUmaddl = Arm64InsUhsub
pred Arm64InsUmaxp = Arm64InsUmaddl
pred Arm64InsUmaxv = Arm64InsUmaxp
pred Arm64InsUmax = Arm64InsUmaxv
pred Arm64InsUminp = Arm64InsUmax
pred Arm64InsUminv = Arm64InsUminp
pred Arm64InsUmin = Arm64InsUminv
pred Arm64InsUmlal2 = Arm64InsUmin
pred Arm64InsUmlal = Arm64InsUmlal2
pred Arm64InsUmlsl2 = Arm64InsUmlal
pred Arm64InsUmlsl = Arm64InsUmlsl2
pred Arm64InsUmov = Arm64InsUmlsl
pred Arm64InsUmsubl = Arm64InsUmov
pred Arm64InsUmulh = Arm64InsUmsubl
pred Arm64InsUmull2 = Arm64InsUmulh
pred Arm64InsUmull = Arm64InsUmull2
pred Arm64InsUqadd = Arm64InsUmull
pred Arm64InsUqrshl = Arm64InsUqadd
pred Arm64InsUqrshrn = Arm64InsUqrshl
pred Arm64InsUqrshrn2 = Arm64InsUqrshrn
pred Arm64InsUqshl = Arm64InsUqrshrn2
pred Arm64InsUqshrn = Arm64InsUqshl
pred Arm64InsUqshrn2 = Arm64InsUqshrn
pred Arm64InsUqsub = Arm64InsUqshrn2
pred Arm64InsUqxtn2 = Arm64InsUqsub
pred Arm64InsUqxtn = Arm64InsUqxtn2
pred Arm64InsUrecpe = Arm64InsUqxtn
pred Arm64InsUrhadd = Arm64InsUrecpe
pred Arm64InsUrshl = Arm64InsUrhadd
pred Arm64InsUrshr = Arm64InsUrshl
pred Arm64InsUrsqrte = Arm64InsUrshr
pred Arm64InsUrsra = Arm64InsUrsqrte
pred Arm64InsUshll2 = Arm64InsUrsra
pred Arm64InsUshll = Arm64InsUshll2
pred Arm64InsUshl = Arm64InsUshll
pred Arm64InsUshr = Arm64InsUshl
pred Arm64InsUsqadd = Arm64InsUshr
pred Arm64InsUsra = Arm64InsUsqadd
pred Arm64InsUsubl2 = Arm64InsUsra
pred Arm64InsUsubl = Arm64InsUsubl2
pred Arm64InsUsubw2 = Arm64InsUsubl
pred Arm64InsUsubw = Arm64InsUsubw2
pred Arm64InsUzp1 = Arm64InsUsubw
pred Arm64InsUzp2 = Arm64InsUzp1
pred Arm64InsXtn2 = Arm64InsUzp2
pred Arm64InsXtn = Arm64InsXtn2
pred Arm64InsZip1 = Arm64InsXtn
pred Arm64InsZip2 = Arm64InsZip1
pred Arm64InsMneg = Arm64InsZip2
pred Arm64InsUmnegl = Arm64InsMneg
pred Arm64InsSmnegl = Arm64InsUmnegl
pred Arm64InsNop = Arm64InsSmnegl
pred Arm64InsYield = Arm64InsNop
pred Arm64InsWfe = Arm64InsYield
pred Arm64InsWfi = Arm64InsWfe
pred Arm64InsSev = Arm64InsWfi
pred Arm64InsSevl = Arm64InsSev
pred Arm64InsNgc = Arm64InsSevl
pred Arm64InsSbfiz = Arm64InsNgc
pred Arm64InsUbfiz = Arm64InsSbfiz
pred Arm64InsSbfx = Arm64InsUbfiz
pred Arm64InsUbfx = Arm64InsSbfx
pred Arm64InsBfi = Arm64InsUbfx
pred Arm64InsBfxil = Arm64InsBfi
pred Arm64InsCmn = Arm64InsBfxil
pred Arm64InsMvn = Arm64InsCmn
pred Arm64InsTst = Arm64InsMvn
pred Arm64InsCset = Arm64InsTst
pred Arm64InsCinc = Arm64InsCset
pred Arm64InsCsetm = Arm64InsCinc
pred Arm64InsCinv = Arm64InsCsetm
pred Arm64InsCneg = Arm64InsCinv
pred Arm64InsSxtb = Arm64InsCneg
pred Arm64InsSxth = Arm64InsSxtb
pred Arm64InsSxtw = Arm64InsSxth
pred Arm64InsCmp = Arm64InsSxtw
pred Arm64InsUxtb = Arm64InsCmp
pred Arm64InsUxth = Arm64InsUxtb
pred Arm64InsUxtw = Arm64InsUxth
pred Arm64InsIc = Arm64InsUxtw
pred Arm64InsDc = Arm64InsIc
pred Arm64InsAt = Arm64InsDc
pred Arm64InsTlbi = Arm64InsAt
pred Arm64InsEnding = Arm64InsTlbi
pred Arm64InsInvalid = error "Arm64Insn.pred: Arm64InsInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64InsEnding
fromEnum Arm64InsInvalid = 0
fromEnum Arm64InsAbs = 1
fromEnum Arm64InsAdc = 2
fromEnum Arm64InsAddhn = 3
fromEnum Arm64InsAddhn2 = 4
fromEnum Arm64InsAddp = 5
fromEnum Arm64InsAdd = 6
fromEnum Arm64InsAddv = 7
fromEnum Arm64InsAdr = 8
fromEnum Arm64InsAdrp = 9
fromEnum Arm64InsAesd = 10
fromEnum Arm64InsAese = 11
fromEnum Arm64InsAesimc = 12
fromEnum Arm64InsAesmc = 13
fromEnum Arm64InsAnd = 14
fromEnum Arm64InsAsr = 15
fromEnum Arm64InsB = 16
fromEnum Arm64InsBfm = 17
fromEnum Arm64InsBic = 18
fromEnum Arm64InsBif = 19
fromEnum Arm64InsBit = 20
fromEnum Arm64InsBl = 21
fromEnum Arm64InsBlr = 22
fromEnum Arm64InsBr = 23
fromEnum Arm64InsBrk = 24
fromEnum Arm64InsBsl = 25
fromEnum Arm64InsCbnz = 26
fromEnum Arm64InsCbz = 27
fromEnum Arm64InsCcmn = 28
fromEnum Arm64InsCcmp = 29
fromEnum Arm64InsClrex = 30
fromEnum Arm64InsCls = 31
fromEnum Arm64InsClz = 32
fromEnum Arm64InsCmeq = 33
fromEnum Arm64InsCmge = 34
fromEnum Arm64InsCmgt = 35
fromEnum Arm64InsCmhi = 36
fromEnum Arm64InsCmhs = 37
fromEnum Arm64InsCmle = 38
fromEnum Arm64InsCmlt = 39
fromEnum Arm64InsCmtst = 40
fromEnum Arm64InsCnt = 41
fromEnum Arm64InsMov = 42
fromEnum Arm64InsCrc32b = 43
fromEnum Arm64InsCrc32cb = 44
fromEnum Arm64InsCrc32ch = 45
fromEnum Arm64InsCrc32cw = 46
fromEnum Arm64InsCrc32cx = 47
fromEnum Arm64InsCrc32h = 48
fromEnum Arm64InsCrc32w = 49
fromEnum Arm64InsCrc32x = 50
fromEnum Arm64InsCsel = 51
fromEnum Arm64InsCsinc = 52
fromEnum Arm64InsCsinv = 53
fromEnum Arm64InsCsneg = 54
fromEnum Arm64InsDcps1 = 55
fromEnum Arm64InsDcps2 = 56
fromEnum Arm64InsDcps3 = 57
fromEnum Arm64InsDmb = 58
fromEnum Arm64InsDrps = 59
fromEnum Arm64InsDsb = 60
fromEnum Arm64InsDup = 61
fromEnum Arm64InsEon = 62
fromEnum Arm64InsEor = 63
fromEnum Arm64InsEret = 64
fromEnum Arm64InsExtr = 65
fromEnum Arm64InsExt = 66
fromEnum Arm64InsFabd = 67
fromEnum Arm64InsFabs = 68
fromEnum Arm64InsFacge = 69
fromEnum Arm64InsFacgt = 70
fromEnum Arm64InsFadd = 71
fromEnum Arm64InsFaddp = 72
fromEnum Arm64InsFccmp = 73
fromEnum Arm64InsFccmpe = 74
fromEnum Arm64InsFcmeq = 75
fromEnum Arm64InsFcmge = 76
fromEnum Arm64InsFcmgt = 77
fromEnum Arm64InsFcmle = 78
fromEnum Arm64InsFcmlt = 79
fromEnum Arm64InsFcmp = 80
fromEnum Arm64InsFcmpe = 81
fromEnum Arm64InsFcsel = 82
fromEnum Arm64InsFcvtas = 83
fromEnum Arm64InsFcvtau = 84
fromEnum Arm64InsFcvt = 85
fromEnum Arm64InsFcvtl = 86
fromEnum Arm64InsFcvtl2 = 87
fromEnum Arm64InsFcvtms = 88
fromEnum Arm64InsFcvtmu = 89
fromEnum Arm64InsFcvtns = 90
fromEnum Arm64InsFcvtnu = 91
fromEnum Arm64InsFcvtn = 92
fromEnum Arm64InsFcvtn2 = 93
fromEnum Arm64InsFcvtps = 94
fromEnum Arm64InsFcvtpu = 95
fromEnum Arm64InsFcvtxn = 96
fromEnum Arm64InsFcvtxn2 = 97
fromEnum Arm64InsFcvtzs = 98
fromEnum Arm64InsFcvtzu = 99
fromEnum Arm64InsFdiv = 100
fromEnum Arm64InsFmadd = 101
fromEnum Arm64InsFmax = 102
fromEnum Arm64InsFmaxnm = 103
fromEnum Arm64InsFmaxnmp = 104
fromEnum Arm64InsFmaxnmv = 105
fromEnum Arm64InsFmaxp = 106
fromEnum Arm64InsFmaxv = 107
fromEnum Arm64InsFmin = 108
fromEnum Arm64InsFminnm = 109
fromEnum Arm64InsFminnmp = 110
fromEnum Arm64InsFminnmv = 111
fromEnum Arm64InsFminp = 112
fromEnum Arm64InsFminv = 113
fromEnum Arm64InsFmla = 114
fromEnum Arm64InsFmls = 115
fromEnum Arm64InsFmov = 116
fromEnum Arm64InsFmsub = 117
fromEnum Arm64InsFmul = 118
fromEnum Arm64InsFmulx = 119
fromEnum Arm64InsFneg = 120
fromEnum Arm64InsFnmadd = 121
fromEnum Arm64InsFnmsub = 122
fromEnum Arm64InsFnmul = 123
fromEnum Arm64InsFrecpe = 124
fromEnum Arm64InsFrecps = 125
fromEnum Arm64InsFrecpx = 126
fromEnum Arm64InsFrinta = 127
fromEnum Arm64InsFrinti = 128
fromEnum Arm64InsFrintm = 129
fromEnum Arm64InsFrintn = 130
fromEnum Arm64InsFrintp = 131
fromEnum Arm64InsFrintx = 132
fromEnum Arm64InsFrintz = 133
fromEnum Arm64InsFrsqrte = 134
fromEnum Arm64InsFrsqrts = 135
fromEnum Arm64InsFsqrt = 136
fromEnum Arm64InsFsub = 137
fromEnum Arm64InsHint = 138
fromEnum Arm64InsHlt = 139
fromEnum Arm64InsHvc = 140
fromEnum Arm64InsIns = 141
fromEnum Arm64InsIsb = 142
fromEnum Arm64InsLd1 = 143
fromEnum Arm64InsLd1r = 144
fromEnum Arm64InsLd2r = 145
fromEnum Arm64InsLd2 = 146
fromEnum Arm64InsLd3r = 147
fromEnum Arm64InsLd3 = 148
fromEnum Arm64InsLd4 = 149
fromEnum Arm64InsLd4r = 150
fromEnum Arm64InsLdarb = 151
fromEnum Arm64InsLdarh = 152
fromEnum Arm64InsLdar = 153
fromEnum Arm64InsLdaxp = 154
fromEnum Arm64InsLdaxrb = 155
fromEnum Arm64InsLdaxrh = 156
fromEnum Arm64InsLdaxr = 157
fromEnum Arm64InsLdnp = 158
fromEnum Arm64InsLdp = 159
fromEnum Arm64InsLdpsw = 160
fromEnum Arm64InsLdrb = 161
fromEnum Arm64InsLdr = 162
fromEnum Arm64InsLdrh = 163
fromEnum Arm64InsLdrsb = 164
fromEnum Arm64InsLdrsh = 165
fromEnum Arm64InsLdrsw = 166
fromEnum Arm64InsLdtrb = 167
fromEnum Arm64InsLdtrh = 168
fromEnum Arm64InsLdtrsb = 169
fromEnum Arm64InsLdtrsh = 170
fromEnum Arm64InsLdtrsw = 171
fromEnum Arm64InsLdtr = 172
fromEnum Arm64InsLdurb = 173
fromEnum Arm64InsLdur = 174
fromEnum Arm64InsLdurh = 175
fromEnum Arm64InsLdursb = 176
fromEnum Arm64InsLdursh = 177
fromEnum Arm64InsLdursw = 178
fromEnum Arm64InsLdxp = 179
fromEnum Arm64InsLdxrb = 180
fromEnum Arm64InsLdxrh = 181
fromEnum Arm64InsLdxr = 182
fromEnum Arm64InsLsl = 183
fromEnum Arm64InsLsr = 184
fromEnum Arm64InsMadd = 185
fromEnum Arm64InsMla = 186
fromEnum Arm64InsMls = 187
fromEnum Arm64InsMovi = 188
fromEnum Arm64InsMovk = 189
fromEnum Arm64InsMovn = 190
fromEnum Arm64InsMovz = 191
fromEnum Arm64InsMrs = 192
fromEnum Arm64InsMsr = 193
fromEnum Arm64InsMsub = 194
fromEnum Arm64InsMul = 195
fromEnum Arm64InsMvni = 196
fromEnum Arm64InsNeg = 197
fromEnum Arm64InsNot = 198
fromEnum Arm64InsOrn = 199
fromEnum Arm64InsOrr = 200
fromEnum Arm64InsPmull2 = 201
fromEnum Arm64InsPmull = 202
fromEnum Arm64InsPmul = 203
fromEnum Arm64InsPrfm = 204
fromEnum Arm64InsPrfum = 205
fromEnum Arm64InsRaddhn = 206
fromEnum Arm64InsRaddhn2 = 207
fromEnum Arm64InsRbit = 208
fromEnum Arm64InsRet = 209
fromEnum Arm64InsRev16 = 210
fromEnum Arm64InsRev32 = 211
fromEnum Arm64InsRev64 = 212
fromEnum Arm64InsRev = 213
fromEnum Arm64InsRor = 214
fromEnum Arm64InsRshrn2 = 215
fromEnum Arm64InsRshrn = 216
fromEnum Arm64InsRsubhn = 217
fromEnum Arm64InsRsubhn2 = 218
fromEnum Arm64InsSabal2 = 219
fromEnum Arm64InsSabal = 220
fromEnum Arm64InsSaba = 221
fromEnum Arm64InsSabdl2 = 222
fromEnum Arm64InsSabdl = 223
fromEnum Arm64InsSabd = 224
fromEnum Arm64InsSadalp = 225
fromEnum Arm64InsSaddlp = 226
fromEnum Arm64InsSaddlv = 227
fromEnum Arm64InsSaddl2 = 228
fromEnum Arm64InsSaddl = 229
fromEnum Arm64InsSaddw2 = 230
fromEnum Arm64InsSaddw = 231
fromEnum Arm64InsSbc = 232
fromEnum Arm64InsSbfm = 233
fromEnum Arm64InsScvtf = 234
fromEnum Arm64InsSdiv = 235
fromEnum Arm64InsSha1c = 236
fromEnum Arm64InsSha1h = 237
fromEnum Arm64InsSha1m = 238
fromEnum Arm64InsSha1p = 239
fromEnum Arm64InsSha1su0 = 240
fromEnum Arm64InsSha1su1 = 241
fromEnum Arm64InsSha256h2 = 242
fromEnum Arm64InsSha256h = 243
fromEnum Arm64InsSha256su0 = 244
fromEnum Arm64InsSha256su1 = 245
fromEnum Arm64InsShadd = 246
fromEnum Arm64InsShll2 = 247
fromEnum Arm64InsShll = 248
fromEnum Arm64InsShl = 249
fromEnum Arm64InsShrn2 = 250
fromEnum Arm64InsShrn = 251
fromEnum Arm64InsShsub = 252
fromEnum Arm64InsSli = 253
fromEnum Arm64InsSmaddl = 254
fromEnum Arm64InsSmaxp = 255
fromEnum Arm64InsSmaxv = 256
fromEnum Arm64InsSmax = 257
fromEnum Arm64InsSmc = 258
fromEnum Arm64InsSminp = 259
fromEnum Arm64InsSminv = 260
fromEnum Arm64InsSmin = 261
fromEnum Arm64InsSmlal2 = 262
fromEnum Arm64InsSmlal = 263
fromEnum Arm64InsSmlsl2 = 264
fromEnum Arm64InsSmlsl = 265
fromEnum Arm64InsSmov = 266
fromEnum Arm64InsSmsubl = 267
fromEnum Arm64InsSmulh = 268
fromEnum Arm64InsSmull2 = 269
fromEnum Arm64InsSmull = 270
fromEnum Arm64InsSqabs = 271
fromEnum Arm64InsSqadd = 272
fromEnum Arm64InsSqdmlal = 273
fromEnum Arm64InsSqdmlal2 = 274
fromEnum Arm64InsSqdmlsl = 275
fromEnum Arm64InsSqdmlsl2 = 276
fromEnum Arm64InsSqdmulh = 277
fromEnum Arm64InsSqdmull = 278
fromEnum Arm64InsSqdmull2 = 279
fromEnum Arm64InsSqneg = 280
fromEnum Arm64InsSqrdmulh = 281
fromEnum Arm64InsSqrshl = 282
fromEnum Arm64InsSqrshrn = 283
fromEnum Arm64InsSqrshrn2 = 284
fromEnum Arm64InsSqrshrun = 285
fromEnum Arm64InsSqrshrun2 = 286
fromEnum Arm64InsSqshlu = 287
fromEnum Arm64InsSqshl = 288
fromEnum Arm64InsSqshrn = 289
fromEnum Arm64InsSqshrn2 = 290
fromEnum Arm64InsSqshrun = 291
fromEnum Arm64InsSqshrun2 = 292
fromEnum Arm64InsSqsub = 293
fromEnum Arm64InsSqxtn2 = 294
fromEnum Arm64InsSqxtn = 295
fromEnum Arm64InsSqxtun2 = 296
fromEnum Arm64InsSqxtun = 297
fromEnum Arm64InsSrhadd = 298
fromEnum Arm64InsSri = 299
fromEnum Arm64InsSrshl = 300
fromEnum Arm64InsSrshr = 301
fromEnum Arm64InsSrsra = 302
fromEnum Arm64InsSshll2 = 303
fromEnum Arm64InsSshll = 304
fromEnum Arm64InsSshl = 305
fromEnum Arm64InsSshr = 306
fromEnum Arm64InsSsra = 307
fromEnum Arm64InsSsubl2 = 308
fromEnum Arm64InsSsubl = 309
fromEnum Arm64InsSsubw2 = 310
fromEnum Arm64InsSsubw = 311
fromEnum Arm64InsSt1 = 312
fromEnum Arm64InsSt2 = 313
fromEnum Arm64InsSt3 = 314
fromEnum Arm64InsSt4 = 315
fromEnum Arm64InsStlrb = 316
fromEnum Arm64InsStlrh = 317
fromEnum Arm64InsStlr = 318
fromEnum Arm64InsStlxp = 319
fromEnum Arm64InsStlxrb = 320
fromEnum Arm64InsStlxrh = 321
fromEnum Arm64InsStlxr = 322
fromEnum Arm64InsStnp = 323
fromEnum Arm64InsStp = 324
fromEnum Arm64InsStrb = 325
fromEnum Arm64InsStr = 326
fromEnum Arm64InsStrh = 327
fromEnum Arm64InsSttrb = 328
fromEnum Arm64InsSttrh = 329
fromEnum Arm64InsSttr = 330
fromEnum Arm64InsSturb = 331
fromEnum Arm64InsStur = 332
fromEnum Arm64InsSturh = 333
fromEnum Arm64InsStxp = 334
fromEnum Arm64InsStxrb = 335
fromEnum Arm64InsStxrh = 336
fromEnum Arm64InsStxr = 337
fromEnum Arm64InsSubhn = 338
fromEnum Arm64InsSubhn2 = 339
fromEnum Arm64InsSub = 340
fromEnum Arm64InsSuqadd = 341
fromEnum Arm64InsSvc = 342
fromEnum Arm64InsSysl = 343
fromEnum Arm64InsSys = 344
fromEnum Arm64InsTbl = 345
fromEnum Arm64InsTbnz = 346
fromEnum Arm64InsTbx = 347
fromEnum Arm64InsTbz = 348
fromEnum Arm64InsTrn1 = 349
fromEnum Arm64InsTrn2 = 350
fromEnum Arm64InsUabal2 = 351
fromEnum Arm64InsUabal = 352
fromEnum Arm64InsUaba = 353
fromEnum Arm64InsUabdl2 = 354
fromEnum Arm64InsUabdl = 355
fromEnum Arm64InsUabd = 356
fromEnum Arm64InsUadalp = 357
fromEnum Arm64InsUaddlp = 358
fromEnum Arm64InsUaddlv = 359
fromEnum Arm64InsUaddl2 = 360
fromEnum Arm64InsUaddl = 361
fromEnum Arm64InsUaddw2 = 362
fromEnum Arm64InsUaddw = 363
fromEnum Arm64InsUbfm = 364
fromEnum Arm64InsUcvtf = 365
fromEnum Arm64InsUdiv = 366
fromEnum Arm64InsUhadd = 367
fromEnum Arm64InsUhsub = 368
fromEnum Arm64InsUmaddl = 369
fromEnum Arm64InsUmaxp = 370
fromEnum Arm64InsUmaxv = 371
fromEnum Arm64InsUmax = 372
fromEnum Arm64InsUminp = 373
fromEnum Arm64InsUminv = 374
fromEnum Arm64InsUmin = 375
fromEnum Arm64InsUmlal2 = 376
fromEnum Arm64InsUmlal = 377
fromEnum Arm64InsUmlsl2 = 378
fromEnum Arm64InsUmlsl = 379
fromEnum Arm64InsUmov = 380
fromEnum Arm64InsUmsubl = 381
fromEnum Arm64InsUmulh = 382
fromEnum Arm64InsUmull2 = 383
fromEnum Arm64InsUmull = 384
fromEnum Arm64InsUqadd = 385
fromEnum Arm64InsUqrshl = 386
fromEnum Arm64InsUqrshrn = 387
fromEnum Arm64InsUqrshrn2 = 388
fromEnum Arm64InsUqshl = 389
fromEnum Arm64InsUqshrn = 390
fromEnum Arm64InsUqshrn2 = 391
fromEnum Arm64InsUqsub = 392
fromEnum Arm64InsUqxtn2 = 393
fromEnum Arm64InsUqxtn = 394
fromEnum Arm64InsUrecpe = 395
fromEnum Arm64InsUrhadd = 396
fromEnum Arm64InsUrshl = 397
fromEnum Arm64InsUrshr = 398
fromEnum Arm64InsUrsqrte = 399
fromEnum Arm64InsUrsra = 400
fromEnum Arm64InsUshll2 = 401
fromEnum Arm64InsUshll = 402
fromEnum Arm64InsUshl = 403
fromEnum Arm64InsUshr = 404
fromEnum Arm64InsUsqadd = 405
fromEnum Arm64InsUsra = 406
fromEnum Arm64InsUsubl2 = 407
fromEnum Arm64InsUsubl = 408
fromEnum Arm64InsUsubw2 = 409
fromEnum Arm64InsUsubw = 410
fromEnum Arm64InsUzp1 = 411
fromEnum Arm64InsUzp2 = 412
fromEnum Arm64InsXtn2 = 413
fromEnum Arm64InsXtn = 414
fromEnum Arm64InsZip1 = 415
fromEnum Arm64InsZip2 = 416
fromEnum Arm64InsMneg = 417
fromEnum Arm64InsUmnegl = 418
fromEnum Arm64InsSmnegl = 419
fromEnum Arm64InsNop = 420
fromEnum Arm64InsYield = 421
fromEnum Arm64InsWfe = 422
fromEnum Arm64InsWfi = 423
fromEnum Arm64InsSev = 424
fromEnum Arm64InsSevl = 425
fromEnum Arm64InsNgc = 426
fromEnum Arm64InsSbfiz = 427
fromEnum Arm64InsUbfiz = 428
fromEnum Arm64InsSbfx = 429
fromEnum Arm64InsUbfx = 430
fromEnum Arm64InsBfi = 431
fromEnum Arm64InsBfxil = 432
fromEnum Arm64InsCmn = 433
fromEnum Arm64InsMvn = 434
fromEnum Arm64InsTst = 435
fromEnum Arm64InsCset = 436
fromEnum Arm64InsCinc = 437
fromEnum Arm64InsCsetm = 438
fromEnum Arm64InsCinv = 439
fromEnum Arm64InsCneg = 440
fromEnum Arm64InsSxtb = 441
fromEnum Arm64InsSxth = 442
fromEnum Arm64InsSxtw = 443
fromEnum Arm64InsCmp = 444
fromEnum Arm64InsUxtb = 445
fromEnum Arm64InsUxth = 446
fromEnum Arm64InsUxtw = 447
fromEnum Arm64InsIc = 448
fromEnum Arm64InsDc = 449
fromEnum Arm64InsAt = 450
fromEnum Arm64InsTlbi = 451
fromEnum Arm64InsEnding = 452
toEnum 0 = Arm64InsInvalid
toEnum 1 = Arm64InsAbs
toEnum 2 = Arm64InsAdc
toEnum 3 = Arm64InsAddhn
toEnum 4 = Arm64InsAddhn2
toEnum 5 = Arm64InsAddp
toEnum 6 = Arm64InsAdd
toEnum 7 = Arm64InsAddv
toEnum 8 = Arm64InsAdr
toEnum 9 = Arm64InsAdrp
toEnum 10 = Arm64InsAesd
toEnum 11 = Arm64InsAese
toEnum 12 = Arm64InsAesimc
toEnum 13 = Arm64InsAesmc
toEnum 14 = Arm64InsAnd
toEnum 15 = Arm64InsAsr
toEnum 16 = Arm64InsB
toEnum 17 = Arm64InsBfm
toEnum 18 = Arm64InsBic
toEnum 19 = Arm64InsBif
toEnum 20 = Arm64InsBit
toEnum 21 = Arm64InsBl
toEnum 22 = Arm64InsBlr
toEnum 23 = Arm64InsBr
toEnum 24 = Arm64InsBrk
toEnum 25 = Arm64InsBsl
toEnum 26 = Arm64InsCbnz
toEnum 27 = Arm64InsCbz
toEnum 28 = Arm64InsCcmn
toEnum 29 = Arm64InsCcmp
toEnum 30 = Arm64InsClrex
toEnum 31 = Arm64InsCls
toEnum 32 = Arm64InsClz
toEnum 33 = Arm64InsCmeq
toEnum 34 = Arm64InsCmge
toEnum 35 = Arm64InsCmgt
toEnum 36 = Arm64InsCmhi
toEnum 37 = Arm64InsCmhs
toEnum 38 = Arm64InsCmle
toEnum 39 = Arm64InsCmlt
toEnum 40 = Arm64InsCmtst
toEnum 41 = Arm64InsCnt
toEnum 42 = Arm64InsMov
toEnum 43 = Arm64InsCrc32b
toEnum 44 = Arm64InsCrc32cb
toEnum 45 = Arm64InsCrc32ch
toEnum 46 = Arm64InsCrc32cw
toEnum 47 = Arm64InsCrc32cx
toEnum 48 = Arm64InsCrc32h
toEnum 49 = Arm64InsCrc32w
toEnum 50 = Arm64InsCrc32x
toEnum 51 = Arm64InsCsel
toEnum 52 = Arm64InsCsinc
toEnum 53 = Arm64InsCsinv
toEnum 54 = Arm64InsCsneg
toEnum 55 = Arm64InsDcps1
toEnum 56 = Arm64InsDcps2
toEnum 57 = Arm64InsDcps3
toEnum 58 = Arm64InsDmb
toEnum 59 = Arm64InsDrps
toEnum 60 = Arm64InsDsb
toEnum 61 = Arm64InsDup
toEnum 62 = Arm64InsEon
toEnum 63 = Arm64InsEor
toEnum 64 = Arm64InsEret
toEnum 65 = Arm64InsExtr
toEnum 66 = Arm64InsExt
toEnum 67 = Arm64InsFabd
toEnum 68 = Arm64InsFabs
toEnum 69 = Arm64InsFacge
toEnum 70 = Arm64InsFacgt
toEnum 71 = Arm64InsFadd
toEnum 72 = Arm64InsFaddp
toEnum 73 = Arm64InsFccmp
toEnum 74 = Arm64InsFccmpe
toEnum 75 = Arm64InsFcmeq
toEnum 76 = Arm64InsFcmge
toEnum 77 = Arm64InsFcmgt
toEnum 78 = Arm64InsFcmle
toEnum 79 = Arm64InsFcmlt
toEnum 80 = Arm64InsFcmp
toEnum 81 = Arm64InsFcmpe
toEnum 82 = Arm64InsFcsel
toEnum 83 = Arm64InsFcvtas
toEnum 84 = Arm64InsFcvtau
toEnum 85 = Arm64InsFcvt
toEnum 86 = Arm64InsFcvtl
toEnum 87 = Arm64InsFcvtl2
toEnum 88 = Arm64InsFcvtms
toEnum 89 = Arm64InsFcvtmu
toEnum 90 = Arm64InsFcvtns
toEnum 91 = Arm64InsFcvtnu
toEnum 92 = Arm64InsFcvtn
toEnum 93 = Arm64InsFcvtn2
toEnum 94 = Arm64InsFcvtps
toEnum 95 = Arm64InsFcvtpu
toEnum 96 = Arm64InsFcvtxn
toEnum 97 = Arm64InsFcvtxn2
toEnum 98 = Arm64InsFcvtzs
toEnum 99 = Arm64InsFcvtzu
toEnum 100 = Arm64InsFdiv
toEnum 101 = Arm64InsFmadd
toEnum 102 = Arm64InsFmax
toEnum 103 = Arm64InsFmaxnm
toEnum 104 = Arm64InsFmaxnmp
toEnum 105 = Arm64InsFmaxnmv
toEnum 106 = Arm64InsFmaxp
toEnum 107 = Arm64InsFmaxv
toEnum 108 = Arm64InsFmin
toEnum 109 = Arm64InsFminnm
toEnum 110 = Arm64InsFminnmp
toEnum 111 = Arm64InsFminnmv
toEnum 112 = Arm64InsFminp
toEnum 113 = Arm64InsFminv
toEnum 114 = Arm64InsFmla
toEnum 115 = Arm64InsFmls
toEnum 116 = Arm64InsFmov
toEnum 117 = Arm64InsFmsub
toEnum 118 = Arm64InsFmul
toEnum 119 = Arm64InsFmulx
toEnum 120 = Arm64InsFneg
toEnum 121 = Arm64InsFnmadd
toEnum 122 = Arm64InsFnmsub
toEnum 123 = Arm64InsFnmul
toEnum 124 = Arm64InsFrecpe
toEnum 125 = Arm64InsFrecps
toEnum 126 = Arm64InsFrecpx
toEnum 127 = Arm64InsFrinta
toEnum 128 = Arm64InsFrinti
toEnum 129 = Arm64InsFrintm
toEnum 130 = Arm64InsFrintn
toEnum 131 = Arm64InsFrintp
toEnum 132 = Arm64InsFrintx
toEnum 133 = Arm64InsFrintz
toEnum 134 = Arm64InsFrsqrte
toEnum 135 = Arm64InsFrsqrts
toEnum 136 = Arm64InsFsqrt
toEnum 137 = Arm64InsFsub
toEnum 138 = Arm64InsHint
toEnum 139 = Arm64InsHlt
toEnum 140 = Arm64InsHvc
toEnum 141 = Arm64InsIns
toEnum 142 = Arm64InsIsb
toEnum 143 = Arm64InsLd1
toEnum 144 = Arm64InsLd1r
toEnum 145 = Arm64InsLd2r
toEnum 146 = Arm64InsLd2
toEnum 147 = Arm64InsLd3r
toEnum 148 = Arm64InsLd3
toEnum 149 = Arm64InsLd4
toEnum 150 = Arm64InsLd4r
toEnum 151 = Arm64InsLdarb
toEnum 152 = Arm64InsLdarh
toEnum 153 = Arm64InsLdar
toEnum 154 = Arm64InsLdaxp
toEnum 155 = Arm64InsLdaxrb
toEnum 156 = Arm64InsLdaxrh
toEnum 157 = Arm64InsLdaxr
toEnum 158 = Arm64InsLdnp
toEnum 159 = Arm64InsLdp
toEnum 160 = Arm64InsLdpsw
toEnum 161 = Arm64InsLdrb
toEnum 162 = Arm64InsLdr
toEnum 163 = Arm64InsLdrh
toEnum 164 = Arm64InsLdrsb
toEnum 165 = Arm64InsLdrsh
toEnum 166 = Arm64InsLdrsw
toEnum 167 = Arm64InsLdtrb
toEnum 168 = Arm64InsLdtrh
toEnum 169 = Arm64InsLdtrsb
toEnum 170 = Arm64InsLdtrsh
toEnum 171 = Arm64InsLdtrsw
toEnum 172 = Arm64InsLdtr
toEnum 173 = Arm64InsLdurb
toEnum 174 = Arm64InsLdur
toEnum 175 = Arm64InsLdurh
toEnum 176 = Arm64InsLdursb
toEnum 177 = Arm64InsLdursh
toEnum 178 = Arm64InsLdursw
toEnum 179 = Arm64InsLdxp
toEnum 180 = Arm64InsLdxrb
toEnum 181 = Arm64InsLdxrh
toEnum 182 = Arm64InsLdxr
toEnum 183 = Arm64InsLsl
toEnum 184 = Arm64InsLsr
toEnum 185 = Arm64InsMadd
toEnum 186 = Arm64InsMla
toEnum 187 = Arm64InsMls
toEnum 188 = Arm64InsMovi
toEnum 189 = Arm64InsMovk
toEnum 190 = Arm64InsMovn
toEnum 191 = Arm64InsMovz
toEnum 192 = Arm64InsMrs
toEnum 193 = Arm64InsMsr
toEnum 194 = Arm64InsMsub
toEnum 195 = Arm64InsMul
toEnum 196 = Arm64InsMvni
toEnum 197 = Arm64InsNeg
toEnum 198 = Arm64InsNot
toEnum 199 = Arm64InsOrn
toEnum 200 = Arm64InsOrr
toEnum 201 = Arm64InsPmull2
toEnum 202 = Arm64InsPmull
toEnum 203 = Arm64InsPmul
toEnum 204 = Arm64InsPrfm
toEnum 205 = Arm64InsPrfum
toEnum 206 = Arm64InsRaddhn
toEnum 207 = Arm64InsRaddhn2
toEnum 208 = Arm64InsRbit
toEnum 209 = Arm64InsRet
toEnum 210 = Arm64InsRev16
toEnum 211 = Arm64InsRev32
toEnum 212 = Arm64InsRev64
toEnum 213 = Arm64InsRev
toEnum 214 = Arm64InsRor
toEnum 215 = Arm64InsRshrn2
toEnum 216 = Arm64InsRshrn
toEnum 217 = Arm64InsRsubhn
toEnum 218 = Arm64InsRsubhn2
toEnum 219 = Arm64InsSabal2
toEnum 220 = Arm64InsSabal
toEnum 221 = Arm64InsSaba
toEnum 222 = Arm64InsSabdl2
toEnum 223 = Arm64InsSabdl
toEnum 224 = Arm64InsSabd
toEnum 225 = Arm64InsSadalp
toEnum 226 = Arm64InsSaddlp
toEnum 227 = Arm64InsSaddlv
toEnum 228 = Arm64InsSaddl2
toEnum 229 = Arm64InsSaddl
toEnum 230 = Arm64InsSaddw2
toEnum 231 = Arm64InsSaddw
toEnum 232 = Arm64InsSbc
toEnum 233 = Arm64InsSbfm
toEnum 234 = Arm64InsScvtf
toEnum 235 = Arm64InsSdiv
toEnum 236 = Arm64InsSha1c
toEnum 237 = Arm64InsSha1h
toEnum 238 = Arm64InsSha1m
toEnum 239 = Arm64InsSha1p
toEnum 240 = Arm64InsSha1su0
toEnum 241 = Arm64InsSha1su1
toEnum 242 = Arm64InsSha256h2
toEnum 243 = Arm64InsSha256h
toEnum 244 = Arm64InsSha256su0
toEnum 245 = Arm64InsSha256su1
toEnum 246 = Arm64InsShadd
toEnum 247 = Arm64InsShll2
toEnum 248 = Arm64InsShll
toEnum 249 = Arm64InsShl
toEnum 250 = Arm64InsShrn2
toEnum 251 = Arm64InsShrn
toEnum 252 = Arm64InsShsub
toEnum 253 = Arm64InsSli
toEnum 254 = Arm64InsSmaddl
toEnum 255 = Arm64InsSmaxp
toEnum 256 = Arm64InsSmaxv
toEnum 257 = Arm64InsSmax
toEnum 258 = Arm64InsSmc
toEnum 259 = Arm64InsSminp
toEnum 260 = Arm64InsSminv
toEnum 261 = Arm64InsSmin
toEnum 262 = Arm64InsSmlal2
toEnum 263 = Arm64InsSmlal
toEnum 264 = Arm64InsSmlsl2
toEnum 265 = Arm64InsSmlsl
toEnum 266 = Arm64InsSmov
toEnum 267 = Arm64InsSmsubl
toEnum 268 = Arm64InsSmulh
toEnum 269 = Arm64InsSmull2
toEnum 270 = Arm64InsSmull
toEnum 271 = Arm64InsSqabs
toEnum 272 = Arm64InsSqadd
toEnum 273 = Arm64InsSqdmlal
toEnum 274 = Arm64InsSqdmlal2
toEnum 275 = Arm64InsSqdmlsl
toEnum 276 = Arm64InsSqdmlsl2
toEnum 277 = Arm64InsSqdmulh
toEnum 278 = Arm64InsSqdmull
toEnum 279 = Arm64InsSqdmull2
toEnum 280 = Arm64InsSqneg
toEnum 281 = Arm64InsSqrdmulh
toEnum 282 = Arm64InsSqrshl
toEnum 283 = Arm64InsSqrshrn
toEnum 284 = Arm64InsSqrshrn2
toEnum 285 = Arm64InsSqrshrun
toEnum 286 = Arm64InsSqrshrun2
toEnum 287 = Arm64InsSqshlu
toEnum 288 = Arm64InsSqshl
toEnum 289 = Arm64InsSqshrn
toEnum 290 = Arm64InsSqshrn2
toEnum 291 = Arm64InsSqshrun
toEnum 292 = Arm64InsSqshrun2
toEnum 293 = Arm64InsSqsub
toEnum 294 = Arm64InsSqxtn2
toEnum 295 = Arm64InsSqxtn
toEnum 296 = Arm64InsSqxtun2
toEnum 297 = Arm64InsSqxtun
toEnum 298 = Arm64InsSrhadd
toEnum 299 = Arm64InsSri
toEnum 300 = Arm64InsSrshl
toEnum 301 = Arm64InsSrshr
toEnum 302 = Arm64InsSrsra
toEnum 303 = Arm64InsSshll2
toEnum 304 = Arm64InsSshll
toEnum 305 = Arm64InsSshl
toEnum 306 = Arm64InsSshr
toEnum 307 = Arm64InsSsra
toEnum 308 = Arm64InsSsubl2
toEnum 309 = Arm64InsSsubl
toEnum 310 = Arm64InsSsubw2
toEnum 311 = Arm64InsSsubw
toEnum 312 = Arm64InsSt1
toEnum 313 = Arm64InsSt2
toEnum 314 = Arm64InsSt3
toEnum 315 = Arm64InsSt4
toEnum 316 = Arm64InsStlrb
toEnum 317 = Arm64InsStlrh
toEnum 318 = Arm64InsStlr
toEnum 319 = Arm64InsStlxp
toEnum 320 = Arm64InsStlxrb
toEnum 321 = Arm64InsStlxrh
toEnum 322 = Arm64InsStlxr
toEnum 323 = Arm64InsStnp
toEnum 324 = Arm64InsStp
toEnum 325 = Arm64InsStrb
toEnum 326 = Arm64InsStr
toEnum 327 = Arm64InsStrh
toEnum 328 = Arm64InsSttrb
toEnum 329 = Arm64InsSttrh
toEnum 330 = Arm64InsSttr
toEnum 331 = Arm64InsSturb
toEnum 332 = Arm64InsStur
toEnum 333 = Arm64InsSturh
toEnum 334 = Arm64InsStxp
toEnum 335 = Arm64InsStxrb
toEnum 336 = Arm64InsStxrh
toEnum 337 = Arm64InsStxr
toEnum 338 = Arm64InsSubhn
toEnum 339 = Arm64InsSubhn2
toEnum 340 = Arm64InsSub
toEnum 341 = Arm64InsSuqadd
toEnum 342 = Arm64InsSvc
toEnum 343 = Arm64InsSysl
toEnum 344 = Arm64InsSys
toEnum 345 = Arm64InsTbl
toEnum 346 = Arm64InsTbnz
toEnum 347 = Arm64InsTbx
toEnum 348 = Arm64InsTbz
toEnum 349 = Arm64InsTrn1
toEnum 350 = Arm64InsTrn2
toEnum 351 = Arm64InsUabal2
toEnum 352 = Arm64InsUabal
toEnum 353 = Arm64InsUaba
toEnum 354 = Arm64InsUabdl2
toEnum 355 = Arm64InsUabdl
toEnum 356 = Arm64InsUabd
toEnum 357 = Arm64InsUadalp
toEnum 358 = Arm64InsUaddlp
toEnum 359 = Arm64InsUaddlv
toEnum 360 = Arm64InsUaddl2
toEnum 361 = Arm64InsUaddl
toEnum 362 = Arm64InsUaddw2
toEnum 363 = Arm64InsUaddw
toEnum 364 = Arm64InsUbfm
toEnum 365 = Arm64InsUcvtf
toEnum 366 = Arm64InsUdiv
toEnum 367 = Arm64InsUhadd
toEnum 368 = Arm64InsUhsub
toEnum 369 = Arm64InsUmaddl
toEnum 370 = Arm64InsUmaxp
toEnum 371 = Arm64InsUmaxv
toEnum 372 = Arm64InsUmax
toEnum 373 = Arm64InsUminp
toEnum 374 = Arm64InsUminv
toEnum 375 = Arm64InsUmin
toEnum 376 = Arm64InsUmlal2
toEnum 377 = Arm64InsUmlal
toEnum 378 = Arm64InsUmlsl2
toEnum 379 = Arm64InsUmlsl
toEnum 380 = Arm64InsUmov
toEnum 381 = Arm64InsUmsubl
toEnum 382 = Arm64InsUmulh
toEnum 383 = Arm64InsUmull2
toEnum 384 = Arm64InsUmull
toEnum 385 = Arm64InsUqadd
toEnum 386 = Arm64InsUqrshl
toEnum 387 = Arm64InsUqrshrn
toEnum 388 = Arm64InsUqrshrn2
toEnum 389 = Arm64InsUqshl
toEnum 390 = Arm64InsUqshrn
toEnum 391 = Arm64InsUqshrn2
toEnum 392 = Arm64InsUqsub
toEnum 393 = Arm64InsUqxtn2
toEnum 394 = Arm64InsUqxtn
toEnum 395 = Arm64InsUrecpe
toEnum 396 = Arm64InsUrhadd
toEnum 397 = Arm64InsUrshl
toEnum 398 = Arm64InsUrshr
toEnum 399 = Arm64InsUrsqrte
toEnum 400 = Arm64InsUrsra
toEnum 401 = Arm64InsUshll2
toEnum 402 = Arm64InsUshll
toEnum 403 = Arm64InsUshl
toEnum 404 = Arm64InsUshr
toEnum 405 = Arm64InsUsqadd
toEnum 406 = Arm64InsUsra
toEnum 407 = Arm64InsUsubl2
toEnum 408 = Arm64InsUsubl
toEnum 409 = Arm64InsUsubw2
toEnum 410 = Arm64InsUsubw
toEnum 411 = Arm64InsUzp1
toEnum 412 = Arm64InsUzp2
toEnum 413 = Arm64InsXtn2
toEnum 414 = Arm64InsXtn
toEnum 415 = Arm64InsZip1
toEnum 416 = Arm64InsZip2
toEnum 417 = Arm64InsMneg
toEnum 418 = Arm64InsUmnegl
toEnum 419 = Arm64InsSmnegl
toEnum 420 = Arm64InsNop
toEnum 421 = Arm64InsYield
toEnum 422 = Arm64InsWfe
toEnum 423 = Arm64InsWfi
toEnum 424 = Arm64InsSev
toEnum 425 = Arm64InsSevl
toEnum 426 = Arm64InsNgc
toEnum 427 = Arm64InsSbfiz
toEnum 428 = Arm64InsUbfiz
toEnum 429 = Arm64InsSbfx
toEnum 430 = Arm64InsUbfx
toEnum 431 = Arm64InsBfi
toEnum 432 = Arm64InsBfxil
toEnum 433 = Arm64InsCmn
toEnum 434 = Arm64InsMvn
toEnum 435 = Arm64InsTst
toEnum 436 = Arm64InsCset
toEnum 437 = Arm64InsCinc
toEnum 438 = Arm64InsCsetm
toEnum 439 = Arm64InsCinv
toEnum 440 = Arm64InsCneg
toEnum 441 = Arm64InsSxtb
toEnum 442 = Arm64InsSxth
toEnum 443 = Arm64InsSxtw
toEnum 444 = Arm64InsCmp
toEnum 445 = Arm64InsUxtb
toEnum 446 = Arm64InsUxth
toEnum 447 = Arm64InsUxtw
toEnum 448 = Arm64InsIc
toEnum 449 = Arm64InsDc
toEnum 450 = Arm64InsAt
toEnum 451 = Arm64InsTlbi
toEnum 452 = Arm64InsEnding
toEnum unmatched = error ("Arm64Insn.toEnum: Cannot match " ++ show unmatched)
data Arm64InsnGroup = Arm64GrpInvalid
| Arm64GrpJump
| Arm64GrpCall
| Arm64GrpRet
| Arm64GrpInt
| Arm64GrpPrivilege
| Arm64GrpCrypto
| Arm64GrpFparmv8
| Arm64GrpNeon
| Arm64GrpCrc
| Arm64GrpEnding
deriving (Show,Eq,Bounded)
instance Enum Arm64InsnGroup where
succ Arm64GrpInvalid = Arm64GrpJump
succ Arm64GrpJump = Arm64GrpCall
succ Arm64GrpCall = Arm64GrpRet
succ Arm64GrpRet = Arm64GrpInt
succ Arm64GrpInt = Arm64GrpPrivilege
succ Arm64GrpPrivilege = Arm64GrpCrypto
succ Arm64GrpCrypto = Arm64GrpFparmv8
succ Arm64GrpFparmv8 = Arm64GrpNeon
succ Arm64GrpNeon = Arm64GrpCrc
succ Arm64GrpCrc = Arm64GrpEnding
succ Arm64GrpEnding = error "Arm64InsnGroup.succ: Arm64GrpEnding has no successor"
pred Arm64GrpJump = Arm64GrpInvalid
pred Arm64GrpCall = Arm64GrpJump
pred Arm64GrpRet = Arm64GrpCall
pred Arm64GrpInt = Arm64GrpRet
pred Arm64GrpPrivilege = Arm64GrpInt
pred Arm64GrpCrypto = Arm64GrpPrivilege
pred Arm64GrpFparmv8 = Arm64GrpCrypto
pred Arm64GrpNeon = Arm64GrpFparmv8
pred Arm64GrpCrc = Arm64GrpNeon
pred Arm64GrpEnding = Arm64GrpCrc
pred Arm64GrpInvalid = error "Arm64InsnGroup.pred: Arm64GrpInvalid has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Arm64GrpEnding
fromEnum Arm64GrpInvalid = 0
fromEnum Arm64GrpJump = 1
fromEnum Arm64GrpCall = 2
fromEnum Arm64GrpRet = 3
fromEnum Arm64GrpInt = 4
fromEnum Arm64GrpPrivilege = 6
fromEnum Arm64GrpCrypto = 128
fromEnum Arm64GrpFparmv8 = 129
fromEnum Arm64GrpNeon = 130
fromEnum Arm64GrpCrc = 131
fromEnum Arm64GrpEnding = 132
toEnum 0 = Arm64GrpInvalid
toEnum 1 = Arm64GrpJump
toEnum 2 = Arm64GrpCall
toEnum 3 = Arm64GrpRet
toEnum 4 = Arm64GrpInt
toEnum 6 = Arm64GrpPrivilege
toEnum 128 = Arm64GrpCrypto
toEnum 129 = Arm64GrpFparmv8
toEnum 130 = Arm64GrpNeon
toEnum 131 = Arm64GrpCrc
toEnum 132 = Arm64GrpEnding
toEnum unmatched = error ("Arm64InsnGroup.toEnum: Cannot match " ++ show unmatched)