-- GENERATED by C->Haskell Compiler, version 0.28.1 Switcheroo, 1 April 2016 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "src/Hapstone/Internal/X86.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-|
Module      : Hapstone.Internal.X86
Description : x86 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 x86 specific datatypes and their respective Storable
instances. Most of the types are used internally and can be looked up here.
Some of them are currently unused, as the headers only define them as symbolic
constants whose type is never used explicitly, which poses a problem for a
memory-safe port to the Haskell language, this is about to get fixed in a
future version.

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



-- ugly workaround because... capstone doesn't import stdbool.h




{-# LINE 27 "src/Hapstone/Internal/X86.chs" #-}


import Data.List (dropWhileEnd)
import Data.Maybe (fromMaybe)

import Foreign
import Foreign.C.Types

import Hapstone.Internal.Util

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

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

  fromEnum X86RegInvalid = 0
  fromEnum X86RegAh = 1
  fromEnum X86RegAl = 2
  fromEnum X86RegAx = 3
  fromEnum X86RegBh = 4
  fromEnum X86RegBl = 5
  fromEnum X86RegBp = 6
  fromEnum X86RegBpl = 7
  fromEnum X86RegBx = 8
  fromEnum X86RegCh = 9
  fromEnum X86RegCl = 10
  fromEnum X86RegCs = 11
  fromEnum X86RegCx = 12
  fromEnum X86RegDh = 13
  fromEnum X86RegDi = 14
  fromEnum X86RegDil = 15
  fromEnum X86RegDl = 16
  fromEnum X86RegDs = 17
  fromEnum X86RegDx = 18
  fromEnum X86RegEax = 19
  fromEnum X86RegEbp = 20
  fromEnum X86RegEbx = 21
  fromEnum X86RegEcx = 22
  fromEnum X86RegEdi = 23
  fromEnum X86RegEdx = 24
  fromEnum X86RegEflags = 25
  fromEnum X86RegEip = 26
  fromEnum X86RegEiz = 27
  fromEnum X86RegEs = 28
  fromEnum X86RegEsi = 29
  fromEnum X86RegEsp = 30
  fromEnum X86RegFpsw = 31
  fromEnum X86RegFs = 32
  fromEnum X86RegGs = 33
  fromEnum X86RegIp = 34
  fromEnum X86RegRax = 35
  fromEnum X86RegRbp = 36
  fromEnum X86RegRbx = 37
  fromEnum X86RegRcx = 38
  fromEnum X86RegRdi = 39
  fromEnum X86RegRdx = 40
  fromEnum X86RegRip = 41
  fromEnum X86RegRiz = 42
  fromEnum X86RegRsi = 43
  fromEnum X86RegRsp = 44
  fromEnum X86RegSi = 45
  fromEnum X86RegSil = 46
  fromEnum X86RegSp = 47
  fromEnum X86RegSpl = 48
  fromEnum X86RegSs = 49
  fromEnum X86RegCr0 = 50
  fromEnum X86RegCr1 = 51
  fromEnum X86RegCr2 = 52
  fromEnum X86RegCr3 = 53
  fromEnum X86RegCr4 = 54
  fromEnum X86RegCr5 = 55
  fromEnum X86RegCr6 = 56
  fromEnum X86RegCr7 = 57
  fromEnum X86RegCr8 = 58
  fromEnum X86RegCr9 = 59
  fromEnum X86RegCr10 = 60
  fromEnum X86RegCr11 = 61
  fromEnum X86RegCr12 = 62
  fromEnum X86RegCr13 = 63
  fromEnum X86RegCr14 = 64
  fromEnum X86RegCr15 = 65
  fromEnum X86RegDr0 = 66
  fromEnum X86RegDr1 = 67
  fromEnum X86RegDr2 = 68
  fromEnum X86RegDr3 = 69
  fromEnum X86RegDr4 = 70
  fromEnum X86RegDr5 = 71
  fromEnum X86RegDr6 = 72
  fromEnum X86RegDr7 = 73
  fromEnum X86RegDr8 = 74
  fromEnum X86RegDr9 = 75
  fromEnum X86RegDr10 = 76
  fromEnum X86RegDr11 = 77
  fromEnum X86RegDr12 = 78
  fromEnum X86RegDr13 = 79
  fromEnum X86RegDr14 = 80
  fromEnum X86RegDr15 = 81
  fromEnum X86RegFp0 = 82
  fromEnum X86RegFp1 = 83
  fromEnum X86RegFp2 = 84
  fromEnum X86RegFp3 = 85
  fromEnum X86RegFp4 = 86
  fromEnum X86RegFp5 = 87
  fromEnum X86RegFp6 = 88
  fromEnum X86RegFp7 = 89
  fromEnum X86RegK0 = 90
  fromEnum X86RegK1 = 91
  fromEnum X86RegK2 = 92
  fromEnum X86RegK3 = 93
  fromEnum X86RegK4 = 94
  fromEnum X86RegK5 = 95
  fromEnum X86RegK6 = 96
  fromEnum X86RegK7 = 97
  fromEnum X86RegMm0 = 98
  fromEnum X86RegMm1 = 99
  fromEnum X86RegMm2 = 100
  fromEnum X86RegMm3 = 101
  fromEnum X86RegMm4 = 102
  fromEnum X86RegMm5 = 103
  fromEnum X86RegMm6 = 104
  fromEnum X86RegMm7 = 105
  fromEnum X86RegR8 = 106
  fromEnum X86RegR9 = 107
  fromEnum X86RegR10 = 108
  fromEnum X86RegR11 = 109
  fromEnum X86RegR12 = 110
  fromEnum X86RegR13 = 111
  fromEnum X86RegR14 = 112
  fromEnum X86RegR15 = 113
  fromEnum X86RegSt0 = 114
  fromEnum X86RegSt1 = 115
  fromEnum X86RegSt2 = 116
  fromEnum X86RegSt3 = 117
  fromEnum X86RegSt4 = 118
  fromEnum X86RegSt5 = 119
  fromEnum X86RegSt6 = 120
  fromEnum X86RegSt7 = 121
  fromEnum X86RegXmm0 = 122
  fromEnum X86RegXmm1 = 123
  fromEnum X86RegXmm2 = 124
  fromEnum X86RegXmm3 = 125
  fromEnum X86RegXmm4 = 126
  fromEnum X86RegXmm5 = 127
  fromEnum X86RegXmm6 = 128
  fromEnum X86RegXmm7 = 129
  fromEnum X86RegXmm8 = 130
  fromEnum X86RegXmm9 = 131
  fromEnum X86RegXmm10 = 132
  fromEnum X86RegXmm11 = 133
  fromEnum X86RegXmm12 = 134
  fromEnum X86RegXmm13 = 135
  fromEnum X86RegXmm14 = 136
  fromEnum X86RegXmm15 = 137
  fromEnum X86RegXmm16 = 138
  fromEnum X86RegXmm17 = 139
  fromEnum X86RegXmm18 = 140
  fromEnum X86RegXmm19 = 141
  fromEnum X86RegXmm20 = 142
  fromEnum X86RegXmm21 = 143
  fromEnum X86RegXmm22 = 144
  fromEnum X86RegXmm23 = 145
  fromEnum X86RegXmm24 = 146
  fromEnum X86RegXmm25 = 147
  fromEnum X86RegXmm26 = 148
  fromEnum X86RegXmm27 = 149
  fromEnum X86RegXmm28 = 150
  fromEnum X86RegXmm29 = 151
  fromEnum X86RegXmm30 = 152
  fromEnum X86RegXmm31 = 153
  fromEnum X86RegYmm0 = 154
  fromEnum X86RegYmm1 = 155
  fromEnum X86RegYmm2 = 156
  fromEnum X86RegYmm3 = 157
  fromEnum X86RegYmm4 = 158
  fromEnum X86RegYmm5 = 159
  fromEnum X86RegYmm6 = 160
  fromEnum X86RegYmm7 = 161
  fromEnum X86RegYmm8 = 162
  fromEnum X86RegYmm9 = 163
  fromEnum X86RegYmm10 = 164
  fromEnum X86RegYmm11 = 165
  fromEnum X86RegYmm12 = 166
  fromEnum X86RegYmm13 = 167
  fromEnum X86RegYmm14 = 168
  fromEnum X86RegYmm15 = 169
  fromEnum X86RegYmm16 = 170
  fromEnum X86RegYmm17 = 171
  fromEnum X86RegYmm18 = 172
  fromEnum X86RegYmm19 = 173
  fromEnum X86RegYmm20 = 174
  fromEnum X86RegYmm21 = 175
  fromEnum X86RegYmm22 = 176
  fromEnum X86RegYmm23 = 177
  fromEnum X86RegYmm24 = 178
  fromEnum X86RegYmm25 = 179
  fromEnum X86RegYmm26 = 180
  fromEnum X86RegYmm27 = 181
  fromEnum X86RegYmm28 = 182
  fromEnum X86RegYmm29 = 183
  fromEnum X86RegYmm30 = 184
  fromEnum X86RegYmm31 = 185
  fromEnum X86RegZmm0 = 186
  fromEnum X86RegZmm1 = 187
  fromEnum X86RegZmm2 = 188
  fromEnum X86RegZmm3 = 189
  fromEnum X86RegZmm4 = 190
  fromEnum X86RegZmm5 = 191
  fromEnum X86RegZmm6 = 192
  fromEnum X86RegZmm7 = 193
  fromEnum X86RegZmm8 = 194
  fromEnum X86RegZmm9 = 195
  fromEnum X86RegZmm10 = 196
  fromEnum X86RegZmm11 = 197
  fromEnum X86RegZmm12 = 198
  fromEnum X86RegZmm13 = 199
  fromEnum X86RegZmm14 = 200
  fromEnum X86RegZmm15 = 201
  fromEnum X86RegZmm16 = 202
  fromEnum X86RegZmm17 = 203
  fromEnum X86RegZmm18 = 204
  fromEnum X86RegZmm19 = 205
  fromEnum X86RegZmm20 = 206
  fromEnum X86RegZmm21 = 207
  fromEnum X86RegZmm22 = 208
  fromEnum X86RegZmm23 = 209
  fromEnum X86RegZmm24 = 210
  fromEnum X86RegZmm25 = 211
  fromEnum X86RegZmm26 = 212
  fromEnum X86RegZmm27 = 213
  fromEnum X86RegZmm28 = 214
  fromEnum X86RegZmm29 = 215
  fromEnum X86RegZmm30 = 216
  fromEnum X86RegZmm31 = 217
  fromEnum X86RegR8b = 218
  fromEnum X86RegR9b = 219
  fromEnum X86RegR10b = 220
  fromEnum X86RegR11b = 221
  fromEnum X86RegR12b = 222
  fromEnum X86RegR13b = 223
  fromEnum X86RegR14b = 224
  fromEnum X86RegR15b = 225
  fromEnum X86RegR8d = 226
  fromEnum X86RegR9d = 227
  fromEnum X86RegR10d = 228
  fromEnum X86RegR11d = 229
  fromEnum X86RegR12d = 230
  fromEnum X86RegR13d = 231
  fromEnum X86RegR14d = 232
  fromEnum X86RegR15d = 233
  fromEnum X86RegR8w = 234
  fromEnum X86RegR9w = 235
  fromEnum X86RegR10w = 236
  fromEnum X86RegR11w = 237
  fromEnum X86RegR12w = 238
  fromEnum X86RegR13w = 239
  fromEnum X86RegR14w = 240
  fromEnum X86RegR15w = 241
  fromEnum X86RegEnding = 242

  toEnum 0 = X86RegInvalid
  toEnum 1 = X86RegAh
  toEnum 2 = X86RegAl
  toEnum 3 = X86RegAx
  toEnum 4 = X86RegBh
  toEnum 5 = X86RegBl
  toEnum 6 = X86RegBp
  toEnum 7 = X86RegBpl
  toEnum 8 = X86RegBx
  toEnum 9 = X86RegCh
  toEnum 10 = X86RegCl
  toEnum 11 = X86RegCs
  toEnum 12 = X86RegCx
  toEnum 13 = X86RegDh
  toEnum 14 = X86RegDi
  toEnum 15 = X86RegDil
  toEnum 16 = X86RegDl
  toEnum 17 = X86RegDs
  toEnum 18 = X86RegDx
  toEnum 19 = X86RegEax
  toEnum 20 = X86RegEbp
  toEnum 21 = X86RegEbx
  toEnum 22 = X86RegEcx
  toEnum 23 = X86RegEdi
  toEnum 24 = X86RegEdx
  toEnum 25 = X86RegEflags
  toEnum 26 = X86RegEip
  toEnum 27 = X86RegEiz
  toEnum 28 = X86RegEs
  toEnum 29 = X86RegEsi
  toEnum 30 = X86RegEsp
  toEnum 31 = X86RegFpsw
  toEnum 32 = X86RegFs
  toEnum 33 = X86RegGs
  toEnum 34 = X86RegIp
  toEnum 35 = X86RegRax
  toEnum 36 = X86RegRbp
  toEnum 37 = X86RegRbx
  toEnum 38 = X86RegRcx
  toEnum 39 = X86RegRdi
  toEnum 40 = X86RegRdx
  toEnum 41 = X86RegRip
  toEnum 42 = X86RegRiz
  toEnum 43 = X86RegRsi
  toEnum 44 = X86RegRsp
  toEnum 45 = X86RegSi
  toEnum 46 = X86RegSil
  toEnum 47 = X86RegSp
  toEnum 48 = X86RegSpl
  toEnum 49 = X86RegSs
  toEnum 50 = X86RegCr0
  toEnum 51 = X86RegCr1
  toEnum 52 = X86RegCr2
  toEnum 53 = X86RegCr3
  toEnum 54 = X86RegCr4
  toEnum 55 = X86RegCr5
  toEnum 56 = X86RegCr6
  toEnum 57 = X86RegCr7
  toEnum 58 = X86RegCr8
  toEnum 59 = X86RegCr9
  toEnum 60 = X86RegCr10
  toEnum 61 = X86RegCr11
  toEnum 62 = X86RegCr12
  toEnum 63 = X86RegCr13
  toEnum 64 = X86RegCr14
  toEnum 65 = X86RegCr15
  toEnum 66 = X86RegDr0
  toEnum 67 = X86RegDr1
  toEnum 68 = X86RegDr2
  toEnum 69 = X86RegDr3
  toEnum 70 = X86RegDr4
  toEnum 71 = X86RegDr5
  toEnum 72 = X86RegDr6
  toEnum 73 = X86RegDr7
  toEnum 74 = X86RegDr8
  toEnum 75 = X86RegDr9
  toEnum 76 = X86RegDr10
  toEnum 77 = X86RegDr11
  toEnum 78 = X86RegDr12
  toEnum 79 = X86RegDr13
  toEnum 80 = X86RegDr14
  toEnum 81 = X86RegDr15
  toEnum 82 = X86RegFp0
  toEnum 83 = X86RegFp1
  toEnum 84 = X86RegFp2
  toEnum 85 = X86RegFp3
  toEnum 86 = X86RegFp4
  toEnum 87 = X86RegFp5
  toEnum 88 = X86RegFp6
  toEnum 89 = X86RegFp7
  toEnum 90 = X86RegK0
  toEnum 91 = X86RegK1
  toEnum 92 = X86RegK2
  toEnum 93 = X86RegK3
  toEnum 94 = X86RegK4
  toEnum 95 = X86RegK5
  toEnum 96 = X86RegK6
  toEnum 97 = X86RegK7
  toEnum 98 = X86RegMm0
  toEnum 99 = X86RegMm1
  toEnum 100 = X86RegMm2
  toEnum 101 = X86RegMm3
  toEnum 102 = X86RegMm4
  toEnum 103 = X86RegMm5
  toEnum 104 = X86RegMm6
  toEnum 105 = X86RegMm7
  toEnum 106 = X86RegR8
  toEnum 107 = X86RegR9
  toEnum 108 = X86RegR10
  toEnum 109 = X86RegR11
  toEnum 110 = X86RegR12
  toEnum 111 = X86RegR13
  toEnum 112 = X86RegR14
  toEnum 113 = X86RegR15
  toEnum 114 = X86RegSt0
  toEnum 115 = X86RegSt1
  toEnum 116 = X86RegSt2
  toEnum 117 = X86RegSt3
  toEnum 118 = X86RegSt4
  toEnum 119 = X86RegSt5
  toEnum 120 = X86RegSt6
  toEnum 121 = X86RegSt7
  toEnum 122 = X86RegXmm0
  toEnum 123 = X86RegXmm1
  toEnum 124 = X86RegXmm2
  toEnum 125 = X86RegXmm3
  toEnum 126 = X86RegXmm4
  toEnum 127 = X86RegXmm5
  toEnum 128 = X86RegXmm6
  toEnum 129 = X86RegXmm7
  toEnum 130 = X86RegXmm8
  toEnum 131 = X86RegXmm9
  toEnum 132 = X86RegXmm10
  toEnum 133 = X86RegXmm11
  toEnum 134 = X86RegXmm12
  toEnum 135 = X86RegXmm13
  toEnum 136 = X86RegXmm14
  toEnum 137 = X86RegXmm15
  toEnum 138 = X86RegXmm16
  toEnum 139 = X86RegXmm17
  toEnum 140 = X86RegXmm18
  toEnum 141 = X86RegXmm19
  toEnum 142 = X86RegXmm20
  toEnum 143 = X86RegXmm21
  toEnum 144 = X86RegXmm22
  toEnum 145 = X86RegXmm23
  toEnum 146 = X86RegXmm24
  toEnum 147 = X86RegXmm25
  toEnum 148 = X86RegXmm26
  toEnum 149 = X86RegXmm27
  toEnum 150 = X86RegXmm28
  toEnum 151 = X86RegXmm29
  toEnum 152 = X86RegXmm30
  toEnum 153 = X86RegXmm31
  toEnum 154 = X86RegYmm0
  toEnum 155 = X86RegYmm1
  toEnum 156 = X86RegYmm2
  toEnum 157 = X86RegYmm3
  toEnum 158 = X86RegYmm4
  toEnum 159 = X86RegYmm5
  toEnum 160 = X86RegYmm6
  toEnum 161 = X86RegYmm7
  toEnum 162 = X86RegYmm8
  toEnum 163 = X86RegYmm9
  toEnum 164 = X86RegYmm10
  toEnum 165 = X86RegYmm11
  toEnum 166 = X86RegYmm12
  toEnum 167 = X86RegYmm13
  toEnum 168 = X86RegYmm14
  toEnum 169 = X86RegYmm15
  toEnum 170 = X86RegYmm16
  toEnum 171 = X86RegYmm17
  toEnum 172 = X86RegYmm18
  toEnum 173 = X86RegYmm19
  toEnum 174 = X86RegYmm20
  toEnum 175 = X86RegYmm21
  toEnum 176 = X86RegYmm22
  toEnum 177 = X86RegYmm23
  toEnum 178 = X86RegYmm24
  toEnum 179 = X86RegYmm25
  toEnum 180 = X86RegYmm26
  toEnum 181 = X86RegYmm27
  toEnum 182 = X86RegYmm28
  toEnum 183 = X86RegYmm29
  toEnum 184 = X86RegYmm30
  toEnum 185 = X86RegYmm31
  toEnum 186 = X86RegZmm0
  toEnum 187 = X86RegZmm1
  toEnum 188 = X86RegZmm2
  toEnum 189 = X86RegZmm3
  toEnum 190 = X86RegZmm4
  toEnum 191 = X86RegZmm5
  toEnum 192 = X86RegZmm6
  toEnum 193 = X86RegZmm7
  toEnum 194 = X86RegZmm8
  toEnum 195 = X86RegZmm9
  toEnum 196 = X86RegZmm10
  toEnum 197 = X86RegZmm11
  toEnum 198 = X86RegZmm12
  toEnum 199 = X86RegZmm13
  toEnum 200 = X86RegZmm14
  toEnum 201 = X86RegZmm15
  toEnum 202 = X86RegZmm16
  toEnum 203 = X86RegZmm17
  toEnum 204 = X86RegZmm18
  toEnum 205 = X86RegZmm19
  toEnum 206 = X86RegZmm20
  toEnum 207 = X86RegZmm21
  toEnum 208 = X86RegZmm22
  toEnum 209 = X86RegZmm23
  toEnum 210 = X86RegZmm24
  toEnum 211 = X86RegZmm25
  toEnum 212 = X86RegZmm26
  toEnum 213 = X86RegZmm27
  toEnum 214 = X86RegZmm28
  toEnum 215 = X86RegZmm29
  toEnum 216 = X86RegZmm30
  toEnum 217 = X86RegZmm31
  toEnum 218 = X86RegR8b
  toEnum 219 = X86RegR9b
  toEnum 220 = X86RegR10b
  toEnum 221 = X86RegR11b
  toEnum 222 = X86RegR12b
  toEnum 223 = X86RegR13b
  toEnum 224 = X86RegR14b
  toEnum 225 = X86RegR15b
  toEnum 226 = X86RegR8d
  toEnum 227 = X86RegR9d
  toEnum 228 = X86RegR10d
  toEnum 229 = X86RegR11d
  toEnum 230 = X86RegR12d
  toEnum 231 = X86RegR13d
  toEnum 232 = X86RegR14d
  toEnum 233 = X86RegR15d
  toEnum 234 = X86RegR8w
  toEnum 235 = X86RegR9w
  toEnum 236 = X86RegR10w
  toEnum 237 = X86RegR11w
  toEnum 238 = X86RegR12w
  toEnum 239 = X86RegR13w
  toEnum 240 = X86RegR14w
  toEnum 241 = X86RegR15w
  toEnum 242 = X86RegEnding
  toEnum unmatched = error ("X86Reg.toEnum: Cannot match " ++ show unmatched)

{-# LINE 39 "src/Hapstone/Internal/X86.chs" #-}


-- TODO: add X86_EFLAGS_* flags as enum

-- | operand type for instruction's operands
data X86OpType = X86OpInvalid
               | X86OpReg
               | X86OpImm
               | X86OpMem
  deriving (Show,Eq,Bounded)
instance Enum X86OpType where
  succ X86OpInvalid = X86OpReg
  succ X86OpReg = X86OpImm
  succ X86OpImm = X86OpMem
  succ X86OpMem = error "X86OpType.succ: X86OpMem has no successor"

  pred X86OpReg = X86OpInvalid
  pred X86OpImm = X86OpReg
  pred X86OpMem = X86OpImm
  pred X86OpInvalid = error "X86OpType.pred: X86OpInvalid 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 X86OpMem

  fromEnum X86OpInvalid = 0
  fromEnum X86OpReg = 1
  fromEnum X86OpImm = 2
  fromEnum X86OpMem = 3

  toEnum 0 = X86OpInvalid
  toEnum 1 = X86OpReg
  toEnum 2 = X86OpImm
  toEnum 3 = X86OpMem
  toEnum unmatched = error ("X86OpType.toEnum: Cannot match " ++ show unmatched)

{-# LINE 45 "src/Hapstone/Internal/X86.chs" #-}


-- | XOP code condition type
data X86XopCc = X86XopCcInvalid
              | X86XopCcLt
              | X86XopCcLe
              | X86XopCcGt
              | X86XopCcGe
              | X86XopCcEq
              | X86XopCcNeq
              | X86XopCcFalse
              | X86XopCcTrue
  deriving (Show,Eq,Bounded)
instance Enum X86XopCc where
  succ X86XopCcInvalid = X86XopCcLt
  succ X86XopCcLt = X86XopCcLe
  succ X86XopCcLe = X86XopCcGt
  succ X86XopCcGt = X86XopCcGe
  succ X86XopCcGe = X86XopCcEq
  succ X86XopCcEq = X86XopCcNeq
  succ X86XopCcNeq = X86XopCcFalse
  succ X86XopCcFalse = X86XopCcTrue
  succ X86XopCcTrue = error "X86XopCc.succ: X86XopCcTrue has no successor"

  pred X86XopCcLt = X86XopCcInvalid
  pred X86XopCcLe = X86XopCcLt
  pred X86XopCcGt = X86XopCcLe
  pred X86XopCcGe = X86XopCcGt
  pred X86XopCcEq = X86XopCcGe
  pred X86XopCcNeq = X86XopCcEq
  pred X86XopCcFalse = X86XopCcNeq
  pred X86XopCcTrue = X86XopCcFalse
  pred X86XopCcInvalid = error "X86XopCc.pred: X86XopCcInvalid 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 X86XopCcTrue

  fromEnum X86XopCcInvalid = 0
  fromEnum X86XopCcLt = 1
  fromEnum X86XopCcLe = 2
  fromEnum X86XopCcGt = 3
  fromEnum X86XopCcGe = 4
  fromEnum X86XopCcEq = 5
  fromEnum X86XopCcNeq = 6
  fromEnum X86XopCcFalse = 7
  fromEnum X86XopCcTrue = 8

  toEnum 0 = X86XopCcInvalid
  toEnum 1 = X86XopCcLt
  toEnum 2 = X86XopCcLe
  toEnum 3 = X86XopCcGt
  toEnum 4 = X86XopCcGe
  toEnum 5 = X86XopCcEq
  toEnum 6 = X86XopCcNeq
  toEnum 7 = X86XopCcFalse
  toEnum 8 = X86XopCcTrue
  toEnum unmatched = error ("X86XopCc.toEnum: Cannot match " ++ show unmatched)

{-# LINE 49 "src/Hapstone/Internal/X86.chs" #-}

-- | AVX broadcast
data X86AvxBcast = X86AvxBcastInvalid
                 | X86AvxBcast2
                 | X86AvxBcast4
                 | X86AvxBcast8
                 | X86AvxBcast16
  deriving (Show,Eq,Bounded)
instance Enum X86AvxBcast where
  succ X86AvxBcastInvalid = X86AvxBcast2
  succ X86AvxBcast2 = X86AvxBcast4
  succ X86AvxBcast4 = X86AvxBcast8
  succ X86AvxBcast8 = X86AvxBcast16
  succ X86AvxBcast16 = error "X86AvxBcast.succ: X86AvxBcast16 has no successor"

  pred X86AvxBcast2 = X86AvxBcastInvalid
  pred X86AvxBcast4 = X86AvxBcast2
  pred X86AvxBcast8 = X86AvxBcast4
  pred X86AvxBcast16 = X86AvxBcast8
  pred X86AvxBcastInvalid = error "X86AvxBcast.pred: X86AvxBcastInvalid 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 X86AvxBcast16

  fromEnum X86AvxBcastInvalid = 0
  fromEnum X86AvxBcast2 = 1
  fromEnum X86AvxBcast4 = 2
  fromEnum X86AvxBcast8 = 3
  fromEnum X86AvxBcast16 = 4

  toEnum 0 = X86AvxBcastInvalid
  toEnum 1 = X86AvxBcast2
  toEnum 2 = X86AvxBcast4
  toEnum 3 = X86AvxBcast8
  toEnum 4 = X86AvxBcast16
  toEnum unmatched = error ("X86AvxBcast.toEnum: Cannot match " ++ show unmatched)

{-# LINE 52 "src/Hapstone/Internal/X86.chs" #-}

-- | SSE condition code
data X86SseCc = X86SseCcInvalid
              | X86SseCcEq
              | X86SseCcLt
              | X86SseCcLe
              | X86SseCcUnord
              | X86SseCcNeq
              | X86SseCcNlt
              | X86SseCcNle
              | X86SseCcOrd
  deriving (Show,Eq,Bounded)
instance Enum X86SseCc where
  succ X86SseCcInvalid = X86SseCcEq
  succ X86SseCcEq = X86SseCcLt
  succ X86SseCcLt = X86SseCcLe
  succ X86SseCcLe = X86SseCcUnord
  succ X86SseCcUnord = X86SseCcNeq
  succ X86SseCcNeq = X86SseCcNlt
  succ X86SseCcNlt = X86SseCcNle
  succ X86SseCcNle = X86SseCcOrd
  succ X86SseCcOrd = error "X86SseCc.succ: X86SseCcOrd has no successor"

  pred X86SseCcEq = X86SseCcInvalid
  pred X86SseCcLt = X86SseCcEq
  pred X86SseCcLe = X86SseCcLt
  pred X86SseCcUnord = X86SseCcLe
  pred X86SseCcNeq = X86SseCcUnord
  pred X86SseCcNlt = X86SseCcNeq
  pred X86SseCcNle = X86SseCcNlt
  pred X86SseCcOrd = X86SseCcNle
  pred X86SseCcInvalid = error "X86SseCc.pred: X86SseCcInvalid 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 X86SseCcOrd

  fromEnum X86SseCcInvalid = 0
  fromEnum X86SseCcEq = 1
  fromEnum X86SseCcLt = 2
  fromEnum X86SseCcLe = 3
  fromEnum X86SseCcUnord = 4
  fromEnum X86SseCcNeq = 5
  fromEnum X86SseCcNlt = 6
  fromEnum X86SseCcNle = 7
  fromEnum X86SseCcOrd = 8

  toEnum 0 = X86SseCcInvalid
  toEnum 1 = X86SseCcEq
  toEnum 2 = X86SseCcLt
  toEnum 3 = X86SseCcLe
  toEnum 4 = X86SseCcUnord
  toEnum 5 = X86SseCcNeq
  toEnum 6 = X86SseCcNlt
  toEnum 7 = X86SseCcNle
  toEnum 8 = X86SseCcOrd
  toEnum unmatched = error ("X86SseCc.toEnum: Cannot match " ++ show unmatched)

{-# LINE 55 "src/Hapstone/Internal/X86.chs" #-}

-- | AVX condition code
data X86AvxCc = X86AvxCcInvalid
              | X86AvxCcEq
              | X86AvxCcLt
              | X86AvxCcLe
              | X86AvxCcUnord
              | X86AvxCcNeq
              | X86AvxCcNlt
              | X86AvxCcNle
              | X86AvxCcOrd
              | X86AvxCcEqUq
              | X86AvxCcNge
              | X86AvxCcNgt
              | X86AvxCcFalse
              | X86AvxCcNeqOq
              | X86AvxCcGe
              | X86AvxCcGt
              | X86AvxCcTrue
              | X86AvxCcEqOs
              | X86AvxCcLtOq
              | X86AvxCcLeOq
              | X86AvxCcUnordS
              | X86AvxCcNeqUs
              | X86AvxCcNltUq
              | X86AvxCcNleUq
              | X86AvxCcOrdS
              | X86AvxCcEqUs
              | X86AvxCcNgeUq
              | X86AvxCcNgtUq
              | X86AvxCcFalseOs
              | X86AvxCcNeqOs
              | X86AvxCcGeOq
              | X86AvxCcGtOq
              | X86AvxCcTrueUs
  deriving (Show,Eq,Bounded)
instance Enum X86AvxCc where
  succ X86AvxCcInvalid = X86AvxCcEq
  succ X86AvxCcEq = X86AvxCcLt
  succ X86AvxCcLt = X86AvxCcLe
  succ X86AvxCcLe = X86AvxCcUnord
  succ X86AvxCcUnord = X86AvxCcNeq
  succ X86AvxCcNeq = X86AvxCcNlt
  succ X86AvxCcNlt = X86AvxCcNle
  succ X86AvxCcNle = X86AvxCcOrd
  succ X86AvxCcOrd = X86AvxCcEqUq
  succ X86AvxCcEqUq = X86AvxCcNge
  succ X86AvxCcNge = X86AvxCcNgt
  succ X86AvxCcNgt = X86AvxCcFalse
  succ X86AvxCcFalse = X86AvxCcNeqOq
  succ X86AvxCcNeqOq = X86AvxCcGe
  succ X86AvxCcGe = X86AvxCcGt
  succ X86AvxCcGt = X86AvxCcTrue
  succ X86AvxCcTrue = X86AvxCcEqOs
  succ X86AvxCcEqOs = X86AvxCcLtOq
  succ X86AvxCcLtOq = X86AvxCcLeOq
  succ X86AvxCcLeOq = X86AvxCcUnordS
  succ X86AvxCcUnordS = X86AvxCcNeqUs
  succ X86AvxCcNeqUs = X86AvxCcNltUq
  succ X86AvxCcNltUq = X86AvxCcNleUq
  succ X86AvxCcNleUq = X86AvxCcOrdS
  succ X86AvxCcOrdS = X86AvxCcEqUs
  succ X86AvxCcEqUs = X86AvxCcNgeUq
  succ X86AvxCcNgeUq = X86AvxCcNgtUq
  succ X86AvxCcNgtUq = X86AvxCcFalseOs
  succ X86AvxCcFalseOs = X86AvxCcNeqOs
  succ X86AvxCcNeqOs = X86AvxCcGeOq
  succ X86AvxCcGeOq = X86AvxCcGtOq
  succ X86AvxCcGtOq = X86AvxCcTrueUs
  succ X86AvxCcTrueUs = error "X86AvxCc.succ: X86AvxCcTrueUs has no successor"

  pred X86AvxCcEq = X86AvxCcInvalid
  pred X86AvxCcLt = X86AvxCcEq
  pred X86AvxCcLe = X86AvxCcLt
  pred X86AvxCcUnord = X86AvxCcLe
  pred X86AvxCcNeq = X86AvxCcUnord
  pred X86AvxCcNlt = X86AvxCcNeq
  pred X86AvxCcNle = X86AvxCcNlt
  pred X86AvxCcOrd = X86AvxCcNle
  pred X86AvxCcEqUq = X86AvxCcOrd
  pred X86AvxCcNge = X86AvxCcEqUq
  pred X86AvxCcNgt = X86AvxCcNge
  pred X86AvxCcFalse = X86AvxCcNgt
  pred X86AvxCcNeqOq = X86AvxCcFalse
  pred X86AvxCcGe = X86AvxCcNeqOq
  pred X86AvxCcGt = X86AvxCcGe
  pred X86AvxCcTrue = X86AvxCcGt
  pred X86AvxCcEqOs = X86AvxCcTrue
  pred X86AvxCcLtOq = X86AvxCcEqOs
  pred X86AvxCcLeOq = X86AvxCcLtOq
  pred X86AvxCcUnordS = X86AvxCcLeOq
  pred X86AvxCcNeqUs = X86AvxCcUnordS
  pred X86AvxCcNltUq = X86AvxCcNeqUs
  pred X86AvxCcNleUq = X86AvxCcNltUq
  pred X86AvxCcOrdS = X86AvxCcNleUq
  pred X86AvxCcEqUs = X86AvxCcOrdS
  pred X86AvxCcNgeUq = X86AvxCcEqUs
  pred X86AvxCcNgtUq = X86AvxCcNgeUq
  pred X86AvxCcFalseOs = X86AvxCcNgtUq
  pred X86AvxCcNeqOs = X86AvxCcFalseOs
  pred X86AvxCcGeOq = X86AvxCcNeqOs
  pred X86AvxCcGtOq = X86AvxCcGeOq
  pred X86AvxCcTrueUs = X86AvxCcGtOq
  pred X86AvxCcInvalid = error "X86AvxCc.pred: X86AvxCcInvalid 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 X86AvxCcTrueUs

  fromEnum X86AvxCcInvalid = 0
  fromEnum X86AvxCcEq = 1
  fromEnum X86AvxCcLt = 2
  fromEnum X86AvxCcLe = 3
  fromEnum X86AvxCcUnord = 4
  fromEnum X86AvxCcNeq = 5
  fromEnum X86AvxCcNlt = 6
  fromEnum X86AvxCcNle = 7
  fromEnum X86AvxCcOrd = 8
  fromEnum X86AvxCcEqUq = 9
  fromEnum X86AvxCcNge = 10
  fromEnum X86AvxCcNgt = 11
  fromEnum X86AvxCcFalse = 12
  fromEnum X86AvxCcNeqOq = 13
  fromEnum X86AvxCcGe = 14
  fromEnum X86AvxCcGt = 15
  fromEnum X86AvxCcTrue = 16
  fromEnum X86AvxCcEqOs = 17
  fromEnum X86AvxCcLtOq = 18
  fromEnum X86AvxCcLeOq = 19
  fromEnum X86AvxCcUnordS = 20
  fromEnum X86AvxCcNeqUs = 21
  fromEnum X86AvxCcNltUq = 22
  fromEnum X86AvxCcNleUq = 23
  fromEnum X86AvxCcOrdS = 24
  fromEnum X86AvxCcEqUs = 25
  fromEnum X86AvxCcNgeUq = 26
  fromEnum X86AvxCcNgtUq = 27
  fromEnum X86AvxCcFalseOs = 28
  fromEnum X86AvxCcNeqOs = 29
  fromEnum X86AvxCcGeOq = 30
  fromEnum X86AvxCcGtOq = 31
  fromEnum X86AvxCcTrueUs = 32

  toEnum 0 = X86AvxCcInvalid
  toEnum 1 = X86AvxCcEq
  toEnum 2 = X86AvxCcLt
  toEnum 3 = X86AvxCcLe
  toEnum 4 = X86AvxCcUnord
  toEnum 5 = X86AvxCcNeq
  toEnum 6 = X86AvxCcNlt
  toEnum 7 = X86AvxCcNle
  toEnum 8 = X86AvxCcOrd
  toEnum 9 = X86AvxCcEqUq
  toEnum 10 = X86AvxCcNge
  toEnum 11 = X86AvxCcNgt
  toEnum 12 = X86AvxCcFalse
  toEnum 13 = X86AvxCcNeqOq
  toEnum 14 = X86AvxCcGe
  toEnum 15 = X86AvxCcGt
  toEnum 16 = X86AvxCcTrue
  toEnum 17 = X86AvxCcEqOs
  toEnum 18 = X86AvxCcLtOq
  toEnum 19 = X86AvxCcLeOq
  toEnum 20 = X86AvxCcUnordS
  toEnum 21 = X86AvxCcNeqUs
  toEnum 22 = X86AvxCcNltUq
  toEnum 23 = X86AvxCcNleUq
  toEnum 24 = X86AvxCcOrdS
  toEnum 25 = X86AvxCcEqUs
  toEnum 26 = X86AvxCcNgeUq
  toEnum 27 = X86AvxCcNgtUq
  toEnum 28 = X86AvxCcFalseOs
  toEnum 29 = X86AvxCcNeqOs
  toEnum 30 = X86AvxCcGeOq
  toEnum 31 = X86AvxCcGtOq
  toEnum 32 = X86AvxCcTrueUs
  toEnum unmatched = error ("X86AvxCc.toEnum: Cannot match " ++ show unmatched)

{-# LINE 58 "src/Hapstone/Internal/X86.chs" #-}

-- | AVX static rounding mode
data X86AvxRm = X86AvxRmInvalid
              | X86AvxRmRn
              | X86AvxRmRd
              | X86AvxRmRu
              | X86AvxRmRz
  deriving (Show,Eq,Bounded)
instance Enum X86AvxRm where
  succ X86AvxRmInvalid = X86AvxRmRn
  succ X86AvxRmRn = X86AvxRmRd
  succ X86AvxRmRd = X86AvxRmRu
  succ X86AvxRmRu = X86AvxRmRz
  succ X86AvxRmRz = error "X86AvxRm.succ: X86AvxRmRz has no successor"

  pred X86AvxRmRn = X86AvxRmInvalid
  pred X86AvxRmRd = X86AvxRmRn
  pred X86AvxRmRu = X86AvxRmRd
  pred X86AvxRmRz = X86AvxRmRu
  pred X86AvxRmInvalid = error "X86AvxRm.pred: X86AvxRmInvalid 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 X86AvxRmRz

  fromEnum X86AvxRmInvalid = 0
  fromEnum X86AvxRmRn = 1
  fromEnum X86AvxRmRd = 2
  fromEnum X86AvxRmRu = 3
  fromEnum X86AvxRmRz = 4

  toEnum 0 = X86AvxRmInvalid
  toEnum 1 = X86AvxRmRn
  toEnum 2 = X86AvxRmRd
  toEnum 3 = X86AvxRmRu
  toEnum 4 = X86AvxRmRz
  toEnum unmatched = error ("X86AvxRm.toEnum: Cannot match " ++ show unmatched)

{-# LINE 61 "src/Hapstone/Internal/X86.chs" #-}


-- | instruction prefix
data X86Prefix = X86PrefixEs
               | X86PrefixCs
               | X86PrefixSs
               | X86PrefixDs
               | X86PrefixFs
               | X86PrefixGs
               | X86PrefixOpsize
               | X86PrefixAddrsize
               | X86PrefixLock
               | X86PrefixRepne
               | X86PrefixRep
               | X86PrefixRepe
  deriving (Show,Eq,Bounded)
instance Enum X86Prefix where
  succ X86PrefixEs = X86PrefixCs
  succ X86PrefixCs = X86PrefixSs
  succ X86PrefixSs = X86PrefixDs
  succ X86PrefixDs = X86PrefixFs
  succ X86PrefixFs = X86PrefixGs
  succ X86PrefixGs = X86PrefixOpsize
  succ X86PrefixOpsize = X86PrefixAddrsize
  succ X86PrefixAddrsize = X86PrefixLock
  succ X86PrefixLock = X86PrefixRepne
  succ X86PrefixRepne = X86PrefixRep
  succ X86PrefixRep = error "X86Prefix.succ: X86PrefixRep has no successor"
  succ X86PrefixRepe = error "X86Prefix.succ: X86PrefixRepe has no successor"

  pred X86PrefixCs = X86PrefixEs
  pred X86PrefixSs = X86PrefixCs
  pred X86PrefixDs = X86PrefixSs
  pred X86PrefixFs = X86PrefixDs
  pred X86PrefixGs = X86PrefixFs
  pred X86PrefixOpsize = X86PrefixGs
  pred X86PrefixAddrsize = X86PrefixOpsize
  pred X86PrefixLock = X86PrefixAddrsize
  pred X86PrefixRepne = X86PrefixLock
  pred X86PrefixRep = X86PrefixRepne
  pred X86PrefixRepe = X86PrefixRepne
  pred X86PrefixEs = error "X86Prefix.pred: X86PrefixEs 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 X86PrefixRepe

  fromEnum X86PrefixEs = 38
  fromEnum X86PrefixCs = 46
  fromEnum X86PrefixSs = 54
  fromEnum X86PrefixDs = 62
  fromEnum X86PrefixFs = 100
  fromEnum X86PrefixGs = 101
  fromEnum X86PrefixOpsize = 102
  fromEnum X86PrefixAddrsize = 103
  fromEnum X86PrefixLock = 240
  fromEnum X86PrefixRepne = 242
  fromEnum X86PrefixRep = 243
  fromEnum X86PrefixRepe = 243

  toEnum 38 = X86PrefixEs
  toEnum 46 = X86PrefixCs
  toEnum 54 = X86PrefixSs
  toEnum 62 = X86PrefixDs
  toEnum 100 = X86PrefixFs
  toEnum 101 = X86PrefixGs
  toEnum 102 = X86PrefixOpsize
  toEnum 103 = X86PrefixAddrsize
  toEnum 240 = X86PrefixLock
  toEnum 242 = X86PrefixRepne
  toEnum 243 = X86PrefixRep
  toEnum unmatched = error ("X86Prefix.toEnum: Cannot match " ++ show unmatched)

{-# LINE 65 "src/Hapstone/Internal/X86.chs" #-}


-- | memory access operands
data X86OpMemStruct = X86OpMemStruct
    { segment :: X86Reg -- ^ segment register
    , base :: X86Reg -- ^ base register
    , index :: X86Reg -- ^ index register
    , scale :: Int32 -- ^ scale for index register
    , disp' :: Int64 -- ^ displacement/offset value
    } deriving (Show, Eq)

instance Storable X86OpMemStruct where
    sizeOf _ = 24
{-# LINE 77 "src/Hapstone/Internal/X86.chs" #-}

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

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

-- | possible operand types (corresponding to the tagged union in the C header)
data CsX86OpValue
    = Reg X86Reg -- ^ register value for 'X86OpReg' operands
    | Imm Word64 -- ^ immediate value for 'X86OpImm' operands
    -- | Fp Double ^ floating point value for 'X86OpFp' operands
    | Mem X86OpMemStruct -- ^ segment,base,index,scale,disp value for
                         -- 'X86OpMem' operands
    | Undefined -- ^ invalid operand value, for 'X86OpInvalid' operand
    deriving (Show, Eq)

-- | instruction operand
data CsX86Op = CsX86Op
    { value :: CsX86OpValue -- ^ operand type and value
    , size :: Word8 -- ^ size of this operand in bytes
    , access :: Word8 -- ^ access mode of this operand
    , avxBcast :: X86AvxBcast -- ^ AVX broadcast type
    , avxZeroOpmask :: Bool -- ^ AVX zero opmask
    } deriving (Show, Eq)

instance Storable CsX86Op where
    sizeOf _ = 48
    alignment _ = 8
    peek p = CsX86Op
        <$> do
            t <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 0 :: IO C2HSImp.CInt}) p
            let bP = plusPtr p 8
            case toEnum t of
              X86OpReg -> (Reg . toEnum . fromIntegral) <$>
                  (peek bP :: IO CInt)
              X86OpImm -> Imm <$> peek bP
              -- X86OpFp -> (Fp . realToFrac) <$> (peek bP :: IO CDouble)
              X86OpMem -> Mem <$> peek bP
              _ -> return Undefined
        <*> (peekByteOff p 32) -- size
        <*> (peekByteOff p 33) -- access
        <*> ((toEnum . fromIntegral) <$>
                (peekByteOff p 36 :: IO CInt)) -- avx_bcast
        <*> (toBool <$> (peekByteOff p 40 :: IO Word8)) -- avx_zero_opmask
    poke p (CsX86Op val s a ab az) = do
        let bP = plusPtr p 8
            setType = (\ptr val -> do {C2HSImp.pokeByteOff ptr 0 (val :: C2HSImp.CInt)}) p . fromIntegral . fromEnum
        case val of
          Reg r -> do
              poke bP (fromIntegral $ fromEnum r :: CInt)
              setType X86OpReg
          Imm i -> do
              poke bP i
              setType X86OpImm
          {- Fp f -> do
              poke bP (realToFrac f :: CDouble)
              setType X86OpFp -}
          Mem m -> do
              poke bP m
              setType X86OpMem
          Undefined -> setType X86OpInvalid
        pokeByteOff p 32 s -- size
        pokeByteOff p 33 a -- access
        pokeByteOff p 36 (fromIntegral $ fromEnum ab :: CInt) -- avx_bcast
        pokeByteOff p 40 (fromBool az :: Word8) -- avx_zero_opmask

-- instructions
data CsX86 = CsX86
    { prefix :: (Maybe Word8, Maybe Word8, Maybe Word8, Maybe Word8)
      -- ^ instruction prefix, up to 4 bytes. Each prefix byte is optional.
      -- first byte: REP/REPNE/LOCK, second byte: segment override,
      -- third byte: operand-size override
      -- fourth byte: address-size override
    , opcode :: [Word8] -- ^ instruction opcode, 1-4 bytes long
    , rex :: Word8 -- ^ REX prefix, only non-zero values relevant for x86_64
    , addrSize :: Word8 -- ^ address size
    , modRM :: Word8 -- ^ ModR/M byte
    , sib :: Maybe Word8 -- ^ optional SIB value
    , disp :: Maybe Int32 -- ^ optional displacement value
    , sibIndex :: X86Reg -- ^ SIB index register, possibly irrelevant
    , sibScale :: Int8 -- ^ SIB scale, possibly irrelevant
    , sibBase :: X86Reg -- ^ SIB base register, possibly irrelevant
    , xopCc :: X86XopCc -- ^ XOP condition code
    , sseCc :: X86SseCc -- ^ SSE condition code
    , avxCc :: X86AvxCc -- ^ AVX condition code
    , avxSae :: Bool -- ^ AXV Supress all Exception
    , avxRm :: X86AvxRm -- ^ AVX static rounding mode
    , eflags :: Word64 -- ^ the EFLAGS set by this instruction
    , operands :: [CsX86Op] -- ^ 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 CsX86 where
    sizeOf _ = 448
    alignment _ = 8
    peek p = CsX86
        <$> do let bP = plusPtr p (0)
{-# LINE 184 "src/Hapstone/Internal/X86.chs" #-}

               [p0, p1, p2, p3] <- peekArray 4 bP :: IO [Word8]
               return (fromZero p0, fromZero p1, fromZero p2, fromZero p3)
        <*> (dropWhileEnd (== 0) <$>
            peekArray 4 (plusPtr p (4)))
        <*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 8 :: IO C2HSImp.CUChar}) p)
        <*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 9 :: IO C2HSImp.CUChar}) p)
        <*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 10 :: IO C2HSImp.CUChar}) p)
        <*> ((fromZero . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 11 :: IO C2HSImp.CUChar}) p)
        <*> ((fromZero . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 12 :: IO C2HSImp.CInt}) p)
        <*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 16 :: IO C2HSImp.CInt}) p)
        <*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 20 :: IO C2HSImp.CSChar}) p)
        <*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 24 :: IO C2HSImp.CInt}) p)
        <*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 28 :: IO C2HSImp.CInt}) p)
        <*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 32 :: IO C2HSImp.CInt}) p)
        <*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 36 :: IO C2HSImp.CInt}) p)
        <*> (toBool <$> (peekByteOff p 40 :: IO Word8)) -- avx_sae
        <*> ((toEnum . fromIntegral) <$> (\ptr -> do {C2HSImp.peekByteOff ptr 44 :: IO C2HSImp.CInt}) p)
        <*> (fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 48 :: IO C2HSImp.CULong}) p)
        <*> do num <- fromIntegral <$> (\ptr -> do {C2HSImp.peekByteOff ptr 56 :: IO C2HSImp.CUChar}) p
               let ptr = plusPtr p 64
               peekArray num ptr
    poke p (CsX86 (p0, p1, p2, p3) op r a m s d sI sS sB xC sC aC aS aR eF o) =
        do
        let p' = [ fromMaybe 0 p0
                 , fromMaybe 0 p1
                 , fromMaybe 0 p2
                 , fromMaybe 0 p3
                 ]
            op' = op ++ replicate (4 - length op) 0
        pokeArray (plusPtr p (0)) p'
        pokeArray (plusPtr p (4)) op'
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 8 (val :: C2HSImp.CUChar)}) p (fromIntegral r)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 9 (val :: C2HSImp.CUChar)}) p (fromIntegral a)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 10 (val :: C2HSImp.CUChar)}) p (fromIntegral m)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 11 (val :: C2HSImp.CUChar)}) p (fromIntegral $ fromMaybe 0 s)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 12 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromMaybe 0 d)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 16 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum sI)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 20 (val :: C2HSImp.CSChar)}) p (fromIntegral sS)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 24 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum sB)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 28 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum xC)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 32 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum sC)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 36 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum aC)
        pokeByteOff p 40 (fromBool aS :: Word8) -- avx_sae
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 44 (val :: C2HSImp.CInt)}) p (fromIntegral $ fromEnum aR)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 48 (val :: C2HSImp.CULong)}) p (fromIntegral eF)
        (\ptr val -> do {C2HSImp.pokeByteOff ptr 56 (val :: C2HSImp.CUChar)}) p (fromIntegral $ length o)
        if length o > 8
           then error "operands overflew 8 elements"
           else pokeArray (plusPtr p 64) o

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

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

  fromEnum X86InsInvalid = 0
  fromEnum X86InsAaa = 1
  fromEnum X86InsAad = 2
  fromEnum X86InsAam = 3
  fromEnum X86InsAas = 4
  fromEnum X86InsFabs = 5
  fromEnum X86InsAdc = 6
  fromEnum X86InsAdcx = 7
  fromEnum X86InsAdd = 8
  fromEnum X86InsAddpd = 9
  fromEnum X86InsAddps = 10
  fromEnum X86InsAddsd = 11
  fromEnum X86InsAddss = 12
  fromEnum X86InsAddsubpd = 13
  fromEnum X86InsAddsubps = 14
  fromEnum X86InsFadd = 15
  fromEnum X86InsFiadd = 16
  fromEnum X86InsFaddp = 17
  fromEnum X86InsAdox = 18
  fromEnum X86InsAesdeclast = 19
  fromEnum X86InsAesdec = 20
  fromEnum X86InsAesenclast = 21
  fromEnum X86InsAesenc = 22
  fromEnum X86InsAesimc = 23
  fromEnum X86InsAeskeygenassist = 24
  fromEnum X86InsAnd = 25
  fromEnum X86InsAndn = 26
  fromEnum X86InsAndnpd = 27
  fromEnum X86InsAndnps = 28
  fromEnum X86InsAndpd = 29
  fromEnum X86InsAndps = 30
  fromEnum X86InsArpl = 31
  fromEnum X86InsBextr = 32
  fromEnum X86InsBlcfill = 33
  fromEnum X86InsBlci = 34
  fromEnum X86InsBlcic = 35
  fromEnum X86InsBlcmsk = 36
  fromEnum X86InsBlcs = 37
  fromEnum X86InsBlendpd = 38
  fromEnum X86InsBlendps = 39
  fromEnum X86InsBlendvpd = 40
  fromEnum X86InsBlendvps = 41
  fromEnum X86InsBlsfill = 42
  fromEnum X86InsBlsi = 43
  fromEnum X86InsBlsic = 44
  fromEnum X86InsBlsmsk = 45
  fromEnum X86InsBlsr = 46
  fromEnum X86InsBound = 47
  fromEnum X86InsBsf = 48
  fromEnum X86InsBsr = 49
  fromEnum X86InsBswap = 50
  fromEnum X86InsBt = 51
  fromEnum X86InsBtc = 52
  fromEnum X86InsBtr = 53
  fromEnum X86InsBts = 54
  fromEnum X86InsBzhi = 55
  fromEnum X86InsCall = 56
  fromEnum X86InsCbw = 57
  fromEnum X86InsCdq = 58
  fromEnum X86InsCdqe = 59
  fromEnum X86InsFchs = 60
  fromEnum X86InsClac = 61
  fromEnum X86InsClc = 62
  fromEnum X86InsCld = 63
  fromEnum X86InsClflush = 64
  fromEnum X86InsClflushopt = 65
  fromEnum X86InsClgi = 66
  fromEnum X86InsCli = 67
  fromEnum X86InsClts = 68
  fromEnum X86InsClwb = 69
  fromEnum X86InsCmc = 70
  fromEnum X86InsCmova = 71
  fromEnum X86InsCmovae = 72
  fromEnum X86InsCmovb = 73
  fromEnum X86InsCmovbe = 74
  fromEnum X86InsFcmovbe = 75
  fromEnum X86InsFcmovb = 76
  fromEnum X86InsCmove = 77
  fromEnum X86InsFcmove = 78
  fromEnum X86InsCmovg = 79
  fromEnum X86InsCmovge = 80
  fromEnum X86InsCmovl = 81
  fromEnum X86InsCmovle = 82
  fromEnum X86InsFcmovnbe = 83
  fromEnum X86InsFcmovnb = 84
  fromEnum X86InsCmovne = 85
  fromEnum X86InsFcmovne = 86
  fromEnum X86InsCmovno = 87
  fromEnum X86InsCmovnp = 88
  fromEnum X86InsFcmovnu = 89
  fromEnum X86InsCmovns = 90
  fromEnum X86InsCmovo = 91
  fromEnum X86InsCmovp = 92
  fromEnum X86InsFcmovu = 93
  fromEnum X86InsCmovs = 94
  fromEnum X86InsCmp = 95
  fromEnum X86InsCmppd = 96
  fromEnum X86InsCmpps = 97
  fromEnum X86InsCmpsb = 98
  fromEnum X86InsCmpsd = 99
  fromEnum X86InsCmpsq = 100
  fromEnum X86InsCmpss = 101
  fromEnum X86InsCmpsw = 102
  fromEnum X86InsCmpxchg16b = 103
  fromEnum X86InsCmpxchg = 104
  fromEnum X86InsCmpxchg8b = 105
  fromEnum X86InsComisd = 106
  fromEnum X86InsComiss = 107
  fromEnum X86InsFcomp = 108
  fromEnum X86InsFcompi = 109
  fromEnum X86InsFcomi = 110
  fromEnum X86InsFcom = 111
  fromEnum X86InsFcos = 112
  fromEnum X86InsCpuid = 113
  fromEnum X86InsCqo = 114
  fromEnum X86InsCrc32 = 115
  fromEnum X86InsCvtdq2pd = 116
  fromEnum X86InsCvtdq2ps = 117
  fromEnum X86InsCvtpd2dq = 118
  fromEnum X86InsCvtpd2ps = 119
  fromEnum X86InsCvtps2dq = 120
  fromEnum X86InsCvtps2pd = 121
  fromEnum X86InsCvtsd2si = 122
  fromEnum X86InsCvtsd2ss = 123
  fromEnum X86InsCvtsi2sd = 124
  fromEnum X86InsCvtsi2ss = 125
  fromEnum X86InsCvtss2sd = 126
  fromEnum X86InsCvtss2si = 127
  fromEnum X86InsCvttpd2dq = 128
  fromEnum X86InsCvttps2dq = 129
  fromEnum X86InsCvttsd2si = 130
  fromEnum X86InsCvttss2si = 131
  fromEnum X86InsCwd = 132
  fromEnum X86InsCwde = 133
  fromEnum X86InsDaa = 134
  fromEnum X86InsDas = 135
  fromEnum X86InsData16 = 136
  fromEnum X86InsDec = 137
  fromEnum X86InsDiv = 138
  fromEnum X86InsDivpd = 139
  fromEnum X86InsDivps = 140
  fromEnum X86InsFdivr = 141
  fromEnum X86InsFidivr = 142
  fromEnum X86InsFdivrp = 143
  fromEnum X86InsDivsd = 144
  fromEnum X86InsDivss = 145
  fromEnum X86InsFdiv = 146
  fromEnum X86InsFidiv = 147
  fromEnum X86InsFdivp = 148
  fromEnum X86InsDppd = 149
  fromEnum X86InsDpps = 150
  fromEnum X86InsRet = 151
  fromEnum X86InsEncls = 152
  fromEnum X86InsEnclu = 153
  fromEnum X86InsEnter = 154
  fromEnum X86InsExtractps = 155
  fromEnum X86InsExtrq = 156
  fromEnum X86InsF2xm1 = 157
  fromEnum X86InsLcall = 158
  fromEnum X86InsLjmp = 159
  fromEnum X86InsFbld = 160
  fromEnum X86InsFbstp = 161
  fromEnum X86InsFcompp = 162
  fromEnum X86InsFdecstp = 163
  fromEnum X86InsFemms = 164
  fromEnum X86InsFfree = 165
  fromEnum X86InsFicom = 166
  fromEnum X86InsFicomp = 167
  fromEnum X86InsFincstp = 168
  fromEnum X86InsFldcw = 169
  fromEnum X86InsFldenv = 170
  fromEnum X86InsFldl2e = 171
  fromEnum X86InsFldl2t = 172
  fromEnum X86InsFldlg2 = 173
  fromEnum X86InsFldln2 = 174
  fromEnum X86InsFldpi = 175
  fromEnum X86InsFnclex = 176
  fromEnum X86InsFninit = 177
  fromEnum X86InsFnop = 178
  fromEnum X86InsFnstcw = 179
  fromEnum X86InsFnstsw = 180
  fromEnum X86InsFpatan = 181
  fromEnum X86InsFprem = 182
  fromEnum X86InsFprem1 = 183
  fromEnum X86InsFptan = 184
  fromEnum X86InsFfreep = 185
  fromEnum X86InsFrndint = 186
  fromEnum X86InsFrstor = 187
  fromEnum X86InsFnsave = 188
  fromEnum X86InsFscale = 189
  fromEnum X86InsFsetpm = 190
  fromEnum X86InsFsincos = 191
  fromEnum X86InsFnstenv = 192
  fromEnum X86InsFxam = 193
  fromEnum X86InsFxrstor = 194
  fromEnum X86InsFxrstor64 = 195
  fromEnum X86InsFxsave = 196
  fromEnum X86InsFxsave64 = 197
  fromEnum X86InsFxtract = 198
  fromEnum X86InsFyl2x = 199
  fromEnum X86InsFyl2xp1 = 200
  fromEnum X86InsMovapd = 201
  fromEnum X86InsMovaps = 202
  fromEnum X86InsOrpd = 203
  fromEnum X86InsOrps = 204
  fromEnum X86InsVmovapd = 205
  fromEnum X86InsVmovaps = 206
  fromEnum X86InsXorpd = 207
  fromEnum X86InsXorps = 208
  fromEnum X86InsGetsec = 209
  fromEnum X86InsHaddpd = 210
  fromEnum X86InsHaddps = 211
  fromEnum X86InsHlt = 212
  fromEnum X86InsHsubpd = 213
  fromEnum X86InsHsubps = 214
  fromEnum X86InsIdiv = 215
  fromEnum X86InsFild = 216
  fromEnum X86InsImul = 217
  fromEnum X86InsIn = 218
  fromEnum X86InsInc = 219
  fromEnum X86InsInsb = 220
  fromEnum X86InsInsertps = 221
  fromEnum X86InsInsertq = 222
  fromEnum X86InsInsd = 223
  fromEnum X86InsInsw = 224