// SPDX-FileCopyrightText: 2025 tushar3q34 <tushar3q34@gmail.com>
// SPDX-License-Identifier: LGPL-3.0-only

#ifndef X86_MNEMONIC_H
#define X86_MNEMONIC_H

#if USE_SYS_ZYDIS
#include <Zydis/Zydis.h>
#else
#include <Zydis.h>
#endif

// Instructions
#define X86_INS_ENDING          ZYDIS_MNEMONIC_MAX_VALUE
#define X86_INS_INVALID         ZYDIS_MNEMONIC_INVALID
#define X86_INS_AAA             ZYDIS_MNEMONIC_AAA
#define X86_INS_AAD             ZYDIS_MNEMONIC_AAD
#define X86_INS_AAM             ZYDIS_MNEMONIC_AAM
#define X86_INS_AAS             ZYDIS_MNEMONIC_AAS
#define X86_INS_ADC             ZYDIS_MNEMONIC_ADC
#define X86_INS_ADD             ZYDIS_MNEMONIC_ADD
#define X86_INS_AND             ZYDIS_MNEMONIC_AND
#define X86_INS_BSF             ZYDIS_MNEMONIC_BSF
#define X86_INS_CALL            ZYDIS_MNEMONIC_CALL
#define X86_INS_CBW             ZYDIS_MNEMONIC_CBW
#define X86_INS_CLC             ZYDIS_MNEMONIC_CLC
#define X86_INS_CLD             ZYDIS_MNEMONIC_CLD
#define X86_INS_CLI             ZYDIS_MNEMONIC_CLI
#define X86_INS_CMC             ZYDIS_MNEMONIC_CMC
#define X86_INS_CMP             ZYDIS_MNEMONIC_CMP
#define X86_INS_CMOVA           ZYDIS_MNEMONIC_CMOVNBE
#define X86_INS_CMOVAE          ZYDIS_MNEMONIC_CMOVNB
#define X86_INS_CMOVB           ZYDIS_MNEMONIC_CMOVB
#define X86_INS_CMOVBE          ZYDIS_MNEMONIC_CMOVBE
#define X86_INS_CMOVE           ZYDIS_MNEMONIC_CMOVZ
#define X86_INS_CMOVG           ZYDIS_MNEMONIC_CMOVNLE
#define X86_INS_CMOVGE          ZYDIS_MNEMONIC_CMOVNL
#define X86_INS_CMOVL           ZYDIS_MNEMONIC_CMOVL
#define X86_INS_CMOVLE          ZYDIS_MNEMONIC_CMOVLE
#define X86_INS_CMOVNE          ZYDIS_MNEMONIC_CMOVNZ
#define X86_INS_CMOVNO          ZYDIS_MNEMONIC_CMOVNO
#define X86_INS_CMOVNP          ZYDIS_MNEMONIC_CMOVNP
#define X86_INS_CMOVNS          ZYDIS_MNEMONIC_CMOVNS
#define X86_INS_CMOVO           ZYDIS_MNEMONIC_CMOVO
#define X86_INS_CMOVP           ZYDIS_MNEMONIC_CMOVP
#define X86_INS_CMOVS           ZYDIS_MNEMONIC_CMOVS
#define X86_INS_CMPSB           ZYDIS_MNEMONIC_CMPSB
#define X86_INS_CMPSW           ZYDIS_MNEMONIC_CMPSW
#define X86_INS_CMPSD           ZYDIS_MNEMONIC_CMPSD
#define X86_INS_CMPSQ           ZYDIS_MNEMONIC_CMPSQ
#define X86_INS_DAA             ZYDIS_MNEMONIC_DAA
#define X86_INS_DAS             ZYDIS_MNEMONIC_DAS
#define X86_INS_DEC             ZYDIS_MNEMONIC_DEC
#define X86_INS_DIV             ZYDIS_MNEMONIC_DIV
#define X86_INS_HLT             ZYDIS_MNEMONIC_HLT
#define X86_INS_IDIV            ZYDIS_MNEMONIC_IDIV
#define X86_INS_IMUL            ZYDIS_MNEMONIC_IMUL
#define X86_INS_IN              ZYDIS_MNEMONIC_IN
#define X86_INS_INC             ZYDIS_MNEMONIC_INC
#define X86_INS_INT             ZYDIS_MNEMONIC_INT
#define X86_INS_INTO            ZYDIS_MNEMONIC_INTO
#define X86_INS_JA              ZYDIS_MNEMONIC_JNBE
#define X86_INS_JAE             ZYDIS_MNEMONIC_JNB
#define X86_INS_JB              ZYDIS_MNEMONIC_JB
#define X86_INS_JBE             ZYDIS_MNEMONIC_JBE
#define X86_INS_JCXZ            ZYDIS_MNEMONIC_JCXZ
#define X86_INS_JECXZ           ZYDIS_MNEMONIC_JECXZ
#define X86_INS_JRCXZ           ZYDIS_MNEMONIC_JRCXZ
#define X86_INS_JE              ZYDIS_MNEMONIC_JZ
#define X86_INS_JG              ZYDIS_MNEMONIC_JNLE
#define X86_INS_JGE             ZYDIS_MNEMONIC_JNL
#define X86_INS_JL              ZYDIS_MNEMONIC_JL
#define X86_INS_JLE             ZYDIS_MNEMONIC_JLE
#define X86_INS_JNE             ZYDIS_MNEMONIC_JNZ
#define X86_INS_JNO             ZYDIS_MNEMONIC_JNO
#define X86_INS_JNP             ZYDIS_MNEMONIC_JNP
#define X86_INS_JNS             ZYDIS_MNEMONIC_JNS
#define X86_INS_JO              ZYDIS_MNEMONIC_JO
#define X86_INS_JP              ZYDIS_MNEMONIC_JP
#define X86_INS_JS              ZYDIS_MNEMONIC_JS
#define X86_INS_JMP             ZYDIS_MNEMONIC_JMP
#define X86_INS_LAHF            ZYDIS_MNEMONIC_LAHF
#define X86_INS_LDS             ZYDIS_MNEMONIC_LDS
#define X86_INS_LEA             ZYDIS_MNEMONIC_LEA
#define X86_INS_LES             ZYDIS_MNEMONIC_LES
#define X86_INS_LODSB           ZYDIS_MNEMONIC_LODSB
#define X86_INS_LODSW           ZYDIS_MNEMONIC_LODSW
#define X86_INS_LODSD           ZYDIS_MNEMONIC_LODSD
#define X86_INS_LODSQ           ZYDIS_MNEMONIC_LODSQ
#define X86_INS_LOOP            ZYDIS_MNEMONIC_LOOP
#define X86_INS_LOOPE           ZYDIS_MNEMONIC_LOOPE
#define X86_INS_LOOPNE          ZYDIS_MNEMONIC_LOOPNE
#define X86_INS_MOV             ZYDIS_MNEMONIC_MOV
#define X86_INS_MOVABS          ZYDIS_MNEMONIC_MOVABS
#define X86_INS_MOVSB           ZYDIS_MNEMONIC_MOVSB
#define X86_INS_MOVSW           ZYDIS_MNEMONIC_MOVSW
#define X86_INS_MOVSD           ZYDIS_MNEMONIC_MOVSD
#define X86_INS_MOVSQ           ZYDIS_MNEMONIC_MOVSQ
#define X86_INS_MOVSX           ZYDIS_MNEMONIC_MOVSX
#define X86_INS_MOVSXD          ZYDIS_MNEMONIC_MOVSXD
#define X86_INS_MOVZX           ZYDIS_MNEMONIC_MOVZX
#define X86_INS_MUL             ZYDIS_MNEMONIC_MUL
#define X86_INS_NEG             ZYDIS_MNEMONIC_NEG
#define X86_INS_NOP             ZYDIS_MNEMONIC_NOP
#define X86_INS_NOT             ZYDIS_MNEMONIC_NOT
#define X86_INS_OR              ZYDIS_MNEMONIC_OR
#define X86_INS_OUT             ZYDIS_MNEMONIC_OUT
#define X86_INS_POP             ZYDIS_MNEMONIC_POP
#define X86_INS_POPF            ZYDIS_MNEMONIC_POPF
#define X86_INS_POPFD           ZYDIS_MNEMONIC_POPFD
#define X86_INS_POPFQ           ZYDIS_MNEMONIC_POPFQ
#define X86_INS_PUSH            ZYDIS_MNEMONIC_PUSH
#define X86_INS_PUSHF           ZYDIS_MNEMONIC_PUSHF
#define X86_INS_PUSHFD          ZYDIS_MNEMONIC_PUSHFD
#define X86_INS_PUSHFQ          ZYDIS_MNEMONIC_PUSHFQ
#define X86_INS_PUSHAW          ZYDIS_MNEMONIC_PUSHAD
#define X86_INS_PUSHAL          ZYDIS_MNEMONIC_PUSHAL
#define X86_INS_RCL             ZYDIS_MNEMONIC_RCL
#define X86_INS_RCR             ZYDIS_MNEMONIC_RCR
#define X86_INS_ROL             ZYDIS_MNEMONIC_ROL
#define X86_INS_ROR             ZYDIS_MNEMONIC_ROR
#define X86_INS_RET             ZYDIS_MNEMONIC_RET
#define X86_INS_SAHF            ZYDIS_MNEMONIC_SAHF
#define X86_INS_SAL             ZYDIS_MNEMONIC_SAL
#define X86_INS_SAR             ZYDIS_MNEMONIC_SAR
#define X86_INS_SHL             ZYDIS_MNEMONIC_SHL
#define X86_INS_SHR             ZYDIS_MNEMONIC_SHR
#define X86_INS_SBB             ZYDIS_MNEMONIC_SBB
#define X86_INS_SCASB           ZYDIS_MNEMONIC_SCASB
#define X86_INS_SCASW           ZYDIS_MNEMONIC_SCASW
#define X86_INS_SCASD           ZYDIS_MNEMONIC_SCASD
#define X86_INS_SCASQ           ZYDIS_MNEMONIC_SCASQ
#define X86_INS_STAC            ZYDIS_MNEMONIC_STAC
#define X86_INS_STC             ZYDIS_MNEMONIC_STC
#define X86_INS_STD             ZYDIS_MNEMONIC_STD
#define X86_INS_STI             ZYDIS_MNEMONIC_STI
#define X86_INS_STOSB           ZYDIS_MNEMONIC_STOSB
#define X86_INS_STOSD           ZYDIS_MNEMONIC_STOSD
#define X86_INS_STOSQ           ZYDIS_MNEMONIC_STOSQ
#define X86_INS_STOSW           ZYDIS_MNEMONIC_STOSW
#define X86_INS_SUB             ZYDIS_MNEMONIC_SUB
#define X86_INS_TEST            ZYDIS_MNEMONIC_TEST
#define X86_INS_WAIT            ZYDIS_MNEMONIC_FWAIT
#define X86_INS_XCHG            ZYDIS_MNEMONIC_XCHG
#define X86_INS_XLATB           ZYDIS_MNEMONIC_XLAT
#define X86_INS_XOR             ZYDIS_MNEMONIC_XOR
#define X86_INS_BOUND           ZYDIS_MNEMONIC_BOUND
#define X86_INS_ENTER           ZYDIS_MNEMONIC_ENTER
#define X86_INS_LEAVE           ZYDIS_MNEMONIC_LEAVE
#define X86_INS_FNINIT          ZYDIS_MNEMONIC_FNINIT
#define X86_INS_FLDCW           ZYDIS_MNEMONIC_FLDCW
#define X86_INS_FNSTCW          ZYDIS_MNEMONIC_FNSTCW
#define X86_INS_FNSTSW          ZYDIS_MNEMONIC_FNSTSW
#define X86_INS_FNCLEX          ZYDIS_MNEMONIC_FNCLEX
#define X86_INS_FLD             ZYDIS_MNEMONIC_FLD
#define X86_INS_FST             ZYDIS_MNEMONIC_FST
#define X86_INS_FSTP            ZYDIS_MNEMONIC_FSTP
#define X86_INS_FLD1            ZYDIS_MNEMONIC_FLD1
#define X86_INS_FLDZ            ZYDIS_MNEMONIC_FLDZ
#define X86_INS_FLDL2T          ZYDIS_MNEMONIC_FLDL2T
#define X86_INS_FLDL2E          ZYDIS_MNEMONIC_FLDL2E
#define X86_INS_FLDPI           ZYDIS_MNEMONIC_FLDPI
#define X86_INS_FLDLG2          ZYDIS_MNEMONIC_FLDLG2
#define X86_INS_FLDLN2          ZYDIS_MNEMONIC_FLDLN2
#define X86_INS_FXCH            ZYDIS_MNEMONIC_FXCH
#define X86_INS_FILD            ZYDIS_MNEMONIC_FILD
#define X86_INS_FIST            ZYDIS_MNEMONIC_FIST
#define X86_INS_FISTP           ZYDIS_MNEMONIC_FISTP
#define X86_INS_FBLD            ZYDIS_MNEMONIC_FBLD
#define X86_INS_FBSTP           ZYDIS_MNEMONIC_FBSTP
#define X86_INS_FABS            ZYDIS_MNEMONIC_FABS
#define X86_INS_FADD            ZYDIS_MNEMONIC_FADD
#define X86_INS_FIADD           ZYDIS_MNEMONIC_FIADD
#define X86_INS_FMUL            ZYDIS_MNEMONIC_FMUL
#define X86_INS_FMULP           ZYDIS_MNEMONIC_FMULP
#define X86_INS_FIMUL           ZYDIS_MNEMONIC_FIMUL
#define X86_INS_FSUB            ZYDIS_MNEMONIC_FSUB
#define X86_INS_FSUBP           ZYDIS_MNEMONIC_FSUBP
#define X86_INS_FISUB           ZYDIS_MNEMONIC_FISUB
#define X86_INS_FSUBR           ZYDIS_MNEMONIC_FSUBR
#define X86_INS_FSUBRP          ZYDIS_MNEMONIC_FSUBRP
#define X86_INS_FISUBR          ZYDIS_MNEMONIC_FISUBR
#define X86_INS_FDIV            ZYDIS_MNEMONIC_FDIV
#define X86_INS_FDIVP           ZYDIS_MNEMONIC_FDIVP
#define X86_INS_FIDIV           ZYDIS_MNEMONIC_FIDIV
#define X86_INS_FDIVR           ZYDIS_MNEMONIC_FDIVR
#define X86_INS_FDIVRP          ZYDIS_MNEMONIC_FDIVRP
#define X86_INS_FIDIVR          ZYDIS_MNEMONIC_FIDIVR
#define X86_INS_FCOM            ZYDIS_MNEMONIC_FCOM
#define X86_INS_FCOMP           ZYDIS_MNEMONIC_FCOMP
#define X86_INS_FICOM           ZYDIS_MNEMONIC_FICOM
#define X86_INS_FCOMPP          ZYDIS_MNEMONIC_FCOMPP
#define X86_INS_FICOMP          ZYDIS_MNEMONIC_FICOMP
#define X86_INS_FCOMI           ZYDIS_MNEMONIC_FCOMI
#define X86_INS_FCOMPI          ZYDIS_MNEMONIC_FCOMPI
#define X86_INS_FUCOMPI         ZYDIS_MNEMONIC_FUCOMPI
#define X86_INS_FUCOM           ZYDIS_MNEMONIC_FUCOM
#define X86_INS_FUCOMP          ZYDIS_MNEMONIC_FUCOMP
#define X86_INS_FUCOMPP         ZYDIS_MNEMONIC_FUCOMPP
#define X86_INS_FUCOMI          ZYDIS_MNEMONIC_FUCOMI
#define X86_INS_FCHS            ZYDIS_MNEMONIC_FCHS
#define X86_INS_FTST            ZYDIS_MNEMONIC_FTST
#define X86_INS_FRNDINT         ZYDIS_MNEMONIC_FRNDINT
#define X86_INS_FSQRT           ZYDIS_MNEMONIC_FSQRT
#define X86_INS_FNOP            ZYDIS_MNEMONIC_FNOP
#define X86_INS_FISTTP          ZYDIS_MNEMONIC_FISTTP
#define X86_INS_IRET            ZYDIS_MNEMONIC_IRET
#define X86_INS_RETF            ZYDIS_MNEMONIC_RETF
#define X86_INS_RETFQ           ZYDIS_MNEMONIC_RETFQ
#define X86_INS_INSB            ZYDIS_MNEMONIC_INSB
#define X86_INS_INSW            ZYDIS_MNEMONIC_INSW
#define X86_INS_OUTSB           ZYDIS_MNEMONIC_OUTSB
#define X86_INS_OUTSW           ZYDIS_MNEMONIC_OUTSW
#define X86_INS_FLDENV          ZYDIS_MNEMONIC_FLDENV
#define X86_INS_FNSTENV         ZYDIS_MNEMONIC_FNSTENV
#define X86_INS_FNSAVE          ZYDIS_MNEMONIC_FNSAVE
#define X86_INS_FRSTOR          ZYDIS_MNEMONIC_FRSTOR
#define X86_INS_PAUSE           ZYDIS_MNEMONIC_PAUSE
#define X86_INS_FDECSTP         ZYDIS_MNEMONIC_FDECSTP
#define X86_INS_FEMMS           ZYDIS_MNEMONIC_FEMMS
#define X86_INS_FFREE           ZYDIS_MNEMONIC_FFREE
#define X86_INS_FINCSTP         ZYDIS_MNEMONIC_FINCSTP
#define X86_INS_FPATAN          ZYDIS_MNEMONIC_FPATAN
#define X86_INS_FPREM           ZYDIS_MNEMONIC_FPREM
#define X86_INS_FPREM1          ZYDIS_MNEMONIC_FPREM1
#define X86_INS_FPTAN           ZYDIS_MNEMONIC_FPTAN
#define X86_INS_FFREEP          ZYDIS_MNEMONIC_FFREEP
#define X86_INS_FSCALE          ZYDIS_MNEMONIC_FSCALE
#define X86_INS_FSETPM287_NOP   ZYDIS_MNEMONIC_FSETPM287_NOP
#define X86_INS_FSINCOS         ZYDIS_MNEMONIC_FSINCOS
#define X86_INS_FXAM            ZYDIS_MNEMONIC_FXAM
#define X86_INS_FXSAVE          ZYDIS_MNEMONIC_FXSAVE
#define X86_INS_FXSAVE64        ZYDIS_MNEMONIC_FXSAVE64
#define X86_INS_FXTRACT         ZYDIS_MNEMONIC_FXTRACT
#define X86_INS_FYL2X           ZYDIS_MNEMONIC_FYL2X
#define X86_INS_FYL2XP1         ZYDIS_MNEMONIC_FYL2XP1
#define X86_INS_FSTPNCE         ZYDIS_MNEMONIC_FSTPNCE
#define X86_INS_FXRSTOR         ZYDIS_MNEMONIC_FXRSTOR
#define X86_INS_FXRSTOR64       ZYDIS_MNEMONIC_FXRSTOR64
#define X86_INS_CLAC            ZYDIS_MNEMONIC_CLAC
#define X86_INS_CLGI            ZYDIS_MNEMONIC_CLGI
#define X86_INS_CLTS            ZYDIS_MNEMONIC_CLTS
#define X86_INS_CLWB            ZYDIS_MNEMONIC_CLWB
#define X86_INS_STGI            ZYDIS_MNEMONIC_STGI
#define X86_INS_SETNZ           ZYDIS_MNEMONIC_SETNZ
#define X86_INS_SETNO           ZYDIS_MNEMONIC_SETNO
#define X86_INS_SETNP           ZYDIS_MNEMONIC_SETNP
#define X86_INS_SETNS           ZYDIS_MNEMONIC_SETNS
#define X86_INS_SETO            ZYDIS_MNEMONIC_SETO
#define X86_INS_SETP            ZYDIS_MNEMONIC_SETP
#define X86_INS_SETS            ZYDIS_MNEMONIC_SETS
#define X86_INS_SETL            ZYDIS_MNEMONIC_SETL
#define X86_INS_SETLE           ZYDIS_MNEMONIC_SETLE
#define X86_INS_SETB            ZYDIS_MNEMONIC_SETB
#define X86_INS_SETNLE          ZYDIS_MNEMONIC_SETNLE
#define X86_INS_SETNB           ZYDIS_MNEMONIC_SETNB
#define X86_INS_SETNBE          ZYDIS_MNEMONIC_SETNBE
#define X86_INS_SETBE           ZYDIS_MNEMONIC_SETBE
#define X86_INS_SETZ            ZYDIS_MNEMONIC_SETZ
#define X86_INS_SETNL           ZYDIS_MNEMONIC_SETNL
#define X86_INS_FCMOVBE         ZYDIS_MNEMONIC_FCMOVBE
#define X86_INS_FCMOVB          ZYDIS_MNEMONIC_FCMOVB
#define X86_INS_FCMOVNBE        ZYDIS_MNEMONIC_FCMOVNBE
#define X86_INS_FCMOVNB         ZYDIS_MNEMONIC_FCMOVNB
#define X86_INS_FCMOVE          ZYDIS_MNEMONIC_FCMOVE
#define X86_INS_FCMOVNE         ZYDIS_MNEMONIC_FCMOVNE
#define X86_INS_FCMOVNU         ZYDIS_MNEMONIC_FCMOVNU
#define X86_INS_FCMOVU          ZYDIS_MNEMONIC_FCMOVU
#define X86_INS_CMOVNBE         ZYDIS_MNEMONIC_CMOVNBE
#define X86_INS_CMOVNB          ZYDIS_MNEMONIC_CMOVNB
#define X86_INS_CMOVZ           ZYDIS_MNEMONIC_CMOVZ
#define X86_INS_CMOVNLE         ZYDIS_MNEMONIC_CMOVNLE
#define X86_INS_CMOVNL          ZYDIS_MNEMONIC_CMOVNL
#define X86_INS_CMOVNZ          ZYDIS_MNEMONIC_CMOVNZ
#define X86_INS_PEXTRB          ZYDIS_MNEMONIC_PEXTRB
#define X86_INS_COMISS          ZYDIS_MNEMONIC_COMISS
#define X86_INS_UCOMISS         ZYDIS_MNEMONIC_UCOMISS
#define X86_INS_VCOMISS         ZYDIS_MNEMONIC_VCOMISS
#define X86_INS_VUCOMISS        ZYDIS_MNEMONIC_VUCOMISS
#define X86_INS_MOVSS           ZYDIS_MNEMONIC_MOVSS
#define X86_INS_MOVAPS          ZYDIS_MNEMONIC_MOVAPS
#define X86_INS_MOVAPD          ZYDIS_MNEMONIC_MOVAPD
#define X86_INS_MOVUPS          ZYDIS_MNEMONIC_MOVUPS
#define X86_INS_MOVHPD          ZYDIS_MNEMONIC_MOVHPD
#define X86_INS_MOVHPS          ZYDIS_MNEMONIC_MOVHPS
#define X86_INS_MOVLPD          ZYDIS_MNEMONIC_MOVLPD
#define X86_INS_MOVLPS          ZYDIS_MNEMONIC_MOVLPS
#define X86_INS_MOVBE           ZYDIS_MNEMONIC_MOVBE
#define X86_INS_MOVQ            ZYDIS_MNEMONIC_MOVQ
#define X86_INS_MOVDQU          ZYDIS_MNEMONIC_MOVDQU
#define X86_INS_MOVDQA          ZYDIS_MNEMONIC_MOVDQA
#define X86_INS_MOVDQ2Q         ZYDIS_MNEMONIC_MOVDQ2Q
#define X86_INS_MOVD            ZYDIS_MNEMONIC_MOVD
#define X86_INS_CPUID           ZYDIS_MNEMONIC_CPUID
#define X86_INS_SHLD            ZYDIS_MNEMONIC_SHLD
#define X86_INS_SHLX            ZYDIS_MNEMONIC_SHLX
#define X86_INS_SARX            ZYDIS_MNEMONIC_SARX
#define X86_INS_SALC            ZYDIS_MNEMONIC_SALC
#define X86_INS_SHRD            ZYDIS_MNEMONIC_SHRD
#define X86_INS_SHRX            ZYDIS_MNEMONIC_SHRX
#define X86_INS_CWDE            ZYDIS_MNEMONIC_CWDE
#define X86_INS_CDQ             ZYDIS_MNEMONIC_CDQ
#define X86_INS_CDQE            ZYDIS_MNEMONIC_CDQE
#define X86_INS_CMPPD           ZYDIS_MNEMONIC_CMPPD
#define X86_INS_CMPPS           ZYDIS_MNEMONIC_CMPPS
#define X86_INS_CMPSS           ZYDIS_MNEMONIC_CMPSS
#define X86_INS_PUSHAD          ZYDIS_MNEMONIC_PUSHAD
#define X86_INS_POPAD           ZYDIS_MNEMONIC_POPAD
#define X86_INS_IRETD           ZYDIS_MNEMONIC_IRETD
#define X86_INS_IRETQ           ZYDIS_MNEMONIC_IRETQ
#define X86_INS_SYSRET          ZYDIS_MNEMONIC_SYSRET
#define X86_INS_INT3            ZYDIS_MNEMONIC_INT3
#define X86_INS_INT1            ZYDIS_MNEMONIC_INT1
#define X86_INS_SYSCALL         ZYDIS_MNEMONIC_SYSCALL
#define X86_INS_SYSENTER        ZYDIS_MNEMONIC_SYSENTER
#define X86_INS_SYSEXIT         ZYDIS_MNEMONIC_SYSEXIT
#define X86_INS_VMCALL          ZYDIS_MNEMONIC_VMCALL
#define X86_INS_VMMCALL         ZYDIS_MNEMONIC_VMMCALL
#define X86_INS_INSD            ZYDIS_MNEMONIC_INSD
#define X86_INS_OUTSD           ZYDIS_MNEMONIC_OUTSD
#define X86_INS_VXORPD          ZYDIS_MNEMONIC_VXORPD
#define X86_INS_VXORPS          ZYDIS_MNEMONIC_VXORPS
#define X86_INS_VPXORD          ZYDIS_MNEMONIC_VPXORD
#define X86_INS_VPXORQ          ZYDIS_MNEMONIC_VPXORQ
#define X86_INS_VPXOR           ZYDIS_MNEMONIC_VPXOR
#define X86_INS_XORPS           ZYDIS_MNEMONIC_XORPS
#define X86_INS_KXORW           ZYDIS_MNEMONIC_KXORW
#define X86_INS_PXOR            ZYDIS_MNEMONIC_PXOR
#define X86_INS_BSR             ZYDIS_MNEMONIC_BSR
#define X86_INS_BSWAP           ZYDIS_MNEMONIC_BSWAP
#define X86_INS_PSUBB           ZYDIS_MNEMONIC_PSUBB
#define X86_INS_PSUBW           ZYDIS_MNEMONIC_PSUBW
#define X86_INS_PSUBD           ZYDIS_MNEMONIC_PSUBD
#define X86_INS_PSUBQ           ZYDIS_MNEMONIC_PSUBQ
#define X86_INS_PSUBSB          ZYDIS_MNEMONIC_PSUBSB
#define X86_INS_PSUBSW          ZYDIS_MNEMONIC_PSUBSW
#define X86_INS_PSUBUSB         ZYDIS_MNEMONIC_PSUBUSB
#define X86_INS_PSUBUSW         ZYDIS_MNEMONIC_PSUBUSW
#define X86_INS_LIDT            ZYDIS_MNEMONIC_LIDT
#define X86_INS_SIDT            ZYDIS_MNEMONIC_SIDT
#define X86_INS_RDRAND          ZYDIS_MNEMONIC_RDRAND
#define X86_INS_RDSEED          ZYDIS_MNEMONIC_RDSEED
#define X86_INS_RDMSR           ZYDIS_MNEMONIC_RDMSR
#define X86_INS_RDPMC           ZYDIS_MNEMONIC_RDPMC
#define X86_INS_RDTSC           ZYDIS_MNEMONIC_RDTSC
#define X86_INS_RDTSCP          ZYDIS_MNEMONIC_RDTSCP
#define X86_INS_CRC32           ZYDIS_MNEMONIC_CRC32
#define X86_INS_SHA1MSG1        ZYDIS_MNEMONIC_SHA1MSG1
#define X86_INS_SHA1MSG2        ZYDIS_MNEMONIC_SHA1MSG2
#define X86_INS_SHA1NEXTE       ZYDIS_MNEMONIC_SHA1NEXTE
#define X86_INS_SHA1RNDS4       ZYDIS_MNEMONIC_SHA1RNDS4
#define X86_INS_SHA256MSG1      ZYDIS_MNEMONIC_SHA256MSG1
#define X86_INS_SHA256MSG2      ZYDIS_MNEMONIC_SHA256MSG2
#define X86_INS_SHA256RNDS2     ZYDIS_MNEMONIC_SHA256RNDS2
#define X86_INS_AESDECLAST      ZYDIS_MNEMONIC_AESDECLAST
#define X86_INS_AESDEC          ZYDIS_MNEMONIC_AESDEC
#define X86_INS_AESENCLAST      ZYDIS_MNEMONIC_AESENCLAST
#define X86_INS_AESENC          ZYDIS_MNEMONIC_AESENC
#define X86_INS_AESIMC          ZYDIS_MNEMONIC_AESIMC
#define X86_INS_AESKEYGENASSIST ZYDIS_MNEMONIC_AESKEYGENASSIST
#define X86_INS_ANDN            ZYDIS_MNEMONIC_ANDN
#define X86_INS_ANDPD           ZYDIS_MNEMONIC_ANDPD
#define X86_INS_ANDPS           ZYDIS_MNEMONIC_ANDPS
#define X86_INS_ANDNPD          ZYDIS_MNEMONIC_ANDNPD
#define X86_INS_ANDNPS          ZYDIS_MNEMONIC_ANDNPS
#define X86_INS_MULX            ZYDIS_MNEMONIC_MULX
#define X86_INS_MULPD           ZYDIS_MNEMONIC_MULPD
#define X86_INS_MULPS           ZYDIS_MNEMONIC_MULPS
#define X86_INS_MULSD           ZYDIS_MNEMONIC_MULSD
#define X86_INS_MULSS           ZYDIS_MNEMONIC_MULSS
#define X86_INS_PACKSSDW        ZYDIS_MNEMONIC_PACKSSDW
#define X86_INS_PACKSSWB        ZYDIS_MNEMONIC_PACKSSWB
#define X86_INS_PACKUSWB        ZYDIS_MNEMONIC_PACKUSWB
#define X86_INS_PADDB           ZYDIS_MNEMONIC_PADDB
#define X86_INS_PADDD           ZYDIS_MNEMONIC_PADDD
#define X86_INS_PADDW           ZYDIS_MNEMONIC_PADDW
#define X86_INS_PADDSB          ZYDIS_MNEMONIC_PADDSB
#define X86_INS_PADDSW          ZYDIS_MNEMONIC_PADDSW
#define X86_INS_PADDUSB         ZYDIS_MNEMONIC_PADDUSB
#define X86_INS_PADDUSW         ZYDIS_MNEMONIC_PADDUSW
#define X86_INS_XADD            ZYDIS_MNEMONIC_XADD
#define X86_INS_FADDP           ZYDIS_MNEMONIC_FADDP
#define X86_INS_PFADD           ZYDIS_MNEMONIC_PFADD
#define X86_INS_ADDPS           ZYDIS_MNEMONIC_ADDPS
#define X86_INS_ADDSD           ZYDIS_MNEMONIC_ADDSD
#define X86_INS_ADDSS           ZYDIS_MNEMONIC_ADDSS
#define X86_INS_ADDSUBPD        ZYDIS_MNEMONIC_ADDSUBPD
#define X86_INS_ADDSUBPS        ZYDIS_MNEMONIC_ADDSUBPS
#define X86_INS_ADDPD           ZYDIS_MNEMONIC_ADDPD
#define X86_INS_SUBSD           ZYDIS_MNEMONIC_SUBSD
#define X86_INS_CVTSS2SD        ZYDIS_MNEMONIC_CVTSS2SD
#define X86_INS_BT              ZYDIS_MNEMONIC_BT
#define X86_INS_BTC             ZYDIS_MNEMONIC_BTC
#define X86_INS_BTR             ZYDIS_MNEMONIC_BTR
#define X86_INS_BTS             ZYDIS_MNEMONIC_BTS
#define X86_INS_PALIGNR         ZYDIS_MNEMONIC_PALIGNR
#define X86_INS_VALIGND         ZYDIS_MNEMONIC_VALIGND
#define X86_INS_VALIGNQ         ZYDIS_MNEMONIC_VALIGNQ
#define X86_INS_VPALIGNR        ZYDIS_MNEMONIC_VPALIGNR
#define X86_INS_SFENCE          ZYDIS_MNEMONIC_SFENCE
#define X86_INS_LFENCE          ZYDIS_MNEMONIC_LFENCE
#define X86_INS_MFENCE          ZYDIS_MNEMONIC_MFENCE
#define X86_INS_MOVNTQ          ZYDIS_MNEMONIC_MOVNTQ
#define X86_INS_MOVNTDQA        ZYDIS_MNEMONIC_MOVNTDQA
#define X86_INS_MOVNTDQ         ZYDIS_MNEMONIC_MOVNTDQ
#define X86_INS_MOVNTI          ZYDIS_MNEMONIC_MOVNTI
#define X86_INS_MOVNTPD         ZYDIS_MNEMONIC_MOVNTPD
#define X86_INS_MOVNTPS         ZYDIS_MNEMONIC_MOVNTPS
#define X86_INS_MOVNTSD         ZYDIS_MNEMONIC_MOVNTSD
#define X86_INS_MOVNTSS         ZYDIS_MNEMONIC_MOVNTSS
#define X86_INS_VMOVNTDQA       ZYDIS_MNEMONIC_VMOVNTDQA
#define X86_INS_VMOVNTDQ        ZYDIS_MNEMONIC_VMOVNTDQ
#define X86_INS_VMOVNTPD        ZYDIS_MNEMONIC_VMOVNTPD
#define X86_INS_VMOVNTPS        ZYDIS_MNEMONIC_VMOVNTPS
#define X86_INS_PCMPEQB         ZYDIS_MNEMONIC_PCMPEQB
#define X86_INS_PCMPEQD         ZYDIS_MNEMONIC_PCMPEQD
#define X86_INS_PCMPEQW         ZYDIS_MNEMONIC_PCMPEQW
#define X86_INS_PCMPGTB         ZYDIS_MNEMONIC_PCMPGTB
#define X86_INS_PCMPGTD         ZYDIS_MNEMONIC_PCMPGTD
#define X86_INS_PCMPGTW         ZYDIS_MNEMONIC_PCMPGTW
#define X86_INS_PCMPEQQ         ZYDIS_MNEMONIC_PCMPEQQ
#define X86_INS_PCMPESTRI       ZYDIS_MNEMONIC_PCMPESTRI
#define X86_INS_PCMPESTRM       ZYDIS_MNEMONIC_PCMPESTRM
#define X86_INS_PCMPGTQ         ZYDIS_MNEMONIC_PCMPGTQ
#define X86_INS_PCMPISTRI       ZYDIS_MNEMONIC_PCMPISTRI
#define X86_INS_PCMPISTRM       ZYDIS_MNEMONIC_PCMPISTRM
#define X86_INS_VPCMPB          ZYDIS_MNEMONIC_VPCMPB
#define X86_INS_VPCMPD          ZYDIS_MNEMONIC_VPCMPD
#define X86_INS_VPCMPEQB        ZYDIS_MNEMONIC_VPCMPEQB
#define X86_INS_VPCMPEQD        ZYDIS_MNEMONIC_VPCMPEQD
#define X86_INS_VPCMPEQQ        ZYDIS_MNEMONIC_VPCMPEQQ
#define X86_INS_VPCMPEQW        ZYDIS_MNEMONIC_VPCMPEQW
#define X86_INS_VPCMPESTRI      ZYDIS_MNEMONIC_VPCMPESTRI
#define X86_INS_VPCMPESTRM      ZYDIS_MNEMONIC_VPCMPESTRM
#define X86_INS_VPCMPGTB        ZYDIS_MNEMONIC_VPCMPGTB
#define X86_INS_VPCMPGTD        ZYDIS_MNEMONIC_VPCMPGTD
#define X86_INS_VPCMPGTQ        ZYDIS_MNEMONIC_VPCMPGTQ
#define X86_INS_VPCMPGTW        ZYDIS_MNEMONIC_VPCMPGTW
#define X86_INS_VPCMPISTRI      ZYDIS_MNEMONIC_VPCMPISTRI
#define X86_INS_VPCMPISTRM      ZYDIS_MNEMONIC_VPCMPISTRM
#define X86_INS_VPCMPQ          ZYDIS_MNEMONIC_VPCMPQ
#define X86_INS_VPCMPUB         ZYDIS_MNEMONIC_VPCMPUB
#define X86_INS_VPCMPUD         ZYDIS_MNEMONIC_VPCMPUD
#define X86_INS_VPCMPUQ         ZYDIS_MNEMONIC_VPCMPUQ
#define X86_INS_VPCMPUW         ZYDIS_MNEMONIC_VPCMPUW
#define X86_INS_VPCMPW          ZYDIS_MNEMONIC_VPCMPW
#define X86_INS_UD0             ZYDIS_MNEMONIC_UD0
#define X86_INS_UD2             ZYDIS_MNEMONIC_UD2
#define X86_INS_PMULHW          ZYDIS_MNEMONIC_PMULHW
#define X86_INS_PMULLW          ZYDIS_MNEMONIC_PMULLW
#define X86_INS_PMADDWD         ZYDIS_MNEMONIC_PMADDWD
#define X86_INS_PAND            ZYDIS_MNEMONIC_PAND
#define X86_INS_PANDN           ZYDIS_MNEMONIC_PANDN
#define X86_INS_POR             ZYDIS_MNEMONIC_POR
#define X86_INS_PSLLD           ZYDIS_MNEMONIC_PSLLD
#define X86_INS_PSLLW           ZYDIS_MNEMONIC_PSLLW
#define X86_INS_PSRLQ           ZYDIS_MNEMONIC_PSRLQ
#define X86_INS_PADDQ           ZYDIS_MNEMONIC_PADDQ
#define X86_INS_DIVPS           ZYDIS_MNEMONIC_DIVPS
#define X86_INS_DIVSS           ZYDIS_MNEMONIC_DIVSS
#define X86_INS_DIVSD           ZYDIS_MNEMONIC_DIVSD
#define X86_INS_MAXPS           ZYDIS_MNEMONIC_MAXPS
#define X86_INS_MAXSS           ZYDIS_MNEMONIC_MAXSS
#define X86_INS_MINPS           ZYDIS_MNEMONIC_MINPS
#define X86_INS_MINSS           ZYDIS_MNEMONIC_MINSS
#define X86_INS_RSQRTPS         ZYDIS_MNEMONIC_RSQRTPS
#define X86_INS_RSQRTSS         ZYDIS_MNEMONIC_RSQRTSS
#define X86_INS_SUBPS           ZYDIS_MNEMONIC_SUBPS
#define X86_INS_SUBSS           ZYDIS_MNEMONIC_SUBSS
#define X86_INS_SQRTPS          ZYDIS_MNEMONIC_SQRTPS
#define X86_INS_SQRTSS          ZYDIS_MNEMONIC_SQRTSS
#define X86_INS_CVTPI2PS        ZYDIS_MNEMONIC_CVTPI2PS
#define X86_INS_CVTSS2SI        ZYDIS_MNEMONIC_CVTSS2SI
#define X86_INS_CVTTSS2SI       ZYDIS_MNEMONIC_CVTTSS2SI
#define X86_INS_CVTPS2PI        ZYDIS_MNEMONIC_CVTPS2PI
#define X86_INS_CVTSI2SS        ZYDIS_MNEMONIC_CVTSI2SS
#define X86_INS_CVTSI2SD        ZYDIS_MNEMONIC_CVTSI2SD
#define X86_INS_CVTTPD2DQ       ZYDIS_MNEMONIC_CVTTPD2DQ
#define X86_INS_CVTPD2PS        ZYDIS_MNEMONIC_CVTPD2PS
#define X86_INS_CVTPS2PD        ZYDIS_MNEMONIC_CVTPS2PD
#define X86_INS_CVTSD2SI        ZYDIS_MNEMONIC_CVTSD2SI
#define X86_INS_CVTTSD2SI       ZYDIS_MNEMONIC_CVTTSD2SI
#define X86_INS_CVTSD2SS        ZYDIS_MNEMONIC_CVTSD2SS
#define X86_INS_PMOVMSKB        ZYDIS_MNEMONIC_PMOVMSKB
#define X86_INS_PSHUFD          ZYDIS_MNEMONIC_PSHUFD
#define X86_INS_PSHUFHW         ZYDIS_MNEMONIC_PSHUFHW
#define X86_INS_PSHUFLW         ZYDIS_MNEMONIC_PSHUFLW
#define X86_INS_PTEST           ZYDIS_MNEMONIC_PTEST
#define X86_INS_CVTDQ2PS        ZYDIS_MNEMONIC_CVTDQ2PS
#define X86_INS_CVTPS2DQ        ZYDIS_MNEMONIC_CVTPS2DQ
#define X86_INS_MOVDDUP         ZYDIS_MNEMONIC_MOVDDUP
#define X86_INS_RCPPS           ZYDIS_MNEMONIC_RCPPS
#define X86_INS_ORPS            ZYDIS_MNEMONIC_ORPS
#define X86_INS_FWAIT           ZYDIS_MNEMONIC_FWAIT
#define X86_INS_XLAT            ZYDIS_MNEMONIC_XLAT
#define X86_INS_MAX_VALUE       ZYDIS_MNEMONIC_MAX_VALUE

// Operand types
#define X86_OP_REG ZYDIS_OPERAND_TYPE_REGISTER
#define X86_OP_IMM ZYDIS_OPERAND_TYPE_IMMEDIATE
#define X86_OP_MEM ZYDIS_OPERAND_TYPE_MEMORY
#define X86_OP_PTR ZYDIS_OPERAND_TYPE_POINTER

// Registers
#define X86_REG_AH        ZYDIS_REGISTER_AH
#define X86_REG_AL        ZYDIS_REGISTER_AL
#define X86_REG_AX        ZYDIS_REGISTER_AX
#define X86_REG_BH        ZYDIS_REGISTER_BH
#define X86_REG_BL        ZYDIS_REGISTER_BL
#define X86_REG_BP        ZYDIS_REGISTER_BP
#define X86_REG_BPL       ZYDIS_REGISTER_BPL
#define X86_REG_BX        ZYDIS_REGISTER_BX
#define X86_REG_CH        ZYDIS_REGISTER_CH
#define X86_REG_CL        ZYDIS_REGISTER_CL
#define X86_REG_CS        ZYDIS_REGISTER_CS
#define X86_REG_CX        ZYDIS_REGISTER_CX
#define X86_REG_DH        ZYDIS_REGISTER_DH
#define X86_REG_DI        ZYDIS_REGISTER_DI
#define X86_REG_DIL       ZYDIS_REGISTER_DIL
#define X86_REG_DL        ZYDIS_REGISTER_DL
#define X86_REG_DS        ZYDIS_REGISTER_DS
#define X86_REG_DX        ZYDIS_REGISTER_DX
#define X86_REG_EAX       ZYDIS_REGISTER_EAX
#define X86_REG_EBP       ZYDIS_REGISTER_EBP
#define X86_REG_EBX       ZYDIS_REGISTER_EBX
#define X86_REG_ECX       ZYDIS_REGISTER_ECX
#define X86_REG_EDI       ZYDIS_REGISTER_EDI
#define X86_REG_EDX       ZYDIS_REGISTER_EDX
#define X86_REG_EFLAGS    ZYDIS_REGISTER_EFLAGS
#define X86_REG_EIP       ZYDIS_REGISTER_EIP
#define X86_REG_ES        ZYDIS_REGISTER_ES
#define X86_REG_ESI       ZYDIS_REGISTER_ESI
#define X86_REG_ESP       ZYDIS_REGISTER_ESP
#define X86_REG_X87STATUS ZYDIS_REGISTER_X87STATUS
#define X86_REG_FS        ZYDIS_REGISTER_FS
#define X86_REG_GS        ZYDIS_REGISTER_GS
#define X86_REG_IP        ZYDIS_REGISTER_IP
#define X86_REG_RAX       ZYDIS_REGISTER_RAX
#define X86_REG_RBP       ZYDIS_REGISTER_RBP
#define X86_REG_RBX       ZYDIS_REGISTER_RBX
#define X86_REG_RCX       ZYDIS_REGISTER_RCX
#define X86_REG_RDI       ZYDIS_REGISTER_RDI
#define X86_REG_RDX       ZYDIS_REGISTER_RDX
#define X86_REG_RIP       ZYDIS_REGISTER_RIP
#define X86_REG_RSI       ZYDIS_REGISTER_RSI
#define X86_REG_RSP       ZYDIS_REGISTER_RSP
#define X86_REG_SI        ZYDIS_REGISTER_SI
#define X86_REG_SIL       ZYDIS_REGISTER_SIL
#define X86_REG_SP        ZYDIS_REGISTER_SP
#define X86_REG_SPL       ZYDIS_REGISTER_SPL
#define X86_REG_SS        ZYDIS_REGISTER_SS
#define X86_REG_CR0       ZYDIS_REGISTER_CR0
#define X86_REG_CR1       ZYDIS_REGISTER_CR1
#define X86_REG_CR2       ZYDIS_REGISTER_CR2
#define X86_REG_CR3       ZYDIS_REGISTER_CR3
#define X86_REG_CR4       ZYDIS_REGISTER_CR4
#define X86_REG_CR5       ZYDIS_REGISTER_CR5
#define X86_REG_CR6       ZYDIS_REGISTER_CR6
#define X86_REG_CR7       ZYDIS_REGISTER_CR7
#define X86_REG_CR8       ZYDIS_REGISTER_CR8
#define X86_REG_CR9       ZYDIS_REGISTER_CR9
#define X86_REG_CR10      ZYDIS_REGISTER_CR10
#define X86_REG_CR11      ZYDIS_REGISTER_CR11
#define X86_REG_CR12      ZYDIS_REGISTER_CR12
#define X86_REG_CR13      ZYDIS_REGISTER_CR13
#define X86_REG_CR14      ZYDIS_REGISTER_CR14
#define X86_REG_CR15      ZYDIS_REGISTER_CR15
#define X86_REG_DR0       ZYDIS_REGISTER_DR0
#define X86_REG_DR1       ZYDIS_REGISTER_DR1
#define X86_REG_DR2       ZYDIS_REGISTER_DR2
#define X86_REG_DR3       ZYDIS_REGISTER_DR3
#define X86_REG_DR4       ZYDIS_REGISTER_DR4
#define X86_REG_DR5       ZYDIS_REGISTER_DR5
#define X86_REG_DR6       ZYDIS_REGISTER_DR6
#define X86_REG_DR7       ZYDIS_REGISTER_DR7
#define X86_REG_DR8       ZYDIS_REGISTER_DR8
#define X86_REG_DR9       ZYDIS_REGISTER_DR9
#define X86_REG_DR10      ZYDIS_REGISTER_DR10
#define X86_REG_DR11      ZYDIS_REGISTER_DR11
#define X86_REG_DR12      ZYDIS_REGISTER_DR12
#define X86_REG_DR13      ZYDIS_REGISTER_DR13
#define X86_REG_DR14      ZYDIS_REGISTER_DR14
#define X86_REG_DR15      ZYDIS_REGISTER_DR15
#define X86_REG_K0        ZYDIS_REGISTER_K0
#define X86_REG_K1        ZYDIS_REGISTER_K1
#define X86_REG_K2        ZYDIS_REGISTER_K2
#define X86_REG_K3        ZYDIS_REGISTER_K3
#define X86_REG_K4        ZYDIS_REGISTER_K4
#define X86_REG_K5        ZYDIS_REGISTER_K5
#define X86_REG_K6        ZYDIS_REGISTER_K6
#define X86_REG_K7        ZYDIS_REGISTER_K7
#define X86_REG_MM0       ZYDIS_REGISTER_MM0
#define X86_REG_MM1       ZYDIS_REGISTER_MM1
#define X86_REG_MM2       ZYDIS_REGISTER_MM2
#define X86_REG_MM3       ZYDIS_REGISTER_MM3
#define X86_REG_MM4       ZYDIS_REGISTER_MM4
#define X86_REG_MM5       ZYDIS_REGISTER_MM5
#define X86_REG_MM6       ZYDIS_REGISTER_MM6
#define X86_REG_MM7       ZYDIS_REGISTER_MM7
#define X86_REG_R8        ZYDIS_REGISTER_R8
#define X86_REG_R9        ZYDIS_REGISTER_R9
#define X86_REG_R10       ZYDIS_REGISTER_R10
#define X86_REG_R11       ZYDIS_REGISTER_R11
#define X86_REG_R12       ZYDIS_REGISTER_R12
#define X86_REG_R13       ZYDIS_REGISTER_R13
#define X86_REG_R14       ZYDIS_REGISTER_R14
#define X86_REG_R15       ZYDIS_REGISTER_R15
#define X86_REG_ST0       ZYDIS_REGISTER_ST0
#define X86_REG_ST1       ZYDIS_REGISTER_ST1
#define X86_REG_ST2       ZYDIS_REGISTER_ST2
#define X86_REG_ST3       ZYDIS_REGISTER_ST3
#define X86_REG_ST4       ZYDIS_REGISTER_ST4
#define X86_REG_ST5       ZYDIS_REGISTER_ST5
#define X86_REG_ST6       ZYDIS_REGISTER_ST6
#define X86_REG_ST7       ZYDIS_REGISTER_ST7
#define X86_REG_XMM0      ZYDIS_REGISTER_XMM0
#define X86_REG_XMM1      ZYDIS_REGISTER_XMM1
#define X86_REG_XMM2      ZYDIS_REGISTER_XMM2
#define X86_REG_XMM3      ZYDIS_REGISTER_XMM3
#define X86_REG_XMM4      ZYDIS_REGISTER_XMM4
#define X86_REG_XMM5      ZYDIS_REGISTER_XMM5
#define X86_REG_XMM6      ZYDIS_REGISTER_XMM6
#define X86_REG_XMM7      ZYDIS_REGISTER_XMM7
#define X86_REG_XMM8      ZYDIS_REGISTER_XMM8
#define X86_REG_XMM9      ZYDIS_REGISTER_XMM9
#define X86_REG_XMM10     ZYDIS_REGISTER_XMM10
#define X86_REG_XMM11     ZYDIS_REGISTER_XMM11
#define X86_REG_XMM12     ZYDIS_REGISTER_XMM12
#define X86_REG_XMM13     ZYDIS_REGISTER_XMM13
#define X86_REG_XMM14     ZYDIS_REGISTER_XMM14
#define X86_REG_XMM15     ZYDIS_REGISTER_XMM15
#define X86_REG_XMM16     ZYDIS_REGISTER_XMM16
#define X86_REG_XMM17     ZYDIS_REGISTER_XMM17
#define X86_REG_XMM18     ZYDIS_REGISTER_XMM18
#define X86_REG_XMM19     ZYDIS_REGISTER_XMM19
#define X86_REG_XMM20     ZYDIS_REGISTER_XMM20
#define X86_REG_XMM21     ZYDIS_REGISTER_XMM21
#define X86_REG_XMM22     ZYDIS_REGISTER_XMM22
#define X86_REG_XMM23     ZYDIS_REGISTER_XMM23
#define X86_REG_XMM24     ZYDIS_REGISTER_XMM24
#define X86_REG_XMM25     ZYDIS_REGISTER_XMM25
#define X86_REG_XMM26     ZYDIS_REGISTER_XMM26
#define X86_REG_XMM27     ZYDIS_REGISTER_XMM27
#define X86_REG_XMM28     ZYDIS_REGISTER_XMM28
#define X86_REG_XMM29     ZYDIS_REGISTER_XMM29
#define X86_REG_XMM30     ZYDIS_REGISTER_XMM30
#define X86_REG_XMM31     ZYDIS_REGISTER_XMM31
#define X86_REG_YMM0      ZYDIS_REGISTER_YMM0
#define X86_REG_YMM1      ZYDIS_REGISTER_YMM1
#define X86_REG_YMM2      ZYDIS_REGISTER_YMM2
#define X86_REG_YMM3      ZYDIS_REGISTER_YMM3
#define X86_REG_YMM4      ZYDIS_REGISTER_YMM4
#define X86_REG_YMM5      ZYDIS_REGISTER_YMM5
#define X86_REG_YMM6      ZYDIS_REGISTER_YMM6
#define X86_REG_YMM7      ZYDIS_REGISTER_YMM7
#define X86_REG_YMM8      ZYDIS_REGISTER_YMM8
#define X86_REG_YMM9      ZYDIS_REGISTER_YMM9
#define X86_REG_YMM10     ZYDIS_REGISTER_YMM10
#define X86_REG_YMM11     ZYDIS_REGISTER_YMM11
#define X86_REG_YMM12     ZYDIS_REGISTER_YMM12
#define X86_REG_YMM13     ZYDIS_REGISTER_YMM13
#define X86_REG_YMM14     ZYDIS_REGISTER_YMM14
#define X86_REG_YMM15     ZYDIS_REGISTER_YMM15
#define X86_REG_YMM16     ZYDIS_REGISTER_YMM16
#define X86_REG_YMM17     ZYDIS_REGISTER_YMM17
#define X86_REG_YMM18     ZYDIS_REGISTER_YMM18
#define X86_REG_YMM19     ZYDIS_REGISTER_YMM19
#define X86_REG_YMM20     ZYDIS_REGISTER_YMM20
#define X86_REG_YMM21     ZYDIS_REGISTER_YMM21
#define X86_REG_YMM22     ZYDIS_REGISTER_YMM22
#define X86_REG_YMM23     ZYDIS_REGISTER_YMM23
#define X86_REG_YMM24     ZYDIS_REGISTER_YMM24
#define X86_REG_YMM25     ZYDIS_REGISTER_YMM25
#define X86_REG_YMM26     ZYDIS_REGISTER_YMM26
#define X86_REG_YMM27     ZYDIS_REGISTER_YMM27
#define X86_REG_YMM28     ZYDIS_REGISTER_YMM28
#define X86_REG_YMM29     ZYDIS_REGISTER_YMM29
#define X86_REG_YMM30     ZYDIS_REGISTER_YMM30
#define X86_REG_YMM31     ZYDIS_REGISTER_YMM31
#define X86_REG_ZMM0      ZYDIS_REGISTER_ZMM0
#define X86_REG_ZMM1      ZYDIS_REGISTER_ZMM1
#define X86_REG_ZMM2      ZYDIS_REGISTER_ZMM2
#define X86_REG_ZMM3      ZYDIS_REGISTER_ZMM3
#define X86_REG_ZMM4      ZYDIS_REGISTER_ZMM4
#define X86_REG_ZMM5      ZYDIS_REGISTER_ZMM5
#define X86_REG_ZMM6      ZYDIS_REGISTER_ZMM6
#define X86_REG_ZMM7      ZYDIS_REGISTER_ZMM7
#define X86_REG_ZMM8      ZYDIS_REGISTER_ZMM8
#define X86_REG_ZMM9      ZYDIS_REGISTER_ZMM9
#define X86_REG_ZMM10     ZYDIS_REGISTER_ZMM10
#define X86_REG_ZMM11     ZYDIS_REGISTER_ZMM11
#define X86_REG_ZMM12     ZYDIS_REGISTER_ZMM12
#define X86_REG_ZMM13     ZYDIS_REGISTER_ZMM13
#define X86_REG_ZMM14     ZYDIS_REGISTER_ZMM14
#define X86_REG_ZMM15     ZYDIS_REGISTER_ZMM15
#define X86_REG_ZMM16     ZYDIS_REGISTER_ZMM16
#define X86_REG_ZMM17     ZYDIS_REGISTER_ZMM17
#define X86_REG_ZMM18     ZYDIS_REGISTER_ZMM18
#define X86_REG_ZMM19     ZYDIS_REGISTER_ZMM19
#define X86_REG_ZMM20     ZYDIS_REGISTER_ZMM20
#define X86_REG_ZMM21     ZYDIS_REGISTER_ZMM21
#define X86_REG_ZMM22     ZYDIS_REGISTER_ZMM22
#define X86_REG_ZMM23     ZYDIS_REGISTER_ZMM23
#define X86_REG_ZMM24     ZYDIS_REGISTER_ZMM24
#define X86_REG_ZMM25     ZYDIS_REGISTER_ZMM25
#define X86_REG_ZMM26     ZYDIS_REGISTER_ZMM26
#define X86_REG_ZMM27     ZYDIS_REGISTER_ZMM27
#define X86_REG_ZMM28     ZYDIS_REGISTER_ZMM28
#define X86_REG_ZMM29     ZYDIS_REGISTER_ZMM29
#define X86_REG_ZMM30     ZYDIS_REGISTER_ZMM30
#define X86_REG_ZMM31     ZYDIS_REGISTER_ZMM31
#define X86_REG_R8B       ZYDIS_REGISTER_R8B
#define X86_REG_R9B       ZYDIS_REGISTER_R9B
#define X86_REG_R10B      ZYDIS_REGISTER_R10B
#define X86_REG_R11B      ZYDIS_REGISTER_R11B
#define X86_REG_R12B      ZYDIS_REGISTER_R12B
#define X86_REG_R13B      ZYDIS_REGISTER_R13B
#define X86_REG_R14B      ZYDIS_REGISTER_R14B
#define X86_REG_R15B      ZYDIS_REGISTER_R15B
#define X86_REG_R8D       ZYDIS_REGISTER_R8D
#define X86_REG_R9D       ZYDIS_REGISTER_R9D
#define X86_REG_R10D      ZYDIS_REGISTER_R10D
#define X86_REG_R11D      ZYDIS_REGISTER_R11D
#define X86_REG_R12D      ZYDIS_REGISTER_R12D
#define X86_REG_R13D      ZYDIS_REGISTER_R13D
#define X86_REG_R14D      ZYDIS_REGISTER_R14D
#define X86_REG_R15D      ZYDIS_REGISTER_R15D
#define X86_REG_R8W       ZYDIS_REGISTER_R8W
#define X86_REG_R9W       ZYDIS_REGISTER_R9W
#define X86_REG_R10W      ZYDIS_REGISTER_R10W
#define X86_REG_R11W      ZYDIS_REGISTER_R11W
#define X86_REG_R12W      ZYDIS_REGISTER_R12W
#define X86_REG_R13W      ZYDIS_REGISTER_R13W
#define X86_REG_R14W      ZYDIS_REGISTER_R14W
#define X86_REG_R15W      ZYDIS_REGISTER_R15W
#define X86_REG_AH        ZYDIS_REGISTER_AH
#define X86_REG_BH        ZYDIS_REGISTER_BH
#define X86_REG_CH        ZYDIS_REGISTER_CH
#define X86_REG_DH        ZYDIS_REGISTER_DH
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_AL        ZYDIS_REGISTER_AL
#define X86_REG_BL        ZYDIS_REGISTER_BL
#define X86_REG_CL        ZYDIS_REGISTER_CL
#define X86_REG_DL        ZYDIS_REGISTER_DL
#define X86_REG_BPL       ZYDIS_REGISTER_BPL
#define X86_REG_DIL       ZYDIS_REGISTER_DIL
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_SIL       ZYDIS_REGISTER_SIL
#define X86_REG_SPL       ZYDIS_REGISTER_SPL
#define X86_REG_AX        ZYDIS_REGISTER_AX
#define X86_REG_BX        ZYDIS_REGISTER_BX
#define X86_REG_CX        ZYDIS_REGISTER_CX
#define X86_REG_DX        ZYDIS_REGISTER_DX
#define X86_REG_BP        ZYDIS_REGISTER_BP
#define X86_REG_DI        ZYDIS_REGISTER_DI
#define X86_REG_IP        ZYDIS_REGISTER_IP
#define X86_REG_NONE      ZYDIS_REGISTER_NONE
#define X86_REG_SI        ZYDIS_REGISTER_SI
#define X86_REG_SP        ZYDIS_REGISTER_SP
#define X86_REG_EAX       ZYDIS_REGISTER_EAX
#define X86_REG_EBX       ZYDIS_REGISTER_EBX
#define X86_REG_ECX       ZYDIS_REGISTER_ECX
#define X86_REG_EDX       ZYDIS_REGISTER_EDX
#define X86_REG_EBP       ZYDIS_REGISTER_EBP
#define X86_REG_EDI       ZYDIS_REGISTER_EDI
#define X86_REG_EIP       ZYDIS_REGISTER_EIP
#define X86_REG_ESI       ZYDIS_REGISTER_ESI
#define X86_REG_ESP       ZYDIS_REGISTER_ESP
#define X86_REG_RAX       ZYDIS_REGISTER_RAX
#define X86_REG_RBX       ZYDIS_REGISTER_RBX
#define X86_REG_RCX       ZYDIS_REGISTER_RCX
#define X86_REG_RDX       ZYDIS_REGISTER_RDX
#define X86_REG_RBP       ZYDIS_REGISTER_RBP
#define X86_REG_RDI       ZYDIS_REGISTER_RDI
#define X86_REG_RIP       ZYDIS_REGISTER_RIP
#define X86_REG_RSI       ZYDIS_REGISTER_RSI
#define X86_REG_RSP       ZYDIS_REGISTER_RSP
#define X86_REG_MAX_VALUE ZYDIS_REGISTER_MAX_VALUE

#endif // X86_MNEMONIC_H
