-- GENERATED by C->Haskell Compiler, version 0.28.8 Switcheroo, 25 November 2017 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "src/Hapstone/Internal/Mips.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-|
Module      : Hapstone.Internal.Mips
Description : MIPS architecture header ported using C2HS + some boilerplate
Copyright   : (c) Inokentiy Babushkin, 2016
License     : BSD3
Maintainer  : Inokentiy Babushkin <inokentiy.babushkin@googlemail.com>
Stability   : experimental

This module contains MIPS specific datatypes and their respective Storable
instances. Most of the types are used internally and can be looked up here.
Some of them are currently unused, as the headers only define them as symbolic
constants whose type is never used explicitly, which poses a problem for a
memory-safe port to the Haskell language, this is about to get fixed in a
future version.

Apart from that, because the module is generated using C2HS, some of the
documentation is misplaced or rendered incorrectly, so if in doubt, read the
source file.
-}
module Hapstone.Internal.Mips where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Storable as C2HSImp






{-# LINE 25 "src/Hapstone/Internal/Mips.chs" #-}


import Foreign
import Foreign.C.Types

-- | operand type for instruction's operands
data MipsOpType = MipsOpInvalid
                | MipsOpReg
                | MipsOpImm
                | MipsOpMem
  deriving (Int -> MipsOpType -> ShowS
[MipsOpType] -> ShowS
MipsOpType -> String
(Int -> MipsOpType -> ShowS)
-> (MipsOpType -> String)
-> ([MipsOpType] -> ShowS)
-> Show MipsOpType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MipsOpType] -> ShowS
$cshowList :: [MipsOpType] -> ShowS
show :: MipsOpType -> String
$cshow :: MipsOpType -> String
showsPrec :: Int -> MipsOpType -> ShowS
$cshowsPrec :: Int -> MipsOpType -> ShowS
Show,MipsOpType -> MipsOpType -> Bool
(MipsOpType -> MipsOpType -> Bool)
-> (MipsOpType -> MipsOpType -> Bool) -> Eq MipsOpType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MipsOpType -> MipsOpType -> Bool
$c/= :: MipsOpType -> MipsOpType -> Bool
== :: MipsOpType -> MipsOpType -> Bool
$c== :: MipsOpType -> MipsOpType -> Bool
Eq,MipsOpType
MipsOpType -> MipsOpType -> Bounded MipsOpType
forall a. a -> a -> Bounded a
maxBound :: MipsOpType
$cmaxBound :: MipsOpType
minBound :: MipsOpType
$cminBound :: MipsOpType
Bounded)
instance Enum MipsOpType where
  succ :: MipsOpType -> MipsOpType
succ MipsOpType
MipsOpInvalid = MipsOpType
MipsOpReg
  succ MipsOpType
MipsOpReg = MipsOpType
MipsOpImm
  succ MipsOpType
MipsOpImm = MipsOpType
MipsOpMem
  succ MipsOpType
MipsOpMem = String -> MipsOpType
forall a. HasCallStack => String -> a
error String
"MipsOpType.succ: MipsOpMem has no successor"

  pred :: MipsOpType -> MipsOpType
pred MipsOpType
MipsOpReg = MipsOpType
MipsOpInvalid
  pred MipsOpType
MipsOpImm = MipsOpType
MipsOpReg
  pred MipsOpType
MipsOpMem = MipsOpType
MipsOpImm
  pred MipsOpType
MipsOpInvalid = String -> MipsOpType
forall a. HasCallStack => String -> a
error String
"MipsOpType.pred: MipsOpInvalid has no predecessor"

  enumFromTo :: MipsOpType -> MipsOpType -> [MipsOpType]
enumFromTo MipsOpType
from MipsOpType
to = MipsOpType -> [MipsOpType]
forall t. Enum t => t -> [t]
go MipsOpType
from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) 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 :: MipsOpType -> [MipsOpType]
enumFrom MipsOpType
from = MipsOpType -> MipsOpType -> [MipsOpType]
forall a. Enum a => a -> a -> [a]
enumFromTo MipsOpType
from MipsOpType
MipsOpMem

  fromEnum MipsOpInvalid = 0
  fromEnum MipsOpReg = 1
  fromEnum MipsOpImm = 2
  fromEnum MipsOpMem = 3

  toEnum :: Int -> MipsOpType
toEnum Int
0 = MipsOpType
MipsOpInvalid
  toEnum Int
1 = MipsOpType
MipsOpReg
  toEnum 2 = MipsOpType
MipsOpImm
  toEnum 3 = MipsOpType
MipsOpMem
  toEnum Int
unmatched = String -> MipsOpType
forall a. HasCallStack => String -> a
error (String
"MipsOpType.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)

{-# LINE 32 "src/Hapstone/Internal/Mips.chs" #-}


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

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

  fromEnum :: MipsReg -> Int
fromEnum MipsReg
MipsRegInvalid = Int
0
  fromEnum MipsReg
MipsRegPc = Int
1
  fromEnum MipsReg
MipsReg0 = Int
2
  fromEnum MipsReg
MipsRegZero = Int
2
  fromEnum MipsReg
MipsReg1 = Int
3
  fromEnum MipsReg
MipsRegAt = Int
3
  fromEnum MipsReg
MipsReg2 = Int
4
  fromEnum MipsReg
MipsRegV0 = Int
4
  fromEnum MipsReg
MipsReg3 = Int
5
  fromEnum MipsReg
MipsRegV1 = Int
5
  fromEnum MipsReg
MipsReg4 = Int
6
  fromEnum MipsReg
MipsRegA0 = Int
6
  fromEnum MipsReg
MipsReg5 = Int
7
  fromEnum MipsReg
MipsRegA1 = Int
7
  fromEnum MipsReg
MipsReg6 = Int
8
  fromEnum MipsReg
MipsRegA2 = Int
8
  fromEnum MipsReg
MipsReg7 = Int
9
  fromEnum MipsReg
MipsRegA3 = Int
9
  fromEnum MipsReg
MipsReg8 = Int
10
  fromEnum MipsReg
MipsRegT0 = Int
10
  fromEnum MipsReg
MipsReg9 = Int
11
  fromEnum MipsReg
MipsRegT1 = Int
11
  fromEnum MipsReg
MipsReg10 = Int
12
  fromEnum MipsReg
MipsRegT2 = Int
12
  fromEnum MipsReg
MipsReg11 = Int
13
  fromEnum MipsReg
MipsRegT3 = Int
13
  fromEnum MipsReg
MipsReg12 = Int
14
  fromEnum MipsReg
MipsRegT4 = Int
14
  fromEnum MipsReg
MipsReg13 = Int
15
  fromEnum MipsReg
MipsRegT5 = Int
15
  fromEnum MipsReg
MipsReg14 = Int
16
  fromEnum MipsReg
MipsRegT6 = Int
16
  fromEnum MipsReg
MipsReg15 = Int
17
  fromEnum MipsReg
MipsRegT7 = Int
17
  fromEnum MipsReg
MipsReg16 = Int
18
  fromEnum MipsReg
MipsRegS0 = Int
18
  fromEnum MipsReg
MipsReg17 = Int
19
  fromEnum MipsReg
MipsRegS1 = Int
19
  fromEnum MipsReg
MipsReg18 = Int
20
  fromEnum MipsReg
MipsRegS2 = Int
20
  fromEnum MipsReg
MipsReg19 = Int
21
  fromEnum MipsReg
MipsRegS3 = Int
21
  fromEnum MipsReg
MipsReg20 = Int
22
  fromEnum MipsReg
MipsRegS4 = Int
22
  fromEnum MipsReg
MipsReg21 = Int
23
  fromEnum MipsReg
MipsRegS5 = Int
23
  fromEnum MipsReg
MipsReg22 = Int
24
  fromEnum MipsReg
MipsRegS6 = Int
24
  fromEnum MipsReg
MipsReg23 = Int
25
  fromEnum MipsReg
MipsRegS7 = Int
25
  fromEnum MipsReg
MipsReg24 = Int
26
  fromEnum MipsReg
MipsRegT8 = Int
26
  fromEnum MipsReg
MipsReg25 = Int
27
  fromEnum MipsReg
MipsRegT9 = Int
27
  fromEnum MipsReg
MipsReg26 = Int
28
  fromEnum MipsReg
MipsRegK0 = Int
28
  fromEnum MipsReg
MipsReg27 = Int
29
  fromEnum MipsReg
MipsRegK1 = Int
29
  fromEnum MipsReg
MipsReg28 = Int
30
  fromEnum MipsReg
MipsRegGp = Int
30
  fromEnum MipsReg
MipsReg29 = Int
31
  fromEnum MipsReg
MipsRegSp = Int
31
  fromEnum MipsReg
MipsReg30 = Int
32
  fromEnum MipsReg
MipsRegFp = Int
32
  fromEnum MipsReg
MipsRegS8 = Int
32
  fromEnum MipsReg
MipsReg31 = Int
33
  fromEnum MipsReg
MipsRegRa = Int
33
  fromEnum MipsReg
MipsRegDspccond = Int
34
  fromEnum MipsReg
MipsRegDspcarry = Int
35
  fromEnum MipsReg
MipsRegDspefi = Int
36
  fromEnum MipsReg
MipsRegDspoutflag = Int
37
  fromEnum MipsReg
MipsRegDspoutflag1619 = Int
38
  fromEnum MipsReg
MipsRegDspoutflag20 = Int
39
  fromEnum MipsReg
MipsRegDspoutflag21 = Int
40
  fromEnum MipsReg
MipsRegDspoutflag22 = Int
41
  fromEnum MipsReg
MipsRegDspoutflag23 = Int
42
  fromEnum MipsReg
MipsRegDsppos = Int
43
  fromEnum MipsReg
MipsRegDspscount = Int
44
  fromEnum MipsReg
MipsRegAc0 = Int
45
  fromEnum MipsReg
MipsRegHi0 = Int
45
  fromEnum MipsReg
MipsRegLo0 = Int
45
  fromEnum MipsReg
MipsRegAc1 = Int
46
  fromEnum MipsReg
MipsRegHi1 = Int
46
  fromEnum MipsReg
MipsRegLo1 = Int
46
  fromEnum MipsReg
MipsRegAc2 = Int
47
  fromEnum MipsReg
MipsRegHi2 = Int
47
  fromEnum MipsReg
MipsRegLo2 = Int
47
  fromEnum MipsReg
MipsRegAc3 = Int
48
  fromEnum MipsReg
MipsRegHi3 = Int
48
  fromEnum MipsReg
MipsRegLo3 = Int
48
  fromEnum MipsReg
MipsRegCc0 = Int
49
  fromEnum MipsReg
MipsRegCc1 = Int
50
  fromEnum MipsReg
MipsRegCc2 = Int
51
  fromEnum MipsReg
MipsRegCc3 = Int
52
  fromEnum MipsReg
MipsRegCc4 = Int
53
  fromEnum MipsReg
MipsRegCc5 = Int
54
  fromEnum MipsReg
MipsRegCc6 = Int
55
  fromEnum MipsReg
MipsRegCc7 = Int
56
  fromEnum MipsReg
MipsRegF0 = Int
57
  fromEnum MipsReg
MipsRegF1 = Int
58
  fromEnum MipsReg
MipsRegF2 = Int
59
  fromEnum MipsReg
MipsRegF3 = Int
60
  fromEnum MipsReg
MipsRegF4 = Int
61
  fromEnum MipsReg
MipsRegF5 = Int
62
  fromEnum MipsReg
MipsRegF6 = Int
63
  fromEnum MipsReg
MipsRegF7 = Int
64
  fromEnum MipsReg
MipsRegF8 = Int
65
  fromEnum MipsReg
MipsRegF9 = Int
66
  fromEnum MipsReg
MipsRegF10 = Int
67
  fromEnum MipsReg
MipsRegF11 = Int
68
  fromEnum MipsReg
MipsRegF12 = Int
69
  fromEnum MipsReg
MipsRegF13 = Int
70
  fromEnum MipsReg
MipsRegF14 = Int
71
  fromEnum MipsReg
MipsRegF15 = Int
72
  fromEnum MipsReg
MipsRegF16 = Int
73
  fromEnum MipsReg
MipsRegF17 = Int
74
  fromEnum MipsReg
MipsRegF18 = Int
75
  fromEnum MipsReg
MipsRegF19 = Int
76
  fromEnum MipsReg
MipsRegF20 = Int
77
  fromEnum MipsReg
MipsRegF21 = Int
78
  fromEnum MipsReg
MipsRegF22 = Int
79
  fromEnum MipsReg
MipsRegF23 = Int
80
  fromEnum MipsReg
MipsRegF24 = Int
81
  fromEnum MipsReg
MipsRegF25 = Int
82
  fromEnum MipsReg
MipsRegF26 = Int
83
  fromEnum MipsReg
MipsRegF27 = Int
84
  fromEnum MipsReg
MipsRegF28 = Int
85
  fromEnum MipsReg
MipsRegF29 = Int
86
  fromEnum MipsReg
MipsRegF30 = Int
87
  fromEnum MipsReg
MipsRegF31 = Int
88
  fromEnum MipsReg
MipsRegFcc0 = Int
89
  fromEnum MipsReg
MipsRegFcc1 = Int
90
  fromEnum MipsReg
MipsRegFcc2 = Int
91
  fromEnum MipsReg
MipsRegFcc3 = Int
92
  fromEnum MipsReg
MipsRegFcc4 = Int
93
  fromEnum MipsReg
MipsRegFcc5 = Int
94
  fromEnum MipsReg
MipsRegFcc6 = Int
95
  fromEnum MipsReg
MipsRegFcc7 = Int
96
  fromEnum MipsReg
MipsRegW0 = Int
97
  fromEnum MipsReg
MipsRegW1 = Int
98
  fromEnum MipsReg
MipsRegW2 = Int
99
  fromEnum MipsReg
MipsRegW3 = Int
100
  fromEnum MipsReg
MipsRegW4 = Int
101
  fromEnum MipsReg
MipsRegW5 = Int
102
  fromEnum MipsReg
MipsRegW6 = Int
103
  fromEnum MipsReg
MipsRegW7 = Int
104
  fromEnum MipsReg
MipsRegW8 = Int
105
  fromEnum MipsReg
MipsRegW9 = Int
106
  fromEnum MipsReg
MipsRegW10 = Int
107
  fromEnum MipsReg
MipsRegW11 = Int
108
  fromEnum MipsReg
MipsRegW12 = Int
109
  fromEnum MipsReg
MipsRegW13 = Int
110
  fromEnum MipsReg
MipsRegW14 = Int
111
  fromEnum MipsRegW15 = Int
112
  fromEnum MipsReg
MipsRegW16 = Int
113
  fromEnum MipsReg
MipsRegW17 = Int
114
  fromEnum MipsReg
MipsRegW18 = Int
115
  fromEnum MipsReg
MipsRegW19 = Int
116
  fromEnum MipsReg
MipsRegW20 = Int
117
  fromEnum MipsReg
MipsRegW21 = Int
118
  fromEnum MipsReg
MipsRegW22 = Int
119
  fromEnum MipsReg
MipsRegW23 = Int
120
  fromEnum MipsReg
MipsRegW24 = Int
121
  fromEnum MipsReg
MipsRegW25 = Int
122
  fromEnum MipsReg
MipsRegW26 = Int
123
  fromEnum MipsReg
MipsRegW27 = Int
124
  fromEnum MipsReg
MipsRegW28 = Int
125
  fromEnum MipsReg
MipsRegW29 = Int
126
  fromEnum MipsReg
MipsRegW30 = Int
127
  fromEnum MipsReg
MipsRegW31 = Int
128
  fromEnum MipsReg
MipsRegHi = Int
129
  fromEnum MipsReg
MipsRegLo = Int
130
  fromEnum MipsReg
MipsRegP0 = Int
131
  fromEnum MipsReg
MipsRegP1 = Int
132
  fromEnum MipsReg
MipsRegP2 = Int
133
  fromEnum MipsReg
MipsRegMpl0 = Int
134
  fromEnum MipsReg
MipsRegMpl1 = Int
135
  fromEnum MipsReg
MipsRegMpl2 = Int
136
  fromEnum MipsReg
MipsRegEnding = Int
137

  toEnum :: Int -> MipsReg
toEnum Int
0 = MipsReg
MipsRegInvalid
  toEnum Int
1 = MipsReg
MipsRegPc
  toEnum Int
2 = MipsReg
MipsReg0
  toEnum Int
3 = MipsReg
MipsReg1
  toEnum Int
4 = MipsReg
MipsReg2
  toEnum Int
5 = MipsReg
MipsReg3
  toEnum Int
6 = MipsReg
MipsReg4
  toEnum Int
7 = MipsReg
MipsReg5
  toEnum Int
8 = MipsReg
MipsReg6
  toEnum Int
9 = MipsReg
MipsReg7
  toEnum Int
10 = MipsReg
MipsReg8
  toEnum Int
11 = MipsReg
MipsReg9
  toEnum Int
12 = MipsReg
MipsReg10
  toEnum Int
13 = MipsReg
MipsReg11
  toEnum Int
14 = MipsReg
MipsReg12
  toEnum Int
15 = MipsReg
MipsReg13
  toEnum Int
16 = MipsReg
MipsReg14
  toEnum Int
17 = MipsReg
MipsReg15
  toEnum Int
18 = MipsReg
MipsReg16
  toEnum Int
19 = MipsReg
MipsReg17
  toEnum Int
20 = MipsReg
MipsReg18
  toEnum Int
21 = MipsReg
MipsReg19
  toEnum Int
22 = MipsReg
MipsReg20
  toEnum Int
23 = MipsReg
MipsReg21
  toEnum Int
24 = MipsReg
MipsReg22
  toEnum Int
25 = MipsReg
MipsReg23
  toEnum Int
26 = MipsReg
MipsReg24
  toEnum Int
27 = MipsReg
MipsReg25
  toEnum Int
28 = MipsReg
MipsReg26
  toEnum Int
29 = MipsReg
MipsReg27
  toEnum Int
30 = MipsReg
MipsReg28
  toEnum Int
31 = MipsReg
MipsReg29
  toEnum Int
32 = MipsReg
MipsReg30
  toEnum Int
33 = MipsReg
MipsReg31
  toEnum Int
34 = MipsReg
MipsRegDspccond
  toEnum Int
35 = MipsReg
MipsRegDspcarry
  toEnum Int
36 = MipsReg
MipsRegDspefi
  toEnum Int
37 = MipsReg
MipsRegDspoutflag
  toEnum Int
38 = MipsReg
MipsRegDspoutflag1619
  toEnum Int
39 = MipsReg
MipsRegDspoutflag20
  toEnum Int
40 = MipsReg
MipsRegDspoutflag21
  toEnum Int
41 = MipsReg
MipsRegDspoutflag22
  toEnum Int
42 = MipsReg
MipsRegDspoutflag23
  toEnum Int
43 = MipsReg
MipsRegDsppos
  toEnum Int
44 = MipsReg
MipsRegDspscount
  toEnum Int
45 = MipsReg
MipsRegAc0
  toEnum Int
46 = MipsReg
MipsRegAc1
  toEnum Int
47 = MipsReg
MipsRegAc2
  toEnum Int
48 = MipsReg
MipsRegAc3
  toEnum Int
49 = MipsReg
MipsRegCc0
  toEnum Int
50 = MipsReg
MipsRegCc1
  toEnum Int
51 = MipsReg
MipsRegCc2
  toEnum Int
52 = MipsReg
MipsRegCc3
  toEnum Int
53 = MipsReg
MipsRegCc4
  toEnum Int
54 = MipsReg
MipsRegCc5
  toEnum Int
55 = MipsReg
MipsRegCc6
  toEnum Int
56 = MipsReg
MipsRegCc7
  toEnum Int
57 = MipsReg
MipsRegF0
  toEnum Int
58 = MipsReg
MipsRegF1
  toEnum Int
59 = MipsReg
MipsRegF2
  toEnum Int
60 = MipsReg
MipsRegF3
  toEnum Int
61 = MipsReg
MipsRegF4
  toEnum Int
62 = MipsReg
MipsRegF5
  toEnum Int
63 = MipsReg
MipsRegF6
  toEnum Int
64 = MipsReg
MipsRegF7
  toEnum Int
65 = MipsReg
MipsRegF8
  toEnum Int
66 = MipsReg
MipsRegF9
  toEnum Int
67 = MipsReg
MipsRegF10
  toEnum Int
68 = MipsReg
MipsRegF11
  toEnum Int
69 = MipsReg
MipsRegF12
  toEnum Int
70 = MipsReg
MipsRegF13
  toEnum Int
71 = MipsReg
MipsRegF14
  toEnum Int
72 = MipsReg
MipsRegF15
  toEnum Int
73 = MipsReg
MipsRegF16
  toEnum Int
74 = MipsReg
MipsRegF17
  toEnum Int
75 = MipsReg
MipsRegF18
  toEnum Int
76 = MipsReg
MipsRegF19
  toEnum Int
77 = MipsReg
MipsRegF20
  toEnum Int
78 = MipsReg
MipsRegF21
  toEnum Int
79 = MipsReg
MipsRegF22
  toEnum Int
80 = MipsReg
MipsRegF23
  toEnum Int
81 = MipsReg
MipsRegF24
  toEnum Int
82 = MipsReg
MipsRegF25
  toEnum Int
83 = MipsReg
MipsRegF26
  toEnum Int
84 = MipsReg
MipsRegF27
  toEnum Int
85 = MipsReg
MipsRegF28
  toEnum Int
86 = MipsReg
MipsRegF29
  toEnum Int
87 = MipsReg
MipsRegF30
  toEnum Int
88 = MipsReg
MipsRegF31
  toEnum Int
89 = MipsReg
MipsRegFcc0
  toEnum Int
90 = MipsReg
MipsRegFcc1
  toEnum Int
91 = MipsReg
MipsRegFcc2
  toEnum Int
92 = MipsReg
MipsRegFcc3
  toEnum Int
93 = MipsReg
MipsRegFcc4
  toEnum Int
94 = MipsReg
MipsRegFcc5
  toEnum Int
95 = MipsReg
MipsRegFcc6
  toEnum Int
96 = MipsReg
MipsRegFcc7
  toEnum Int
97 = MipsReg
MipsRegW0
  toEnum Int
98 = MipsReg
MipsRegW1
  toEnum Int
99 = MipsReg
MipsRegW2
  toEnum Int
100 = MipsReg
MipsRegW3
  toEnum Int
101 = MipsReg
MipsRegW4
  toEnum Int
102 = MipsReg
MipsRegW5
  toEnum Int
103 = MipsReg
MipsRegW6
  toEnum Int
104 = MipsReg
MipsRegW7
  toEnum Int
105 = MipsReg
MipsRegW8
  toEnum Int
106 = MipsReg
MipsRegW9
  toEnum Int
107 = MipsReg
MipsRegW10
  toEnum Int
108 = MipsReg
MipsRegW11
  toEnum Int
109 = MipsReg
MipsRegW12
  toEnum Int
110 = MipsReg
MipsRegW13
  toEnum Int
111 = MipsReg
MipsRegW14
  toEnum Int
112 = MipsReg
MipsRegW15
  toEnum Int
113 = MipsReg
MipsRegW16
  toEnum Int
114 = MipsReg
MipsRegW17
  toEnum Int
115 = MipsReg
MipsRegW18
  toEnum Int
116 = MipsReg
MipsRegW19
  toEnum Int
117 = MipsReg
MipsRegW20
  toEnum Int
118 = MipsReg
MipsRegW21
  toEnum Int
119 = MipsReg
MipsRegW22
  toEnum Int
120 = MipsReg
MipsRegW23
  toEnum Int
121 = MipsReg
MipsRegW24
  toEnum Int
122 = MipsReg
MipsRegW25
  toEnum Int
123 = MipsReg
MipsRegW26
  toEnum Int
124 = MipsReg
MipsRegW27
  toEnum Int
125 = MipsReg
MipsRegW28
  toEnum Int
126 = MipsReg
MipsRegW29
  toEnum Int
127 = MipsReg
MipsRegW30
  toEnum Int
128 = MipsReg
MipsRegW31
  toEnum Int
129 = MipsReg
MipsRegHi
  toEnum Int
130 = MipsReg
MipsRegLo
  toEnum Int
131 = MipsReg
MipsRegP0
  toEnum Int
132 = MipsReg
MipsRegP1
  toEnum Int
133 = MipsReg
MipsRegP2
  toEnum Int
134 = MipsReg
MipsRegMpl0
  toEnum Int
135 = MipsReg
MipsRegMpl1
  toEnum Int
136 = MipsReg
MipsRegMpl2
  toEnum Int
137 = MipsReg
MipsRegEnding
  toEnum Int
unmatched = String -> MipsReg
forall a. HasCallStack => String -> a
error (String
"MipsReg.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)

{-# LINE 36 "src/Hapstone/Internal/Mips.chs" #-}


-- | memory access operands
-- associated with 'MipsOpMem' operand type
data MipsOpMemStruct = MipsOpMemStruct 
    { base :: MipsReg -- ^ base register
    , disp ::  Int64 -- ^ displacement/offset value
    } deriving (Show, Eq)

instance Storable MipsOpMemStruct where
    sizeOf _ = 16
{-# LINE 46 "src/Hapstone/Internal/Mips.chs" #-}

    alignment _ = 8
{-# LINE 47 "src/Hapstone/Internal/Mips.chs" #-}

    peek p = MipsOpMemStruct
        <$> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p)
        <*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 8 :: IO C2HSImp.CLong}) p)
    poke p (MipsOpMemStruct b d) = do
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum b)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 8 (val :: C2HSImp.CLong)}) p(fromIntegral d)

-- | instruction operand
data CsMipsOp
    = Reg Word32 -- ^ register value for 'MipsOpReg' operands
    | Imm Int64 -- ^ immediate value for 'MipsOpImm' operands
    | Mem MipsOpMemStruct -- ^ base,disp value for 'MipsOpMem' operands
    | Undefined -- ^ invalid operand value, for MipsOpInvalid operand
    deriving (Show, Eq)

instance Storable CsMipsOp where
    sizeOf _ = 24
    alignment _ = 8
    peek p = do
        t <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p
        let bP = plusPtr p 8
        case toEnum t of
          MipsOpReg -> (Reg . fromIntegral) <$> (peek bP :: IO CUInt)
          MipsOpImm -> (Imm . fromIntegral) <$> (peek bP :: IO Int64)
          MipsOpMem -> Mem <$> (peek bP :: IO MipsOpMemStruct)
          _ -> return Undefined
    poke p op = do
        let bP = plusPtr p 8
            setType = (\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p . fromIntegral . fromEnum
        case op of
          Reg r -> do
              poke bP (fromIntegral r :: CUInt)
              setType MipsOpReg
          Imm i -> do
              poke bP (fromIntegral i :: Int64)
              setType MipsOpImm
          Mem m -> do
              poke bP m
              setType MipsOpMem
          _ -> setType MipsOpInvalid

-- | instruction datatype
newtype CsMips = CsMips [CsMipsOp] -- ^ operand list for this instruction,
                                   -- *MUST* have <= 8 elements, else you'll
                                   -- get a runtime error when you (implicitly)
                                   -- try to write it to memory via it's
                                   -- Storable instance
    deriving (Show, Eq)

instance Storable CsMips where
    sizeOf _ = 200
    alignment _ = 8
    peek p = CsMips
        <$> do num <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CUChar}) p
               let ptr = plusPtr p 8
               peekArray num ptr
    poke p (CsMips o) = do
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CUChar)}) p (fromIntegral $ length o)
        if length o > 8
           then error "operands overflew 8 elements"
           else pokeArray (plusPtr p 8) o

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

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

  enumFromTo :: MipsInsn -> MipsInsn -> [MipsInsn]
enumFromTo MipsInsn
from MipsInsn
to = MipsInsn -> [MipsInsn]
forall t. Enum t => t -> [t]
go MipsInsn
from
    where
      end :: Int
end = MipsInsn -> Int
forall a. Enum a => a -> Int
fromEnum MipsInsn
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 :: MipsInsn -> [MipsInsn]
enumFrom MipsInsn
from = MipsInsn -> MipsInsn -> [MipsInsn]
forall a. Enum a => a -> a -> [a]
enumFromTo MipsInsn
from MipsInsn
MipsInsEnding

  fromEnum :: MipsInsn -> Int
fromEnum MipsInsn
MipsInsInvalid = Int
0
  fromEnum MipsInsn
MipsInsAbsqS = Int
1
  fromEnum MipsInsn
MipsInsAdd = Int
2
  fromEnum MipsInsn
MipsInsAddiupc = Int
3
  fromEnum MipsInsn
MipsInsAddiur1sp = Int
4
  fromEnum MipsInsn
MipsInsAddiur2 = Int
5
  fromEnum MipsInsn
MipsInsAddius5 = Int
6
  fromEnum MipsInsn
MipsInsAddiusp = Int
7
  fromEnum MipsInsn
MipsInsAddqh = Int
8
  fromEnum MipsInsn
MipsInsAddqhR = Int
9
  fromEnum MipsInsn
MipsInsAddq = Int
10
  fromEnum MipsInsn
MipsInsAddqS = Int
11
  fromEnum MipsInsn
MipsInsAddsc = Int
12
  fromEnum MipsInsn
MipsInsAddsA = Int
13
  fromEnum MipsInsn
MipsInsAddsS = Int
14
  fromEnum MipsInsn
MipsInsAddsU = Int
15
  fromEnum MipsInsn
MipsInsAddu16 = Int
16
  fromEnum MipsInsn
MipsInsAdduh = Int
17
  fromEnum MipsInsn
MipsInsAdduhR = Int
18
  fromEnum MipsInsn
MipsInsAddu = Int
19
  fromEnum MipsInsn
MipsInsAdduS = Int
20
  fromEnum MipsInsn
MipsInsAddvi = Int
21
  fromEnum MipsInsn
MipsInsAddv = Int
22
  fromEnum MipsInsn
MipsInsAddwc = Int
23
  fromEnum MipsInsn
MipsInsAddA = Int
24
  fromEnum MipsInsn
MipsInsAddi = Int
25
  fromEnum MipsInsn
MipsInsAddiu = Int
26
  fromEnum MipsInsn
MipsInsAlign = Int
27
  fromEnum MipsInsn
MipsInsAluipc = Int
28
  fromEnum MipsInsn
MipsInsAnd = Int
29
  fromEnum MipsInsn
MipsInsAnd16 = Int
30
  fromEnum MipsInsn
MipsInsAndi16 = Int
31
  fromEnum MipsInsn
MipsInsAndi = Int
32
  fromEnum MipsInsn
MipsInsAppend = Int
33
  fromEnum MipsInsn
MipsInsAsubS = Int
34
  fromEnum MipsInsn
MipsInsAsubU = Int
35
  fromEnum MipsInsn
MipsInsAui = Int
36
  fromEnum MipsInsn
MipsInsAuipc = Int
37
  fromEnum MipsInsn
MipsInsAverS = Int
38
  fromEnum MipsInsn
MipsInsAverU = Int
39
  fromEnum MipsInsn
MipsInsAveS = Int
40
  fromEnum MipsInsn
MipsInsAveU = Int
41
  fromEnum MipsInsn
MipsInsB16 = Int
42
  fromEnum MipsInsn
MipsInsBaddu = Int
43
  fromEnum MipsInsn
MipsInsBal = Int
44
  fromEnum MipsInsn
MipsInsBalc = Int
45
  fromEnum MipsInsn
MipsInsBalign = Int
46
  fromEnum MipsInsn
MipsInsBbit0 = Int
47
  fromEnum MipsInsn
MipsInsBbit032 = Int
48
  fromEnum MipsInsn
MipsInsBbit1 = Int
49
  fromEnum MipsInsn
MipsInsBbit132 = Int
50
  fromEnum MipsInsn
MipsInsBc = Int
51
  fromEnum MipsInsn
MipsInsBc0f = Int
52
  fromEnum MipsInsn
MipsInsBc0fl = Int
53
  fromEnum MipsInsn
MipsInsBc0t = Int
54
  fromEnum MipsInsn
MipsInsBc0tl = Int
55
  fromEnum MipsInsn
MipsInsBc1eqz = Int
56
  fromEnum MipsInsn
MipsInsBc1f = Int
57
  fromEnum MipsInsn
MipsInsBc1fl = Int
58
  fromEnum MipsInsn
MipsInsBc1nez = Int
59
  fromEnum MipsInsn
MipsInsBc1t = Int
60
  fromEnum MipsInsn
MipsInsBc1tl = Int
61
  fromEnum MipsInsn
MipsInsBc2eqz = Int
62
  fromEnum MipsInsn
MipsInsBc2f = Int
63
  fromEnum MipsInsn
MipsInsBc2fl = Int
64
  fromEnum MipsInsn
MipsInsBc2nez = Int
65
  fromEnum MipsInsn
MipsInsBc2t = Int
66
  fromEnum MipsInsn
MipsInsBc2tl = Int
67
  fromEnum MipsInsn
MipsInsBc3f = Int
68
  fromEnum MipsInsn
MipsInsBc3fl = Int
69
  fromEnum MipsInsn
MipsInsBc3t = Int
70
  fromEnum MipsInsn
MipsInsBc3tl = Int
71
  fromEnum MipsInsn
MipsInsBclri = Int
72
  fromEnum MipsInsn
MipsInsBclr = Int
73
  fromEnum MipsInsn
MipsInsBeq = Int
74
  fromEnum MipsInsn
MipsInsBeqc = Int
75
  fromEnum MipsInsn
MipsInsBeql = Int
76
  fromEnum MipsInsn
MipsInsBeqz16 = Int
77
  fromEnum MipsInsn
MipsInsBeqzalc = Int
78
  fromEnum MipsInsn
MipsInsBeqzc = Int
79
  fromEnum MipsInsn
MipsInsBgec = Int
80
  fromEnum MipsInsn
MipsInsBgeuc = Int
81
  fromEnum MipsInsn
MipsInsBgez = Int
82
  fromEnum MipsInsn
MipsInsBgezal = Int
83
  fromEnum MipsInsn
MipsInsBgezalc = Int
84
  fromEnum MipsInsn
MipsInsBgezall = Int
85
  fromEnum MipsInsn
MipsInsBgezals = Int
86
  fromEnum MipsInsn
MipsInsBgezc = Int
87
  fromEnum MipsInsn
MipsInsBgezl = Int
88
  fromEnum MipsInsn
MipsInsBgtz = Int
89
  fromEnum MipsInsn
MipsInsBgtzalc = Int
90
  fromEnum MipsInsn
MipsInsBgtzc = Int
91
  fromEnum MipsInsn
MipsInsBgtzl = Int
92
  fromEnum MipsInsn
MipsInsBinsli = Int
93
  fromEnum MipsInsn
MipsInsBinsl = Int
94
  fromEnum MipsInsn
MipsInsBinsri = Int
95
  fromEnum MipsInsn
MipsInsBinsr = Int
96
  fromEnum MipsInsn
MipsInsBitrev = Int
97
  fromEnum MipsInsn
MipsInsBitswap = Int
98
  fromEnum MipsInsn
MipsInsBlez = Int
99
  fromEnum MipsInsn
MipsInsBlezalc = Int
100
  fromEnum MipsInsn
MipsInsBlezc = Int
101
  fromEnum MipsInsn
MipsInsBlezl = Int
102
  fromEnum MipsInsn
MipsInsBltc = Int
103
  fromEnum MipsInsn
MipsInsBltuc = Int
104
  fromEnum MipsInsn
MipsInsBltz = Int
105
  fromEnum MipsInsn
MipsInsBltzal = Int
106
  fromEnum MipsInsn
MipsInsBltzalc = Int
107
  fromEnum MipsInsn
MipsInsBltzall = Int
108
  fromEnum MipsInsn
MipsInsBltzals = Int
109
  fromEnum MipsInsn
MipsInsBltzc = Int
110
  fromEnum MipsInsn
MipsInsBltzl = Int
111
  fromEnum MipsInsn
MipsInsBmnzi = Int
112
  fromEnum MipsInsn
MipsInsBmnz = Int
113
  fromEnum MipsInsn
MipsInsBmzi = Int
114
  fromEnum MipsInsn
MipsInsBmz = Int
115
  fromEnum MipsInsn
MipsInsBne = Int
116
  fromEnum MipsInsn
MipsInsBnec = Int
117
  fromEnum MipsInsn
MipsInsBnegi = Int
118
  fromEnum MipsInsn
MipsInsBneg = Int
119
  fromEnum MipsInsn
MipsInsBnel = Int
120
  fromEnum MipsInsn
MipsInsBnez16 = Int
121
  fromEnum MipsInsn
MipsInsBnezalc = Int
122
  fromEnum MipsInsn
MipsInsBnezc = Int
123
  fromEnum MipsInsn
MipsInsBnvc = Int
124
  fromEnum MipsInsn
MipsInsBnz = Int
125
  fromEnum MipsInsn
MipsInsBovc = Int
126
  fromEnum MipsInsn
MipsInsBposge32 = Int
127
  fromEnum MipsInsn
MipsInsBreak = Int
128
  fromEnum MipsInsn
MipsInsBreak16 = Int
129
  fromEnum MipsInsn
MipsInsBseli = Int
130
  fromEnum MipsInsn
MipsInsBsel = Int
131
  fromEnum MipsInsn
MipsInsBseti = Int
132
  fromEnum MipsInsn
MipsInsBset = Int
133
  fromEnum MipsInsn
MipsInsBz = Int
134
  fromEnum MipsInsn
MipsInsBeqz = Int
135
  fromEnum MipsInsn
MipsInsB = Int
136
  fromEnum MipsInsn
MipsInsBnez = Int
137
  fromEnum MipsInsn
MipsInsBteqz = Int
138
  fromEnum MipsInsn
MipsInsBtnez = Int
139
  fromEnum MipsInsn
MipsInsCache = Int
140
  fromEnum MipsInsn
MipsInsCeil = Int
141
  fromEnum MipsInsn
MipsInsCeqi = Int
142
  fromEnum MipsInsn
MipsInsCeq = Int
143
  fromEnum MipsInsn
MipsInsCfc1 = Int
144
  fromEnum MipsInsn
MipsInsCfcmsa = Int
145
  fromEnum MipsInsn
MipsInsCins = Int
146
  fromEnum MipsInsn
MipsInsCins32 = Int
147
  fromEnum MipsInsn
MipsInsClass = Int
148
  fromEnum MipsInsn
MipsInsCleiS = Int
149
  fromEnum MipsInsn
MipsInsCleiU = Int
150
  fromEnum MipsInsn
MipsInsCleS = Int
151
  fromEnum MipsInsn
MipsInsCleU = Int
152
  fromEnum MipsInsn
MipsInsClo = Int
153
  fromEnum MipsInsn
MipsInsCltiS = Int
154
  fromEnum MipsInsn
MipsInsCltiU = Int
155
  fromEnum MipsInsn
MipsInsCltS = Int
156
  fromEnum MipsInsn
MipsInsCltU = Int
157
  fromEnum MipsInsn
MipsInsClz = Int
158
  fromEnum MipsInsn
MipsInsCmpgdu = Int
159
  fromEnum MipsInsn
MipsInsCmpgu = Int
160
  fromEnum MipsInsn
MipsInsCmpu = Int
161
  fromEnum MipsInsn
MipsInsCmp = Int
162
  fromEnum MipsInsn
MipsInsCopyS = Int
163
  fromEnum MipsInsn
MipsInsCopyU = Int
164
  fromEnum MipsInsn
MipsInsCtc1 = Int
165
  fromEnum MipsInsn
MipsInsCtcmsa = Int
166
  fromEnum MipsInsn
MipsInsCvt = Int
167
  fromEnum MipsInsn
MipsInsC = Int
168
  fromEnum MipsInsn
MipsInsCmpi = Int
169
  fromEnum MipsInsn
MipsInsDadd = Int
170
  fromEnum MipsInsn
MipsInsDaddi = Int
171
  fromEnum MipsInsn
MipsInsDaddiu = Int
172
  fromEnum MipsInsn
MipsInsDaddu = Int
173
  fromEnum MipsInsn
MipsInsDahi = Int
174
  fromEnum MipsInsn
MipsInsDalign = Int
175
  fromEnum MipsInsn
MipsInsDati = Int
176
  fromEnum MipsInsn
MipsInsDaui = Int
177
  fromEnum MipsInsn
MipsInsDbitswap = Int
178
  fromEnum MipsInsn
MipsInsDclo = Int
179
  fromEnum MipsInsn
MipsInsDclz = Int
180
  fromEnum MipsInsn
MipsInsDdiv = Int
181
  fromEnum MipsInsn
MipsInsDdivu = Int
182
  fromEnum MipsInsn
MipsInsDeret = Int
183
  fromEnum MipsInsn
MipsInsDext = Int
184
  fromEnum MipsInsn
MipsInsDextm = Int
185
  fromEnum MipsInsn
MipsInsDextu = Int
186
  fromEnum MipsInsn
MipsInsDi = Int
187
  fromEnum MipsInsn
MipsInsDins = Int
188
  fromEnum MipsInsn
MipsInsDinsm = Int
189
  fromEnum MipsInsn
MipsInsDinsu = Int
190
  fromEnum MipsInsn
MipsInsDiv = Int
191
  fromEnum MipsInsn
MipsInsDivu = Int
192
  fromEnum MipsInsn
MipsInsDivS = Int
193
  fromEnum MipsInsn
MipsInsDivU = Int
194
  fromEnum MipsInsn
MipsInsDlsa = Int
195
  fromEnum MipsInsn
MipsInsDmfc0 = Int
196
  fromEnum MipsInsn
MipsInsDmfc1 = Int
197
  fromEnum MipsInsn
MipsInsDmfc2 = Int
198
  fromEnum MipsInsn
MipsInsDmod = Int
199
  fromEnum MipsInsn
MipsInsDmodu = Int
200
  fromEnum MipsInsn
MipsInsDmtc0 = Int
201
  fromEnum MipsInsn
MipsInsDmtc1 = Int
202
  fromEnum MipsInsn
MipsInsDmtc2 = Int
203
  fromEnum MipsInsn
MipsInsDmuh = Int
204
  fromEnum MipsInsn
MipsInsDmuhu = Int
205
  fromEnum MipsInsn
MipsInsDmul = Int
206
  fromEnum MipsInsn
MipsInsDmult = Int
207
  fromEnum MipsInsn
MipsInsDmultu = Int
208
  fromEnum MipsInsn
MipsInsDmulu = Int
209
  fromEnum MipsInsn
MipsInsDotpS = Int
210
  fromEnum MipsInsn
MipsInsDotpU = Int
211
  fromEnum MipsInsn
MipsInsDpaddS = Int
212
  fromEnum MipsInsn
MipsInsDpaddU = Int
213
  fromEnum MipsInsn
MipsInsDpaqxSa = Int
214
  fromEnum MipsInsn
MipsInsDpaqxS = Int
215
  fromEnum MipsInsn
MipsInsDpaqSa = Int
216
  fromEnum MipsInsn
MipsInsDpaqS = Int
217
  fromEnum MipsInsn
MipsInsDpau = Int
218
  fromEnum MipsInsn
MipsInsDpax = Int
219
  fromEnum MipsInsn
MipsInsDpa = Int
220
  fromEnum MipsInsn
MipsInsDpop = Int
221
  fromEnum MipsInsn
MipsInsDpsqxSa = Int
222
  fromEnum MipsInsn
MipsInsDpsqxS = Int
223
  fromEnum MipsInsn
MipsInsDpsqSa = Int
224
  fromEnum MipsInsn
MipsInsDpsqS = Int
225
  fromEnum MipsInsn
MipsInsDpsubS = Int
226
  fromEnum MipsInsn
MipsInsDpsubU = Int
227
  fromEnum MipsInsn
MipsInsDpsu = Int
228
  fromEnum MipsInsn
MipsInsDpsx = Int
229
  fromEnum MipsInsn
MipsInsDps = Int
230
  fromEnum MipsInsn
MipsInsDrotr = Int
231
  fromEnum MipsInsn
MipsInsDrotr32 = Int
232
  fromEnum MipsInsn
MipsInsDrotrv = Int
233
  fromEnum MipsInsn
MipsInsDsbh = Int
234
  fromEnum MipsInsn
MipsInsDshd = Int
235
  fromEnum MipsInsn
MipsInsDsll = Int
236
  fromEnum MipsInsn
MipsInsDsll32 = Int
237
  fromEnum MipsInsn
MipsInsDsllv = Int
238
  fromEnum MipsInsn
MipsInsDsra = Int
239
  fromEnum MipsInsn
MipsInsDsra32 = Int
240
  fromEnum MipsInsn
MipsInsDsrav = Int
241
  fromEnum MipsInsn
MipsInsDsrl = Int
242
  fromEnum MipsInsn
MipsInsDsrl32 = Int
243
  fromEnum MipsInsn
MipsInsDsrlv = Int
244
  fromEnum MipsInsn
MipsInsDsub = Int
245
  fromEnum MipsInsn
MipsInsDsubu = Int
246
  fromEnum MipsInsn
MipsInsEhb = Int
247
  fromEnum MipsInsn
MipsInsEi = Int
248
  fromEnum MipsInsn
MipsInsEret = Int
249
  fromEnum MipsInsn
MipsInsExt = Int
250
  fromEnum MipsInsn
MipsInsExtp = Int
251
  fromEnum MipsInsn
MipsInsExtpdp = Int
252
  fromEnum MipsInsn
MipsInsExtpdpv = Int
253
  fromEnum MipsInsn
MipsInsExtpv = Int
254
  fromEnum MipsInsn
MipsInsExtrvRs = Int
255
  fromEnum MipsInsn
MipsInsExtrvR = Int
256
  fromEnum MipsInsn
MipsInsExtrvS = Int
257
  fromEnum MipsInsn
MipsInsExtrv = Int
258
  fromEnum MipsInsn
MipsInsExtrRs = Int
259
  fromEnum MipsInsn
MipsInsExtrR = Int
260
  fromEnum MipsInsn
MipsInsExtrS = Int
261
  fromEnum MipsInsn
MipsInsExtr = Int
262
  fromEnum MipsInsn
MipsInsExts = Int
263
  fromEnum MipsInsn
MipsInsExts32 = Int
264
  fromEnum MipsInsn
MipsInsAbs = Int
265
  fromEnum MipsInsn
MipsInsFadd = Int
266
  fromEnum MipsInsn
MipsInsFcaf = Int
267
  fromEnum MipsInsn
MipsInsFceq = Int
268
  fromEnum MipsInsn
MipsInsFclass = Int
269
  fromEnum MipsInsn
MipsInsFcle = Int
270
  fromEnum MipsInsn
MipsInsFclt = Int
271
  fromEnum MipsInsn
MipsInsFcne = Int
272
  fromEnum MipsInsn
MipsInsFcor = Int
273
  fromEnum MipsInsn
MipsInsFcueq = Int
274
  fromEnum MipsInsn
MipsInsFcule = Int
275
  fromEnum MipsInsn
MipsInsFcult = Int
276
  fromEnum MipsInsn
MipsInsFcune = Int
277
  fromEnum MipsInsn
MipsInsFcun = Int
278
  fromEnum MipsInsn
MipsInsFdiv = Int
279
  fromEnum MipsInsn
MipsInsFexdo = Int
280
  fromEnum MipsInsn
MipsInsFexp2 = Int
281
  fromEnum MipsInsn
MipsInsFexupl = Int
282
  fromEnum MipsInsn
MipsInsFexupr = Int
283
  fromEnum MipsInsn
MipsInsFfintS = Int
284
  fromEnum MipsInsn
MipsInsFfintU = Int
285
  fromEnum MipsInsn
MipsInsFfql = Int
286
  fromEnum MipsInsn
MipsInsFfqr = Int
287
  fromEnum MipsInsn
MipsInsFill = Int
288
  fromEnum MipsInsn
MipsInsFlog2 = Int
289
  fromEnum MipsInsn
MipsInsFloor = Int
290
  fromEnum MipsInsn
MipsInsFmadd = Int
291
  fromEnum MipsInsn
MipsInsFmaxA = Int
292
  fromEnum MipsInsn
MipsInsFmax = Int
293
  fromEnum MipsInsn
MipsInsFminA = Int
294
  fromEnum MipsInsn
MipsInsFmin = Int
295
  fromEnum MipsInsn
MipsInsMov = Int
296
  fromEnum MipsInsn
MipsInsFmsub = Int
297
  fromEnum MipsInsn
MipsInsFmul = Int
298
  fromEnum MipsInsn
MipsInsMul = Int
299
  fromEnum MipsInsn
MipsInsNeg = Int
300
  fromEnum MipsInsn
MipsInsFrcp = Int
301
  fromEnum MipsInsn
MipsInsFrint = Int
302
  fromEnum MipsInsn
MipsInsFrsqrt = Int
303
  fromEnum MipsInsn
MipsInsFsaf = Int
304
  fromEnum MipsInsn
MipsInsFseq = Int
305
  fromEnum MipsInsn
MipsInsFsle = Int
306
  fromEnum MipsInsn
MipsInsFslt = Int
307
  fromEnum MipsInsn
MipsInsFsne = Int
308
  fromEnum MipsInsn
MipsInsFsor = Int
309
  fromEnum MipsInsn
MipsInsFsqrt = Int
310
  fromEnum MipsInsn
MipsInsSqrt = Int
311
  fromEnum MipsInsn
MipsInsFsub = Int
312
  fromEnum MipsInsn
MipsInsSub = Int
313
  fromEnum MipsInsn
MipsInsFsueq = Int
314
  fromEnum MipsInsn
MipsInsFsule = Int
315
  fromEnum MipsInsn
MipsInsFsult = Int
316
  fromEnum MipsInsn
MipsInsFsune = Int
317
  fromEnum MipsInsn
MipsInsFsun = Int
318
  fromEnum MipsInsn
MipsInsFtintS = Int
319
  fromEnum MipsInsn
MipsInsFtintU = Int
320
  fromEnum MipsInsn
MipsInsFtq = Int
321
  fromEnum MipsInsn
MipsInsFtruncS = Int
322
  fromEnum MipsInsn
MipsInsFtruncU = Int
323
  fromEnum MipsInsn
MipsInsHaddS = Int
324
  fromEnum MipsInsn
MipsInsHaddU = Int
325
  fromEnum MipsInsn
MipsInsHsubS = Int
326
  fromEnum MipsInsn
MipsInsHsubU = Int
327
  fromEnum MipsInsn
MipsInsIlvev = Int
328
  fromEnum MipsInsn
MipsInsIlvl = Int
329
  fromEnum MipsInsn
MipsInsIlvod = Int
330
  fromEnum MipsInsn
MipsInsIlvr = Int
331
  fromEnum MipsInsn
MipsInsIns = Int
332
  fromEnum MipsInsn
MipsInsInsert = Int
333
  fromEnum MipsInsn
MipsInsInsv = Int
334
  fromEnum MipsInsn
MipsInsInsve = Int
335
  fromEnum MipsInsn
MipsInsJ = Int
336
  fromEnum MipsInsn
MipsInsJal = Int
337
  fromEnum MipsInsn
MipsInsJalr = Int
338
  fromEnum MipsInsn
MipsInsJalrs16 = Int
339
  fromEnum MipsInsn
MipsInsJalrs = Int
340
  fromEnum MipsInsn
MipsInsJals = Int
341
  fromEnum MipsInsn
MipsInsJalx = Int
342
  fromEnum MipsInsn
MipsInsJialc = Int
343
  fromEnum MipsInsn
MipsInsJic = Int
344
  fromEnum MipsInsn
MipsInsJr = Int
345
  fromEnum MipsInsn
MipsInsJr16 = Int
346
  fromEnum MipsInsn
MipsInsJraddiusp = Int
347
  fromEnum MipsInsn
MipsInsJrc = Int
348
  fromEnum MipsInsn
MipsInsJalrc = Int
349
  fromEnum MipsInsn
MipsInsLb = Int
350
  fromEnum MipsInsn
MipsInsLbu16 = Int
351
  fromEnum MipsInsn
MipsInsLbux = Int
352
  fromEnum MipsInsn
MipsInsLbu = Int
353
  fromEnum MipsInsn
MipsInsLd = Int
354
  fromEnum MipsInsn
MipsInsLdc1 = Int
355
  fromEnum MipsInsn
MipsInsLdc2 = Int
356
  fromEnum MipsInsn
MipsInsLdc3 = Int
357
  fromEnum MipsInsn
MipsInsLdi = Int
358
  fromEnum MipsInsn
MipsInsLdl = Int
359
  fromEnum MipsInsn
MipsInsLdpc = Int
360
  fromEnum MipsInsn
MipsInsLdr = Int
361
  fromEnum MipsInsn
MipsInsLdxc1 = Int
362
  fromEnum MipsInsn
MipsInsLh = Int
363
  fromEnum MipsInsn
MipsInsLhu16 = Int
364
  fromEnum MipsInsn
MipsInsLhx = Int
365
  fromEnum MipsInsn
MipsInsLhu = Int
366
  fromEnum MipsInsn
MipsInsLi16 = Int
367
  fromEnum MipsInsn
MipsInsLl = Int
368
  fromEnum MipsInsn
MipsInsLld = Int
369
  fromEnum MipsInsn
MipsInsLsa = Int
370
  fromEnum MipsInsn
MipsInsLuxc1 = Int
371
  fromEnum MipsInsn
MipsInsLui = Int
372
  fromEnum MipsInsn
MipsInsLw = Int
373
  fromEnum MipsInsn
MipsInsLw16 = Int
374
  fromEnum MipsInsn
MipsInsLwc1 = Int
375
  fromEnum MipsInsn
MipsInsLwc2 = Int
376
  fromEnum MipsInsn
MipsInsLwc3 = Int
377
  fromEnum MipsInsn
MipsInsLwl = Int
378
  fromEnum MipsInsn
MipsInsLwm16 = Int
379
  fromEnum MipsInsn
MipsInsLwm32 = Int
380
  fromEnum MipsInsn
MipsInsLwpc = Int
381
  fromEnum MipsInsn
MipsInsLwp = Int
382
  fromEnum MipsInsn
MipsInsLwr = Int
383
  fromEnum MipsInsn
MipsInsLwupc = Int
384
  fromEnum MipsInsn
MipsInsLwu = Int
385
  fromEnum MipsInsn
MipsInsLwx = Int
386
  fromEnum MipsInsn
MipsInsLwxc1 = Int
387
  fromEnum MipsInsn
MipsInsLwxs = Int
388
  fromEnum MipsInsn
MipsInsLi = Int
389
  fromEnum MipsInsn
MipsInsMadd = Int
390
  fromEnum MipsInsn
MipsInsMaddf = Int
391
  fromEnum MipsInsn
MipsInsMaddrQ = Int
392
  fromEnum MipsInsn
MipsInsMaddu = Int
393
  fromEnum MipsInsn
MipsInsMaddv = Int
394
  fromEnum MipsInsn
MipsInsMaddQ = Int
395
  fromEnum MipsInsn
MipsInsMaqSa = Int
396
  fromEnum MipsInsn
MipsInsMaqS = Int
397
  fromEnum MipsInsn
MipsInsMaxa = Int
398
  fromEnum MipsInsn
MipsInsMaxiS = Int
399
  fromEnum MipsInsn
MipsInsMaxiU = Int
400
  fromEnum MipsInsn
MipsInsMaxA = Int
401
  fromEnum MipsInsn
MipsInsMax = Int
402
  fromEnum MipsInsn
MipsInsMaxS = Int
403
  fromEnum MipsInsn
MipsInsMaxU = Int
404
  fromEnum MipsInsn
MipsInsMfc0 = Int
405
  fromEnum MipsInsn
MipsInsMfc1 = Int
406
  fromEnum MipsInsn
MipsInsMfc2 = Int
407
  fromEnum MipsInsn
MipsInsMfhc1 = Int
408
  fromEnum MipsInsn
MipsInsMfhi = Int
409
  fromEnum MipsInsn
MipsInsMflo = Int
410
  fromEnum MipsInsn
MipsInsMina = Int
411
  fromEnum MipsInsn
MipsInsMiniS = Int
412
  fromEnum MipsInsn
MipsInsMiniU = Int
413
  fromEnum MipsInsn
MipsInsMinA = Int
414
  fromEnum MipsInsn
MipsInsMin = Int
415
  fromEnum MipsInsn
MipsInsMinS = Int
416
  fromEnum MipsInsn
MipsInsMinU = Int
417
  fromEnum MipsInsn
MipsInsMod = Int
418
  fromEnum MipsInsn
MipsInsModsub = Int
419
  fromEnum MipsInsn
MipsInsModu = Int
420
  fromEnum MipsInsn
MipsInsModS = Int
421
  fromEnum MipsInsn
MipsInsModU = Int
422
  fromEnum MipsInsn
MipsInsMove = Int
423
  fromEnum MipsInsn
MipsInsMovep = Int
424
  fromEnum MipsInsn
MipsInsMovf = Int
425
  fromEnum MipsInsn
MipsInsMovn = Int
426
  fromEnum MipsInsn
MipsInsMovt = Int
427
  fromEnum MipsInsn
MipsInsMovz = Int
428
  fromEnum MipsInsn
MipsInsMsub = Int
429
  fromEnum MipsInsn
MipsInsMsubf = Int
430
  fromEnum MipsInsn
MipsInsMsubrQ = Int
431
  fromEnum MipsInsn
MipsInsMsubu = Int
432
  fromEnum MipsInsn
MipsInsMsubv = Int
433
  fromEnum MipsInsn
MipsInsMsubQ = Int
434
  fromEnum MipsInsn
MipsInsMtc0 = Int
435
  fromEnum MipsInsn
MipsInsMtc1 = Int
436
  fromEnum MipsInsn
MipsInsMtc2 = Int
437
  fromEnum MipsInsn
MipsInsMthc1 = Int
438
  fromEnum MipsInsn
MipsInsMthi = Int
439
  fromEnum MipsInsn
MipsInsMthlip = Int
440
  fromEnum MipsInsn
MipsInsMtlo = Int
441
  fromEnum MipsInsn
MipsInsMtm0 = Int
442
  fromEnum MipsInsn
MipsInsMtm1 = Int
443
  fromEnum MipsInsn
MipsInsMtm2 = Int
444
  fromEnum MipsInsn
MipsInsMtp0 = Int
445
  fromEnum MipsInsn
MipsInsMtp1 = Int
446
  fromEnum MipsInsn
MipsInsMtp2 = Int
447
  fromEnum MipsInsn
MipsInsMuh = Int
448
  fromEnum MipsInsn
MipsInsMuhu = Int
449
  fromEnum MipsInsn
MipsInsMuleqS = Int
450
  fromEnum MipsInsn
MipsInsMuleuS = Int
451
  fromEnum MipsInsn
MipsInsMulqRs = Int
452
  fromEnum MipsInsn
MipsInsMulqS = Int
453
  fromEnum MipsInsn
MipsInsMulrQ = Int
454
  fromEnum MipsInsn
MipsInsMulsaqS = Int
455
  fromEnum MipsInsn
MipsInsMulsa = Int
456
  fromEnum MipsInsn
MipsInsMult = Int
457
  fromEnum MipsInsn
MipsInsMultu = Int
458
  fromEnum MipsInsn
MipsInsMulu = Int
459
  fromEnum MipsInsn
MipsInsMulv = Int
460
  fromEnum MipsInsn
MipsInsMulQ = Int
461
  fromEnum MipsInsn
MipsInsMulS = Int
462
  fromEnum MipsInsn
MipsInsNloc = Int
463
  fromEnum MipsInsn
MipsInsNlzc = Int
464
  fromEnum MipsInsn
MipsInsNmadd = Int
465
  fromEnum MipsInsn
MipsInsNmsub = Int
466
  fromEnum MipsInsn
MipsInsNor = Int
467
  fromEnum MipsInsn
MipsInsNori = Int
468
  fromEnum MipsInsn
MipsInsNot16 = Int
469
  fromEnum MipsInsn
MipsInsNot = Int
470
  fromEnum MipsInsn
MipsInsOr = Int
471
  fromEnum MipsInsn
MipsInsOr16 = Int
472
  fromEnum MipsInsn
MipsInsOri = Int
473
  fromEnum MipsInsn
MipsInsPackrl = Int
474
  fromEnum MipsInsn
MipsInsPause = Int
475
  fromEnum MipsInsn
MipsInsPckev = Int
476
  fromEnum MipsInsn
MipsInsPckod = Int
477
  fromEnum MipsInsn
MipsInsPcnt = Int
478
  fromEnum MipsInsn
MipsInsPick = Int
479
  fromEnum MipsInsn
MipsInsPop = Int
480
  fromEnum MipsInsn
MipsInsPrecequ = Int
481
  fromEnum MipsInsn
MipsInsPreceq = Int
482
  fromEnum MipsInsn
MipsInsPreceu = Int
483
  fromEnum MipsInsn
MipsInsPrecrquS = Int
484
  fromEnum MipsInsn
MipsInsPrecrq = Int
485
  fromEnum MipsInsn
MipsInsPrecrqRs = Int
486
  fromEnum MipsInsn
MipsInsPrecr = Int
487
  fromEnum MipsInsn
MipsInsPrecrSra = Int
488
  fromEnum MipsInsn
MipsInsPrecrSraR = Int
489
  fromEnum MipsInsn
MipsInsPref = Int
490
  fromEnum MipsInsn
MipsInsPrepend = Int
491
  fromEnum MipsInsn
MipsInsRaddu = Int
492
  fromEnum MipsInsn
MipsInsRddsp = Int
493
  fromEnum MipsInsn
MipsInsRdhwr = Int
494
  fromEnum MipsInsn
MipsInsReplv = Int
495
  fromEnum MipsInsn
MipsInsRepl = Int
496
  fromEnum MipsInsn
MipsInsRint = Int
497
  fromEnum MipsInsn
MipsInsRotr = Int
498
  fromEnum MipsInsn
MipsInsRotrv = Int
499
  fromEnum MipsInsn
MipsInsRound = Int
500
  fromEnum MipsInsn
MipsInsSatS = Int
501
  fromEnum MipsInsn
MipsInsSatU = Int
502
  fromEnum MipsInsn
MipsInsSb = Int
503
  fromEnum MipsInsn
MipsInsSb16 = Int
504
  fromEnum MipsInsn
MipsInsSc = Int
505
  fromEnum MipsInsn
MipsInsScd = Int
506
  fromEnum MipsInsn
MipsInsSd = Int
507
  fromEnum MipsInsn
MipsInsSdbbp = Int
508
  fromEnum MipsInsn
MipsInsSdbbp16 = Int
509
  fromEnum MipsInsn
MipsInsSdc1 = Int
510
  fromEnum MipsInsn
MipsInsSdc2 = Int
511
  fromEnum MipsInsn
MipsInsSdc3 = Int
512
  fromEnum MipsInsn
MipsInsSdl = Int
513
  fromEnum MipsInsn
MipsInsSdr = Int
514
  fromEnum MipsInsn
MipsInsSdxc1 = Int
515
  fromEnum MipsInsn
MipsInsSeb = Int
516
  fromEnum MipsInsn
MipsInsSeh = Int
517
  fromEnum MipsInsn
MipsInsSeleqz = Int
518
  fromEnum MipsInsn
MipsInsSelnez = Int
519
  fromEnum MipsInsn
MipsInsSel = Int
520
  fromEnum MipsInsn
MipsInsSeq = Int
521
  fromEnum MipsInsn
MipsInsSeqi = Int
522
  fromEnum MipsInsn
MipsInsSh = Int
523
  fromEnum MipsInsn
MipsInsSh16 = Int
524
  fromEnum MipsInsn
MipsInsShf = Int
525
  fromEnum MipsInsn
MipsInsShilo = Int
526
  fromEnum MipsInsn
MipsInsShilov = Int
527
  fromEnum MipsInsn
MipsInsShllv = Int
528
  fromEnum MipsInsn
MipsInsShllvS = Int
529
  fromEnum MipsInsn
MipsInsShll = Int
530
  fromEnum MipsInsn
MipsInsShllS = Int
531
  fromEnum MipsInsn
MipsInsShrav = Int
532
  fromEnum MipsInsn
MipsInsShravR = Int
533
  fromEnum MipsInsn
MipsInsShra = Int
534
  fromEnum MipsInsn
MipsInsShraR = Int
535
  fromEnum MipsInsn
MipsInsShrlv = Int
536
  fromEnum MipsInsn
MipsInsShrl = Int
537
  fromEnum MipsInsn
MipsInsSldi = Int
538
  fromEnum MipsInsn
MipsInsSld = Int
539
  fromEnum MipsInsn
MipsInsSll = Int
540
  fromEnum MipsInsn
MipsInsSll16 = Int
541
  fromEnum MipsInsn
MipsInsSlli = Int
542
  fromEnum MipsInsn
MipsInsSllv = Int
543
  fromEnum MipsInsn
MipsInsSlt = Int
544
  fromEnum MipsInsn
MipsInsSlti = Int
545
  fromEnum MipsInsn
MipsInsSltiu = Int
546
  fromEnum MipsInsn
MipsInsSltu = Int
547
  fromEnum MipsInsn
MipsInsSne = Int
548
  fromEnum MipsInsn
MipsInsSnei = Int
549
  fromEnum MipsInsn
MipsInsSplati = Int
550
  fromEnum MipsInsn
MipsInsSplat = Int
551
  fromEnum MipsInsn
MipsInsSra = Int
552
  fromEnum MipsInsn
MipsInsSrai = Int
553
  fromEnum MipsInsn
MipsInsSrari = Int
554
  fromEnum MipsInsn
MipsInsSrar = Int
555
  fromEnum MipsInsn
MipsInsSrav = Int
556
  fromEnum MipsInsn
MipsInsSrl = Int
557
  fromEnum MipsInsn
MipsInsSrl16 = Int
558
  fromEnum MipsInsn
MipsInsSrli = Int
559
  fromEnum MipsInsn
MipsInsSrlri = Int
560
  fromEnum MipsInsn
MipsInsSrlr = Int
561
  fromEnum MipsInsn
MipsInsSrlv = Int
562
  fromEnum MipsInsn
MipsInsSsnop = Int
563
  fromEnum MipsInsn
MipsInsSt = Int
564
  fromEnum MipsInsn
MipsInsSubqh = Int
565
  fromEnum MipsInsn
MipsInsSubqhR = Int
566
  fromEnum MipsInsn
MipsInsSubq = Int
567
  fromEnum MipsInsn
MipsInsSubqS = Int
568
  fromEnum MipsInsn
MipsInsSubsusU = Int
569
  fromEnum MipsInsn
MipsInsSubsuuS = Int
570
  fromEnum MipsInsn
MipsInsSubsS = Int
571
  fromEnum MipsInsn
MipsInsSubsU = Int
572
  fromEnum MipsInsn
MipsInsSubu16 = Int
573
  fromEnum MipsInsn
MipsInsSubuh = Int
574
  fromEnum MipsInsn
MipsInsSubuhR = Int
575
  fromEnum MipsInsn
MipsInsSubu = Int
576
  fromEnum MipsInsn
MipsInsSubuS = Int
577
  fromEnum MipsInsn
MipsInsSubvi = Int
578
  fromEnum MipsInsn
MipsInsSubv = Int
579
  fromEnum MipsInsn
MipsInsSuxc1 = Int
580
  fromEnum MipsInsn
MipsInsSw = Int
581
  fromEnum MipsInsn
MipsInsSw16 = Int
582
  fromEnum MipsInsn
MipsInsSwc1 = Int
583
  fromEnum MipsInsn
MipsInsSwc2 = Int
584
  fromEnum MipsInsn
MipsInsSwc3 = Int
585
  fromEnum MipsInsn
MipsInsSwl = Int
586
  fromEnum MipsInsn
MipsInsSwm16 = Int
587
  fromEnum MipsInsn
MipsInsSwm32 = Int
588
  fromEnum MipsInsn
MipsInsSwp = Int
589
  fromEnum MipsInsn
MipsInsSwr = Int
590
  fromEnum MipsInsn
MipsInsSwxc1 = Int
591
  fromEnum MipsInsn
MipsInsSync = Int
592
  fromEnum MipsInsn
MipsInsSynci = Int
593
  fromEnum MipsInsn
MipsInsSyscall = Int
594
  fromEnum MipsInsn
MipsInsTeq = Int
595
  fromEnum MipsInsn
MipsInsTeqi = Int
596
  fromEnum MipsInsn
MipsInsTge = Int
597
  fromEnum MipsInsn
MipsInsTgei = Int
598
  fromEnum MipsInsn
MipsInsTgeiu = Int
599
  fromEnum MipsInsn
MipsInsTgeu = Int
600
  fromEnum MipsInsn
MipsInsTlbp = Int
601
  fromEnum MipsInsn
MipsInsTlbr = Int
602
  fromEnum MipsInsn
MipsInsTlbwi = Int
603
  fromEnum MipsInsn
MipsInsTlbwr = Int
604
  fromEnum MipsInsn
MipsInsTlt = Int
605
  fromEnum MipsInsn
MipsInsTlti = Int
606
  fromEnum MipsInsn
MipsInsTltiu = Int
607
  fromEnum MipsInsn
MipsInsTltu = Int
608
  fromEnum MipsInsn
MipsInsTne = Int
609
  fromEnum MipsInsn
MipsInsTnei = Int
610
  fromEnum MipsInsn
MipsInsTrunc = Int
611
  fromEnum MipsInsn
MipsInsV3mulu = Int
612
  fromEnum MipsInsn
MipsInsVmm0 = Int
613
  fromEnum MipsInsn
MipsInsVmulu = Int
614
  fromEnum MipsInsn
MipsInsVshf = Int
615
  fromEnum MipsInsn
MipsInsWait = Int
616
  fromEnum MipsInsn
MipsInsWrdsp = Int
617
  fromEnum MipsInsn
MipsInsWsbh = Int
618
  fromEnum MipsInsn
MipsInsXor = Int
619
  fromEnum MipsInsn
MipsInsXor16 = Int
620
  fromEnum MipsInsn
MipsInsXori = Int
621
  fromEnum MipsInsn
MipsInsNop = Int
622
  fromEnum MipsInsn
MipsInsNegu = Int
623
  fromEnum MipsInsn
MipsInsJalrHb = Int
624
  fromEnum MipsInsn
MipsInsJrHb = Int
625
  fromEnum MipsInsn
MipsInsEnding = Int
626

  toEnum :: Int -> MipsInsn
toEnum Int
0 = MipsInsn
MipsInsInvalid
  toEnum Int
1 = MipsInsn
MipsInsAbsqS
  toEnum Int
2 = MipsInsn
MipsInsAdd
  toEnum Int
3 = MipsInsn
MipsInsAddiupc
  toEnum Int
4 = MipsInsn
MipsInsAddiur1sp
  toEnum Int
5 = MipsInsn
MipsInsAddiur2
  toEnum Int
6 = MipsInsn
MipsInsAddius5
  toEnum Int
7 = MipsInsn
MipsInsAddiusp
  toEnum Int
8 = MipsInsn
MipsInsAddqh
  toEnum Int
9 = MipsInsn
MipsInsAddqhR
  toEnum Int
10 = MipsInsn
MipsInsAddq
  toEnum Int
11 = MipsInsn
MipsInsAddqS
  toEnum Int
12 = MipsInsn
MipsInsAddsc
  toEnum Int
13 = MipsInsn
MipsInsAddsA
  toEnum Int
14 = MipsInsn
MipsInsAddsS
  toEnum Int
15 = MipsInsn
MipsInsAddsU
  toEnum Int
16 = MipsInsn
MipsInsAddu16
  toEnum Int
17 = MipsInsn
MipsInsAdduh
  toEnum Int
18 = MipsInsn
MipsInsAdduhR
  toEnum Int
19 = MipsInsn
MipsInsAddu
  toEnum Int
20 = MipsInsn
MipsInsAdduS
  toEnum Int
21 = MipsInsn
MipsInsAddvi
  toEnum Int
22 = MipsInsn
MipsInsAddv
  toEnum Int
23 = MipsInsn
MipsInsAddwc
  toEnum Int
24 = MipsInsn
MipsInsAddA
  toEnum Int
25 = MipsInsn
MipsInsAddi
  toEnum Int
26 = MipsInsn
MipsInsAddiu
  toEnum Int
27 = MipsInsn
MipsInsAlign
  toEnum Int
28 = MipsInsn
MipsInsAluipc
  toEnum Int
29 = MipsInsn
MipsInsAnd
  toEnum Int
30 = MipsInsn
MipsInsAnd16
  toEnum Int
31 = MipsInsn
MipsInsAndi16
  toEnum Int
32 = MipsInsn
MipsInsAndi
  toEnum Int
33 = MipsInsn
MipsInsAppend
  toEnum Int
34 = MipsInsn
MipsInsAsubS
  toEnum Int
35 = MipsInsn
MipsInsAsubU
  toEnum Int
36 = MipsInsn
MipsInsAui
  toEnum Int
37 = MipsInsn
MipsInsAuipc
  toEnum Int
38 = MipsInsn
MipsInsAverS
  toEnum Int
39 = MipsInsn
MipsInsAverU
  toEnum Int
40 = MipsInsn
MipsInsAveS
  toEnum Int
41 = MipsInsn
MipsInsAveU
  toEnum Int
42 = MipsInsn
MipsInsB16
  toEnum Int
43 = MipsInsn
MipsInsBaddu
  toEnum Int
44 = MipsInsn
MipsInsBal
  toEnum Int
45 = MipsInsn
MipsInsBalc
  toEnum Int
46 = MipsInsn
MipsInsBalign
  toEnum Int
47 = MipsInsn
MipsInsBbit0
  toEnum Int
48 = MipsInsn
MipsInsBbit032
  toEnum Int
49 = MipsInsn
MipsInsBbit1
  toEnum Int
50 = MipsInsn
MipsInsBbit132
  toEnum Int
51 = MipsInsn
MipsInsBc
  toEnum Int
52 = MipsInsn
MipsInsBc0f
  toEnum Int
53 = MipsInsn
MipsInsBc0fl
  toEnum Int
54 = MipsInsn
MipsInsBc0t
  toEnum Int
55 = MipsInsn
MipsInsBc0tl
  toEnum Int
56 = MipsInsn
MipsInsBc1eqz
  toEnum Int
57 = MipsInsn
MipsInsBc1f
  toEnum Int
58 = MipsInsn
MipsInsBc1fl
  toEnum Int
59 = MipsInsn
MipsInsBc1nez
  toEnum Int
60 = MipsInsn
MipsInsBc1t
  toEnum Int
61 = MipsInsn
MipsInsBc1tl
  toEnum Int
62 = MipsInsn
MipsInsBc2eqz
  toEnum Int
63 = MipsInsn
MipsInsBc2f
  toEnum Int
64 = MipsInsn
MipsInsBc2fl
  toEnum Int
65 = MipsInsn
MipsInsBc2nez
  toEnum Int
66 = MipsInsn
MipsInsBc2t
  toEnum Int
67 = MipsInsn
MipsInsBc2tl
  toEnum Int
68 = MipsInsn
MipsInsBc3f
  toEnum Int
69 = MipsInsn
MipsInsBc3fl
  toEnum Int
70 = MipsInsn
MipsInsBc3t
  toEnum Int
71 = MipsInsn
MipsInsBc3tl
  toEnum Int
72 = MipsInsn
MipsInsBclri
  toEnum Int
73 = MipsInsn
MipsInsBclr
  toEnum Int
74 = MipsInsn
MipsInsBeq
  toEnum Int
75 = MipsInsn
MipsInsBeqc
  toEnum Int
76 = MipsInsn
MipsInsBeql
  toEnum Int
77 = MipsInsn
MipsInsBeqz16
  toEnum Int
78 = MipsInsn
MipsInsBeqzalc
  toEnum Int
79 = MipsInsn
MipsInsBeqzc
  toEnum Int
80 = MipsInsn
MipsInsBgec
  toEnum Int
81 = MipsInsn
MipsInsBgeuc
  toEnum Int
82 = MipsInsn
MipsInsBgez
  toEnum Int
83 = MipsInsn
MipsInsBgezal
  toEnum Int
84 = MipsInsn
MipsInsBgezalc
  toEnum Int
85 = MipsInsn
MipsInsBgezall
  toEnum Int
86 = MipsInsn
MipsInsBgezals
  toEnum Int
87 = MipsInsn
MipsInsBgezc
  toEnum Int
88 = MipsInsn
MipsInsBgezl
  toEnum Int
89 = MipsInsn
MipsInsBgtz
  toEnum Int
90 = MipsInsn
MipsInsBgtzalc
  toEnum Int
91 = MipsInsn
MipsInsBgtzc
  toEnum Int
92 = MipsInsn
MipsInsBgtzl
  toEnum Int
93 = MipsInsn
MipsInsBinsli
  toEnum Int
94 = MipsInsn
MipsInsBinsl
  toEnum Int
95 = MipsInsn
MipsInsBinsri
  toEnum Int
96 = MipsInsn
MipsInsBinsr
  toEnum Int
97 = MipsInsn
MipsInsBitrev
  toEnum Int
98 = MipsInsn
MipsInsBitswap
  toEnum Int
99 = MipsInsn
MipsInsBlez
  toEnum Int
100 = MipsInsn
MipsInsBlezalc
  toEnum Int
101 = MipsInsn
MipsInsBlezc
  toEnum Int
102 = MipsInsn
MipsInsBlezl
  toEnum Int
103 = MipsInsn
MipsInsBltc
  toEnum Int
104 = MipsInsn
MipsInsBltuc
  toEnum Int
105 = MipsInsn
MipsInsBltz
  toEnum Int
106 = MipsInsn
MipsInsBltzal
  toEnum Int
107 = MipsInsn
MipsInsBltzalc
  toEnum Int
108 = MipsInsn
MipsInsBltzall
  toEnum Int
109 = MipsInsn
MipsInsBltzals
  toEnum Int
110 = MipsInsn
MipsInsBltzc
  toEnum Int
111 = MipsInsn
MipsInsBltzl
  toEnum Int
112 = MipsInsn
MipsInsBmnzi
  toEnum Int
113 = MipsInsn
MipsInsBmnz
  toEnum Int
114 = MipsInsn
MipsInsBmzi
  toEnum Int
115 = MipsInsn
MipsInsBmz
  toEnum Int
116 = MipsInsn
MipsInsBne
  toEnum Int
117 = MipsInsn
MipsInsBnec
  toEnum Int
118 = MipsInsn
MipsInsBnegi
  toEnum Int
119 = MipsInsn
MipsInsBneg
  toEnum Int
120 = MipsInsn
MipsInsBnel
  toEnum Int
121 = MipsInsn
MipsInsBnez16
  toEnum Int
122 = MipsInsn
MipsInsBnezalc
  toEnum Int
123 = MipsInsn
MipsInsBnezc
  toEnum Int
124 = MipsInsn
MipsInsBnvc
  toEnum Int
125 = MipsInsn
MipsInsBnz
  toEnum Int
126 = MipsInsn
MipsInsBovc
  toEnum Int
127 = MipsInsn
MipsInsBposge32
  toEnum Int
128 = MipsInsn
MipsInsBreak
  toEnum Int
129 = MipsInsn
MipsInsBreak16
  toEnum Int
130 = MipsInsn
MipsInsBseli
  toEnum Int
131 = MipsInsn
MipsInsBsel
  toEnum Int
132 = MipsInsn
MipsInsBseti
  toEnum Int
133 = MipsInsn
MipsInsBset
  toEnum Int
134 = MipsInsn
MipsInsBz
  toEnum Int
135 = MipsInsn
MipsInsBeqz
  toEnum Int
136 = MipsInsn
MipsInsB
  toEnum Int
137 = MipsInsn
MipsInsBnez
  toEnum Int
138 = MipsInsn
MipsInsBteqz
  toEnum Int
139 = MipsInsn
MipsInsBtnez
  toEnum Int
140 = MipsInsn
MipsInsCache
  toEnum Int
141 = MipsInsn
MipsInsCeil
  toEnum Int
142 = MipsInsn
MipsInsCeqi
  toEnum Int
143 = MipsInsn
MipsInsCeq
  toEnum Int
144 = MipsInsn
MipsInsCfc1
  toEnum Int
145 = MipsInsn
MipsInsCfcmsa
  toEnum Int
146 = MipsInsn
MipsInsCins
  toEnum Int
147 = MipsInsn
MipsInsCins32
  toEnum Int
148 = MipsInsn
MipsInsClass
  toEnum Int
149 = MipsInsn
MipsInsCleiS
  toEnum Int
150 = MipsInsn
MipsInsCleiU
  toEnum Int
151 = MipsInsn
MipsInsCleS
  toEnum Int
152 = MipsInsn
MipsInsCleU
  toEnum Int
153 = MipsInsn
MipsInsClo
  toEnum Int
154 = MipsInsn
MipsInsCltiS
  toEnum Int
155 = MipsInsn
MipsInsCltiU
  toEnum Int
156 = MipsInsn
MipsInsCltS
  toEnum Int
157 = MipsInsn
MipsInsCltU
  toEnum Int
158 = MipsInsn
MipsInsClz
  toEnum Int
159 = MipsInsn
MipsInsCmpgdu
  toEnum Int
160 = MipsInsn
MipsInsCmpgu
  toEnum Int
161 = MipsInsn
MipsInsCmpu
  toEnum Int
162 = MipsInsn
MipsInsCmp
  toEnum Int
163 = MipsInsn
MipsInsCopyS
  toEnum Int
164 = MipsInsn
MipsInsCopyU
  toEnum Int
165 = MipsInsn
MipsInsCtc1
  toEnum Int
166 = MipsInsn
MipsInsCtcmsa
  toEnum Int
167 = MipsInsn
MipsInsCvt
  toEnum Int
168 = MipsInsn
MipsInsC
  toEnum Int
169 = MipsInsn
MipsInsCmpi
  toEnum Int
170 = MipsInsn
MipsInsDadd
  toEnum Int
171 = MipsInsn
MipsInsDaddi
  toEnum Int
172 = MipsInsn
MipsInsDaddiu
  toEnum Int
173 = MipsInsn
MipsInsDaddu
  toEnum Int
174 = MipsInsn
MipsInsDahi
  toEnum Int
175 = MipsInsn
MipsInsDalign
  toEnum Int
176 = MipsInsn
MipsInsDati
  toEnum Int
177 = MipsInsn
MipsInsDaui
  toEnum Int
178 = MipsInsn
MipsInsDbitswap
  toEnum Int
179 = MipsInsn
MipsInsDclo
  toEnum Int
180 = MipsInsn
MipsInsDclz
  toEnum Int
181 = MipsInsn
MipsInsDdiv
  toEnum Int
182 = MipsInsn
MipsInsDdivu
  toEnum Int
183 = MipsInsn
MipsInsDeret
  toEnum Int
184 = MipsInsn
MipsInsDext
  toEnum Int
185 = MipsInsn
MipsInsDextm
  toEnum Int
186 = MipsInsn
MipsInsDextu
  toEnum Int
187 = MipsInsn
MipsInsDi
  toEnum Int
188 = MipsInsn
MipsInsDins
  toEnum Int
189 = MipsInsn
MipsInsDinsm
  toEnum Int
190 = MipsInsn
MipsInsDinsu
  toEnum Int
191 = MipsInsn
MipsInsDiv
  toEnum Int
192 = MipsInsn
MipsInsDivu
  toEnum Int
193 = MipsInsn
MipsInsDivS
  toEnum Int
194 = MipsInsn
MipsInsDivU
  toEnum Int
195 = MipsInsn
MipsInsDlsa
  toEnum Int
196 = MipsInsn
MipsInsDmfc0
  toEnum Int
197 = MipsInsn
MipsInsDmfc1
  toEnum Int
198 = MipsInsn
MipsInsDmfc2
  toEnum Int
199 = MipsInsn
MipsInsDmod
  toEnum Int
200 = MipsInsn
MipsInsDmodu
  toEnum Int
201 = MipsInsn
MipsInsDmtc0
  toEnum Int
202 = MipsInsn
MipsInsDmtc1
  toEnum Int
203 = MipsInsn
MipsInsDmtc2
  toEnum Int
204 = MipsInsn
MipsInsDmuh
  toEnum Int
205 = MipsInsn
MipsInsDmuhu
  toEnum Int
206 = MipsInsn
MipsInsDmul
  toEnum Int
207 = MipsInsn
MipsInsDmult
  toEnum Int
208 = MipsInsn
MipsInsDmultu
  toEnum Int
209 = MipsInsn
MipsInsDmulu
  toEnum Int
210 = MipsInsn
MipsInsDotpS
  toEnum Int
211 = MipsInsn
MipsInsDotpU
  toEnum Int
212 = MipsInsn
MipsInsDpaddS
  toEnum Int
213 = MipsInsn
MipsInsDpaddU
  toEnum Int
214 = MipsInsn
MipsInsDpaqxSa
  toEnum Int
215 = MipsInsn
MipsInsDpaqxS
  toEnum Int
216 = MipsInsn
MipsInsDpaqSa
  toEnum Int
217 = MipsInsn
MipsInsDpaqS
  toEnum Int
218 = MipsInsn
MipsInsDpau
  toEnum Int
219 = MipsInsn
MipsInsDpax
  toEnum Int
220 = MipsInsn
MipsInsDpa
  toEnum Int
221 = MipsInsn
MipsInsDpop
  toEnum Int
222 = MipsInsn
MipsInsDpsqxSa
  toEnum Int
223 = MipsInsn
MipsInsDpsqxS
  toEnum Int
224 = MipsInsn
MipsInsDpsqSa
  toEnum Int
225 = MipsInsn
MipsInsDpsqS
  toEnum Int
226 = MipsInsn
MipsInsDpsubS
  toEnum Int
227 = MipsInsn
MipsInsDpsubU
  toEnum Int
228 = MipsInsn
MipsInsDpsu
  toEnum Int
229 = MipsInsn
MipsInsDpsx
  toEnum Int
230 = MipsInsn
MipsInsDps
  toEnum Int
231 = MipsInsn
MipsInsDrotr
  toEnum Int
232 = MipsInsn
MipsInsDrotr32
  toEnum Int
233 = MipsInsn
MipsInsDrotrv
  toEnum Int
234 = MipsInsn
MipsInsDsbh
  toEnum Int
235 = MipsInsn
MipsInsDshd
  toEnum Int
236 = MipsInsn
MipsInsDsll
  toEnum Int
237 = MipsInsn
MipsInsDsll32
  toEnum Int
238 = MipsInsn
MipsInsDsllv
  toEnum Int
239 = MipsInsn
MipsInsDsra
  toEnum Int
240 = MipsInsn
MipsInsDsra32
  toEnum Int
241 = MipsInsn
MipsInsDsrav
  toEnum Int
242 = MipsInsn
MipsInsDsrl
  toEnum Int
243 = MipsInsn
MipsInsDsrl32
  toEnum Int
244 = MipsInsn
MipsInsDsrlv
  toEnum Int
245 = MipsInsn
MipsInsDsub
  toEnum Int
246 = MipsInsn
MipsInsDsubu
  toEnum Int
247 = MipsInsn
MipsInsEhb
  toEnum Int
248 = MipsInsn
MipsInsEi
  toEnum Int
249 = MipsInsn
MipsInsEret
  toEnum Int
250 = MipsInsn
MipsInsExt
  toEnum Int
251 = MipsInsn
MipsInsExtp
  toEnum Int
252 = MipsInsn
MipsInsExtpdp
  toEnum Int
253 = MipsInsn
MipsInsExtpdpv
  toEnum Int
254 = MipsInsn
MipsInsExtpv
  toEnum Int
255 = MipsInsn
MipsInsExtrvRs
  toEnum Int
256 = MipsInsn
MipsInsExtrvR
  toEnum Int
257 = MipsInsn
MipsInsExtrvS
  toEnum Int
258 = MipsInsn
MipsInsExtrv
  toEnum Int
259 = MipsInsn
MipsInsExtrRs
  toEnum Int
260 = MipsInsn
MipsInsExtrR
  toEnum Int
261 = MipsInsn
MipsInsExtrS
  toEnum Int
262 = MipsInsn
MipsInsExtr
  toEnum Int
263 = MipsInsn
MipsInsExts
  toEnum Int
264 = MipsInsn
MipsInsExts32
  toEnum Int
265 = MipsInsn
MipsInsAbs
  toEnum Int
266 = MipsInsn
MipsInsFadd
  toEnum Int
267 = MipsInsn
MipsInsFcaf
  toEnum Int
268 = MipsInsn
MipsInsFceq
  toEnum Int
269 = MipsInsn
MipsInsFclass
  toEnum Int
270 = MipsInsn
MipsInsFcle
  toEnum Int
271 = MipsInsn
MipsInsFclt
  toEnum Int
272 = MipsInsn
MipsInsFcne
  toEnum Int
273 = MipsInsn
MipsInsFcor
  toEnum Int
274 = MipsInsn
MipsInsFcueq
  toEnum Int
275 = MipsInsn
MipsInsFcule
  toEnum Int
276 = MipsInsn
MipsInsFcult
  toEnum Int
277 = MipsInsn
MipsInsFcune
  toEnum Int
278 = MipsInsn
MipsInsFcun
  toEnum Int
279 = MipsInsn
MipsInsFdiv
  toEnum Int
280 = MipsInsn
MipsInsFexdo
  toEnum Int
281 = MipsInsn
MipsInsFexp2
  toEnum Int
282 = MipsInsn
MipsInsFexupl
  toEnum Int
283 = MipsInsn
MipsInsFexupr
  toEnum Int
284 = MipsInsn
MipsInsFfintS
  toEnum Int
285 = MipsInsn
MipsInsFfintU
  toEnum Int
286 = MipsInsn
MipsInsFfql
  toEnum Int
287 = MipsInsn
MipsInsFfqr
  toEnum Int
288 = MipsInsn
MipsInsFill
  toEnum Int
289 = MipsInsn
MipsInsFlog2
  toEnum Int
290 = MipsInsn
MipsInsFloor
  toEnum Int
291 = MipsInsn
MipsInsFmadd
  toEnum Int
292 = MipsInsn
MipsInsFmaxA
  toEnum Int
293 = MipsInsn
MipsInsFmax
  toEnum Int
294 = MipsInsn
MipsInsFminA
  toEnum Int
295 = MipsInsn
MipsInsFmin
  toEnum Int
296 = MipsInsn
MipsInsMov
  toEnum Int
297 = MipsInsn
MipsInsFmsub
  toEnum Int
298 = MipsInsn
MipsInsFmul
  toEnum Int
299 = MipsInsn
MipsInsMul
  toEnum Int
300 = MipsInsn
MipsInsNeg
  toEnum Int
301 = MipsInsn
MipsInsFrcp
  toEnum Int
302 = MipsInsn
MipsInsFrint
  toEnum Int
303 = MipsInsn
MipsInsFrsqrt
  toEnum Int
304 = MipsInsn
MipsInsFsaf
  toEnum Int
305 = MipsInsn
MipsInsFseq
  toEnum Int
306 = MipsInsn
MipsInsFsle
  toEnum Int
307 = MipsInsn
MipsInsFslt
  toEnum Int
308 = MipsInsn
MipsInsFsne
  toEnum Int
309 = MipsInsn
MipsInsFsor
  toEnum Int
310 = MipsInsn
MipsInsFsqrt
  toEnum Int
311 = MipsInsn
MipsInsSqrt
  toEnum Int
312 = MipsInsn
MipsInsFsub
  toEnum Int
313 = MipsInsn
MipsInsSub
  toEnum Int
314 = MipsInsn
MipsInsFsueq
  toEnum Int
315 = MipsInsn
MipsInsFsule
  toEnum Int
316 = MipsInsn
MipsInsFsult
  toEnum Int
317 = MipsInsn
MipsInsFsune
  toEnum Int
318 = MipsInsn
MipsInsFsun
  toEnum Int
319 = MipsInsn
MipsInsFtintS
  toEnum Int
320 = MipsInsn
MipsInsFtintU
  toEnum Int
321 = MipsInsn
MipsInsFtq
  toEnum Int
322 = MipsInsn
MipsInsFtruncS
  toEnum Int
323 = MipsInsn
MipsInsFtruncU
  toEnum Int
324 = MipsInsn
MipsInsHaddS
  toEnum Int
325 = MipsInsn
MipsInsHaddU
  toEnum Int
326 = MipsInsn
MipsInsHsubS
  toEnum Int
327 = MipsInsn
MipsInsHsubU
  toEnum Int
328 = MipsInsn
MipsInsIlvev
  toEnum Int
329 = MipsInsn
MipsInsIlvl
  toEnum Int
330 = MipsInsn
MipsInsIlvod
  toEnum Int
331 = MipsInsn
MipsInsIlvr
  toEnum Int
332 = MipsInsn
MipsInsIns
  toEnum Int
333 = MipsInsn
MipsInsInsert
  toEnum Int
334 = MipsInsn
MipsInsInsv
  toEnum Int
335 = MipsInsn
MipsInsInsve
  toEnum Int
336 = MipsInsn
MipsInsJ
  toEnum Int
337 = MipsInsn
MipsInsJal
  toEnum Int
338 = MipsInsn
MipsInsJalr
  toEnum Int
339 = MipsInsn
MipsInsJalrs16
  toEnum Int
340 = MipsInsn
MipsInsJalrs
  toEnum Int
341 = MipsInsn
MipsInsJals
  toEnum Int
342 = MipsInsn
MipsInsJalx
  toEnum Int
343 = MipsInsn
MipsInsJialc
  toEnum Int
344 = MipsInsn
MipsInsJic
  toEnum Int
345 = MipsInsn
MipsInsJr
  toEnum Int
346 = MipsInsn
MipsInsJr16
  toEnum Int
347 = MipsInsn
MipsInsJraddiusp
  toEnum Int
348 = MipsInsn
MipsInsJrc
  toEnum Int
349 = MipsInsn
MipsInsJalrc
  toEnum Int
350 = MipsInsn
MipsInsLb
  toEnum Int
351 = MipsInsn
MipsInsLbu16
  toEnum Int
352 = MipsInsn
MipsInsLbux
  toEnum Int
353 = MipsInsn
MipsInsLbu
  toEnum Int
354 = MipsInsn
MipsInsLd
  toEnum Int
355 = MipsInsn
MipsInsLdc1
  toEnum Int
356 = MipsInsn
MipsInsLdc2
  toEnum Int
357 = MipsInsn
MipsInsLdc3
  toEnum Int
358 = MipsInsn
MipsInsLdi
  toEnum Int
359 = MipsInsn
MipsInsLdl
  toEnum Int
360 = MipsInsn
MipsInsLdpc
  toEnum Int
361 = MipsInsn
MipsInsLdr
  toEnum Int
362 = MipsInsn
MipsInsLdxc1
  toEnum Int
363 = MipsInsn
MipsInsLh
  toEnum Int
364 = MipsInsn
MipsInsLhu16
  toEnum Int
365 = MipsInsn
MipsInsLhx
  toEnum Int
366 = MipsInsn
MipsInsLhu
  toEnum Int
367 = MipsInsn
MipsInsLi16
  toEnum Int
368 = MipsInsn
MipsInsLl
  toEnum Int
369 = MipsInsn
MipsInsLld
  toEnum Int
370 = MipsInsn
MipsInsLsa
  toEnum Int
371 = MipsInsn
MipsInsLuxc1
  toEnum Int
372 = MipsInsn
MipsInsLui
  toEnum Int
373 = MipsInsn
MipsInsLw
  toEnum Int
374 = MipsInsn
MipsInsLw16
  toEnum Int
375 = MipsInsn
MipsInsLwc1
  toEnum Int
376 = MipsInsn
MipsInsLwc2
  toEnum Int
377 = MipsInsn
MipsInsLwc3
  toEnum Int
378 = MipsInsn
MipsInsLwl
  toEnum Int
379 = MipsInsn
MipsInsLwm16
  toEnum Int
380 = MipsInsn
MipsInsLwm32
  toEnum Int
381 = MipsInsn
MipsInsLwpc
  toEnum Int
382 = MipsInsn
MipsInsLwp
  toEnum Int
383 = MipsInsn
MipsInsLwr
  toEnum Int
384 = MipsInsn
MipsInsLwupc
  toEnum Int
385 = MipsInsn
MipsInsLwu
  toEnum Int
386 = MipsInsn
MipsInsLwx
  toEnum Int
387 = MipsInsn
MipsInsLwxc1
  toEnum Int
388 = MipsInsn
MipsInsLwxs
  toEnum Int
389 = MipsInsn
MipsInsLi
  toEnum Int
390 = MipsInsn
MipsInsMadd
  toEnum Int
391 = MipsInsn
MipsInsMaddf
  toEnum Int
392 = MipsInsn
MipsInsMaddrQ
  toEnum Int
393 = MipsInsn
MipsInsMaddu
  toEnum Int
394 = MipsInsn
MipsInsMaddv
  toEnum Int
395 = MipsInsn
MipsInsMaddQ
  toEnum Int
396 = MipsInsn
MipsInsMaqSa
  toEnum Int
397 = MipsInsn
MipsInsMaqS
  toEnum Int
398 = MipsInsn
MipsInsMaxa
  toEnum Int
399 = MipsInsn
MipsInsMaxiS
  toEnum Int
400 = MipsInsn
MipsInsMaxiU
  toEnum Int
401 = MipsInsn
MipsInsMaxA
  toEnum Int
402 = MipsInsn
MipsInsMax
  toEnum Int
403 = MipsInsn
MipsInsMaxS
  toEnum Int
404 = MipsInsn
MipsInsMaxU
  toEnum Int
405 = MipsInsn
MipsInsMfc0
  toEnum Int
406 = MipsInsn
MipsInsMfc1
  toEnum Int
407 = MipsInsn
MipsInsMfc2
  toEnum Int
408 = MipsInsn
MipsInsMfhc1
  toEnum Int
409 = MipsInsn
MipsInsMfhi
  toEnum Int
410 = MipsInsn
MipsInsMflo
  toEnum Int
411 = MipsInsn
MipsInsMina
  toEnum Int
412 = MipsInsn
MipsInsMiniS
  toEnum Int
413 = MipsInsn
MipsInsMiniU
  toEnum Int
414 = MipsInsn
MipsInsMinA
  toEnum Int
415 = MipsInsn
MipsInsMin
  toEnum Int
416 = MipsInsn
MipsInsMinS
  toEnum Int
417 = MipsInsn
MipsInsMinU
  toEnum Int
418 = MipsInsn
MipsInsMod
  toEnum Int
419 = MipsInsn
MipsInsModsub
  toEnum Int
420 = MipsInsn
MipsInsModu
  toEnum Int
421 = MipsInsn
MipsInsModS
  toEnum Int
422 = MipsInsn
MipsInsModU
  toEnum Int
423 = MipsInsn
MipsInsMove
  toEnum Int
424 = MipsInsn
MipsInsMovep
  toEnum Int
425 = MipsInsn
MipsInsMovf
  toEnum Int
426 = MipsInsn
MipsInsMovn
  toEnum Int
427 = MipsInsn
MipsInsMovt
  toEnum Int
428 = MipsInsn
MipsInsMovz
  toEnum Int
429 = MipsInsn
MipsInsMsub
  toEnum Int
430 = MipsInsn
MipsInsMsubf
  toEnum Int
431 = MipsInsn
MipsInsMsubrQ
  toEnum Int
432 = MipsInsn
MipsInsMsubu
  toEnum Int
433 = MipsInsn
MipsInsMsubv
  toEnum Int
434 = MipsInsn
MipsInsMsubQ
  toEnum Int
435 = MipsInsn
MipsInsMtc0
  toEnum Int
436 = MipsInsn
MipsInsMtc1
  toEnum Int
437 = MipsInsn
MipsInsMtc2
  toEnum Int
438 = MipsInsn
MipsInsMthc1
  toEnum Int
439 = MipsInsn
MipsInsMthi
  toEnum Int
440 = MipsInsn
MipsInsMthlip
  toEnum Int
441 = MipsInsn
MipsInsMtlo
  toEnum Int
442 = MipsInsn
MipsInsMtm0
  toEnum Int
443 = MipsInsn
MipsInsMtm1
  toEnum Int
444 = MipsInsn
MipsInsMtm2
  toEnum Int
445 = MipsInsn
MipsInsMtp0
  toEnum Int
446 = MipsInsn
MipsInsMtp1
  toEnum Int
447 = MipsInsn
MipsInsMtp2
  toEnum Int
448 = MipsInsn
MipsInsMuh
  toEnum Int
449 = MipsInsn
MipsInsMuhu
  toEnum Int
450 = MipsInsn
MipsInsMuleqS
  toEnum Int
451 = MipsInsn
MipsInsMuleuS
  toEnum Int
452 = MipsInsn
MipsInsMulqRs
  toEnum Int
453 = MipsInsn
MipsInsMulqS
  toEnum Int
454 = MipsInsn
MipsInsMulrQ
  toEnum Int
455 = MipsInsn
MipsInsMulsaqS
  toEnum Int
456 = MipsInsn
MipsInsMulsa
  toEnum Int
457 = MipsInsn
MipsInsMult
  toEnum Int
458 = MipsInsn
MipsInsMultu
  toEnum Int
459 = MipsInsn
MipsInsMulu
  toEnum Int
460 = MipsInsn
MipsInsMulv
  toEnum Int
461 = MipsInsn
MipsInsMulQ
  toEnum Int
462 = MipsInsn
MipsInsMulS
  toEnum Int
463 = MipsInsn
MipsInsNloc
  toEnum Int
464 = MipsInsn
MipsInsNlzc
  toEnum Int
465 = MipsInsn
MipsInsNmadd
  toEnum Int
466 = MipsInsn
MipsInsNmsub
  toEnum Int
467 = MipsInsn
MipsInsNor
  toEnum Int
468 = MipsInsn
MipsInsNori
  toEnum Int
469 = MipsInsn
MipsInsNot16
  toEnum Int
470 = MipsInsn
MipsInsNot
  toEnum Int
471 = MipsInsn
MipsInsOr
  toEnum Int
472 = MipsInsn
MipsInsOr16
  toEnum Int
473 = MipsInsn
MipsInsOri
  toEnum Int
474 = MipsInsn
MipsInsPackrl
  toEnum Int
475 = MipsInsn
MipsInsPause
  toEnum Int
476 = MipsInsn
MipsInsPckev
  toEnum Int
477 = MipsInsn
MipsInsPckod
  toEnum Int
478 = MipsInsn
MipsInsPcnt
  toEnum Int
479 = MipsInsn
MipsInsPick
  toEnum Int
480 = MipsInsn
MipsInsPop
  toEnum Int
481 = MipsInsn
MipsInsPrecequ
  toEnum Int
482 = MipsInsn
MipsInsPreceq
  toEnum Int
483 = MipsInsn
MipsInsPreceu
  toEnum Int
484 = MipsInsn
MipsInsPrecrquS
  toEnum Int
485 = MipsInsn
MipsInsPrecrq
  toEnum Int
486 = MipsInsn
MipsInsPrecrqRs
  toEnum Int
487 = MipsInsn
MipsInsPrecr
  toEnum Int
488 = MipsInsn
MipsInsPrecrSra
  toEnum Int
489 = MipsInsn
MipsInsPrecrSraR
  toEnum Int
490 = MipsInsn
MipsInsPref
  toEnum Int
491 = MipsInsn
MipsInsPrepend
  toEnum Int
492 = MipsInsn
MipsInsRaddu
  toEnum Int
493 = MipsInsn
MipsInsRddsp
  toEnum Int
494 = MipsInsn
MipsInsRdhwr
  toEnum Int
495 = MipsInsn
MipsInsReplv
  toEnum Int
496 = MipsInsn
MipsInsRepl
  toEnum Int
497 = MipsInsn
MipsInsRint
  toEnum Int
498 = MipsInsn
MipsInsRotr
  toEnum Int
499 = MipsInsn
MipsInsRotrv
  toEnum Int
500 = MipsInsn
MipsInsRound
  toEnum Int
501 = MipsInsn
MipsInsSatS
  toEnum Int
502 = MipsInsn
MipsInsSatU
  toEnum Int
503 = MipsInsn
MipsInsSb
  toEnum Int
504 = MipsInsn
MipsInsSb16
  toEnum Int
505 = MipsInsn
MipsInsSc
  toEnum Int
506 = MipsInsn
MipsInsScd
  toEnum Int
507 = MipsInsn
MipsInsSd
  toEnum Int
508 = MipsInsn
MipsInsSdbbp
  toEnum Int
509 = MipsInsn
MipsInsSdbbp16
  toEnum Int
510 = MipsInsn
MipsInsSdc1
  toEnum Int
511 = MipsInsn
MipsInsSdc2
  toEnum Int
512 = MipsInsn
MipsInsSdc3
  toEnum Int
513 = MipsInsn
MipsInsSdl
  toEnum Int
514 = MipsInsn
MipsInsSdr
  toEnum Int
515 = MipsInsn
MipsInsSdxc1
  toEnum Int
516 = MipsInsn
MipsInsSeb
  toEnum Int
517 = MipsInsn
MipsInsSeh
  toEnum Int
518 = MipsInsn
MipsInsSeleqz
  toEnum Int
519 = MipsInsn
MipsInsSelnez
  toEnum Int
520 = MipsInsn
MipsInsSel
  toEnum Int
521 = MipsInsn
MipsInsSeq
  toEnum Int
522 = MipsInsn
MipsInsSeqi
  toEnum Int
523 = MipsInsn
MipsInsSh
  toEnum Int
524 = MipsInsn
MipsInsSh16
  toEnum Int
525 = MipsInsn
MipsInsShf
  toEnum Int
526 = MipsInsn
MipsInsShilo
  toEnum Int
527 = MipsInsn
MipsInsShilov
  toEnum Int
528 = MipsInsn
MipsInsShllv
  toEnum Int
529 = MipsInsn
MipsInsShllvS
  toEnum Int
530 = MipsInsn
MipsInsShll
  toEnum Int
531 = MipsInsn
MipsInsShllS
  toEnum Int
532 = MipsInsn
MipsInsShrav
  toEnum Int
533 = MipsInsn
MipsInsShravR
  toEnum Int
534 = MipsInsn
MipsInsShra
  toEnum Int
535 = MipsInsn
MipsInsShraR
  toEnum Int
536 = MipsInsn
MipsInsShrlv
  toEnum Int
537 = MipsInsn
MipsInsShrl
  toEnum Int
538 = MipsInsn
MipsInsSldi
  toEnum Int
539 = MipsInsn
MipsInsSld
  toEnum Int
540 = MipsInsn
MipsInsSll
  toEnum Int
541 = MipsInsn
MipsInsSll16
  toEnum Int
542 = MipsInsn
MipsInsSlli
  toEnum Int
543 = MipsInsn
MipsInsSllv
  toEnum Int
544 = MipsInsn
MipsInsSlt
  toEnum Int
545 = MipsInsn
MipsInsSlti
  toEnum Int
546 = MipsInsn
MipsInsSltiu
  toEnum Int
547 = MipsInsn
MipsInsSltu
  toEnum Int
548 = MipsInsn
MipsInsSne
  toEnum Int
549 = MipsInsn
MipsInsSnei
  toEnum Int
550 = MipsInsn
MipsInsSplati
  toEnum Int
551 = MipsInsn
MipsInsSplat
  toEnum Int
552 = MipsInsn
MipsInsSra
  toEnum Int
553 = MipsInsn
MipsInsSrai
  toEnum Int
554 = MipsInsn
MipsInsSrari
  toEnum Int
555 = MipsInsn
MipsInsSrar
  toEnum Int
556 = MipsInsn
MipsInsSrav
  toEnum Int
557 = MipsInsn
MipsInsSrl
  toEnum Int
558 = MipsInsn
MipsInsSrl16
  toEnum Int
559 = MipsInsn
MipsInsSrli
  toEnum Int
560 = MipsInsn
MipsInsSrlri
  toEnum Int
561 = MipsInsn
MipsInsSrlr
  toEnum Int
562 = MipsInsn
MipsInsSrlv
  toEnum Int
563 = MipsInsn
MipsInsSsnop
  toEnum Int
564 = MipsInsn
MipsInsSt
  toEnum Int
565 = MipsInsn
MipsInsSubqh
  toEnum Int
566 = MipsInsn
MipsInsSubqhR
  toEnum Int
567 = MipsInsn
MipsInsSubq
  toEnum Int
568 = MipsInsn
MipsInsSubqS
  toEnum Int
569 = MipsInsn
MipsInsSubsusU
  toEnum Int
570 = MipsInsn
MipsInsSubsuuS
  toEnum Int
571 = MipsInsn
MipsInsSubsS
  toEnum Int
572 = MipsInsn
MipsInsSubsU
  toEnum Int
573 = MipsInsn
MipsInsSubu16
  toEnum Int
574 = MipsInsn
MipsInsSubuh
  toEnum Int
575 = MipsInsn
MipsInsSubuhR
  toEnum Int
576 = MipsInsn
MipsInsSubu
  toEnum Int
577 = MipsInsn
MipsInsSubuS
  toEnum Int
578 = MipsInsn
MipsInsSubvi
  toEnum Int
579 = MipsInsn
MipsInsSubv
  toEnum Int
580 = MipsInsn
MipsInsSuxc1
  toEnum Int
581 = MipsInsn
MipsInsSw
  toEnum Int
582 = MipsInsn
MipsInsSw16
  toEnum Int
583 = MipsInsn
MipsInsSwc1
  toEnum Int
584 = MipsInsn
MipsInsSwc2
  toEnum Int
585 = MipsInsn
MipsInsSwc3
  toEnum Int
586 = MipsInsn
MipsInsSwl
  toEnum Int
587 = MipsInsn
MipsInsSwm16
  toEnum Int
588 = MipsInsn
MipsInsSwm32
  toEnum Int
589 = MipsInsn
MipsInsSwp
  toEnum Int
590 = MipsInsn
MipsInsSwr
  toEnum Int
591 = MipsInsn
MipsInsSwxc1
  toEnum Int
592 = MipsInsn
MipsInsSync
  toEnum Int
593 = MipsInsn
MipsInsSynci
  toEnum Int
594 = MipsInsn
MipsInsSyscall
  toEnum Int
595 = MipsInsn
MipsInsTeq
  toEnum Int
596 = MipsInsn
MipsInsTeqi
  toEnum Int
597 = MipsInsn
MipsInsTge
  toEnum Int
598 = MipsInsn
MipsInsTgei
  toEnum Int
599 = MipsInsn
MipsInsTgeiu
  toEnum Int
600 = MipsInsn
MipsInsTgeu
  toEnum Int
601 = MipsInsn
MipsInsTlbp
  toEnum Int
602 = MipsInsn
MipsInsTlbr
  toEnum Int
603 = MipsInsn
MipsInsTlbwi
  toEnum Int
604 = MipsInsn
MipsInsTlbwr
  toEnum Int
605 = MipsInsn
MipsInsTlt
  toEnum Int
606 = MipsInsn
MipsInsTlti
  toEnum Int
607 = MipsInsn
MipsInsTltiu
  toEnum Int
608 = MipsInsn
MipsInsTltu
  toEnum Int
609 = MipsInsn
MipsInsTne
  toEnum Int
610 = MipsInsn
MipsInsTnei
  toEnum Int
611 = MipsInsn
MipsInsTrunc
  toEnum Int
612 = MipsInsn
MipsInsV3mulu
  toEnum Int
613 = MipsInsn
MipsInsVmm0
  toEnum Int
614 = MipsInsn
MipsInsVmulu
  toEnum Int
615 = MipsInsn
MipsInsVshf
  toEnum Int
616 = MipsInsn
MipsInsWait
  toEnum Int
617 = MipsInsn
MipsInsWrdsp
  toEnum Int
618 = MipsInsn
MipsInsWsbh
  toEnum Int
619 = MipsInsn
MipsInsXor
  toEnum Int
620 = MipsInsn
MipsInsXor16
  toEnum Int
621 = MipsInsn
MipsInsXori
  toEnum Int
622 = MipsInsn
MipsInsNop
  toEnum Int
623 = MipsInsn
MipsInsNegu
  toEnum Int
624 = MipsInsn
MipsInsJalrHb
  toEnum Int
625 = MipsInsn
MipsInsJrHb
  toEnum Int
626 = MipsInsn
MipsInsEnding
  toEnum Int
unmatched = String -> MipsInsn
forall a. HasCallStack => String -> a
error (String
"MipsInsn.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)

{-# LINE 112 "src/Hapstone/Internal/Mips.chs" #-}

-- | MIPS instruction groups
data MipsInsnGroup = MipsGrpInvalid
                   | MipsGrpJump
                   | MipsGrpCall
                   | MipsGrpRet
                   | MipsGrpInt
                   | MipsGrpIret
                   | MipsGrpPrivilege
                   | MipsGrpBranchRelative
                   | MipsGrpBitcount
                   | MipsGrpDsp
                   | MipsGrpDspr2
                   | MipsGrpFpidx
                   | MipsGrpMsa
                   | MipsGrpMips32r2
                   | MipsGrpMips64
                   | MipsGrpMips64r2
                   | MipsGrpSeinreg
                   | MipsGrpStdenc
                   | MipsGrpSwap
                   | MipsGrpMicromips
                   | MipsGrpMips16mode
                   | MipsGrpFp64bit
                   | MipsGrpNonansfpmath
                   | MipsGrpNotfp64bit
                   | MipsGrpNotinmicromips
                   | MipsGrpNotnacl
                   | MipsGrpNotmips32r6
                   | MipsGrpNotmips64r6
                   | MipsGrpCnmips
                   | MipsGrpMips32
                   | MipsGrpMips32r6
                   | MipsGrpMips64r6
                   | MipsGrpMips2
                   | MipsGrpMips3
                   | MipsGrpMips332
                   | MipsGrpMips332r2
                   | MipsGrpMips432
                   | MipsGrpMips432r2
                   | MipsGrpMips532r2
                   | MipsGrpGp32bit
                   | MipsGrpGp64bit
                   | MipsGrpEnding
  deriving (Show,Eq,Bounded)
instance Enum MipsInsnGroup where
  succ MipsGrpInvalid = MipsGrpJump
  succ MipsGrpJump = MipsGrpCall
  succ MipsGrpCall = MipsGrpRet
  succ MipsGrpRet = MipsGrpInt
  succ MipsGrpInt = MipsGrpIret
  succ MipsGrpIret = MipsGrpPrivilege
  succ MipsGrpPrivilege = MipsGrpBranchRelative
  succ MipsGrpBranchRelative = MipsGrpBitcount
  succ MipsGrpBitcount = MipsGrpDsp
  succ MipsGrpDsp = MipsGrpDspr2
  succ MipsGrpDspr2 = MipsGrpFpidx
  succ MipsGrpFpidx = MipsGrpMsa
  succ MipsGrpMsa = MipsGrpMips32r2
  succ MipsGrpMips32r2 = MipsGrpMips64
  succ MipsGrpMips64 = MipsGrpMips64r2
  succ MipsGrpMips64r2 = MipsGrpSeinreg
  succ MipsGrpSeinreg = MipsGrpStdenc
  succ MipsGrpStdenc = MipsGrpSwap
  succ MipsGrpSwap = MipsGrpMicromips
  succ MipsGrpMicromips = MipsGrpMips16mode
  succ MipsGrpMips16mode = MipsGrpFp64bit
  succ MipsGrpFp64bit = MipsGrpNonansfpmath
  succ MipsGrpNonansfpmath = MipsGrpNotfp64bit
  succ MipsGrpNotfp64bit = MipsGrpNotinmicromips
  succ MipsGrpNotinmicromips = MipsGrpNotnacl
  succ MipsGrpNotnacl = MipsGrpNotmips32r6
  succ MipsGrpNotmips32r6 = MipsGrpNotmips64r6
  succ MipsGrpNotmips64r6 = MipsGrpCnmips
  succ MipsGrpCnmips = MipsGrpMips32
  succ MipsGrpMips32 = MipsGrpMips32r6
  succ MipsGrpMips32r6 = MipsGrpMips64r6
  succ MipsGrpMips64r6 = MipsGrpMips2
  succ MipsGrpMips2 = MipsGrpMips3
  succ MipsGrpMips3 = MipsGrpMips332
  succ MipsGrpMips332 = MipsGrpMips332r2
  succ MipsGrpMips332r2 = MipsGrpMips432
  succ MipsGrpMips432 = MipsGrpMips432r2
  succ MipsGrpMips432r2 = MipsGrpMips532r2
  succ MipsGrpMips532r2 = MipsGrpGp32bit
  succ MipsGrpGp32bit = MipsGrpGp64bit
  succ MipsGrpGp64bit = MipsGrpEnding
  succ MipsGrpEnding = error "MipsInsnGroup.succ: MipsGrpEnding has no successor"

  pred MipsGrpJump = MipsGrpInvalid
  pred MipsGrpCall = MipsGrpJump
  pred MipsGrpRet = MipsGrpCall
  pred MipsGrpInt = MipsGrpRet
  pred MipsGrpIret = MipsGrpInt
  pred MipsGrpPrivilege = MipsGrpIret
  pred MipsGrpBranchRelative = MipsGrpPrivilege
  pred MipsGrpBitcount = MipsGrpBranchRelative
  pred MipsGrpDsp = MipsGrpBitcount
  pred MipsGrpDspr2 = MipsGrpDsp
  pred MipsGrpFpidx = MipsGrpDspr2
  pred MipsGrpMsa = MipsGrpFpidx
  pred MipsGrpMips32r2 = MipsGrpMsa
  pred MipsGrpMips64 = MipsGrpMips32r2
  pred MipsGrpMips64r2 = MipsGrpMips64
  pred MipsGrpSeinreg = MipsGrpMips64r2
  pred MipsGrpStdenc = MipsGrpSeinreg
  pred MipsGrpSwap = MipsGrpStdenc
  pred MipsGrpMicromips = MipsGrpSwap
  pred MipsGrpMips16mode = MipsGrpMicromips
  pred MipsGrpFp64bit = MipsGrpMips16mode
  pred MipsGrpNonansfpmath = MipsGrpFp64bit
  pred MipsGrpNotfp64bit = MipsGrpNonansfpmath
  pred MipsGrpNotinmicromips = MipsGrpNotfp64bit
  pred MipsGrpNotnacl = MipsGrpNotinmicromips
  pred MipsGrpNotmips32r6 = MipsGrpNotnacl
  pred MipsGrpNotmips64r6 = MipsGrpNotmips32r6
  pred MipsGrpCnmips = MipsGrpNotmips64r6
  pred MipsGrpMips32 = MipsGrpCnmips
  pred MipsGrpMips32r6 = MipsGrpMips32
  pred MipsGrpMips64r6 = MipsGrpMips32r6
  pred MipsGrpMips2 = MipsGrpMips64r6
  pred MipsGrpMips3 = MipsGrpMips2
  pred MipsGrpMips332 = MipsGrpMips3
  pred MipsGrpMips332r2 = MipsGrpMips332
  pred MipsGrpMips432 = MipsGrpMips332r2
  pred MipsGrpMips432r2 = MipsGrpMips432
  pred MipsGrpMips532r2 = MipsGrpMips432r2
  pred MipsGrpGp32bit = MipsGrpMips532r2
  pred MipsGrpGp64bit = MipsGrpGp32bit
  pred MipsGrpEnding = MipsGrpGp64bit
  pred MipsGrpInvalid = error "MipsInsnGroup.pred: MipsGrpInvalid 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 MipsGrpEnding

  fromEnum MipsGrpInvalid = 0
  fromEnum MipsGrpJump = 1
  fromEnum MipsGrpCall = 2
  fromEnum MipsGrpRet = 3
  fromEnum MipsGrpInt = 4
  fromEnum MipsGrpIret = 5
  fromEnum MipsGrpPrivilege = 6
  fromEnum MipsGrpBranchRelative = 7
  fromEnum MipsGrpBitcount = 128
  fromEnum MipsGrpDsp = 129
  fromEnum MipsGrpDspr2 = 130
  fromEnum MipsGrpFpidx = 131
  fromEnum MipsGrpMsa = 132
  fromEnum MipsGrpMips32r2 = 133
  fromEnum MipsGrpMips64 = 134
  fromEnum MipsGrpMips64r2 = 135
  fromEnum MipsGrpSeinreg = 136
  fromEnum MipsGrpStdenc = 137
  fromEnum MipsGrpSwap = 138
  fromEnum MipsGrpMicromips = 139
  fromEnum MipsGrpMips16mode = 140
  fromEnum MipsGrpFp64bit = 141
  fromEnum MipsGrpNonansfpmath = 142
  fromEnum MipsGrpNotfp64bit = 143
  fromEnum MipsGrpNotinmicromips = 144
  fromEnum MipsGrpNotnacl = 145
  fromEnum MipsGrpNotmips32r6 = 146
  fromEnum MipsGrpNotmips64r6 = 147
  fromEnum MipsGrpCnmips = 148
  fromEnum MipsGrpMips32 = 149
  fromEnum MipsGrpMips32r6 = 150
  fromEnum MipsGrpMips64r6 = 151
  fromEnum MipsGrpMips2 = 152
  fromEnum MipsGrpMips3 = 153
  fromEnum MipsGrpMips332 = 154
  fromEnum MipsGrpMips332r2 = 155
  fromEnum MipsGrpMips432 = 156
  fromEnum MipsGrpMips432r2 = 157
  fromEnum MipsGrpMips532r2 = 158
  fromEnum MipsGrpGp32bit = 159
  fromEnum MipsGrpGp64bit = 160
  fromEnum MipsGrpEnding = 161

  toEnum 0 = MipsGrpInvalid
  toEnum 1 = MipsGrpJump
  toEnum 2 = MipsGrpCall
  toEnum 3 = MipsGrpRet
  toEnum 4 = MipsGrpInt
  toEnum 5 = MipsGrpIret
  toEnum 6 = MipsGrpPrivilege
  toEnum 7 = MipsGrpBranchRelative
  toEnum 128 = MipsGrpBitcount
  toEnum 129 = MipsGrpDsp
  toEnum 130 = MipsGrpDspr2
  toEnum 131 = MipsGrpFpidx
  toEnum 132 = MipsGrpMsa
  toEnum 133 = MipsGrpMips32r2
  toEnum 134 = MipsGrpMips64
  toEnum 135 = MipsGrpMips64r2
  toEnum 136 = MipsGrpSeinreg
  toEnum 137 = MipsGrpStdenc
  toEnum 138 = MipsGrpSwap
  toEnum 139 = MipsGrpMicromips
  toEnum 140 = MipsGrpMips16mode
  toEnum 141 = MipsGrpFp64bit
  toEnum 142 = MipsGrpNonansfpmath
  toEnum 143 = MipsGrpNotfp64bit
  toEnum 144 = MipsGrpNotinmicromips
  toEnum 145 = MipsGrpNotnacl
  toEnum 146 = MipsGrpNotmips32r6
  toEnum 147 = MipsGrpNotmips64r6
  toEnum 148 = MipsGrpCnmips
  toEnum 149 = MipsGrpMips32
  toEnum 150 = MipsGrpMips32r6
  toEnum 151 = MipsGrpMips64r6
  toEnum 152 = MipsGrpMips2
  toEnum 153 = MipsGrpMips3
  toEnum 154 = MipsGrpMips332
  toEnum 155 = MipsGrpMips332r2
  toEnum 156 = MipsGrpMips432
  toEnum 157 = MipsGrpMips432r2
  toEnum 158 = MipsGrpMips532r2
  toEnum 159 = MipsGrpGp32bit
  toEnum 160 = MipsGrpGp64bit
  toEnum 161 = MipsGrpEnding
  toEnum unmatched = error ("MipsInsnGroup.toEnum: Cannot match " ++ show unmatched)

{-# LINE 115 "src/Hapstone/Internal/Mips.chs" #-}