{-# LINE 1 "src/Hapstone/Internal/Sparc.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module Hapstone.Internal.Sparc where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Storable as C2HSImp
{-# LINE 25 "src/Hapstone/Internal/Sparc.chs" #-}
import Foreign
import Foreign.C.Types
data SparcCc = SparcCcInvalid
| SparcCcIccN
| SparcCcIccE
| SparcCcIccLe
| SparcCcIccL
| SparcCcIccLeu
| SparcCcIccCs
| SparcCcIccNeg
| SparcCcIccVs
| SparcCcIccA
| SparcCcIccNe
| SparcCcIccG
| SparcCcIccGe
| SparcCcIccGu
| SparcCcIccCc
| SparcCcIccPos
| SparcCcIccVc
| SparcCcFccN
| SparcCcFccNe
| SparcCcFccLg
| SparcCcFccUl
| SparcCcFccL
| SparcCcFccUg
| SparcCcFccG
| SparcCcFccU
| SparcCcFccA
| SparcCcFccE
| SparcCcFccUe
| SparcCcFccGe
| SparcCcFccUge
| SparcCcFccLe
| SparcCcFccUle
| SparcCcFccO
deriving (Int -> SparcCc -> ShowS
[SparcCc] -> ShowS
SparcCc -> String
(Int -> SparcCc -> ShowS)
-> (SparcCc -> String) -> ([SparcCc] -> ShowS) -> Show SparcCc
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SparcCc] -> ShowS
$cshowList :: [SparcCc] -> ShowS
show :: SparcCc -> String
$cshow :: SparcCc -> String
showsPrec :: Int -> SparcCc -> ShowS
$cshowsPrec :: Int -> SparcCc -> ShowS
Show,SparcCc -> SparcCc -> Bool
(SparcCc -> SparcCc -> Bool)
-> (SparcCc -> SparcCc -> Bool) -> Eq SparcCc
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SparcCc -> SparcCc -> Bool
$c/= :: SparcCc -> SparcCc -> Bool
== :: SparcCc -> SparcCc -> Bool
$c== :: SparcCc -> SparcCc -> Bool
Eq,SparcCc
SparcCc -> SparcCc -> Bounded SparcCc
forall a. a -> a -> Bounded a
maxBound :: SparcCc
$cmaxBound :: SparcCc
minBound :: SparcCc
$cminBound :: SparcCc
Bounded)
instance Enum SparcCc where
succ SparcCcInvalid = SparcCcIccN
succ SparcCcIccN = SparcCcIccE
succ SparcCcIccE = SparcCcIccLe
succ SparcCcIccLe = SparcCcIccL
succ SparcCcIccL = SparcCcIccLeu
succ SparcCcIccLeu = SparcCcIccCs
succ SparcCcIccCs = SparcCcIccNeg
succ SparcCcIccNeg = SparcCcIccVs
succ SparcCcIccVs = SparcCcIccA
succ SparcCcIccA = SparcCcIccNe
succ SparcCcIccNe = SparcCcIccG
succ SparcCcIccG = SparcCcIccGe
succ SparcCcIccGe = SparcCcIccGu
succ SparcCcIccGu = SparcCcIccCc
succ SparcCcIccCc = SparcCcIccPos
succ SparcCcIccPos = SparcCcIccVc
succ SparcCcIccVc = SparcCcFccN
succ SparcCcFccN = SparcCcFccNe
succ SparcCcFccNe = SparcCcFccLg
succ SparcCcFccLg = SparcCcFccUl
succ SparcCcFccUl = SparcCcFccL
succ SparcCcFccL = SparcCcFccUg
succ SparcCcFccUg = SparcCcFccG
succ SparcCcFccG = SparcCcFccU
succ SparcCcFccU = SparcCcFccA
succ SparcCcFccA = SparcCcFccE
succ SparcCcFccE = SparcCcFccUe
succ SparcCcFccUe = SparcCcFccGe
succ SparcCcFccGe = SparcCcFccUge
succ SparcCcFccUge = SparcCcFccLe
succ SparcCcFccLe = SparcCcFccUle
succ SparcCcFccUle = SparcCcFccO
succ SparcCcFccO = error "SparcCc.succ: SparcCcFccO has no successor"
pred :: SparcCc -> SparcCc
pred SparcCc
SparcCcIccN = SparcCc
SparcCcInvalid
pred SparcCc
SparcCcIccE = SparcCc
SparcCcIccN
pred SparcCc
SparcCcIccLe = SparcCc
SparcCcIccE
pred SparcCc
SparcCcIccL = SparcCc
SparcCcIccLe
pred SparcCc
SparcCcIccLeu = SparcCc
SparcCcIccL
pred SparcCc
SparcCcIccCs = SparcCc
SparcCcIccLeu
pred SparcCc
SparcCcIccNeg = SparcCc
SparcCcIccCs
pred SparcCc
SparcCcIccVs = SparcCc
SparcCcIccNeg
pred SparcCc
SparcCcIccA = SparcCc
SparcCcIccVs
pred SparcCc
SparcCcIccNe = SparcCc
SparcCcIccA
pred SparcCc
SparcCcIccG = SparcCc
SparcCcIccNe
pred SparcCcIccGe = SparcCc
SparcCcIccG
pred SparcCc
SparcCcIccGu = SparcCc
SparcCcIccGe
pred SparcCc
SparcCcIccCc = SparcCc
SparcCcIccGu
pred SparcCc
SparcCcIccPos = SparcCc
SparcCcIccCc
pred SparcCc
SparcCcIccVc = SparcCc
SparcCcIccPos
pred SparcCc
SparcCcFccN = SparcCc
SparcCcIccVc
pred SparcCc
SparcCcFccNe = SparcCc
SparcCcFccN
pred SparcCc
SparcCcFccLg = SparcCc
SparcCcFccNe
pred SparcCc
SparcCcFccUl = SparcCcFccLg
pred SparcCcFccL = SparcCcFccUl
pred SparcCcFccUg = SparcCcFccL
pred SparcCcFccG = SparcCcFccUg
pred SparcCcFccU = SparcCcFccG
pred SparcCcFccA = SparcCcFccU
pred SparcCcFccE = SparcCcFccA
pred SparcCcFccUe = SparcCcFccE
pred SparcCcFccGe = SparcCcFccUe
pred SparcCcFccUge = SparcCcFccGe
pred SparcCcFccLe = SparcCcFccUge
pred SparcCcFccUle = SparcCcFccLe
pred SparcCcFccO = SparcCcFccUle
pred SparcCcInvalid = error "SparcCc.pred: SparcCcInvalid 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 SparcCcFccO
fromEnum SparcCcInvalid = 0
fromEnum SparcCcIccN = 256
fromEnum SparcCcIccE = 257
fromEnum SparcCcIccLe = 258
fromEnum SparcCcIccL = 259
fromEnum SparcCcIccLeu = 260
fromEnum SparcCcIccCs = 261
fromEnum SparcCcIccNeg = 262
fromEnum SparcCcIccVs = 263
fromEnum SparcCcIccA = 264
fromEnum SparcCcIccNe = 265
fromEnum SparcCcIccG = 266
fromEnum SparcCcIccGe = 267
fromEnum SparcCcIccGu = 268
fromEnum SparcCcIccCc = 269
fromEnum SparcCcIccPos = 270
fromEnum SparcCcIccVc = 271
fromEnum SparcCcFccN = 272
fromEnum SparcCcFccNe = 273
fromEnum SparcCcFccLg = 274
fromEnum SparcCcFccUl = 275
fromEnum SparcCcFccL = 276
fromEnum SparcCcFccUg = 277
fromEnum SparcCcFccG = 278
fromEnum SparcCcFccU = 279
fromEnum SparcCcFccA = 280
fromEnum SparcCcFccE = 281
fromEnum SparcCcFccUe = 282
fromEnum SparcCcFccGe = 283
fromEnum SparcCcFccUge = 284
fromEnum SparcCcFccLe = 285
fromEnum SparcCcFccUle = 286
fromEnum SparcCcFccO = 287
toEnum 0 = SparcCcInvalid
toEnum 256 = SparcCcIccN
toEnum 257 = SparcCcIccE
toEnum 258 = SparcCcIccLe
toEnum 259 = SparcCcIccL
toEnum 260 = SparcCcIccLeu
toEnum 261 = SparcCcIccCs
toEnum 262 = SparcCcIccNeg
toEnum 263 = SparcCcIccVs
toEnum 264 = SparcCcIccA
toEnum 265 = SparcCcIccNe
toEnum 266 = SparcCcIccG
toEnum 267 = SparcCcIccGe
toEnum 268 = SparcCcIccGu
toEnum 269 = SparcCcIccCc
toEnum 270 = SparcCcIccPos
toEnum 271 = SparcCcIccVc
toEnum 272 = SparcCcFccN
toEnum 273 = SparcCcFccNe
toEnum 274 = SparcCcFccLg
toEnum 275 = SparcCcFccUl
toEnum 276 = SparcCcFccL
toEnum 277 = SparcCcFccUg
toEnum 278 = SparcCcFccG
toEnum 279 = SparcCcFccU
toEnum 280 = SparcCcFccA
toEnum 281 = SparcCcFccE
toEnum 282 = SparcCcFccUe
toEnum 283 = SparcCcFccGe
toEnum 284 = SparcCcFccUge
toEnum 285 = SparcCcFccLe
toEnum 286 = SparcCcFccUle
toEnum 287 = SparcCcFccO
toEnum unmatched = error ("SparcCc.toEnum: Cannot match " ++ show unmatched)
{-# LINE 32 "src/Hapstone/Internal/Sparc.chs" #-}
data SparcHint = SparcHintInvalid
| SparcHintA
| SparcHintPt
| SparcHintPn
deriving (Show,Eq,Bounded)
instance Enum SparcHint where
succ SparcHintInvalid = SparcHintA
succ SparcHintA = SparcHintPt
succ SparcHintPt = SparcHintPn
succ SparcHintPn = error "SparcHint.succ: SparcHintPn has no successor"
pred SparcHintA = SparcHintInvalid
pred SparcHintPt = SparcHintA
pred SparcHintPn = SparcHintPt
pred SparcHintInvalid = error "SparcHint.pred: SparcHintInvalid 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 SparcHintPn
fromEnum SparcHintInvalid = 0
fromEnum SparcHintA = 1
fromEnum SparcHintPt = 2
fromEnum SparcHintPn = 4
toEnum 0 = SparcHintInvalid
toEnum 1 = SparcHintA
toEnum 2 = SparcHintPt
toEnum 4 = SparcHintPn
toEnum unmatched = error ("SparcHint.toEnum: Cannot match " ++ show unmatched)
{-# LINE 35 "src/Hapstone/Internal/Sparc.chs" #-}
data SparcOpType = SparcOpInvalid
| SparcOpReg
| SparcOpImm
| SparcOpMem
deriving (Show,Eq,Bounded)
instance Enum SparcOpType where
succ SparcOpInvalid = SparcOpReg
succ SparcOpReg = SparcOpImm
succ SparcOpImm = SparcOpMem
succ SparcOpMem = error "SparcOpType.succ: SparcOpMem has no successor"
pred SparcOpReg = SparcOpInvalid
pred SparcOpImm = SparcOpReg
pred SparcOpMem = SparcOpImm
pred SparcOpInvalid = error "SparcOpType.pred: SparcOpInvalid 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 SparcOpMem
fromEnum SparcOpInvalid = 0
fromEnum SparcOpReg = 1
fromEnum SparcOpImm = 2
fromEnum SparcOpMem = 3
toEnum 0 = SparcOpInvalid
toEnum 1 = SparcOpReg
toEnum 2 = SparcOpImm
toEnum 3 = SparcOpMem
toEnum unmatched = error ("SparcOpType.toEnum: Cannot match " ++ show unmatched)
{-# LINE 39 "src/Hapstone/Internal/Sparc.chs" #-}
data SparcReg = SparcRegInvalid
| SparcRegF0
| SparcRegF1
| SparcRegF2
| SparcRegF3
| SparcRegF4
| SparcRegF5
| SparcRegF6
| SparcRegF7
| SparcRegF8
| SparcRegF9
| SparcRegF10
| SparcRegF11
| SparcRegF12
| SparcRegF13
| SparcRegF14
| SparcRegF15
| SparcRegF16
| SparcRegF17
| SparcRegF18
| SparcRegF19
| SparcRegF20
| SparcRegF21
| SparcRegF22
| SparcRegF23
| SparcRegF24
| SparcRegF25
| SparcRegF26
| SparcRegF27
| SparcRegF28
| SparcRegF29
| SparcRegF30
| SparcRegF31
| SparcRegF32
| SparcRegF34
| SparcRegF36
| SparcRegF38
| SparcRegF40
| SparcRegF42
| SparcRegF44
| SparcRegF46
| SparcRegF48
| SparcRegF50
| SparcRegF52
| SparcRegF54
| SparcRegF56
| SparcRegF58
| SparcRegF60
| SparcRegF62
| SparcRegFcc0
| SparcRegFcc1
| SparcRegFcc2
| SparcRegFcc3
| SparcRegFp
| SparcRegI6
| SparcRegG0
| SparcRegG1
| SparcRegG2
| SparcRegG3
| SparcRegG4
| SparcRegG5
| SparcRegG6
| SparcRegG7
| SparcRegI0
| SparcRegI1
| SparcRegI2
| SparcRegI3
| SparcRegI4
| SparcRegI5
| SparcRegI7
| SparcRegIcc
| SparcRegL0
| SparcRegL1
| SparcRegL2
| SparcRegL3
| SparcRegL4
| SparcRegL5
| SparcRegL6
| SparcRegL7
| SparcRegO0
| SparcRegO1
| SparcRegO2
| SparcRegO3
| SparcRegO4
| SparcRegO5
| SparcRegO7
| SparcRegSp
| SparcRegO6
| SparcRegY
| SparcRegXcc
| SparcRegEnding
deriving (Show,Eq,Bounded)
instance Enum SparcReg where
succ SparcRegInvalid = SparcRegF0
succ SparcRegF0 = SparcRegF1
succ SparcRegF1 = SparcRegF2
succ SparcRegF2 = SparcRegF3
succ SparcRegF3 = SparcRegF4
succ SparcRegF4 = SparcRegF5
succ SparcRegF5 = SparcRegF6
succ SparcRegF6 = SparcRegF7
succ SparcRegF7 = SparcRegF8
succ SparcRegF8 = SparcRegF9
succ SparcRegF9 = SparcRegF10
succ SparcRegF10 = SparcRegF11
succ SparcRegF11 = SparcRegF12
succ SparcRegF12 = SparcRegF13
succ SparcRegF13 = SparcRegF14
succ SparcRegF14 = SparcRegF15
succ SparcRegF15 = SparcRegF16
succ SparcRegF16 = SparcRegF17
succ SparcRegF17 = SparcRegF18
succ SparcRegF18 = SparcRegF19
succ SparcRegF19 = SparcRegF20
succ SparcRegF20 = SparcRegF21
succ SparcRegF21 = SparcRegF22
succ SparcRegF22 = SparcRegF23
succ SparcRegF23 = SparcRegF24
succ SparcRegF24 = SparcRegF25
succ SparcRegF25 = SparcRegF26
succ SparcRegF26 = SparcRegF27
succ SparcRegF27 = SparcRegF28
succ SparcRegF28 = SparcRegF29
succ SparcRegF29 = SparcRegF30
succ SparcRegF30 = SparcRegF31
succ SparcRegF31 = SparcRegF32
succ SparcRegF32 = SparcRegF34
succ SparcRegF34 = SparcRegF36
succ SparcRegF36 = SparcRegF38
succ SparcRegF38 = SparcRegF40
succ SparcRegF40 = SparcRegF42
succ SparcRegF42 = SparcRegF44
succ SparcRegF44 = SparcRegF46
succ SparcRegF46 = SparcRegF48
succ SparcRegF48 = SparcRegF50
succ SparcRegF50 = SparcRegF52
succ SparcRegF52 = SparcRegF54
succ SparcRegF54 = SparcRegF56
succ SparcRegF56 = SparcRegF58
succ SparcRegF58 = SparcRegF60
succ SparcRegF60 = SparcRegF62
succ SparcRegF62 = SparcRegFcc0
succ SparcRegFcc0 = SparcRegFcc1
succ SparcRegFcc1 = SparcRegFcc2
succ SparcRegFcc2 = SparcRegFcc3
succ SparcRegFcc3 = SparcRegFp
succ SparcRegFp = SparcRegG0
succ SparcRegI6 = SparcRegG0
succ SparcRegG0 = SparcRegG1
succ SparcRegG1 = SparcRegG2
succ SparcRegG2 = SparcRegG3
succ SparcRegG3 = SparcRegG4
succ SparcRegG4 = SparcRegG5
succ SparcRegG5 = SparcRegG6
succ SparcRegG6 = SparcRegG7
succ SparcRegG7 = SparcRegI0
succ SparcRegI0 = SparcRegI1
succ SparcRegI1 = SparcRegI2
succ SparcRegI2 = SparcRegI3
succ SparcRegI3 = SparcRegI4
succ SparcRegI4 = SparcRegI5
succ SparcRegI5 = SparcRegI7
succ SparcRegI7 = SparcRegIcc
succ SparcRegIcc = SparcRegL0
succ SparcRegL0 = SparcRegL1
succ SparcRegL1 = SparcRegL2
succ SparcRegL2 = SparcRegL3
succ SparcRegL3 = SparcRegL4
succ SparcRegL4 = SparcRegL5
succ SparcRegL5 = SparcRegL6
succ SparcRegL6 = SparcRegL7
succ SparcRegL7 = SparcRegO0
succ SparcRegO0 = SparcRegO1
succ SparcRegO1 = SparcRegO2
succ SparcRegO2 = SparcRegO3
succ SparcRegO3 = SparcRegO4
succ SparcRegO4 = SparcRegO5
succ SparcRegO5 = SparcRegO7
succ SparcRegO7 = SparcRegSp
succ SparcRegSp = SparcRegY
succ SparcRegO6 = SparcRegY
succ SparcRegY = SparcRegXcc
succ SparcRegXcc = SparcRegEnding
succ SparcRegEnding = error "SparcReg.succ: SparcRegEnding has no successor"
pred SparcRegF0 = SparcRegInvalid
pred SparcRegF1 = SparcRegF0
pred SparcRegF2 = SparcRegF1
pred SparcRegF3 = SparcRegF2
pred SparcRegF4 = SparcRegF3
pred SparcRegF5 = SparcRegF4
pred SparcRegF6 = SparcRegF5
pred SparcRegF7 = SparcRegF6
pred SparcRegF8 = SparcRegF7
pred SparcRegF9 = SparcRegF8
pred SparcRegF10 = SparcRegF9
pred SparcRegF11 = SparcRegF10
pred SparcRegF12 = SparcRegF11
pred SparcRegF13 = SparcRegF12
pred SparcRegF14 = SparcRegF13
pred SparcRegF15 = SparcRegF14
pred SparcRegF16 = SparcRegF15
pred SparcRegF17 = SparcRegF16
pred SparcRegF18 = SparcRegF17
pred SparcRegF19 = SparcRegF18
pred SparcRegF20 = SparcRegF19
pred SparcRegF21 = SparcRegF20
pred SparcRegF22 = SparcRegF21
pred SparcRegF23 = SparcRegF22
pred SparcRegF24 = SparcRegF23
pred SparcRegF25 = SparcRegF24
pred SparcRegF26 = SparcRegF25
pred SparcRegF27 = SparcRegF26
pred SparcRegF28 = SparcRegF27
pred SparcRegF29 = SparcRegF28
pred SparcRegF30 = SparcRegF29
pred SparcRegF31 = SparcRegF30
pred SparcRegF32 = SparcRegF31
pred SparcRegF34 = SparcRegF32
pred SparcRegF36 = SparcRegF34
pred SparcRegF38 = SparcRegF36
pred SparcRegF40 = SparcRegF38
pred SparcRegF42 = SparcRegF40
pred SparcRegF44 = SparcRegF42
pred SparcRegF46 = SparcRegF44
pred SparcRegF48 = SparcRegF46
pred SparcRegF50 = SparcRegF48
pred SparcRegF52 = SparcRegF50
pred SparcRegF54 = SparcRegF52
pred SparcRegF56 = SparcRegF54
pred SparcRegF58 = SparcRegF56
pred SparcRegF60 = SparcRegF58
pred SparcRegF62 = SparcRegF60
pred SparcRegFcc0 = SparcRegF62
pred SparcRegFcc1 = SparcRegFcc0
pred SparcRegFcc2 = SparcRegFcc1
pred SparcRegFcc3 = SparcRegFcc2
pred SparcRegFp = SparcRegFcc3
pred SparcRegI6 = SparcRegFcc3
pred SparcRegG0 = SparcRegFp
pred SparcRegG1 = SparcRegG0
pred SparcRegG2 = SparcRegG1
pred SparcRegG3 = SparcRegG2
pred SparcRegG4 = SparcRegG3
pred SparcRegG5 = SparcRegG4
pred SparcRegG6 = SparcRegG5
pred SparcRegG7 = SparcRegG6
pred SparcRegI0 = SparcRegG7
pred SparcRegI1 = SparcRegI0
pred SparcRegI2 = SparcRegI1
pred SparcRegI3 = SparcRegI2
pred SparcRegI4 = SparcRegI3
pred SparcRegI5 = SparcRegI4
pred SparcRegI7 = SparcRegI5
pred SparcRegIcc = SparcRegI7
pred SparcRegL0 = SparcRegIcc
pred SparcRegL1 = SparcRegL0
pred SparcRegL2 = SparcRegL1
pred SparcRegL3 = SparcRegL2
pred SparcRegL4 = SparcRegL3
pred SparcRegL5 = SparcRegL4
pred SparcRegL6 = SparcRegL5
pred SparcRegL7 = SparcRegL6
pred SparcRegO0 = SparcRegL7
pred SparcRegO1 = SparcRegO0
pred SparcRegO2 = SparcRegO1
pred SparcRegO3 = SparcRegO2
pred SparcRegO4 = SparcRegO3
pred SparcRegO5 = SparcRegO4
pred SparcRegO7 = SparcRegO5
pred SparcRegSp = SparcRegO7
pred SparcRegO6 = SparcRegO7
pred SparcRegY = SparcRegSp
pred SparcRegXcc = SparcRegY
pred SparcRegEnding = SparcRegXcc
pred SparcRegInvalid = error "SparcReg.pred: SparcRegInvalid 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 SparcRegEnding
fromEnum SparcRegInvalid = 0
fromEnum SparcRegF0 = 1
fromEnum SparcRegF1 = 2
fromEnum SparcRegF2 = 3
fromEnum SparcRegF3 = 4
fromEnum SparcRegF4 = 5
fromEnum SparcRegF5 = 6
fromEnum SparcRegF6 = 7
fromEnum SparcRegF7 = 8
fromEnum SparcRegF8 = 9
fromEnum SparcRegF9 = 10
fromEnum SparcRegF10 = 11
fromEnum SparcRegF11 = 12
fromEnum SparcRegF12 = 13
fromEnum SparcRegF13 = 14
fromEnum SparcRegF14 = 15
fromEnum SparcRegF15 = 16
fromEnum SparcRegF16 = 17
fromEnum SparcRegF17 = 18
fromEnum SparcRegF18 = 19
fromEnum SparcRegF19 = 20
fromEnum SparcRegF20 = 21
fromEnum SparcRegF21 = 22
fromEnum SparcRegF22 = 23
fromEnum SparcRegF23 = 24
fromEnum SparcRegF24 = 25
fromEnum SparcRegF25 = 26
fromEnum SparcRegF26 = 27
fromEnum SparcRegF27 = 28
fromEnum SparcRegF28 = 29
fromEnum SparcRegF29 = 30
fromEnum SparcRegF30 = 31
fromEnum SparcRegF31 = 32
fromEnum SparcRegF32 = 33
fromEnum SparcRegF34 = 34
fromEnum SparcRegF36 = 35
fromEnum SparcRegF38 = 36
fromEnum SparcRegF40 = 37
fromEnum SparcRegF42 = 38
fromEnum SparcRegF44 = 39
fromEnum SparcRegF46 = 40
fromEnum SparcRegF48 = 41
fromEnum SparcRegF50 = 42
fromEnum SparcRegF52 = 43
fromEnum SparcRegF54 = 44
fromEnum SparcRegF56 = 45
fromEnum SparcRegF58 = 46
fromEnum SparcRegF60 = 47
fromEnum SparcRegF62 = 48
fromEnum SparcRegFcc0 = 49
fromEnum SparcRegFcc1 = 50
fromEnum SparcRegFcc2 = 51
fromEnum SparcRegFcc3 = 52
fromEnum SparcRegFp = 53
fromEnum SparcRegI6 = 53
fromEnum SparcRegG0 = 54
fromEnum SparcRegG1 = 55
fromEnum SparcRegG2 = 56
fromEnum SparcRegG3 = 57
fromEnum SparcRegG4 = 58
fromEnum SparcRegG5 = 59
fromEnum SparcRegG6 = 60
fromEnum SparcRegG7 = 61
fromEnum SparcRegI0 = 62
fromEnum SparcRegI1 = 63
fromEnum SparcRegI2 = 64
fromEnum SparcRegI3 = 65
fromEnum SparcRegI4 = 66
fromEnum SparcRegI5 = 67
fromEnum SparcRegI7 = 68
fromEnum SparcRegIcc = 69
fromEnum SparcRegL0 = 70
fromEnum SparcRegL1 = 71
fromEnum SparcRegL2 = 72
fromEnum SparcRegL3 = 73
fromEnum SparcRegL4 = 74
fromEnum SparcRegL5 = 75
fromEnum SparcRegL6 = 76
fromEnum SparcRegL7 = 77
fromEnum SparcRegO0 = 78
fromEnum SparcRegO1 = 79
fromEnum SparcRegO2 = 80
fromEnum SparcRegO3 = 81
fromEnum SparcRegO4 = 82
fromEnum SparcRegO5 = 83
fromEnum SparcRegO7 = 84
fromEnum SparcRegSp = 85
fromEnum SparcRegO6 = 85
fromEnum SparcRegY = 86
fromEnum SparcRegXcc = 87
fromEnum SparcRegEnding = 88
toEnum :: Int -> SparcReg
toEnum Int
0 = SparcReg
SparcRegInvalid
toEnum 1 = SparcReg
SparcRegF0
toEnum 2 = SparcReg
SparcRegF1
toEnum 3 = SparcReg
SparcRegF2
toEnum 4 = SparcReg
SparcRegF3
toEnum 5 = SparcReg
SparcRegF4
toEnum 6 = SparcReg
SparcRegF5
toEnum 7 = SparcReg
SparcRegF6
toEnum 8 = SparcReg
SparcRegF7
toEnum 9 = SparcReg
SparcRegF8
toEnum 10 = SparcReg
SparcRegF9
toEnum 11 = SparcReg
SparcRegF10
toEnum 12 = SparcReg
SparcRegF11
toEnum 13 = SparcReg
SparcRegF12
toEnum 14 = SparcReg
SparcRegF13
toEnum 15 = SparcReg
SparcRegF14
toEnum 16 = SparcReg
SparcRegF15
toEnum 17 = SparcReg
SparcRegF16
toEnum 18 = SparcReg
SparcRegF17
toEnum 19 = SparcReg
SparcRegF18
toEnum 20 = SparcReg
SparcRegF19
toEnum 21 = SparcReg
SparcRegF20
toEnum 22 = SparcReg
SparcRegF21
toEnum 23 = SparcReg
SparcRegF22
toEnum 24 = SparcReg
SparcRegF23
toEnum 25 = SparcReg
SparcRegF24
toEnum 26 = SparcReg
SparcRegF25
toEnum 27 = SparcRegF26
toEnum 28 = SparcRegF27
toEnum 29 = SparcRegF28
toEnum 30 = SparcRegF29
toEnum 31 = SparcRegF30
toEnum 32 = SparcRegF31
toEnum 33 = SparcRegF32
toEnum 34 = SparcRegF34
toEnum 35 = SparcRegF36
toEnum 36 = SparcRegF38
toEnum 37 = SparcRegF40
toEnum 38 = SparcRegF42
toEnum 39 = SparcRegF44
toEnum 40 = SparcRegF46
toEnum 41 = SparcRegF48
toEnum 42 = SparcRegF50
toEnum 43 = SparcRegF52
toEnum 44 = SparcRegF54
toEnum 45 = SparcRegF56
toEnum 46 = SparcRegF58
toEnum 47 = SparcRegF60
toEnum 48 = SparcRegF62
toEnum 49 = SparcRegFcc0
toEnum 50 = SparcRegFcc1
toEnum 51 = SparcRegFcc2
toEnum 52 = SparcRegFcc3
toEnum 53 = SparcRegFp
toEnum 54 = SparcRegG0
toEnum 55 = SparcRegG1
toEnum 56 = SparcRegG2
toEnum 57 = SparcRegG3
toEnum 58 = SparcRegG4
toEnum 59 = SparcRegG5
toEnum 60 = SparcRegG6
toEnum 61 = SparcRegG7
toEnum 62 = SparcRegI0
toEnum 63 = SparcRegI1
toEnum 64 = SparcRegI2
toEnum 65 = SparcRegI3
toEnum 66 = SparcRegI4
toEnum 67 = SparcRegI5
toEnum 68 = SparcRegI7
toEnum 69 = SparcRegIcc
toEnum 70 = SparcRegL0
toEnum 71 = SparcRegL1
toEnum 72 = SparcRegL2
toEnum 73 = SparcRegL3
toEnum 74 = SparcRegL4
toEnum 75 = SparcRegL5
toEnum 76 = SparcRegL6
toEnum 77 = SparcRegL7
toEnum 78 = SparcRegO0
toEnum 79 = SparcRegO1
toEnum 80 = SparcRegO2
toEnum 81 = SparcRegO3
toEnum 82 = SparcRegO4
toEnum 83 = SparcRegO5
toEnum 84 = SparcRegO7
toEnum 85 = SparcRegSp
toEnum 86 = SparcRegY
toEnum 87 = SparcRegXcc
toEnum 88 = SparcRegEnding
toEnum unmatched = error ("SparcReg.toEnum: Cannot match " ++ show unmatched)
{-# LINE 43 "src/Hapstone/Internal/Sparc.chs" #-}
data SparcOpMemStruct = SparcOpMemStruct
{ base :: Word8
, index :: Word8
, disp :: Int32
} deriving (Show, Eq)
instance Storable SparcOpMemStruct where
sizeOf _ = 8
{-# LINE 54 "src/Hapstone/Internal/Sparc.chs" #-}
alignment _ = 4
{-# LINE 55 "src/Hapstone/Internal/Sparc.chs" #-}
peek p = SparcOpMemStruct
<$> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CUChar}) p)
<*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 1 :: IO C2HSImp.CUChar}) p)
<*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 4 :: IO C2HSImp.CInt}) p)
poke p (SparcOpMemStruct b i d) = do
(\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CUChar)}) p (fromIntegral b)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 1 (val :: C2HSImp.CUChar)}) p (fromIntegral i)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 4 (val :: C2HSImp.CInt)}) p (fromIntegral d)
data CsSparcOp
= Reg Word32
| Imm Int32
| Mem SparcOpMemStruct
| Undefined
deriving (Show, Eq)
instance Storable CsSparcOp where
sizeOf _ = 12
alignment _ = 4
peek p = do
t <- fromIntegral <$> ((\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p :: IO CInt)
let bP = plusPtr p 4
case toEnum t of
SparcOpReg -> Reg <$> peek bP
SparcOpImm -> Imm <$> peek bP
SparcOpMem -> Mem <$> peek bP
_ -> return Undefined
poke p op = do
let bP = plusPtr p 4
setType = (\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p . fromIntegral . fromEnum
case op of
Reg r -> do
poke bP (fromIntegral $ fromEnum r :: CInt)
setType SparcOpReg
Imm i -> do
poke bP i
setType SparcOpImm
Mem m -> do
poke bP m
setType SparcOpMem
_ -> setType SparcOpInvalid
data CsSparc = CsSparc
{ cc :: SparcCc
, hint :: SparcHint
, operands :: [CsSparcOp]
} deriving (Show, Eq)
instance Storable CsSparc where
sizeOf _ = 60
alignment _ = 4
peek p = CsSparc
<$> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p)
<*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 4 :: IO C2HSImp.CInt}) p)
<*> do num <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 8 :: IO C2HSImp.CUChar}) p
let ptr = plusPtr p (16)
{-# LINE 116 "src/Hapstone/Internal/Sparc.chs" #-}
peekArray num ptr
poke p (CsSparc cc h o) = do
(\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum cc)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 4 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum h)
(\ptr val -> do {C2HSImp.pokeByteOff ptr 8 (val :: C2HSImp.CUChar)}) p (fromIntegral $ length o)
if length o > 4
then error "operands overflew 4 elements"
else pokeArray (plusPtr p (16)) o
data SparcInsn = SparcInsInvalid
| SparcInsAddcc
| SparcInsAddx
| SparcInsAddxcc
| SparcInsAddxc
| SparcInsAddxccc
| SparcInsAdd
| SparcInsAlignaddr
| SparcInsAlignaddrl
| SparcInsAndcc
| SparcInsAndncc
| SparcInsAndn
| SparcInsAnd
| SparcInsArray16
| SparcInsArray32
| SparcInsArray8
| SparcInsB
| SparcInsJmp
| SparcInsBmask
| SparcInsFb
| SparcInsBrgez
| SparcInsBrgz
| SparcInsBrlez
| SparcInsBrlz
| SparcInsBrnz
| SparcInsBrz
| SparcInsBshuffle
| SparcInsCall
| SparcInsCasx
| SparcInsCas
| SparcInsCmask16
| SparcInsCmask32
| SparcInsCmask8
| SparcInsCmp
| SparcInsEdge16
| SparcInsEdge16l
| SparcInsEdge16ln
| SparcInsEdge16n
| SparcInsEdge32
| SparcInsEdge32l
| SparcInsEdge32ln
| SparcInsEdge32n
| SparcInsEdge8
| SparcInsEdge8l
| SparcInsEdge8ln
| SparcInsEdge8n
| SparcInsFabsd
| SparcInsFabsq
| SparcInsFabss
| SparcInsFaddd
| SparcInsFaddq
| SparcInsFadds
| SparcInsFaligndata
| SparcInsFand
| SparcInsFandnot1
| SparcInsFandnot1s
| SparcInsFandnot2
| SparcInsFandnot2s
| SparcInsFands
| SparcInsFchksm16
| SparcInsFcmpd
| SparcInsFcmpeq16
| SparcInsFcmpeq32
| SparcInsFcmpgt16
| SparcInsFcmpgt32
| SparcInsFcmple16
| SparcInsFcmple32
| SparcInsFcmpne16
| SparcInsFcmpne32
| SparcInsFcmpq
| SparcInsFcmps
| SparcInsFdivd
| SparcInsFdivq
| SparcInsFdivs
| SparcInsFdmulq
| SparcInsFdtoi
| SparcInsFdtoq
| SparcInsFdtos
| SparcInsFdtox
| SparcInsFexpand
| SparcInsFhaddd
| SparcInsFhadds
| SparcInsFhsubd
| SparcInsFhsubs
| SparcInsFitod
| SparcInsFitoq
| SparcInsFitos
| SparcInsFlcmpd
| SparcInsFlcmps
| SparcInsFlushw
| SparcInsFmean16
| SparcInsFmovd
| SparcInsFmovq
| SparcInsFmovrdgez
| SparcInsFmovrqgez
| SparcInsFmovrsgez
| SparcInsFmovrdgz
| SparcInsFmovrqgz
| SparcInsFmovrsgz
| SparcInsFmovrdlez
| SparcInsFmovrqlez
| SparcInsFmovrslez
| SparcInsFmovrdlz
| SparcInsFmovrqlz
| SparcInsFmovrslz
| SparcInsFmovrdnz
| SparcInsFmovrqnz
| SparcInsFmovrsnz
| SparcInsFmovrdz
| SparcInsFmovrqz
| SparcInsFmovrsz
| SparcInsFmovs
| SparcInsFmul8sux16
| SparcInsFmul8ulx16
| SparcInsFmul8x16
| SparcInsFmul8x16al
| SparcInsFmul8x16au
| SparcInsFmuld
| SparcInsFmuld8sux16
| SparcInsFmuld8ulx16
| SparcInsFmulq
| SparcInsFmuls
| SparcInsFnaddd
| SparcInsFnadds
| SparcInsFnand
| SparcInsFnands
| SparcInsFnegd
| SparcInsFnegq
| SparcInsFnegs
| SparcInsFnhaddd
| SparcInsFnhadds
| SparcInsFnor
| SparcInsFnors
| SparcInsFnot1
| SparcInsFnot1s
| SparcInsFnot2
| SparcInsFnot2s
| SparcInsFone
| SparcInsFones
| SparcInsFor
| SparcInsFornot1
| SparcInsFornot1s
| SparcInsFornot2
| SparcInsFornot2s
| SparcInsFors
| SparcInsFpack16
| SparcInsFpack32
| SparcInsFpackfix
| SparcInsFpadd16
| SparcInsFpadd16s
| SparcInsFpadd32
| SparcInsFpadd32s
| SparcInsFpadd64
| SparcInsFpmerge
| SparcInsFpsub16
| SparcInsFpsub16s
| SparcInsFpsub32
| SparcInsFpsub32s
| SparcInsFqtod
| SparcInsFqtoi
| SparcInsFqtos
| SparcInsFqtox
| SparcInsFslas16
| SparcInsFslas32
| SparcInsFsll16
| SparcInsFsll32
| SparcInsFsmuld
| SparcInsFsqrtd
| SparcInsFsqrtq
| SparcInsFsqrts
| SparcInsFsra16
| SparcInsFsra32
| SparcInsFsrc1
| SparcInsFsrc1s
| SparcInsFsrc2
| SparcInsFsrc2s
| SparcInsFsrl16
| SparcInsFsrl32
| SparcInsFstod
| SparcInsFstoi
| SparcInsFstoq
| SparcInsFstox
| SparcInsFsubd
| SparcInsFsubq
| SparcInsFsubs
| SparcInsFxnor
| SparcInsFxnors
| SparcInsFxor
| SparcInsFxors
| SparcInsFxtod
| SparcInsFxtoq
| SparcInsFxtos
| SparcInsFzero
| SparcInsFzeros
| SparcInsJmpl
| SparcInsLdd
| SparcInsLd
| SparcInsLdq
| SparcInsLdsb
| SparcInsLdsh
| SparcInsLdsw
| SparcInsLdub
| SparcInsLduh
| SparcInsLdx
| SparcInsLzcnt
| SparcInsMembar
| SparcInsMovdtox
| SparcInsMov
| SparcInsMovrgez
| SparcInsMovrgz
| SparcInsMovrlez
| SparcInsMovrlz
| SparcInsMovrnz
| SparcInsMovrz
| SparcInsMovstosw
| SparcInsMovstouw
| SparcInsMulx
| SparcInsNop
| SparcInsOrcc
| SparcInsOrncc
| SparcInsOrn
| SparcInsOr
| SparcInsPdist
| SparcInsPdistn
| SparcInsPopc
| SparcInsRd
| SparcInsRestore
| SparcInsRett
| SparcInsSave
| SparcInsSdivcc
| SparcInsSdivx
| SparcInsSdiv
| SparcInsSethi
| SparcInsShutdown
| SparcInsSiam
| SparcInsSllx
| SparcInsSll
| SparcInsSmulcc
| SparcInsSmul
| SparcInsSrax
| SparcInsSra
| SparcInsSrlx
| SparcInsSrl
| SparcInsStbar
| SparcInsStb
| SparcInsStd
| SparcInsSt
| SparcInsSth
| SparcInsStq
| SparcInsStx
| SparcInsSubcc
| SparcInsSubx
| SparcInsSubxcc
| SparcInsSub
| SparcInsSwap
| SparcInsTaddcctv
| SparcInsTaddcc
| SparcInsT
| SparcInsTsubcctv
| SparcInsTsubcc
| SparcInsUdivcc
| SparcInsUdivx
| SparcInsUdiv
| SparcInsUmulcc
| SparcInsUmulxhi
| SparcInsUmul
| SparcInsUnimp
| SparcInsFcmped
| SparcInsFcmpeq
| SparcInsFcmpes
| SparcInsWr
| SparcInsXmulx
| SparcInsXmulxhi
| SparcInsXnorcc
| SparcInsXnor
| SparcInsXorcc
| SparcInsXor
| SparcInsRet
| SparcInsRetl
| SparcInsEnding
deriving (Show,Eq,Bounded)
instance Enum SparcInsn where
succ SparcInsInvalid = SparcInsAddcc
succ SparcInsAddcc = SparcInsAddx
succ SparcInsAddx = SparcInsAddxcc
succ SparcInsAddxcc = SparcInsAddxc
succ SparcInsAddxc = SparcInsAddxccc
succ SparcInsAddxccc = SparcInsAdd
succ SparcInsAdd = SparcInsAlignaddr
succ SparcInsAlignaddr = SparcInsAlignaddrl
succ SparcInsAlignaddrl = SparcInsAndcc
succ SparcInsAndcc = SparcInsAndncc
succ SparcInsAndncc = SparcInsAndn
succ SparcInsAndn = SparcInsAnd
succ SparcInsAnd = SparcInsArray16
succ SparcInsArray16 = SparcInsArray32
succ SparcInsArray32 = SparcInsArray8
succ SparcInsArray8 = SparcInsB
succ SparcInsB = SparcInsJmp
succ SparcInsJmp = SparcInsBmask
succ SparcInsBmask = SparcInsFb
succ SparcInsFb = SparcInsBrgez
succ SparcInsBrgez = SparcInsBrgz
succ SparcInsBrgz = SparcInsBrlez
succ SparcInsBrlez = SparcInsBrlz
succ SparcInsBrlz = SparcInsBrnz
succ SparcInsBrnz = SparcInsBrz
succ SparcInsBrz = SparcInsBshuffle
succ SparcInsBshuffle = SparcInsCall
succ SparcInsCall = SparcInsCasx
succ SparcInsCasx = SparcInsCas
succ SparcInsCas = SparcInsCmask16
succ SparcInsCmask16 = SparcInsCmask32
succ SparcInsCmask32 = SparcInsCmask8
succ SparcInsCmask8 = SparcInsCmp
succ SparcInsCmp = SparcInsEdge16
succ SparcInsEdge16 = SparcInsEdge16l
succ SparcInsEdge16l = SparcInsEdge16ln
succ SparcInsEdge16ln = SparcInsEdge16n
succ SparcInsEdge16n = SparcInsEdge32
succ SparcInsEdge32 = SparcInsEdge32l
succ SparcInsEdge32l = SparcInsEdge32ln
succ SparcInsEdge32ln = SparcInsEdge32n
succ SparcInsEdge32n = SparcInsEdge8
succ SparcInsEdge8 = SparcInsEdge8l
succ SparcInsEdge8l = SparcInsEdge8ln
succ SparcInsEdge8ln = SparcInsEdge8n
succ SparcInsEdge8n = SparcInsFabsd
succ SparcInsFabsd = SparcInsFabsq
succ SparcInsFabsq = SparcInsFabss
succ SparcInsFabss = SparcInsFaddd
succ SparcInsFaddd = SparcInsFaddq
succ SparcInsFaddq = SparcInsFadds
succ SparcInsFadds = SparcInsFaligndata
succ SparcInsFaligndata = SparcInsFand
succ SparcInsFand = SparcInsFandnot1
succ SparcInsFandnot1 = SparcInsFandnot1s
succ SparcInsFandnot1s = SparcInsFandnot2
succ SparcInsFandnot2 = SparcInsFandnot2s
succ SparcInsFandnot2s = SparcInsFands
succ SparcInsFands = SparcInsFchksm16
succ SparcInsFchksm16 = SparcInsFcmpd
succ SparcInsFcmpd = SparcInsFcmpeq16
succ SparcInsFcmpeq16 = SparcInsFcmpeq32
succ SparcInsFcmpeq32 = SparcInsFcmpgt16
succ SparcInsFcmpgt16 = SparcInsFcmpgt32
succ SparcInsFcmpgt32 = SparcInsFcmple16
succ SparcInsFcmple16 = SparcInsFcmple32
succ SparcInsFcmple32 = SparcInsFcmpne16
succ SparcInsFcmpne16 = SparcInsFcmpne32
succ SparcInsFcmpne32 = SparcInsFcmpq
succ SparcInsFcmpq = SparcInsFcmps
succ SparcInsFcmps = SparcInsFdivd
succ SparcInsFdivd = SparcInsFdivq
succ SparcInsFdivq = SparcInsFdivs
succ SparcInsFdivs = SparcInsFdmulq
succ SparcInsFdmulq = SparcInsFdtoi
succ SparcInsFdtoi = SparcInsFdtoq
succ SparcInsFdtoq = SparcInsFdtos
succ SparcInsFdtos = SparcInsFdtox
succ SparcInsFdtox = SparcInsFexpand
succ SparcInsFexpand = SparcInsFhaddd
succ SparcInsFhaddd = SparcInsFhadds
succ SparcInsFhadds = SparcInsFhsubd
succ SparcInsFhsubd = SparcInsFhsubs
succ SparcInsFhsubs = SparcInsFitod
succ SparcInsFitod = SparcInsFitoq
succ SparcInsFitoq = SparcInsFitos
succ SparcInsFitos = SparcInsFlcmpd
succ SparcInsFlcmpd = SparcInsFlcmps
succ SparcInsFlcmps = SparcInsFlushw
succ SparcInsFlushw = SparcInsFmean16
succ SparcInsFmean16 = SparcInsFmovd
succ SparcInsFmovd = SparcInsFmovq
succ SparcInsFmovq = SparcInsFmovrdgez
succ SparcInsFmovrdgez = SparcInsFmovrqgez
succ SparcInsFmovrqgez = SparcInsFmovrsgez
succ SparcInsFmovrsgez = SparcInsFmovrdgz
succ SparcInsFmovrdgz = SparcInsFmovrqgz
succ SparcInsFmovrqgz = SparcInsFmovrsgz
succ SparcInsFmovrsgz = SparcInsFmovrdlez
succ SparcInsFmovrdlez = SparcInsFmovrqlez
succ SparcInsFmovrqlez = SparcInsFmovrslez
succ SparcInsFmovrslez = SparcInsFmovrdlz
succ SparcInsFmovrdlz = SparcInsFmovrqlz
succ SparcInsFmovrqlz = SparcInsFmovrslz
succ SparcInsFmovrslz = SparcInsFmovrdnz
succ SparcInsFmovrdnz = SparcInsFmovrqnz
succ SparcInsFmovrqnz = SparcInsFmovrsnz
succ SparcInsFmovrsnz = SparcInsFmovrdz
succ SparcInsFmovrdz = SparcInsFmovrqz
succ SparcInsFmovrqz = SparcInsFmovrsz
succ SparcInsFmovrsz = SparcInsFmovs
succ SparcInsFmovs = SparcInsFmul8sux16
succ SparcInsFmul8sux16 = SparcInsFmul8ulx16
succ SparcInsFmul8ulx16 = SparcInsFmul8x16
succ SparcInsFmul8x16 = SparcInsFmul8x16al
succ SparcInsFmul8x16al = SparcInsFmul8x16au
succ SparcInsFmul8x16au = SparcInsFmuld
succ SparcInsFmuld = SparcInsFmuld8sux16
succ SparcInsFmuld8sux16 = SparcInsFmuld8ulx16
succ SparcInsFmuld8ulx16 = SparcInsFmulq
succ SparcInsFmulq = SparcInsFmuls
succ SparcInsFmuls = SparcInsFnaddd
succ SparcInsFnaddd = SparcInsFnadds
succ SparcInsFnadds = SparcInsFnand
succ SparcInsFnand = SparcInsFnands
succ SparcInsFnands = SparcInsFnegd
succ SparcInsFnegd = SparcInsFnegq
succ SparcInsFnegq = SparcInsFnegs
succ SparcInsFnegs = SparcInsFnhaddd
succ SparcInsFnhaddd = SparcInsFnhadds
succ SparcInsFnhadds = SparcInsFnor
succ SparcInsFnor = SparcInsFnors
succ SparcInsFnors = SparcInsFnot1
succ SparcInsFnot1 = SparcInsFnot1s
succ SparcInsFnot1s = SparcInsFnot2
succ SparcInsFnot2 = SparcInsFnot2s
succ SparcInsFnot2s = SparcInsFone
succ SparcInsFone = SparcInsFones
succ SparcInsFones = SparcInsFor
succ SparcInsFor = SparcInsFornot1
succ SparcInsFornot1 = SparcInsFornot1s
succ SparcInsFornot1s = SparcInsFornot2
succ SparcInsFornot2 = SparcInsFornot2s
succ SparcInsFornot2s = SparcInsFors
succ SparcInsFors = SparcInsFpack16
succ SparcInsFpack16 = SparcInsFpack32
succ SparcInsFpack32 = SparcInsFpackfix
succ SparcInsFpackfix = SparcInsFpadd16
succ SparcInsFpadd16 = SparcInsFpadd16s
succ SparcInsFpadd16s = SparcInsFpadd32
succ SparcInsFpadd32 = SparcInsFpadd32s
succ SparcInsFpadd32s = SparcInsFpadd64
succ SparcInsFpadd64 = SparcInsFpmerge
succ SparcInsFpmerge = SparcInsFpsub16
succ SparcInsFpsub16 = SparcInsFpsub16s
succ SparcInsFpsub16s = SparcInsFpsub32
succ SparcInsFpsub32 = SparcInsFpsub32s
succ SparcInsFpsub32s = SparcInsFqtod
succ SparcInsFqtod = SparcInsFqtoi
succ SparcInsFqtoi = SparcInsFqtos
succ SparcInsFqtos = SparcInsFqtox
succ SparcInsFqtox = SparcInsFslas16
succ SparcInsFslas16 = SparcInsFslas32
succ SparcInsFslas32 = SparcInsFsll16
succ SparcInsFsll16 = SparcInsFsll32
succ SparcInsFsll32 = SparcInsFsmuld
succ SparcInsFsmuld = SparcInsFsqrtd
succ SparcInsFsqrtd = SparcInsFsqrtq
succ SparcInsFsqrtq = SparcInsFsqrts
succ SparcInsFsqrts = SparcInsFsra16
succ SparcInsFsra16 = SparcInsFsra32
succ SparcInsFsra32 = SparcInsFsrc1
succ SparcInsFsrc1 = SparcInsFsrc1s
succ SparcInsFsrc1s = SparcInsFsrc2
succ SparcInsFsrc2 = SparcInsFsrc2s
succ SparcInsFsrc2s = SparcInsFsrl16
succ SparcInsFsrl16 = SparcInsFsrl32
succ SparcInsFsrl32 = SparcInsFstod
succ SparcInsFstod = SparcInsFstoi
succ SparcInsFstoi = SparcInsFstoq
succ SparcInsFstoq = SparcInsFstox
succ SparcInsFstox = SparcInsFsubd
succ SparcInsFsubd = SparcInsFsubq
succ SparcInsFsubq = SparcInsFsubs
succ SparcInsFsubs = SparcInsFxnor
succ SparcInsFxnor = SparcInsFxnors
succ SparcInsFxnors = SparcInsFxor
succ SparcInsFxor = SparcInsFxors
succ SparcInsFxors = SparcInsFxtod
succ SparcInsFxtod = SparcInsFxtoq
succ SparcInsFxtoq = SparcInsFxtos
succ SparcInsFxtos = SparcInsFzero
succ SparcInsFzero = SparcInsFzeros
succ SparcInsFzeros = SparcInsJmpl
succ SparcInsJmpl = SparcInsLdd
succ SparcInsLdd = SparcInsLd
succ SparcInsLd = SparcInsLdq
succ SparcInsLdq = SparcInsLdsb
succ SparcInsLdsb = SparcInsLdsh
succ SparcInsLdsh = SparcInsLdsw
succ SparcInsLdsw = SparcInsLdub
succ SparcInsLdub = SparcInsLduh
succ SparcInsLduh = SparcInsLdx
succ SparcInsLdx = SparcInsLzcnt
succ SparcInsLzcnt = SparcInsMembar
succ SparcInsMembar = SparcInsMovdtox
succ SparcInsMovdtox = SparcInsMov
succ SparcInsMov = SparcInsMovrgez
succ SparcInsMovrgez = SparcInsMovrgz
succ SparcInsMovrgz = SparcInsMovrlez
succ SparcInsMovrlez = SparcInsMovrlz
succ SparcInsMovrlz = SparcInsMovrnz
succ SparcInsMovrnz = SparcInsMovrz
succ SparcInsMovrz = SparcInsMovstosw
succ SparcInsMovstosw = SparcInsMovstouw
succ SparcInsMovstouw = SparcInsMulx
succ SparcInsMulx = SparcInsNop
succ SparcInsNop = SparcInsOrcc
succ SparcInsOrcc = SparcInsOrncc
succ SparcInsOrncc = SparcInsOrn
succ SparcInsOrn = SparcInsOr
succ SparcInsOr = SparcInsPdist
succ SparcInsPdist = SparcInsPdistn
succ SparcInsPdistn = SparcInsPopc
succ SparcInsPopc = SparcInsRd
succ SparcInsRd = SparcInsRestore
succ SparcInsRestore = SparcInsRett
succ SparcInsRett = SparcInsSave
succ SparcInsSave = SparcInsSdivcc
succ SparcInsSdivcc = SparcInsSdivx
succ SparcInsSdivx = SparcInsSdiv
succ SparcInsSdiv = SparcInsSethi
succ SparcInsSethi = SparcInsShutdown
succ SparcInsShutdown = SparcInsSiam
succ SparcInsSiam = SparcInsSllx
succ SparcInsSllx = SparcInsSll
succ SparcInsSll = SparcInsSmulcc
succ SparcInsSmulcc = SparcInsSmul
succ SparcInsSmul = SparcInsSrax
succ SparcInsSrax = SparcInsSra
succ SparcInsSra = SparcInsSrlx
succ SparcInsSrlx = SparcInsSrl
succ SparcInsSrl = SparcInsStbar
succ SparcInsStbar = SparcInsStb
succ SparcInsStb = SparcInsStd
succ SparcInsStd = SparcInsSt
succ SparcInsSt = SparcInsSth
succ SparcInsSth = SparcInsStq
succ SparcInsStq = SparcInsStx
succ SparcInsStx = SparcInsSubcc
succ SparcInsSubcc = SparcInsSubx
succ SparcInsSubx = SparcInsSubxcc
succ SparcInsSubxcc = SparcInsSub
succ SparcInsSub = SparcInsSwap
succ SparcInsSwap = SparcInsTaddcctv
succ SparcInsTaddcctv = SparcInsTaddcc
succ SparcInsTaddcc = SparcInsT
succ SparcInsT = SparcInsTsubcctv
succ SparcInsTsubcctv = SparcInsTsubcc
succ SparcInsTsubcc = SparcInsUdivcc
succ SparcInsUdivcc = SparcInsUdivx
succ SparcInsUdivx = SparcInsUdiv
succ SparcInsUdiv = SparcInsUmulcc
succ SparcInsUmulcc = SparcInsUmulxhi
succ SparcInsUmulxhi = SparcInsUmul
succ SparcInsUmul = SparcInsUnimp
succ SparcInsUnimp = SparcInsFcmped
succ SparcInsFcmped = SparcInsFcmpeq
succ SparcInsFcmpeq = SparcInsFcmpes
succ SparcInsFcmpes = SparcInsWr
succ SparcInsWr = SparcInsXmulx
succ SparcInsXmulx = SparcInsXmulxhi
succ SparcInsXmulxhi = SparcInsXnorcc
succ SparcInsXnorcc = SparcInsXnor
succ SparcInsXnor = SparcInsXorcc
succ SparcInsXorcc = SparcInsXor
succ SparcInsXor = SparcInsRet
succ SparcInsRet = SparcInsRetl
succ SparcInsRetl = SparcInsEnding
succ SparcInsEnding = error "SparcInsn.succ: SparcInsEnding has no successor"
pred :: SparcInsn -> SparcInsn
pred SparcInsn
SparcInsAddcc = SparcInsn
SparcInsInvalid
pred SparcInsn
SparcInsAddx = SparcInsn
SparcInsAddcc
pred SparcInsn
SparcInsAddxcc = SparcInsn
SparcInsAddx
pred SparcInsn
SparcInsAddxc = SparcInsn
SparcInsAddxcc
pred SparcInsn
SparcInsAddxccc = SparcInsn
SparcInsAddxc
pred SparcInsn
SparcInsAdd = SparcInsn
SparcInsAddxccc
pred SparcInsn
SparcInsAlignaddr = SparcInsn
SparcInsAdd
pred SparcInsn
SparcInsAlignaddrl = SparcInsn
SparcInsAlignaddr
pred SparcInsn
SparcInsAndcc = SparcInsn
SparcInsAlignaddrl
pred SparcInsn
SparcInsAndncc = SparcInsn
SparcInsAndcc
pred SparcInsn
SparcInsAndn = SparcInsn
SparcInsAndncc
pred SparcInsn
SparcInsAnd = SparcInsn
SparcInsAndn
pred SparcInsn
SparcInsArray16 = SparcInsn
SparcInsAnd
pred SparcInsn
SparcInsArray32 = SparcInsn
SparcInsArray16
pred SparcInsn
SparcInsArray8 = SparcInsn
SparcInsArray32
pred SparcInsn
SparcInsB = SparcInsn
SparcInsArray8
pred SparcInsn
SparcInsJmp = SparcInsn
SparcInsB
pred SparcInsn
SparcInsBmask = SparcInsn
SparcInsJmp
pred SparcInsn
SparcInsFb = SparcInsn
SparcInsBmask
pred SparcInsn
SparcInsBrgez = SparcInsn
SparcInsFb
pred SparcInsn
SparcInsBrgz = SparcInsn
SparcInsBrgez
pred SparcInsn
SparcInsBrlez = SparcInsn
SparcInsBrgz
pred SparcInsn
SparcInsBrlz = SparcInsn
SparcInsBrlez
pred SparcInsn
SparcInsBrnz = SparcInsn
SparcInsBrlz
pred SparcInsn
SparcInsBrz = SparcInsn
SparcInsBrnz
pred SparcInsn
SparcInsBshuffle = SparcInsn
SparcInsBrz
pred SparcInsn
SparcInsCall = SparcInsn
SparcInsBshuffle
pred SparcInsn
SparcInsCasx = SparcInsn
SparcInsCall
pred SparcInsn
SparcInsCas = SparcInsn
SparcInsCasx
pred SparcInsn
SparcInsCmask16 = SparcInsn
SparcInsCas
pred SparcInsn
SparcInsCmask32 = SparcInsn
SparcInsCmask16
pred SparcInsn
SparcInsCmask8 = SparcInsn
SparcInsCmask32
pred SparcInsn
SparcInsCmp = SparcInsn
SparcInsCmask8
pred SparcInsn
SparcInsEdge16 = SparcInsn
SparcInsCmp
pred SparcInsn
SparcInsEdge16l = SparcInsn
SparcInsEdge16
pred SparcInsn
SparcInsEdge16ln = SparcInsn
SparcInsEdge16l
pred SparcInsn
SparcInsEdge16n = SparcInsn
SparcInsEdge16ln
pred SparcInsn
SparcInsEdge32 = SparcInsn
SparcInsEdge16n
pred SparcInsn
SparcInsEdge32l = SparcInsn
SparcInsEdge32
pred SparcInsn
SparcInsEdge32ln = SparcInsn
SparcInsEdge32l
pred SparcInsn
SparcInsEdge32n = SparcInsn
SparcInsEdge32ln
pred SparcInsn
SparcInsEdge8 = SparcInsn
SparcInsEdge32n
pred SparcInsn
SparcInsEdge8l = SparcInsn
SparcInsEdge8
pred SparcInsn
SparcInsEdge8ln = SparcInsn
SparcInsEdge8l
pred SparcInsn
SparcInsEdge8n = SparcInsn
SparcInsEdge8ln
pred SparcInsn
SparcInsFabsd = SparcInsn
SparcInsEdge8n
pred SparcInsn
SparcInsFabsq = SparcInsn
SparcInsFabsd
pred SparcInsn
SparcInsFabss = SparcInsn
SparcInsFabsq
pred SparcInsn
SparcInsFaddd = SparcInsn
SparcInsFabss
pred SparcInsn
SparcInsFaddq = SparcInsn
SparcInsFaddd
pred SparcInsn
SparcInsFadds = SparcInsn
SparcInsFaddq
pred SparcInsn
SparcInsFaligndata = SparcInsn
SparcInsFadds
pred SparcInsn
SparcInsFand = SparcInsn
SparcInsFaligndata
pred SparcInsn
SparcInsFandnot1 = SparcInsn
SparcInsFand
pred SparcInsn
SparcInsFandnot1s = SparcInsn
SparcInsFandnot1
pred SparcInsn
SparcInsFandnot2 = SparcInsn
SparcInsFandnot1s
pred SparcInsn
SparcInsFandnot2s = SparcInsn
SparcInsFandnot2
pred SparcInsn
SparcInsFands = SparcInsn
SparcInsFandnot2s
pred SparcInsn
SparcInsFchksm16 = SparcInsn
SparcInsFands
pred SparcInsn
SparcInsFcmpd = SparcInsn
SparcInsFchksm16
pred SparcInsn
SparcInsFcmpeq16 = SparcInsn
SparcInsFcmpd
pred SparcInsn
SparcInsFcmpeq32 = SparcInsn
SparcInsFcmpeq16
pred SparcInsn
SparcInsFcmpgt16 = SparcInsn
SparcInsFcmpeq32
pred SparcInsn
SparcInsFcmpgt32 = SparcInsn
SparcInsFcmpgt16
pred SparcInsn
SparcInsFcmple16 = SparcInsn
SparcInsFcmpgt32
pred SparcInsn
SparcInsFcmple32 = SparcInsn
SparcInsFcmple16
pred SparcInsn
SparcInsFcmpne16 = SparcInsn
SparcInsFcmple32
pred SparcInsn
SparcInsFcmpne32 = SparcInsn
SparcInsFcmpne16
pred SparcInsn
SparcInsFcmpq = SparcInsn
SparcInsFcmpne32
pred SparcInsn
SparcInsFcmps = SparcInsn
SparcInsFcmpq
pred SparcInsn
SparcInsFdivd = SparcInsn
SparcInsFcmps
pred SparcInsn
SparcInsFdivq = SparcInsn
SparcInsFdivd
pred SparcInsn
SparcInsFdivs = SparcInsn
SparcInsFdivq
pred SparcInsn
SparcInsFdmulq = SparcInsn
SparcInsFdivs
pred SparcInsn
SparcInsFdtoi = SparcInsn
SparcInsFdmulq
pred SparcInsn
SparcInsFdtoq = SparcInsn
SparcInsFdtoi
pred SparcInsn
SparcInsFdtos = SparcInsn
SparcInsFdtoq
pred SparcInsn
SparcInsFdtox = SparcInsn
SparcInsFdtos
pred SparcInsn
SparcInsFexpand = SparcInsn
SparcInsFdtox
pred SparcInsn
SparcInsFhaddd = SparcInsn
SparcInsFexpand
pred SparcInsn
SparcInsFhadds = SparcInsn
SparcInsFhaddd
pred SparcInsn
SparcInsFhsubd = SparcInsn
SparcInsFhadds
pred SparcInsn
SparcInsFhsubs = SparcInsn
SparcInsFhsubd
pred SparcInsn
SparcInsFitod = SparcInsn
SparcInsFhsubs
pred SparcInsn
SparcInsFitoq = SparcInsn
SparcInsFitod
pred SparcInsn
SparcInsFitos = SparcInsn
SparcInsFitoq
pred SparcInsn
SparcInsFlcmpd = SparcInsn
SparcInsFitos
pred SparcInsn
SparcInsFlcmps = SparcInsn
SparcInsFlcmpd
pred SparcInsn
SparcInsFlushw = SparcInsn
SparcInsFlcmps
pred SparcInsn
SparcInsFmean16 = SparcInsn
SparcInsFlushw
pred SparcInsn
SparcInsFmovd = SparcInsn
SparcInsFmean16
pred SparcInsn
SparcInsFmovq = SparcInsn
SparcInsFmovd
pred SparcInsn
SparcInsFmovrdgez = SparcInsn
SparcInsFmovq
pred SparcInsn
SparcInsFmovrqgez = SparcInsn
SparcInsFmovrdgez
pred SparcInsn
SparcInsFmovrsgez = SparcInsn
SparcInsFmovrqgez
pred SparcInsn
SparcInsFmovrdgz = SparcInsn
SparcInsFmovrsgez
pred SparcInsn
SparcInsFmovrqgz = SparcInsn
SparcInsFmovrdgz
pred SparcInsn
SparcInsFmovrsgz = SparcInsn
SparcInsFmovrqgz
pred SparcInsn
SparcInsFmovrdlez = SparcInsn
SparcInsFmovrsgz
pred SparcInsn
SparcInsFmovrqlez = SparcInsn
SparcInsFmovrdlez
pred SparcInsn
SparcInsFmovrslez = SparcInsn
SparcInsFmovrqlez
pred SparcInsn
SparcInsFmovrdlz = SparcInsn
SparcInsFmovrslez
pred SparcInsn
SparcInsFmovrqlz = SparcInsn
SparcInsFmovrdlz
pred SparcInsn
SparcInsFmovrslz = SparcInsn
SparcInsFmovrqlz
pred SparcInsn
SparcInsFmovrdnz = SparcInsn
SparcInsFmovrslz
pred SparcInsn
SparcInsFmovrqnz = SparcInsn
SparcInsFmovrdnz
pred SparcInsn
SparcInsFmovrsnz = SparcInsn
SparcInsFmovrqnz
pred SparcInsn
SparcInsFmovrdz = SparcInsn
SparcInsFmovrsnz
pred SparcInsn
SparcInsFmovrqz = SparcInsn
SparcInsFmovrdz
pred SparcInsn
SparcInsFmovrsz = SparcInsn
SparcInsFmovrqz
pred SparcInsn
SparcInsFmovs = SparcInsn
SparcInsFmovrsz
pred SparcInsn
SparcInsFmul8sux16 = SparcInsn
SparcInsFmovs
pred SparcInsn
SparcInsFmul8ulx16 = SparcInsn
SparcInsFmul8sux16
pred SparcInsn
SparcInsFmul8x16 = SparcInsn
SparcInsFmul8ulx16
pred SparcInsn
SparcInsFmul8x16al = SparcInsn
SparcInsFmul8x16
pred SparcInsn
SparcInsFmul8x16au = SparcInsn
SparcInsFmul8x16al
pred SparcInsn
SparcInsFmuld = SparcInsn
SparcInsFmul8x16au
pred SparcInsn
SparcInsFmuld8sux16 = SparcInsn
SparcInsFmuld
pred SparcInsn
SparcInsFmuld8ulx16 = SparcInsn
SparcInsFmuld8sux16
pred SparcInsn
SparcInsFmulq = SparcInsn
SparcInsFmuld8ulx16
pred SparcInsn
SparcInsFmuls = SparcInsn
SparcInsFmulq
pred SparcInsn
SparcInsFnaddd = SparcInsn
SparcInsFmuls
pred SparcInsn
SparcInsFnadds = SparcInsn
SparcInsFnaddd
pred SparcInsn
SparcInsFnand = SparcInsn
SparcInsFnadds
pred SparcInsn
SparcInsFnands = SparcInsn
SparcInsFnand
pred SparcInsn
SparcInsFnegd = SparcInsn
SparcInsFnands
pred SparcInsn
SparcInsFnegq = SparcInsn
SparcInsFnegd
pred SparcInsn
SparcInsFnegs = SparcInsn
SparcInsFnegq
pred SparcInsn
SparcInsFnhaddd = SparcInsn
SparcInsFnegs
pred SparcInsn
SparcInsFnhadds = SparcInsn
SparcInsFnhaddd
pred SparcInsn
SparcInsFnor = SparcInsn
SparcInsFnhadds
pred SparcInsn
SparcInsFnors = SparcInsn
SparcInsFnor
pred SparcInsn
SparcInsFnot1 = SparcInsn
SparcInsFnors
pred SparcInsn
SparcInsFnot1s = SparcInsn
SparcInsFnot1
pred SparcInsn
SparcInsFnot2 = SparcInsn
SparcInsFnot1s
pred SparcInsn
SparcInsFnot2s = SparcInsn
SparcInsFnot2
pred SparcInsn
SparcInsFone = SparcInsn
SparcInsFnot2s
pred SparcInsn
SparcInsFones = SparcInsn
SparcInsFone
pred SparcInsn
SparcInsFor = SparcInsn
SparcInsFones
pred SparcInsn
SparcInsFornot1 = SparcInsn
SparcInsFor
pred SparcInsn
SparcInsFornot1s = SparcInsn
SparcInsFornot1
pred SparcInsn
SparcInsFornot2 = SparcInsn
SparcInsFornot1s
pred SparcInsn
SparcInsFornot2s = SparcInsn
SparcInsFornot2
pred SparcInsn
SparcInsFors = SparcInsn
SparcInsFornot2s
pred SparcInsn
SparcInsFpack16 = SparcInsn
SparcInsFors
pred SparcInsn
SparcInsFpack32 = SparcInsn
SparcInsFpack16
pred SparcInsn
SparcInsFpackfix = SparcInsn
SparcInsFpack32
pred SparcInsn
SparcInsFpadd16 = SparcInsn
SparcInsFpackfix
pred SparcInsn
SparcInsFpadd16s = SparcInsn
SparcInsFpadd16
pred SparcInsn
SparcInsFpadd32 = SparcInsn
SparcInsFpadd16s
pred SparcInsn
SparcInsFpadd32s = SparcInsn
SparcInsFpadd32
pred SparcInsn
SparcInsFpadd64 = SparcInsn
SparcInsFpadd32s
pred SparcInsn
SparcInsFpmerge = SparcInsn
SparcInsFpadd64
pred SparcInsn
SparcInsFpsub16 = SparcInsn
SparcInsFpmerge
pred SparcInsn
SparcInsFpsub16s = SparcInsn
SparcInsFpsub16
pred SparcInsn
SparcInsFpsub32 = SparcInsn
SparcInsFpsub16s
pred SparcInsn
SparcInsFpsub32s = SparcInsn
SparcInsFpsub32
pred SparcInsn
SparcInsFqtod = SparcInsn
SparcInsFpsub32s
pred SparcInsn
SparcInsFqtoi = SparcInsn
SparcInsFqtod
pred SparcInsn
SparcInsFqtos = SparcInsn
SparcInsFqtoi
pred SparcInsn
SparcInsFqtox = SparcInsn
SparcInsFqtos
pred SparcInsn
SparcInsFslas16 = SparcInsn
SparcInsFqtox
pred SparcInsn
SparcInsFslas32 = SparcInsn
SparcInsFslas16
pred SparcInsn
SparcInsFsll16 = SparcInsn
SparcInsFslas32
pred SparcInsn
SparcInsFsll32 = SparcInsn
SparcInsFsll16
pred SparcInsn
SparcInsFsmuld = SparcInsn
SparcInsFsll32
pred SparcInsn
SparcInsFsqrtd = SparcInsn
SparcInsFsmuld
pred SparcInsn
SparcInsFsqrtq = SparcInsn
SparcInsFsqrtd
pred SparcInsn
SparcInsFsqrts = SparcInsn
SparcInsFsqrtq
pred SparcInsn
SparcInsFsra16 = SparcInsn
SparcInsFsqrts
pred SparcInsn
SparcInsFsra32 = SparcInsn
SparcInsFsra16
pred SparcInsn
SparcInsFsrc1 = SparcInsn
SparcInsFsra32
pred SparcInsn
SparcInsFsrc1s = SparcInsn
SparcInsFsrc1
pred SparcInsn
SparcInsFsrc2 = SparcInsn
SparcInsFsrc1s
pred SparcInsn
SparcInsFsrc2s = SparcInsn
SparcInsFsrc2
pred SparcInsn
SparcInsFsrl16 = SparcInsn
SparcInsFsrc2s
pred SparcInsn
SparcInsFsrl32 = SparcInsn
SparcInsFsrl16
pred SparcInsn
SparcInsFstod = SparcInsn
SparcInsFsrl32
pred SparcInsn
SparcInsFstoi = SparcInsn
SparcInsFstod
pred SparcInsn
SparcInsFstoq = SparcInsn
SparcInsFstoi
pred SparcInsn
SparcInsFstox = SparcInsn
SparcInsFstoq
pred SparcInsn
SparcInsFsubd = SparcInsn
SparcInsFstox
pred SparcInsn
SparcInsFsubq = SparcInsn
SparcInsFsubd
pred SparcInsn
SparcInsFsubs = SparcInsn
SparcInsFsubq
pred SparcInsn
SparcInsFxnor = SparcInsn
SparcInsFsubs
pred SparcInsn
SparcInsFxnors = SparcInsn
SparcInsFxnor
pred SparcInsn
SparcInsFxor = SparcInsn
SparcInsFxnors
pred SparcInsn
SparcInsFxors = SparcInsn
SparcInsFxor
pred SparcInsn
SparcInsFxtod = SparcInsn
SparcInsFxors
pred SparcInsn
SparcInsFxtoq = SparcInsn
SparcInsFxtod
pred SparcInsn
SparcInsFxtos = SparcInsn
SparcInsFxtoq
pred SparcInsn
SparcInsFzero = SparcInsn
SparcInsFxtos
pred SparcInsn
SparcInsFzeros = SparcInsn
SparcInsFzero
pred SparcInsn
SparcInsJmpl = SparcInsn
SparcInsFzeros
pred SparcInsn
SparcInsLdd = SparcInsn
SparcInsJmpl
pred SparcInsn
SparcInsLd = SparcInsn
SparcInsLdd
pred SparcInsn
SparcInsLdq = SparcInsn
SparcInsLd
pred SparcInsn
SparcInsLdsb = SparcInsn
SparcInsLdq
pred SparcInsn
SparcInsLdsh = SparcInsn
SparcInsLdsb
pred SparcInsn
SparcInsLdsw = SparcInsn
SparcInsLdsh
pred SparcInsn
SparcInsLdub = SparcInsn
SparcInsLdsw
pred SparcInsn
SparcInsLduh = SparcInsn
SparcInsLdub
pred SparcInsn
SparcInsLdx = SparcInsn
SparcInsLduh
pred SparcInsn
SparcInsLzcnt = SparcInsn
SparcInsLdx
pred SparcInsn
SparcInsMembar = SparcInsn
SparcInsLzcnt
pred SparcInsn
SparcInsMovdtox = SparcInsn
SparcInsMembar
pred SparcInsn
SparcInsMov = SparcInsn
SparcInsMovdtox
pred SparcInsn
SparcInsMovrgez = SparcInsn
SparcInsMov
pred SparcInsn
SparcInsMovrgz = SparcInsn
SparcInsMovrgez
pred SparcInsn
SparcInsMovrlez = SparcInsn
SparcInsMovrgz
pred SparcInsn
SparcInsMovrlz = SparcInsn
SparcInsMovrlez
pred SparcInsn
SparcInsMovrnz = SparcInsn
SparcInsMovrlz
pred SparcInsn
SparcInsMovrz = SparcInsn
SparcInsMovrnz
pred SparcInsn
SparcInsMovstosw = SparcInsn
SparcInsMovrz
pred SparcInsn
SparcInsMovstouw = SparcInsn
SparcInsMovstosw
pred SparcInsn
SparcInsMulx = SparcInsn
SparcInsMovstouw
pred SparcInsn
SparcInsNop = SparcInsn
SparcInsMulx
pred SparcInsn
SparcInsOrcc = SparcInsn
SparcInsNop
pred SparcInsn
SparcInsOrncc = SparcInsn
SparcInsOrcc
pred SparcInsn
SparcInsOrn = SparcInsn
SparcInsOrncc
pred SparcInsn
SparcInsOr = SparcInsn
SparcInsOrn
pred SparcInsn
SparcInsPdist = SparcInsn
SparcInsOr
pred SparcInsn
SparcInsPdistn = SparcInsn
SparcInsPdist
pred SparcInsn
SparcInsPopc = SparcInsn
SparcInsPdistn
pred SparcInsn
SparcInsRd = SparcInsn
SparcInsPopc
pred SparcInsn
SparcInsRestore = SparcInsn
SparcInsRd
pred SparcInsn
SparcInsRett = SparcInsn
SparcInsRestore
pred SparcInsn
SparcInsSave = SparcInsn
SparcInsRett
pred SparcInsn
SparcInsSdivcc = SparcInsn
SparcInsSave
pred SparcInsn
SparcInsSdivx = SparcInsn
SparcInsSdivcc
pred SparcInsn
SparcInsSdiv = SparcInsn
SparcInsSdivx
pred SparcInsn
SparcInsSethi = SparcInsn
SparcInsSdiv
pred SparcInsn
SparcInsShutdown = SparcInsn
SparcInsSethi
pred SparcInsn
SparcInsSiam = SparcInsn
SparcInsShutdown
pred SparcInsn
SparcInsSllx = SparcInsn
SparcInsSiam
pred SparcInsn
SparcInsSll = SparcInsn
SparcInsSllx
pred SparcInsn
SparcInsSmulcc = SparcInsn
SparcInsSll
pred SparcInsn
SparcInsSmul = SparcInsn
SparcInsSmulcc
pred SparcInsn
SparcInsSrax = SparcInsn
SparcInsSmul
pred SparcInsn
SparcInsSra = SparcInsn
SparcInsSrax
pred SparcInsn
SparcInsSrlx = SparcInsn
SparcInsSra
pred SparcInsn
SparcInsSrl = SparcInsn
SparcInsSrlx
pred SparcInsn
SparcInsStbar = SparcInsn
SparcInsSrl
pred SparcInsn
SparcInsStb = SparcInsn
SparcInsStbar
pred SparcInsn
SparcInsStd = SparcInsn
SparcInsStb
pred SparcInsn
SparcInsSt = SparcInsn
SparcInsStd
pred SparcInsn
SparcInsSth = SparcInsn
SparcInsSt
pred SparcInsn
SparcInsStq = SparcInsn
SparcInsSth
pred SparcInsn
SparcInsStx = SparcInsn
SparcInsStq
pred SparcInsn
SparcInsSubcc = SparcInsn
SparcInsStx
pred SparcInsn
SparcInsSubx = SparcInsn
SparcInsSubcc
pred SparcInsn
SparcInsSubxcc = SparcInsn
SparcInsSubx
pred SparcInsn
SparcInsSub = SparcInsn
SparcInsSubxcc
pred SparcInsn
SparcInsSwap = SparcInsn
SparcInsSub
pred SparcInsn
SparcInsTaddcctv = SparcInsn
SparcInsSwap
pred SparcInsn
SparcInsTaddcc = SparcInsn
SparcInsTaddcctv
pred SparcInsn
SparcInsT = SparcInsn
SparcInsTaddcc
pred SparcInsn
SparcInsTsubcctv = SparcInsn
SparcInsT
pred SparcInsn
SparcInsTsubcc = SparcInsn
SparcInsTsubcctv
pred SparcInsn
SparcInsUdivcc = SparcInsn
SparcInsTsubcc
pred SparcInsn
SparcInsUdivx = SparcInsn
SparcInsUdivcc
pred SparcInsn
SparcInsUdiv = SparcInsn
SparcInsUdivx
pred SparcInsn
SparcInsUmulcc = SparcInsn
SparcInsUdiv
pred SparcInsn
SparcInsUmulxhi = SparcInsn
SparcInsUmulcc
pred SparcInsn
SparcInsUmul = SparcInsn
SparcInsUmulxhi
pred SparcInsn
SparcInsUnimp = SparcInsn
SparcInsUmul
pred SparcInsn
SparcInsFcmped = SparcInsn
SparcInsUnimp
pred SparcInsn
SparcInsFcmpeq = SparcInsn
SparcInsFcmped
pred SparcInsn
SparcInsFcmpes = SparcInsn
SparcInsFcmpeq
pred SparcInsn
SparcInsWr = SparcInsn
SparcInsFcmpes
pred SparcInsn
SparcInsXmulx = SparcInsn
SparcInsWr
pred SparcInsn
SparcInsXmulxhi = SparcInsn
SparcInsXmulx
pred SparcInsn
SparcInsXnorcc = SparcInsn
SparcInsXmulxhi
pred SparcInsn
SparcInsXnor = SparcInsn
SparcInsXnorcc
pred SparcInsn
SparcInsXorcc = SparcInsn
SparcInsXnor
pred SparcInsn
SparcInsXor = SparcInsn
SparcInsXorcc
pred SparcInsn
SparcInsRet = SparcInsn
SparcInsXor
pred SparcInsn
SparcInsRetl = SparcInsn
SparcInsRet
pred SparcInsn
SparcInsEnding = SparcInsn
SparcInsRetl
pred SparcInsn
SparcInsInvalid = String -> SparcInsn
forall a. HasCallStack => String -> a
error String
"SparcInsn.pred: SparcInsInvalid has no predecessor"
enumFromTo :: SparcInsn -> SparcInsn -> [SparcInsn]
enumFromTo SparcInsn
from SparcInsn
to = SparcInsn -> [SparcInsn]
forall t. Enum t => t -> [t]
go SparcInsn
from
where
end :: Int
end = SparcInsn -> Int
forall a. Enum a => a -> Int
fromEnum SparcInsn
to
go :: t -> [t]
go t
v = case Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
compare (t -> Int
forall a. Enum a => a -> Int
fromEnum t
v) Int
end of
Ordering
LT -> t
v t -> [t] -> [t]
forall a. a -> [a] -> [a]
: t -> [t]
go (t -> t
forall a. Enum a => a -> a
succ t
v)
Ordering
EQ -> [t
v]
Ordering
GT -> []
enumFrom :: SparcInsn -> [SparcInsn]
enumFrom SparcInsn
from = SparcInsn -> SparcInsn -> [SparcInsn]
forall a. Enum a => a -> a -> [a]
enumFromTo SparcInsn
from SparcInsn
SparcInsEnding
fromEnum :: SparcInsn -> Int
fromEnum SparcInsn
SparcInsInvalid = Int
0
fromEnum SparcInsn
SparcInsAddcc = Int
1
fromEnum SparcInsn
SparcInsAddx = Int
2
fromEnum SparcInsn
SparcInsAddxcc = Int
3
fromEnum SparcInsn
SparcInsAddxc = Int
4
fromEnum SparcInsn
SparcInsAddxccc = Int
5
fromEnum SparcInsn
SparcInsAdd = Int
6
fromEnum SparcInsn
SparcInsAlignaddr = Int
7
fromEnum SparcInsn
SparcInsAlignaddrl = Int
8
fromEnum SparcInsn
SparcInsAndcc = Int
9
fromEnum SparcInsn
SparcInsAndncc = Int
10
fromEnum SparcInsn
SparcInsAndn = Int
11
fromEnum SparcInsn
SparcInsAnd = Int
12
fromEnum SparcInsn
SparcInsArray16 = Int
13
fromEnum SparcInsn
SparcInsArray32 = Int
14
fromEnum SparcInsn
SparcInsArray8 = Int
15
fromEnum SparcInsn
SparcInsB = Int
16
fromEnum SparcInsn
SparcInsJmp = Int
17
fromEnum SparcInsn
SparcInsBmask = Int
18
fromEnum SparcInsn
SparcInsFb = Int
19
fromEnum SparcInsn
SparcInsBrgez = Int
20
fromEnum SparcInsn
SparcInsBrgz = Int
21
fromEnum SparcInsn
SparcInsBrlez = Int
22
fromEnum SparcInsn
SparcInsBrlz = Int
23
fromEnum SparcInsn
SparcInsBrnz = Int
24
fromEnum SparcInsn
SparcInsBrz = Int
25
fromEnum SparcInsn
SparcInsBshuffle = Int
26
fromEnum SparcInsn
SparcInsCall = Int
27
fromEnum SparcInsn
SparcInsCasx = Int
28
fromEnum SparcInsn
SparcInsCas = Int
29
fromEnum SparcInsn
SparcInsCmask16 = Int
30
fromEnum SparcInsn
SparcInsCmask32 = Int
31
fromEnum SparcInsn
SparcInsCmask8 = Int
32
fromEnum SparcInsn
SparcInsCmp = Int
33
fromEnum SparcInsn
SparcInsEdge16 = Int
34
fromEnum SparcInsn
SparcInsEdge16l = Int
35
fromEnum SparcInsn
SparcInsEdge16ln = Int
36
fromEnum SparcInsn
SparcInsEdge16n = Int
37
fromEnum SparcInsn
SparcInsEdge32 = Int
38
fromEnum SparcInsn
SparcInsEdge32l = Int
39
fromEnum SparcInsn
SparcInsEdge32ln = Int
40
fromEnum SparcInsn
SparcInsEdge32n = Int
41
fromEnum SparcInsn
SparcInsEdge8 = Int
42
fromEnum SparcInsn
SparcInsEdge8l = Int
43
fromEnum SparcInsn
SparcInsEdge8ln = Int
44
fromEnum SparcInsn
SparcInsEdge8n = Int
45
fromEnum SparcInsn
SparcInsFabsd = Int
46
fromEnum SparcInsn
SparcInsFabsq = Int
47
fromEnum SparcInsn
SparcInsFabss = Int
48
fromEnum SparcInsn
SparcInsFaddd = Int
49
fromEnum SparcInsn
SparcInsFaddq = Int
50
fromEnum SparcInsn
SparcInsFadds = Int
51
fromEnum SparcInsn
SparcInsFaligndata = Int
52
fromEnum SparcInsn
SparcInsFand = Int
53
fromEnum SparcInsn
SparcInsFandnot1 = Int
54
fromEnum SparcInsn
SparcInsFandnot1s = Int
55
fromEnum SparcInsn
SparcInsFandnot2 = Int
56
fromEnum SparcInsn
SparcInsFandnot2s = Int
57
fromEnum SparcInsn
SparcInsFands = Int
58
fromEnum SparcInsn
SparcInsFchksm16 = Int
59
fromEnum SparcInsn
SparcInsFcmpd = Int
60
fromEnum SparcInsn
SparcInsFcmpeq16 = Int
61
fromEnum SparcInsn
SparcInsFcmpeq32 = Int
62
fromEnum SparcInsn
SparcInsFcmpgt16 = Int
63
fromEnum SparcInsn
SparcInsFcmpgt32 = Int
64
fromEnum SparcInsn
SparcInsFcmple16 = Int
65
fromEnum SparcInsn
SparcInsFcmple32 = Int
66
fromEnum SparcInsn
SparcInsFcmpne16 = Int
67
fromEnum SparcInsn
SparcInsFcmpne32 = Int
68
fromEnum SparcInsn
SparcInsFcmpq = Int
69
fromEnum SparcInsn
SparcInsFcmps = Int
70
fromEnum SparcInsn
SparcInsFdivd = Int
71
fromEnum SparcInsn
SparcInsFdivq = Int
72
fromEnum SparcInsn
SparcInsFdivs = Int
73
fromEnum SparcInsn
SparcInsFdmulq = Int
74
fromEnum SparcInsn
SparcInsFdtoi = Int
75
fromEnum SparcInsn
SparcInsFdtoq = Int
76
fromEnum SparcInsn
SparcInsFdtos = Int
77
fromEnum SparcInsn
SparcInsFdtox = Int
78
fromEnum SparcInsn
SparcInsFexpand = Int
79
fromEnum SparcInsn
SparcInsFhaddd = Int
80
fromEnum SparcInsn
SparcInsFhadds = Int
81
fromEnum SparcInsn
SparcInsFhsubd = Int
82
fromEnum SparcInsn
SparcInsFhsubs = Int
83
fromEnum SparcInsn
SparcInsFitod = Int
84
fromEnum SparcInsn
SparcInsFitoq = Int
85
fromEnum SparcInsn
SparcInsFitos = Int
86
fromEnum SparcInsn
SparcInsFlcmpd = Int
87
fromEnum SparcInsn
SparcInsFlcmps = Int
88
fromEnum SparcInsn
SparcInsFlushw = Int
89
fromEnum SparcInsn
SparcInsFmean16 = Int
90
fromEnum SparcInsn
SparcInsFmovd = Int
91
fromEnum SparcInsn
SparcInsFmovq = Int
92
fromEnum SparcInsn
SparcInsFmovrdgez = Int
93
fromEnum SparcInsn
SparcInsFmovrqgez = Int
94
fromEnum SparcInsn
SparcInsFmovrsgez = Int
95
fromEnum SparcInsn
SparcInsFmovrdgz = Int
96
fromEnum SparcInsn
SparcInsFmovrqgz = Int
97
fromEnum SparcInsn
SparcInsFmovrsgz = Int
98
fromEnum SparcInsn
SparcInsFmovrdlez = Int
99
fromEnum SparcInsn
SparcInsFmovrqlez = Int
100
fromEnum SparcInsn
SparcInsFmovrslez = Int
101
fromEnum SparcInsn
SparcInsFmovrdlz = Int
102
fromEnum SparcInsn
SparcInsFmovrqlz = Int
103
fromEnum SparcInsn
SparcInsFmovrslz = Int
104
fromEnum SparcInsn
SparcInsFmovrdnz = Int
105
fromEnum SparcInsn
SparcInsFmovrqnz = Int
106
fromEnum SparcInsn
SparcInsFmovrsnz = Int
107
fromEnum SparcInsn
SparcInsFmovrdz = Int
108
fromEnum SparcInsn
SparcInsFmovrqz = Int
109
fromEnum SparcInsn
SparcInsFmovrsz = Int
110
fromEnum SparcInsn
SparcInsFmovs = Int
111
fromEnum SparcInsn
SparcInsFmul8sux16 = Int
112
fromEnum SparcInsn
SparcInsFmul8ulx16 = Int
113
fromEnum SparcInsn
SparcInsFmul8x16 = Int
114
fromEnum SparcInsn
SparcInsFmul8x16al = Int
115
fromEnum SparcInsn
SparcInsFmul8x16au = Int
116
fromEnum SparcInsn
SparcInsFmuld = Int
117
fromEnum SparcInsn
SparcInsFmuld8sux16 = Int
118
fromEnum SparcInsn
SparcInsFmuld8ulx16 = Int
119
fromEnum SparcInsn
SparcInsFmulq = Int
120
fromEnum SparcInsn
SparcInsFmuls = Int
121
fromEnum SparcInsn
SparcInsFnaddd = Int
122
fromEnum SparcInsn
SparcInsFnadds = Int
123
fromEnum SparcInsn
SparcInsFnand = Int
124
fromEnum SparcInsn
SparcInsFnands = Int
125
fromEnum SparcInsn
SparcInsFnegd = Int
126
fromEnum SparcInsn
SparcInsFnegq = Int
127
fromEnum SparcInsn
SparcInsFnegs = Int
128
fromEnum SparcInsn
SparcInsFnhaddd = Int
129
fromEnum SparcInsn
SparcInsFnhadds = Int
130
fromEnum SparcInsn
SparcInsFnor = Int
131
fromEnum SparcInsn
SparcInsFnors = Int
132
fromEnum SparcInsn
SparcInsFnot1 = Int
133
fromEnum SparcInsn
SparcInsFnot1s = Int
134
fromEnum SparcInsn
SparcInsFnot2 = Int
135
fromEnum SparcInsn
SparcInsFnot2s = Int
136
fromEnum SparcInsn
SparcInsFone = Int
137
fromEnum SparcInsn
SparcInsFones = Int
138
fromEnum SparcInsn
SparcInsFor = Int
139
fromEnum SparcInsn
SparcInsFornot1 = Int
140
fromEnum SparcInsn
SparcInsFornot1s = Int
141
fromEnum SparcInsn
SparcInsFornot2 = Int
142
fromEnum SparcInsn
SparcInsFornot2s = Int
143
fromEnum SparcInsn
SparcInsFors = Int
144
fromEnum SparcInsn
SparcInsFpack16 = Int
145
fromEnum SparcInsn
SparcInsFpack32 = Int
146
fromEnum SparcInsn
SparcInsFpackfix = Int
147
fromEnum SparcInsn
SparcInsFpadd16 = Int
148
fromEnum SparcInsn
SparcInsFpadd16s = Int
149
fromEnum SparcInsn
SparcInsFpadd32 = Int
150
fromEnum SparcInsn
SparcInsFpadd32s = Int
151
fromEnum SparcInsn
SparcInsFpadd64 = Int
152
fromEnum SparcInsn
SparcInsFpmerge = Int
153
fromEnum SparcInsn
SparcInsFpsub16 = Int
154
fromEnum SparcInsn
SparcInsFpsub16s = Int
155
fromEnum SparcInsn
SparcInsFpsub32 = Int
156
fromEnum SparcInsn
SparcInsFpsub32s = Int
157
fromEnum SparcInsn
SparcInsFqtod = Int
158
fromEnum SparcInsn
SparcInsFqtoi = Int
159
fromEnum SparcInsn
SparcInsFqtos = Int
160
fromEnum SparcInsn
SparcInsFqtox = Int
161
fromEnum SparcInsn
SparcInsFslas16 = Int
162
fromEnum SparcInsn
SparcInsFslas32 = Int
163
fromEnum SparcInsn
SparcInsFsll16 = Int
164
fromEnum SparcInsn
SparcInsFsll32 = Int
165
fromEnum SparcInsn
SparcInsFsmuld = Int
166
fromEnum SparcInsn
SparcInsFsqrtd = Int
167
fromEnum SparcInsn
SparcInsFsqrtq = Int
168
fromEnum SparcInsn
SparcInsFsqrts = Int
169
fromEnum SparcInsn
SparcInsFsra16 = Int
170
fromEnum SparcInsn
SparcInsFsra32 = Int
171
fromEnum SparcInsn
SparcInsFsrc1 = Int
172
fromEnum SparcInsn
SparcInsFsrc1s = Int
173
fromEnum SparcInsn
SparcInsFsrc2 = Int
174
fromEnum SparcInsn
SparcInsFsrc2s = Int
175
fromEnum SparcInsn
SparcInsFsrl16 = Int
176
fromEnum SparcInsn
SparcInsFsrl32 = Int
177
fromEnum SparcInsn
SparcInsFstod = Int
178
fromEnum SparcInsn
SparcInsFstoi = Int
179
fromEnum SparcInsn
SparcInsFstoq = Int
180
fromEnum SparcInsn
SparcInsFstox = Int
181
fromEnum SparcInsn
SparcInsFsubd = Int
182
fromEnum SparcInsn
SparcInsFsubq = Int
183
fromEnum SparcInsn
SparcInsFsubs = Int
184
fromEnum SparcInsn
SparcInsFxnor = Int
185
fromEnum SparcInsn
SparcInsFxnors = Int
186
fromEnum SparcInsn
SparcInsFxor = Int
187
fromEnum SparcInsn
SparcInsFxors = Int
188
fromEnum SparcInsn
SparcInsFxtod = Int
189
fromEnum SparcInsn
SparcInsFxtoq = Int
190
fromEnum SparcInsn
SparcInsFxtos = Int
191
fromEnum SparcInsn
SparcInsFzero = Int
192
fromEnum SparcInsn
SparcInsFzeros = Int
193
fromEnum SparcInsn
SparcInsJmpl = Int
194
fromEnum SparcInsn
SparcInsLdd = Int
195
fromEnum SparcInsn
SparcInsLd = Int
196
fromEnum SparcInsn
SparcInsLdq = Int
197
fromEnum SparcInsn
SparcInsLdsb = Int
198
fromEnum SparcInsn
SparcInsLdsh = Int
199
fromEnum SparcInsn
SparcInsLdsw = Int
200
fromEnum SparcInsn
SparcInsLdub = Int
201
fromEnum SparcInsn
SparcInsLduh = Int
202
fromEnum SparcInsn
SparcInsLdx = Int
203
fromEnum SparcInsn
SparcInsLzcnt = Int
204
fromEnum SparcInsn
SparcInsMembar = Int
205
fromEnum SparcInsn
SparcInsMovdtox = Int
206
fromEnum SparcInsn
SparcInsMov = Int
207
fromEnum SparcInsn
SparcInsMovrgez = Int
208
fromEnum SparcInsn
SparcInsMovrgz = Int
209
fromEnum SparcInsn
SparcInsMovrlez = Int
210
fromEnum SparcInsn
SparcInsMovrlz = Int
211
fromEnum SparcInsn
SparcInsMovrnz = Int
212
fromEnum SparcInsn
SparcInsMovrz = Int
213
fromEnum SparcInsn
SparcInsMovstosw = Int
214
fromEnum SparcInsn
SparcInsMovstouw = Int
215
fromEnum SparcInsn
SparcInsMulx = Int
216
fromEnum SparcInsn
SparcInsNop = Int
217
fromEnum SparcInsn
SparcInsOrcc = Int
218
fromEnum SparcInsn
SparcInsOrncc = Int
219
fromEnum SparcInsn
SparcInsOrn = Int
220
fromEnum SparcInsn
SparcInsOr = Int
221
fromEnum SparcInsn
SparcInsPdist = Int
222
fromEnum SparcInsn
SparcInsPdistn = Int
223
fromEnum SparcInsn
SparcInsPopc = Int
224
fromEnum SparcInsn
SparcInsRd = Int
225
fromEnum SparcInsn
SparcInsRestore = Int
226
fromEnum SparcInsn
SparcInsRett = Int
227
fromEnum SparcInsn
SparcInsSave = Int
228
fromEnum SparcInsn
SparcInsSdivcc = Int
229
fromEnum SparcInsn
SparcInsSdivx = Int
230
fromEnum SparcInsn
SparcInsSdiv = Int
231
fromEnum SparcInsn
SparcInsSethi = Int
232
fromEnum SparcInsn
SparcInsShutdown = Int
233
fromEnum SparcInsn
SparcInsSiam = Int
234
fromEnum SparcInsn
SparcInsSllx = Int
235
fromEnum SparcInsn
SparcInsSll = Int
236
fromEnum SparcInsn
SparcInsSmulcc = Int
237
fromEnum SparcInsn
SparcInsSmul = Int
238
fromEnum SparcInsn
SparcInsSrax = Int
239
fromEnum SparcInsn
SparcInsSra = Int
240
fromEnum SparcInsn
SparcInsSrlx = Int
241
fromEnum SparcInsn
SparcInsSrl = Int
242
fromEnum SparcInsn
SparcInsStbar = Int
243
fromEnum SparcInsn
SparcInsStb = Int
244
fromEnum SparcInsn
SparcInsStd = Int
245
fromEnum SparcInsn
SparcInsSt = Int
246
fromEnum SparcInsn
SparcInsSth = Int
247
fromEnum SparcInsn
SparcInsStq = Int
248
fromEnum SparcInsn
SparcInsStx = Int
249
fromEnum SparcInsn
SparcInsSubcc = Int
250
fromEnum SparcInsn
SparcInsSubx = Int
251
fromEnum SparcInsn
SparcInsSubxcc = Int
252
fromEnum SparcInsn
SparcInsSub = Int
253
fromEnum SparcInsn
SparcInsSwap = Int
254
fromEnum SparcInsn
SparcInsTaddcctv = Int
255
fromEnum SparcInsn
SparcInsTaddcc = Int
256
fromEnum SparcInsn
SparcInsT = Int
257
fromEnum SparcInsn
SparcInsTsubcctv = Int
258
fromEnum SparcInsn
SparcInsTsubcc = Int
259
fromEnum SparcInsn
SparcInsUdivcc = Int
260
fromEnum SparcInsn
SparcInsUdivx = Int
261
fromEnum SparcInsn
SparcInsUdiv = Int
262
fromEnum SparcInsn
SparcInsUmulcc = Int
263
fromEnum SparcInsn
SparcInsUmulxhi = Int
264
fromEnum SparcInsn
SparcInsUmul = Int
265
fromEnum SparcInsn
SparcInsUnimp = Int
266
fromEnum SparcInsn
SparcInsFcmped = Int
267
fromEnum SparcInsn
SparcInsFcmpeq = Int
268
fromEnum SparcInsn
SparcInsFcmpes = Int
269
fromEnum SparcInsn
SparcInsWr = Int
270
fromEnum SparcInsn
SparcInsXmulx = Int
271
fromEnum SparcInsn
SparcInsXmulxhi = Int
272
fromEnum SparcInsn
SparcInsXnorcc = Int
273
fromEnum SparcInsn
SparcInsXnor = Int
274
fromEnum SparcInsn
SparcInsXorcc = Int
275
fromEnum SparcInsn
SparcInsXor = Int
276
fromEnum SparcInsn
SparcInsRet = Int
277
fromEnum SparcInsn
SparcInsRetl = Int
278
fromEnum SparcInsn
SparcInsEnding = Int
279
toEnum :: Int -> SparcInsn
toEnum Int
0 = SparcInsn
SparcInsInvalid
toEnum Int
1 = SparcInsn
SparcInsAddcc
toEnum Int
2 = SparcInsn
SparcInsAddx
toEnum Int
3 = SparcInsn
SparcInsAddxcc
toEnum Int
4 = SparcInsn
SparcInsAddxc
toEnum Int
5 = SparcInsn
SparcInsAddxccc
toEnum Int
6 = SparcInsn
SparcInsAdd
toEnum Int
7 = SparcInsn
SparcInsAlignaddr
toEnum Int
8 = SparcInsn
SparcInsAlignaddrl
toEnum Int
9 = SparcInsn
SparcInsAndcc
toEnum Int
10 = SparcInsn
SparcInsAndncc
toEnum Int
11 = SparcInsn
SparcInsAndn
toEnum Int
12 = SparcInsn
SparcInsAnd
toEnum Int
13 = SparcInsn
SparcInsArray16
toEnum Int
14 = SparcInsn
SparcInsArray32
toEnum Int
15 = SparcInsn
SparcInsArray8
toEnum Int
16 = SparcInsn
SparcInsB
toEnum Int
17 = SparcInsn
SparcInsJmp
toEnum Int
18 = SparcInsn
SparcInsBmask
toEnum Int
19 = SparcInsn
SparcInsFb
toEnum Int
20 = SparcInsn
SparcInsBrgez
toEnum Int
21 = SparcInsn
SparcInsBrgz
toEnum Int
22 = SparcInsn
SparcInsBrlez
toEnum Int
23 = SparcInsn
SparcInsBrlz
toEnum Int
24 = SparcInsn
SparcInsBrnz
toEnum Int
25 = SparcInsn
SparcInsBrz
toEnum Int
26 = SparcInsn
SparcInsBshuffle
toEnum Int
27 = SparcInsn
SparcInsCall
toEnum Int
28 = SparcInsn
SparcInsCasx
toEnum Int
29 = SparcInsn
SparcInsCas
toEnum Int
30 = SparcInsn
SparcInsCmask16
toEnum Int
31 = SparcInsn
SparcInsCmask32
toEnum Int
32 = SparcInsn
SparcInsCmask8
toEnum Int
33 = SparcInsn
SparcInsCmp
toEnum Int
34 = SparcInsn
SparcInsEdge16
toEnum Int
35 = SparcInsn
SparcInsEdge16l
toEnum Int
36 = SparcInsn
SparcInsEdge16ln
toEnum Int
37 = SparcInsn
SparcInsEdge16n
toEnum Int
38 = SparcInsn
SparcInsEdge32
toEnum Int
39 = SparcInsn
SparcInsEdge32l
toEnum Int
40 = SparcInsn
SparcInsEdge32ln
toEnum Int
41 = SparcInsn
SparcInsEdge32n
toEnum Int
42 = SparcInsn
SparcInsEdge8
toEnum Int
43 = SparcInsn
SparcInsEdge8l
toEnum Int
44 = SparcInsn
SparcInsEdge8ln
toEnum Int
45 = SparcInsn
SparcInsEdge8n
toEnum Int
46 = SparcInsn
SparcInsFabsd
toEnum Int
47 = SparcInsn
SparcInsFabsq
toEnum Int
48 = SparcInsn
SparcInsFabss
toEnum Int
49 = SparcInsn
SparcInsFaddd
toEnum Int
50 = SparcInsn
SparcInsFaddq
toEnum Int
51 = SparcInsn
SparcInsFadds
toEnum Int
52 = SparcInsn
SparcInsFaligndata
toEnum Int
53 = SparcInsn
SparcInsFand
toEnum Int
54 = SparcInsn
SparcInsFandnot1
toEnum Int
55 = SparcInsn
SparcInsFandnot1s
toEnum Int
56 = SparcInsn
SparcInsFandnot2
toEnum Int
57 = SparcInsn
SparcInsFandnot2s
toEnum Int
58 = SparcInsn
SparcInsFands
toEnum Int
59 = SparcInsn
SparcInsFchksm16
toEnum Int
60 = SparcInsn
SparcInsFcmpd
toEnum Int
61 = SparcInsn
SparcInsFcmpeq16
toEnum Int
62 = SparcInsn
SparcInsFcmpeq32
toEnum Int
63 = SparcInsn
SparcInsFcmpgt16
toEnum Int
64 = SparcInsn
SparcInsFcmpgt32
toEnum Int
65 = SparcInsn
SparcInsFcmple16
toEnum Int
66 = SparcInsn
SparcInsFcmple32
toEnum Int
67 = SparcInsn
SparcInsFcmpne16
toEnum Int
68 = SparcInsn
SparcInsFcmpne32
toEnum Int
69 = SparcInsn
SparcInsFcmpq
toEnum Int
70 = SparcInsn
SparcInsFcmps
toEnum Int
71 = SparcInsn
SparcInsFdivd
toEnum Int
72 = SparcInsn
SparcInsFdivq
toEnum Int
73 = SparcInsn
SparcInsFdivs
toEnum Int
74 = SparcInsn
SparcInsFdmulq
toEnum Int
75 = SparcInsn
SparcInsFdtoi
toEnum Int
76 = SparcInsn
SparcInsFdtoq
toEnum Int
77 = SparcInsn
SparcInsFdtos
toEnum Int
78 = SparcInsn
SparcInsFdtox
toEnum Int
79 = SparcInsn
SparcInsFexpand
toEnum Int
80 = SparcInsn
SparcInsFhaddd
toEnum Int
81 = SparcInsn
SparcInsFhadds
toEnum Int
82 = SparcInsn
SparcInsFhsubd
toEnum Int
83 = SparcInsn
SparcInsFhsubs
toEnum Int
84 = SparcInsn
SparcInsFitod
toEnum Int
85 = SparcInsn
SparcInsFitoq
toEnum Int
86 = SparcInsn
SparcInsFitos
toEnum Int
87 = SparcInsn
SparcInsFlcmpd
toEnum Int
88 = SparcInsn
SparcInsFlcmps
toEnum Int
89 = SparcInsn
SparcInsFlushw
toEnum Int
90 = SparcInsn
SparcInsFmean16
toEnum Int
91 = SparcInsn
SparcInsFmovd
toEnum Int
92 = SparcInsn
SparcInsFmovq
toEnum Int
93 = SparcInsn
SparcInsFmovrdgez
toEnum Int
94 = SparcInsn
SparcInsFmovrqgez
toEnum Int
95 = SparcInsn
SparcInsFmovrsgez
toEnum Int
96 = SparcInsn
SparcInsFmovrdgz
toEnum Int
97 = SparcInsn
SparcInsFmovrqgz
toEnum Int
98 = SparcInsn
SparcInsFmovrsgz
toEnum Int
99 = SparcInsn
SparcInsFmovrdlez
toEnum Int
100 = SparcInsn
SparcInsFmovrqlez
toEnum Int
101 = SparcInsn
SparcInsFmovrslez
toEnum Int
102 = SparcInsn
SparcInsFmovrdlz
toEnum Int
103 = SparcInsn
SparcInsFmovrqlz
toEnum Int
104 = SparcInsn
SparcInsFmovrslz
toEnum Int
105 = SparcInsn
SparcInsFmovrdnz
toEnum Int
106 = SparcInsn
SparcInsFmovrqnz
toEnum Int
107 = SparcInsn
SparcInsFmovrsnz
toEnum Int
108 = SparcInsn
SparcInsFmovrdz
toEnum Int
109 = SparcInsn
SparcInsFmovrqz
toEnum Int
110 = SparcInsn
SparcInsFmovrsz
toEnum Int
111 = SparcInsn
SparcInsFmovs
toEnum Int
112 = SparcInsn
SparcInsFmul8sux16
toEnum Int
113 = SparcInsn
SparcInsFmul8ulx16
toEnum Int
114 = SparcInsn
SparcInsFmul8x16
toEnum Int
115 = SparcInsn
SparcInsFmul8x16al
toEnum Int
116 = SparcInsn
SparcInsFmul8x16au
toEnum Int
117 = SparcInsn
SparcInsFmuld
toEnum Int
118 = SparcInsn
SparcInsFmuld8sux16
toEnum Int
119 = SparcInsn
SparcInsFmuld8ulx16
toEnum Int
120 = SparcInsn
SparcInsFmulq
toEnum Int
121 = SparcInsn
SparcInsFmuls
toEnum Int
122 = SparcInsn
SparcInsFnaddd
toEnum Int
123 = SparcInsn
SparcInsFnadds
toEnum Int
124 = SparcInsn
SparcInsFnand
toEnum Int
125 = SparcInsn
SparcInsFnands
toEnum Int
126 = SparcInsn
SparcInsFnegd
toEnum Int
127 = SparcInsn
SparcInsFnegq
toEnum Int
128 = SparcInsn
SparcInsFnegs
toEnum Int
129 = SparcInsn
SparcInsFnhaddd
toEnum Int
130 = SparcInsn
SparcInsFnhadds
toEnum Int
131 = SparcInsn
SparcInsFnor
toEnum Int
132 = SparcInsn
SparcInsFnors
toEnum Int
133 = SparcInsn
SparcInsFnot1
toEnum Int
134 = SparcInsn
SparcInsFnot1s
toEnum Int
135 = SparcInsn
SparcInsFnot2
toEnum Int
136 = SparcInsn
SparcInsFnot2s
toEnum Int
137 = SparcInsn
SparcInsFone
toEnum Int
138 = SparcInsn
SparcInsFones
toEnum Int
139 = SparcInsn
SparcInsFor
toEnum Int
140 = SparcInsn
SparcInsFornot1
toEnum Int
141 = SparcInsn
SparcInsFornot1s
toEnum Int
142 = SparcInsn
SparcInsFornot2
toEnum Int
143 = SparcInsn
SparcInsFornot2s
toEnum Int
144 = SparcInsn
SparcInsFors
toEnum Int
145 = SparcInsn
SparcInsFpack16
toEnum Int
146 = SparcInsn
SparcInsFpack32
toEnum Int
147 = SparcInsn
SparcInsFpackfix
toEnum Int
148 = SparcInsn
SparcInsFpadd16
toEnum Int
149 = SparcInsn
SparcInsFpadd16s
toEnum Int
150 = SparcInsn
SparcInsFpadd32
toEnum Int
151 = SparcInsn
SparcInsFpadd32s
toEnum Int
152 = SparcInsn
SparcInsFpadd64
toEnum Int
153 = SparcInsn
SparcInsFpmerge
toEnum Int
154 = SparcInsn
SparcInsFpsub16
toEnum Int
155 = SparcInsn
SparcInsFpsub16s
toEnum Int
156 = SparcInsn
SparcInsFpsub32
toEnum Int
157 = SparcInsn
SparcInsFpsub32s
toEnum Int
158 = SparcInsn
SparcInsFqtod
toEnum Int
159 = SparcInsn
SparcInsFqtoi
toEnum Int
160 = SparcInsn
SparcInsFqtos
toEnum Int
161 = SparcInsn
SparcInsFqtox
toEnum Int
162 = SparcInsn
SparcInsFslas16
toEnum Int
163 = SparcInsn
SparcInsFslas32
toEnum Int
164 = SparcInsn
SparcInsFsll16
toEnum Int
165 = SparcInsn
SparcInsFsll32
toEnum Int
166 = SparcInsn
SparcInsFsmuld
toEnum Int
167 = SparcInsn
SparcInsFsqrtd
toEnum Int
168 = SparcInsn
SparcInsFsqrtq
toEnum Int
169 = SparcInsn
SparcInsFsqrts
toEnum Int
170 = SparcInsn
SparcInsFsra16
toEnum Int
171 = SparcInsn
SparcInsFsra32
toEnum Int
172 = SparcInsn
SparcInsFsrc1
toEnum Int
173 = SparcInsn
SparcInsFsrc1s
toEnum Int
174 = SparcInsn
SparcInsFsrc2
toEnum Int
175 = SparcInsn
SparcInsFsrc2s
toEnum Int
176 = SparcInsn
SparcInsFsrl16
toEnum Int
177 = SparcInsn
SparcInsFsrl32
toEnum Int
178 = SparcInsn
SparcInsFstod
toEnum Int
179 = SparcInsn
SparcInsFstoi
toEnum Int
180 = SparcInsn
SparcInsFstoq
toEnum Int
181 = SparcInsn
SparcInsFstox
toEnum Int
182 = SparcInsn
SparcInsFsubd
toEnum Int
183 = SparcInsn
SparcInsFsubq
toEnum Int
184 = SparcInsn
SparcInsFsubs
toEnum Int
185 = SparcInsn
SparcInsFxnor
toEnum Int
186 = SparcInsn
SparcInsFxnors
toEnum Int
187 = SparcInsn
SparcInsFxor
toEnum Int
188 = SparcInsn
SparcInsFxors
toEnum Int
189 = SparcInsn
SparcInsFxtod
toEnum Int
190 = SparcInsn
SparcInsFxtoq
toEnum Int
191 = SparcInsn
SparcInsFxtos
toEnum Int
192 = SparcInsn
SparcInsFzero
toEnum Int
193 = SparcInsn
SparcInsFzeros
toEnum Int
194 = SparcInsn
SparcInsJmpl
toEnum Int
195 = SparcInsn
SparcInsLdd
toEnum Int
196 = SparcInsn
SparcInsLd
toEnum Int
197 = SparcInsn
SparcInsLdq
toEnum Int
198 = SparcInsn
SparcInsLdsb
toEnum Int
199 = SparcInsn
SparcInsLdsh
toEnum Int
200 = SparcInsn
SparcInsLdsw
toEnum Int
201 = SparcInsn
SparcInsLdub
toEnum Int
202 = SparcInsn
SparcInsLduh
toEnum Int
203 = SparcInsn
SparcInsLdx
toEnum Int
204 = SparcInsn
SparcInsLzcnt
toEnum Int
205 = SparcInsn
SparcInsMembar
toEnum Int
206 = SparcInsn
SparcInsMovdtox
toEnum Int
207 = SparcInsn
SparcInsMov
toEnum Int
208 = SparcInsn
SparcInsMovrgez
toEnum Int
209 = SparcInsn
SparcInsMovrgz
toEnum Int
210 = SparcInsn
SparcInsMovrlez
toEnum Int
211 = SparcInsn
SparcInsMovrlz
toEnum Int
212 = SparcInsn
SparcInsMovrnz
toEnum Int
213 = SparcInsn
SparcInsMovrz
toEnum Int
214 = SparcInsn
SparcInsMovstosw
toEnum Int
215 = SparcInsn
SparcInsMovstouw
toEnum Int
216 = SparcInsn
SparcInsMulx
toEnum Int
217 = SparcInsn
SparcInsNop
toEnum Int
218 = SparcInsn
SparcInsOrcc
toEnum Int
219 = SparcInsn
SparcInsOrncc
toEnum Int
220 = SparcInsn
SparcInsOrn
toEnum Int
221 = SparcInsn
SparcInsOr
toEnum Int
222 = SparcInsn
SparcInsPdist
toEnum Int
223 = SparcInsn
SparcInsPdistn
toEnum Int
224 = SparcInsn
SparcInsPopc
toEnum Int
225 = SparcInsn
SparcInsRd
toEnum Int
226 = SparcInsn
SparcInsRestore
toEnum Int
227 = SparcInsn
SparcInsRett
toEnum Int
228 = SparcInsn
SparcInsSave
toEnum Int
229 = SparcInsn
SparcInsSdivcc
toEnum Int
230 = SparcInsn
SparcInsSdivx
toEnum Int
231 = SparcInsn
SparcInsSdiv
toEnum Int
232 = SparcInsn
SparcInsSethi
toEnum Int
233 = SparcInsn
SparcInsShutdown
toEnum Int
234 = SparcInsn
SparcInsSiam
toEnum Int
235 = SparcInsn
SparcInsSllx
toEnum Int
236 = SparcInsn
SparcInsSll
toEnum Int
237 = SparcInsn
SparcInsSmulcc
toEnum Int
238 = SparcInsn
SparcInsSmul
toEnum Int
239 = SparcInsn
SparcInsSrax
toEnum Int
240 = SparcInsn
SparcInsSra
toEnum Int
241 = SparcInsn
SparcInsSrlx
toEnum Int
242 = SparcInsn
SparcInsSrl
toEnum Int
243 = SparcInsn
SparcInsStbar
toEnum Int
244 = SparcInsn
SparcInsStb
toEnum Int
245 = SparcInsn
SparcInsStd
toEnum Int
246 = SparcInsn
SparcInsSt
toEnum Int
247 = SparcInsn
SparcInsSth
toEnum Int
248 = SparcInsn
SparcInsStq
toEnum Int
249 = SparcInsn
SparcInsStx
toEnum Int
250 = SparcInsn
SparcInsSubcc
toEnum Int
251 = SparcInsn
SparcInsSubx
toEnum Int
252 = SparcInsn
SparcInsSubxcc
toEnum Int
253 = SparcInsn
SparcInsSub
toEnum Int
254 = SparcInsn
SparcInsSwap
toEnum Int
255 = SparcInsn
SparcInsTaddcctv
toEnum Int
256 = SparcInsn
SparcInsTaddcc
toEnum Int
257 = SparcInsn
SparcInsT
toEnum Int
258 = SparcInsn
SparcInsTsubcctv
toEnum Int
259 = SparcInsn
SparcInsTsubcc
toEnum Int
260 = SparcInsn
SparcInsUdivcc
toEnum Int
261 = SparcInsn
SparcInsUdivx
toEnum Int
262 = SparcInsn
SparcInsUdiv
toEnum Int
263 = SparcInsn
SparcInsUmulcc
toEnum Int
264 = SparcInsn
SparcInsUmulxhi
toEnum Int
265 = SparcInsn
SparcInsUmul
toEnum Int
266 = SparcInsn
SparcInsUnimp
toEnum Int
267 = SparcInsn
SparcInsFcmped
toEnum Int
268 = SparcInsn
SparcInsFcmpeq
toEnum Int
269 = SparcInsn
SparcInsFcmpes
toEnum Int
270 = SparcInsn
SparcInsWr
toEnum Int
271 = SparcInsn
SparcInsXmulx
toEnum Int
272 = SparcInsn
SparcInsXmulxhi
toEnum Int
273 = SparcInsn
SparcInsXnorcc
toEnum Int
274 = SparcInsn
SparcInsXnor
toEnum Int
275 = SparcInsn
SparcInsXorcc
toEnum Int
276 = SparcInsn
SparcInsXor
toEnum Int
277 = SparcInsn
SparcInsRet
toEnum Int
278 = SparcInsn
SparcInsRetl
toEnum Int
279 = SparcInsn
SparcInsEnding
toEnum Int
unmatched = String -> SparcInsn
forall a. HasCallStack => String -> a
error (String
"SparcInsn.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)
{-# LINE 128 "src/Hapstone/Internal/Sparc.chs" #-}
data SparcInsnGroup = SparcGrpInvalid
| SparcGrpJump
| SparcGrpHardquad
| SparcGrpV9
| SparcGrpVis
| SparcGrpVis2
| SparcGrpVis3
| SparcGrp32bit
| SparcGrp64bit
| SparcGrpEnding
deriving (Show,Eq,Bounded)
instance Enum SparcInsnGroup where
succ SparcGrpInvalid = SparcGrpJump
succ SparcGrpJump = SparcGrpHardquad
succ SparcGrpHardquad = SparcGrpV9
succ SparcGrpV9 = SparcGrpVis
succ SparcGrpVis = SparcGrpVis2
succ SparcGrpVis2 = SparcGrpVis3
succ SparcGrpVis3 = SparcGrp32bit
succ SparcGrp32bit = SparcGrp64bit
succ SparcGrp64bit = SparcGrpEnding
succ SparcGrpEnding = error "SparcInsnGroup.succ: SparcGrpEnding has no successor"
pred SparcGrpJump = SparcGrpInvalid
pred SparcGrpHardquad = SparcGrpJump
pred SparcGrpV9 = SparcGrpHardquad
pred SparcGrpVis = SparcGrpV9
pred SparcGrpVis2 = SparcGrpVis
pred SparcGrpVis3 = SparcGrpVis2
pred SparcGrp32bit = SparcGrpVis3
pred SparcGrp64bit = SparcGrp32bit
pred SparcGrpEnding = SparcGrp64bit
pred SparcGrpInvalid = error "SparcInsnGroup.pred: SparcGrpInvalid 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 SparcGrpEnding
fromEnum SparcGrpInvalid = 0
fromEnum SparcGrpJump = 1
fromEnum SparcGrpHardquad = 128
fromEnum SparcGrpV9 = 129
fromEnum SparcGrpVis = 130
fromEnum SparcGrpVis2 = 131
fromEnum SparcGrpVis3 = 132
fromEnum SparcGrp32bit = 133
fromEnum SparcGrp64bit = 134
fromEnum SparcGrpEnding = 135
toEnum 0 = SparcGrpInvalid
toEnum 1 = SparcGrpJump
toEnum 128 = SparcGrpHardquad
toEnum 129 = SparcGrpV9
toEnum 130 = SparcGrpVis
toEnum 131 = SparcGrpVis2
toEnum 132 = SparcGrpVis3
toEnum 133 = SparcGrp32bit
toEnum 134 = SparcGrp64bit
toEnum 135 = SparcGrpEnding
toEnum unmatched = error ("SparcInsnGroup.toEnum: Cannot match " ++ show unmatched)
{-# LINE 131 "src/Hapstone/Internal/Sparc.chs" #-}