You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14926 lines
455 KiB
14926 lines
455 KiB
/// @file include-private/xed3-nt-capture.h
|
|
|
|
// This file was automatically generated.
|
|
// Do not edit this file.
|
|
|
|
#if !defined(INCLUDE_PRIVATE_XED3_NT_CAPTURE_H)
|
|
# define INCLUDE_PRIVATE_XED3_NT_CAPTURE_H
|
|
/*BEGIN_LEGAL
|
|
|
|
Copyright (c) 2021 Intel Corporation
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
END_LEGAL */
|
|
#include "xed-internal-header.h"
|
|
#include "xed-operand-accessors.h"
|
|
#include "xed-ild.h"
|
|
static XED_INLINE void xed3_capture_nt_REMOVE_SEGMENT(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BRANCH_HINT(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_CET_NO_TRACK(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArAX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArBX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArCX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArDX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArSI(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArDI(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArSP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ArBP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SrSP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SrBP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar9(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar10(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar11(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar12(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar13(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar14(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_Ar15(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_rIP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_rIPa(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OeAX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OrAX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OrDX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OrCX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OrBX(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OrSP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OrBP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_rFLAGS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MMX_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MMX_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRv_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRv_SB(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRz_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRv_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRz_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRy_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPRy_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR64_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR64_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR64_SB(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR64_X(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR32_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR32_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR32_SB(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR32_X(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR16_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR16_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR16_SB(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_CR_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_CR_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_DR_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_X87(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SEG(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SEG_MOV(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG_NOT64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG_MODE64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_NOT64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_MODE64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_ESEG(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_ESEG1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG0(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG_NOT64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG_MODE64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR8_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR8_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_GPR8_SB(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OSZ_NONTERM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_DF64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_REFINING66(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_IGNORE66(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_IMMUNE66(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_CR_WIDTH(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_IMMUNE66_LOOP64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_IMMUNE_REXW(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FORCE64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ASZ_NONTERM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ONE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UIMMv(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SIMMz(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SIMM8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UIMM8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UIMM8_1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UIMM16(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UIMM32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BRDISP8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BRDISP32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BRDISPz(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MEMDISPv(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP16(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MODRM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MODRM64alt32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MODRM32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MODRM16(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SIB(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SIB_BASE0(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG0(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_R_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_R_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_B_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_B_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BND_R_CHECK(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BND_B_CHECK(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BND_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_BND_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_A_GPR_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_A_GPR_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_SE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_SE64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_SE32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_SE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_SE64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_SE32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_N_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_N_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_N_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_N_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_R_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_R_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_B_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_B_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SE_IMM8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VMODRM_YMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VMODRM_XMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VSIB_YMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VSIB_XMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VSIB_INDEX_YMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VSIB_INDEX_XMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VSIB_BASE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPRy_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPRy_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPRy_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_N_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_N_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR64_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_R_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_R_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR64_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_B_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_B_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_VGPR64_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_4X(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_AVX512_ROUND(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_SAE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_128_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_64_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_32_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_16_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_8_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_4_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_2_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_1_BITS(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_MOVDDUP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_FULLMEM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_HALFMEM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_QUARTERMEM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_EIGHTHMEM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_BYTE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_WORD(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_D(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_Q(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_BYTE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_WORD(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_BYTE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_WORD(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_SCALAR(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_SUBDWORD(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_SUBDWORD(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_SUBDWORD(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GSCAT(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE2(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE4(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE8(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_MEM128(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_FULL(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_HALF(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN512(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN128(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VMODRM_ZMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VMODRM_YMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VMODRM_XMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_ZMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_YMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_XMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_ZMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_YMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_XMM(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_BASE(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASK1(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASKNOT0(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASK_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASK_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASK_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASK_N64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_MASK_N32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_R3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_R3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_R3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_R3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_R3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_R3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_R3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_R3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_R3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_B3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_B3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_B3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_B3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_B3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_B3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_B3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_B3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_B3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_N3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_N3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_XMM_N3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_N3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_N3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_YMM_N3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_N3(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_N3_32(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_ZMM_N3_64(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_TMM_R(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_TMM_B(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_TMM_N(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_NELEM_QUARTER(xed_decoded_inst_t* d);
|
|
|
|
static XED_INLINE void xed3_capture_nt_REMOVE_SEGMENT(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | SEG0=XED_REG_INVALID*/
|
|
xed3_operand_set_seg0(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | SEG0=XED_REG_INVALID*/
|
|
xed3_operand_set_seg0(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | SEG0=XED_REG_INVALID*/
|
|
xed3_operand_set_seg0(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BRANCH_HINT(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_hint(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> HINT=0 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> HINT=1 | HINT=3*/
|
|
xed3_operand_set_hint(d, 0x3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> HINT=2 | HINT=4*/
|
|
xed3_operand_set_hint(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_CET_NO_TRACK(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_hint(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> HINT=0 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> HINT=1 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> HINT=2 | HINT=5*/
|
|
xed3_operand_set_hint(d, 0x5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArAX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_AX*/
|
|
xed3_operand_set_outreg(d, XED_REG_AX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArBX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_BX*/
|
|
xed3_operand_set_outreg(d, XED_REG_BX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArCX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_CX*/
|
|
xed3_operand_set_outreg(d, XED_REG_CX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArDX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_DX*/
|
|
xed3_operand_set_outreg(d, XED_REG_DX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArSI(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_SI*/
|
|
xed3_operand_set_outreg(d, XED_REG_SI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArDI(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_DI*/
|
|
xed3_operand_set_outreg(d, XED_REG_DI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArSP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_SP*/
|
|
xed3_operand_set_outreg(d, XED_REG_SP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ArBP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_BP*/
|
|
xed3_operand_set_outreg(d, XED_REG_BP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SrSP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_smode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> smode16 | OUTREG=XED_REG_SP*/
|
|
xed3_operand_set_outreg(d, XED_REG_SP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> smode32 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> smode64 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SrBP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_smode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> smode16 | OUTREG=XED_REG_BP*/
|
|
xed3_operand_set_outreg(d, XED_REG_BP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> smode32 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> smode64 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar8(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R8W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar9(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R9W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar10(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R10W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar11(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R11W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar12(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R12W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar13(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R13W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar14(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R14W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_Ar15(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R15W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_rIP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XED_REG_EIP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EIP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XED_REG_EIP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EIP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XED_REG_RIP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RIP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_rIPa(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EIP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EIP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RIP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RIP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OeAX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_AX*/
|
|
xed3_operand_set_outreg(d, XED_REG_AX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OrAX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_AX*/
|
|
xed3_operand_set_outreg(d, XED_REG_AX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OrDX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_DX*/
|
|
xed3_operand_set_outreg(d, XED_REG_DX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OrCX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_CX*/
|
|
xed3_operand_set_outreg(d, XED_REG_CX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OrBX(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_BX*/
|
|
xed3_operand_set_outreg(d, XED_REG_BX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OrSP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_SP*/
|
|
xed3_operand_set_outreg(d, XED_REG_SP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OrBP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_BP*/
|
|
xed3_operand_set_outreg(d, XED_REG_BP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_rFLAGS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XED_REG_FLAGS*/
|
|
xed3_operand_set_outreg(d, XED_REG_FLAGS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XED_REG_EFLAGS*/
|
|
xed3_operand_set_outreg(d, XED_REG_EFLAGS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XED_REG_RFLAGS*/
|
|
xed3_operand_set_outreg(d, XED_REG_RFLAGS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MMX_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_MMX0*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_MMX1*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_MMX2*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_MMX3*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_MMX4*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_MMX5*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_MMX6*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_MMX7*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MMX_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_MMX0*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_MMX1*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_MMX2*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_MMX3*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_MMX4*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_MMX5*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_MMX6*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_MMX7*/
|
|
xed3_operand_set_outreg(d, XED_REG_MMX7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRv_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_R()*/
|
|
xed3_capture_nt_GPR16_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_R()*/
|
|
xed3_capture_nt_GPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_R()*/
|
|
xed3_capture_nt_GPR64_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRv_SB(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_SB()*/
|
|
xed3_capture_nt_GPR16_SB(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_SB()*/
|
|
xed3_capture_nt_GPR32_SB(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_SB()*/
|
|
xed3_capture_nt_GPR64_SB(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRz_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_R()*/
|
|
xed3_capture_nt_GPR16_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_R()*/
|
|
xed3_capture_nt_GPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR32_R()*/
|
|
xed3_capture_nt_GPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRv_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_B()*/
|
|
xed3_capture_nt_GPR16_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_B()*/
|
|
xed3_capture_nt_GPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_B()*/
|
|
xed3_capture_nt_GPR64_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRz_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_B()*/
|
|
xed3_capture_nt_GPR16_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_B()*/
|
|
xed3_capture_nt_GPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR32_B()*/
|
|
xed3_capture_nt_GPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRy_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR32_B()*/
|
|
xed3_capture_nt_GPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_B()*/
|
|
xed3_capture_nt_GPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_B()*/
|
|
xed3_capture_nt_GPR64_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPRy_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR32_R()*/
|
|
xed3_capture_nt_GPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_R()*/
|
|
xed3_capture_nt_GPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_R()*/
|
|
xed3_capture_nt_GPR64_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR64_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR64_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR64_SB(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_srm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 SRM=0x4 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 SRM=0x5 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 SRM=0x6 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 SRM=0x7 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR64_X(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXX=0 SIBINDEX=0x0 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXX=1 SIBINDEX=0x0 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXX=0 SIBINDEX=0x1 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXX=1 SIBINDEX=0x1 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXX=0 SIBINDEX=0x2 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXX=1 SIBINDEX=0x2 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXX=0 SIBINDEX=0x3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXX=1 SIBINDEX=0x3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXX=0 SIBINDEX=0x4 | OUTREG=XED_REG_INVALID*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXX=1 SIBINDEX=0x4 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXX=0 SIBINDEX=0x5 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXX=1 SIBINDEX=0x5 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXX=0 SIBINDEX=0x6 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXX=1 SIBINDEX=0x6 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXX=0 SIBINDEX=0x7 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXX=1 SIBINDEX=0x7 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR32_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR32_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR32_SB(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_srm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 SRM=0x4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 SRM=0x5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 SRM=0x6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 SRM=0x7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR32_X(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXX=0 SIBINDEX=0x0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXX=1 SIBINDEX=0x0 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXX=0 SIBINDEX=0x1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXX=1 SIBINDEX=0x1 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXX=0 SIBINDEX=0x2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXX=1 SIBINDEX=0x2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXX=0 SIBINDEX=0x3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXX=1 SIBINDEX=0x3 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXX=0 SIBINDEX=0x4 | OUTREG=XED_REG_INVALID*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXX=1 SIBINDEX=0x4 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXX=0 SIBINDEX=0x5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXX=1 SIBINDEX=0x5 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXX=0 SIBINDEX=0x6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXX=1 SIBINDEX=0x6 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXX=0 SIBINDEX=0x7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXX=1 SIBINDEX=0x7 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR16_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_AX*/
|
|
xed3_operand_set_outreg(d, XED_REG_AX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_CX*/
|
|
xed3_operand_set_outreg(d, XED_REG_CX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DX*/
|
|
xed3_operand_set_outreg(d, XED_REG_DX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BX*/
|
|
xed3_operand_set_outreg(d, XED_REG_BX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_SP*/
|
|
xed3_operand_set_outreg(d, XED_REG_SP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_BP*/
|
|
xed3_operand_set_outreg(d, XED_REG_BP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_SI*/
|
|
xed3_operand_set_outreg(d, XED_REG_SI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_DI*/
|
|
xed3_operand_set_outreg(d, XED_REG_DI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR16_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_AX*/
|
|
xed3_operand_set_outreg(d, XED_REG_AX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_CX*/
|
|
xed3_operand_set_outreg(d, XED_REG_CX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_DX*/
|
|
xed3_operand_set_outreg(d, XED_REG_DX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BX*/
|
|
xed3_operand_set_outreg(d, XED_REG_BX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_SP*/
|
|
xed3_operand_set_outreg(d, XED_REG_SP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_BP*/
|
|
xed3_operand_set_outreg(d, XED_REG_BP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_SI*/
|
|
xed3_operand_set_outreg(d, XED_REG_SI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_DI*/
|
|
xed3_operand_set_outreg(d, XED_REG_DI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR16_SB(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_srm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_AX*/
|
|
xed3_operand_set_outreg(d, XED_REG_AX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_CX*/
|
|
xed3_operand_set_outreg(d, XED_REG_CX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_DX*/
|
|
xed3_operand_set_outreg(d, XED_REG_DX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_BX*/
|
|
xed3_operand_set_outreg(d, XED_REG_BX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 SRM=0x4 | OUTREG=XED_REG_SP*/
|
|
xed3_operand_set_outreg(d, XED_REG_SP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 SRM=0x5 | OUTREG=XED_REG_BP*/
|
|
xed3_operand_set_outreg(d, XED_REG_BP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 SRM=0x6 | OUTREG=XED_REG_SI*/
|
|
xed3_operand_set_outreg(d, XED_REG_SI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 SRM=0x7 | OUTREG=XED_REG_DI*/
|
|
xed3_operand_set_outreg(d, XED_REG_DI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15W*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15W);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_CR_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_CR0*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_CR2*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_CR3*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_CR4*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_CR8*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_CR_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_CR0*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_CR8*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_CR2*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_CR3*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_CR4*/
|
|
xed3_operand_set_outreg(d, XED_REG_CR4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_DR_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_DR0*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_DR1*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DR2*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_DR3*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_DR4*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_DR5*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_DR6*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_DR7*/
|
|
xed3_operand_set_outreg(d, XED_REG_DR7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_X87(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_ST0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_ST1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_ST2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_ST3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_ST4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_ST5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_ST6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_ST7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ST7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SEG(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_ES*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_CS*/
|
|
xed3_operand_set_outreg(d, XED_REG_CS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_SS*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_DS*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_FS*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_GS*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SEG_MOV(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_ES*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_SS*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_DS*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_FS*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_GS*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=FINAL_DSEG_NOT64()*/
|
|
xed3_capture_nt_FINAL_DSEG_NOT64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=FINAL_DSEG_NOT64()*/
|
|
xed3_capture_nt_FINAL_DSEG_NOT64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=FINAL_DSEG_MODE64()*/
|
|
xed3_capture_nt_FINAL_DSEG_MODE64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG_NOT64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_seg_ovd(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT0=1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_CS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_CS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG_MODE64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_seg_ovd(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG1(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=FINAL_DSEG1_NOT64()*/
|
|
xed3_capture_nt_FINAL_DSEG1_NOT64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=FINAL_DSEG1_NOT64()*/
|
|
xed3_capture_nt_FINAL_DSEG1_NOT64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=FINAL_DSEG1_MODE64()*/
|
|
xed3_capture_nt_FINAL_DSEG1_MODE64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_NOT64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_seg_ovd(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT1=1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_CS USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_CS);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_MODE64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_seg_ovd(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT1=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
xed3_operand_set_using_default_segment1(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_ESEG(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_ESEG1(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG1(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment1(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG0(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=FINAL_SSEG_NOT64()*/
|
|
xed3_capture_nt_FINAL_SSEG_NOT64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=FINAL_SSEG_NOT64()*/
|
|
xed3_capture_nt_FINAL_SSEG_NOT64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=FINAL_SSEG_MODE64()*/
|
|
xed3_capture_nt_FINAL_SSEG_MODE64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG_NOT64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_seg_ovd(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_CS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_CS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_DS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ES);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_SS);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FINAL_SSEG_MODE64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_seg_ovd(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_FS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
|
|
xed3_operand_set_outreg(d, XED_REG_GS);
|
|
xed3_operand_set_using_default_segment0(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
|
|
xed3_operand_set_outreg(d, XED_REG_INVALID);
|
|
xed3_operand_set_using_default_segment0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR8_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rex(d)) << ((3));
|
|
key += (xed3_operand_get_rexr(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_AL*/
|
|
case 8: /*(0, 1, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_AL*/
|
|
xed3_operand_set_outreg(d, XED_REG_AL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_CL*/
|
|
case 9: /*(1, 1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_CL*/
|
|
xed3_operand_set_outreg(d, XED_REG_CL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DL*/
|
|
case 10: /*(2, 1, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DL*/
|
|
xed3_operand_set_outreg(d, XED_REG_DL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BL*/
|
|
case 11: /*(3, 1, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BL*/
|
|
xed3_operand_set_outreg(d, XED_REG_BL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> REXR=0 REG=0x4 REX=0 | OUTREG=XED_REG_AH*/
|
|
xed3_operand_set_outreg(d, XED_REG_AH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> REXR=0 REG=0x5 REX=0 | OUTREG=XED_REG_CH*/
|
|
xed3_operand_set_outreg(d, XED_REG_CH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> REXR=0 REG=0x6 REX=0 | OUTREG=XED_REG_DH*/
|
|
xed3_operand_set_outreg(d, XED_REG_DH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> REXR=0 REG=0x7 REX=0 | OUTREG=XED_REG_BH*/
|
|
xed3_operand_set_outreg(d, XED_REG_BH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> REXR=0 REG=0x4 REX=1 | OUTREG=XED_REG_SPL*/
|
|
xed3_operand_set_outreg(d, XED_REG_SPL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> REXR=0 REG=0x5 REX=1 | OUTREG=XED_REG_BPL*/
|
|
xed3_operand_set_outreg(d, XED_REG_BPL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> REXR=0 REG=0x6 REX=1 | OUTREG=XED_REG_SIL*/
|
|
xed3_operand_set_outreg(d, XED_REG_SIL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> REXR=0 REG=0x7 REX=1 | OUTREG=XED_REG_DIL*/
|
|
xed3_operand_set_outreg(d, XED_REG_DIL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8B*/
|
|
case 24: /*(0, 1, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9B*/
|
|
case 25: /*(1, 1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10B*/
|
|
case 26: /*(2, 1, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11B*/
|
|
case 27: /*(3, 1, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12B*/
|
|
case 28: /*(4, 1, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13B*/
|
|
case 29: /*(5, 1, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14B*/
|
|
case 30: /*(6, 1, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15B*/
|
|
case 31: /*(7, 1, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR8_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
key += (xed3_operand_get_rexb(d)) << ((1));
|
|
key += (xed3_operand_get_rm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_AL*/
|
|
case 1: /*(1, 0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_AL*/
|
|
xed3_operand_set_outreg(d, XED_REG_AL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8B*/
|
|
case 3: /*(1, 1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_CL*/
|
|
case 5: /*(1, 0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_CL*/
|
|
xed3_operand_set_outreg(d, XED_REG_CL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9B*/
|
|
case 7: /*(1, 1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_DL*/
|
|
case 9: /*(1, 0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_DL*/
|
|
xed3_operand_set_outreg(d, XED_REG_DL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10B*/
|
|
case 11: /*(1, 1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BL*/
|
|
case 13: /*(1, 0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BL*/
|
|
xed3_operand_set_outreg(d, XED_REG_BL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11B*/
|
|
case 15: /*(1, 1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 4) -> REXB=0 RM=0x4 REX=0 | OUTREG=XED_REG_AH*/
|
|
xed3_operand_set_outreg(d, XED_REG_AH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 4) -> REXB=0 RM=0x4 REX=1 | OUTREG=XED_REG_SPL*/
|
|
xed3_operand_set_outreg(d, XED_REG_SPL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12B*/
|
|
case 19: /*(1, 1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 0, 5) -> REXB=0 RM=0x5 REX=0 | OUTREG=XED_REG_CH*/
|
|
xed3_operand_set_outreg(d, XED_REG_CH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 0, 5) -> REXB=0 RM=0x5 REX=1 | OUTREG=XED_REG_BPL*/
|
|
xed3_operand_set_outreg(d, XED_REG_BPL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13B*/
|
|
case 23: /*(1, 1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 6) -> REXB=0 RM=0x6 REX=0 | OUTREG=XED_REG_DH*/
|
|
xed3_operand_set_outreg(d, XED_REG_DH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 0, 6) -> REXB=0 RM=0x6 REX=1 | OUTREG=XED_REG_SIL*/
|
|
xed3_operand_set_outreg(d, XED_REG_SIL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14B*/
|
|
case 27: /*(1, 1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 0, 7) -> REXB=0 RM=0x7 REX=0 | OUTREG=XED_REG_BH*/
|
|
xed3_operand_set_outreg(d, XED_REG_BH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 0, 7) -> REXB=0 RM=0x7 REX=1 | OUTREG=XED_REG_DIL*/
|
|
xed3_operand_set_outreg(d, XED_REG_DIL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15B*/
|
|
case 31: /*(1, 1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_GPR8_SB(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
key += (xed3_operand_get_rexb(d)) << ((1));
|
|
key += (xed3_operand_get_srm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_AL*/
|
|
case 1: /*(1, 0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_AL*/
|
|
xed3_operand_set_outreg(d, XED_REG_AL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8B*/
|
|
case 3: /*(1, 1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_CL*/
|
|
case 5: /*(1, 0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_CL*/
|
|
xed3_operand_set_outreg(d, XED_REG_CL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9B*/
|
|
case 7: /*(1, 1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_DL*/
|
|
case 9: /*(1, 0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_DL*/
|
|
xed3_operand_set_outreg(d, XED_REG_DL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10B*/
|
|
case 11: /*(1, 1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_BL*/
|
|
case 13: /*(1, 0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_BL*/
|
|
xed3_operand_set_outreg(d, XED_REG_BL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11B*/
|
|
case 15: /*(1, 1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 4) -> REXB=0 SRM=0x4 REX=0 | OUTREG=XED_REG_AH*/
|
|
xed3_operand_set_outreg(d, XED_REG_AH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 4) -> REXB=0 SRM=0x4 REX=1 | OUTREG=XED_REG_SPL*/
|
|
xed3_operand_set_outreg(d, XED_REG_SPL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12B*/
|
|
case 19: /*(1, 1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 0, 5) -> REXB=0 SRM=0x5 REX=0 | OUTREG=XED_REG_CH*/
|
|
xed3_operand_set_outreg(d, XED_REG_CH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 0, 5) -> REXB=0 SRM=0x5 REX=1 | OUTREG=XED_REG_BPL*/
|
|
xed3_operand_set_outreg(d, XED_REG_BPL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13B*/
|
|
case 23: /*(1, 1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 6) -> REXB=0 SRM=0x6 REX=0 | OUTREG=XED_REG_DH*/
|
|
xed3_operand_set_outreg(d, XED_REG_DH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 0, 6) -> REXB=0 SRM=0x6 REX=1 | OUTREG=XED_REG_SIL*/
|
|
xed3_operand_set_outreg(d, XED_REG_SIL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14B*/
|
|
case 27: /*(1, 1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 0, 7) -> REXB=0 SRM=0x7 REX=0 | OUTREG=XED_REG_BH*/
|
|
xed3_operand_set_outreg(d, XED_REG_BH);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 0, 7) -> REXB=0 SRM=0x7 REX=1 | OUTREG=XED_REG_DIL*/
|
|
xed3_operand_set_outreg(d, XED_REG_DIL);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15B*/
|
|
case 31: /*(1, 1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15B*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15B);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OSZ_NONTERM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
key += (xed3_operand_get_osz(d)) << ((2));
|
|
key += (xed3_operand_get_rexw(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> mode16 no66_prefix | EOSZ=1*/
|
|
case 8: /*(0, 0, 1) -> mode16 no66_prefix | EOSZ=1*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> mode32 no66_prefix | EOSZ=2*/
|
|
case 9: /*(1, 0, 1) -> mode32 no66_prefix | EOSZ=2*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> mode64 no66_prefix REXW=0 | EOSZ=2*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1, 0) -> mode16 66_prefix | EOSZ=2*/
|
|
case 12: /*(0, 1, 1) -> mode16 66_prefix | EOSZ=2*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 1, 0) -> mode32 66_prefix | EOSZ=1*/
|
|
case 13: /*(1, 1, 1) -> mode32 66_prefix | EOSZ=1*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1, 0) -> mode64 66_prefix REXW=0 | EOSZ=1*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 0, 1) -> mode64 no66_prefix REXW=1 | EOSZ=3*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(2, 1, 1) -> mode64 66_prefix REXW=1 | EOSZ=3*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_DF64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
key += (xed3_operand_get_osz(d)) << ((2));
|
|
key += (xed3_operand_get_rexw(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> mode16 |*/
|
|
case 8: /*(0, 0, 1) -> mode16 |*/
|
|
case 4: /*(0, 1, 0) -> mode16 |*/
|
|
case 12: /*(0, 1, 1) -> mode16 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> mode32 |*/
|
|
case 9: /*(1, 0, 1) -> mode32 |*/
|
|
case 5: /*(1, 1, 0) -> mode32 |*/
|
|
case 13: /*(1, 1, 1) -> mode32 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> mode64 no66_prefix REXW=0 | EOSZ=3 df64*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_df64(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1, 0) -> mode64 66_prefix REXW=0 | EOSZ=1 df64*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
xed3_operand_set_df64(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 0, 1) -> mode64 no66_prefix REXW=1 | EOSZ=3 df64*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_df64(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(2, 1, 1) -> mode64 66_prefix REXW=1 | EOSZ=3 df64*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_df64(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_REFINING66(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
key += (xed3_operand_get_rexw(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> mode16 | EOSZ=1 no66_prefix*/
|
|
case 4: /*(0, 1) -> mode16 | EOSZ=1 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> mode32 | EOSZ=2 no66_prefix*/
|
|
case 5: /*(1, 1) -> mode32 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> mode64 REXW=0 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1) -> mode64 REXW=1 | EOSZ=3 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_IGNORE66(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
key += (xed3_operand_get_rexw(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> mode16 | EOSZ=1 no66_prefix*/
|
|
case 4: /*(0, 1) -> mode16 | EOSZ=1 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> mode32 | EOSZ=2 no66_prefix*/
|
|
case 5: /*(1, 1) -> mode32 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> mode64 REXW=0 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1) -> mode64 REXW=1 | EOSZ=3 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_IMMUNE66(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
key += (xed3_operand_get_rexw(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> mode16 | EOSZ=2 no66_prefix*/
|
|
case 4: /*(0, 1) -> mode16 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> mode32 | EOSZ=2 no66_prefix*/
|
|
case 5: /*(1, 1) -> mode32 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> mode64 REXW=0 | EOSZ=2 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1) -> mode64 REXW=1 | EOSZ=3 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_CR_WIDTH(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | EOSZ=2 DF32=1 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_df32(d, 0x1);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | EOSZ=2 DF32=1 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
xed3_operand_set_df32(d, 0x1);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | EOSZ=3 DF64=1 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_df64(d, 0x1);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_IMMUNE66_LOOP64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | EOSZ=3 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_IMMUNE_REXW(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
key += (xed3_operand_get_osz(d)) << ((2));
|
|
key += (xed3_operand_get_rexw(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> mode16 |*/
|
|
case 8: /*(0, 0, 1) -> mode16 |*/
|
|
case 4: /*(0, 1, 0) -> mode16 |*/
|
|
case 12: /*(0, 1, 1) -> mode16 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> mode32 |*/
|
|
case 9: /*(1, 0, 1) -> mode32 |*/
|
|
case 5: /*(1, 1, 0) -> mode32 |*/
|
|
case 13: /*(1, 1, 1) -> mode32 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> mode64 no66_prefix | EOSZ=2*/
|
|
case 10: /*(2, 0, 1) -> mode64 no66_prefix | EOSZ=2*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1, 0) -> mode64 66_prefix REXW=0 | EOSZ=1*/
|
|
xed3_operand_set_eosz(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(2, 1, 1) -> mode64 66_prefix REXW=1 | EOSZ=2*/
|
|
xed3_operand_set_eosz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FORCE64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 2: /*(2,) -> mode64 | EOSZ=3 no66_prefix*/
|
|
xed3_operand_set_eosz(d, 0x3);
|
|
xed3_operand_set_osz(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
/* otherwise_ok */
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ASZ_NONTERM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_asz(d)) << ((0));
|
|
key += (xed3_operand_get_mode(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> mode16 no67_prefix | eamode16*/
|
|
xed3_operand_set_easz(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> mode16 67_prefix | eamode32*/
|
|
xed3_operand_set_easz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> mode32 no67_prefix | eamode32*/
|
|
xed3_operand_set_easz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> mode32 67_prefix | eamode16*/
|
|
xed3_operand_set_easz(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> mode64 no67_prefix | eamode64*/
|
|
xed3_operand_set_easz(d, 0x3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> mode64 67_prefix | eamode32*/
|
|
xed3_operand_set_easz(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ONE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | IMM_WIDTH=8 UIMM0=1*/
|
|
xed3_operand_set_imm_width(d, 0x8);
|
|
xed3_operand_set_uimm0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | IMM_WIDTH=8 UIMM0=1*/
|
|
xed3_operand_set_imm_width(d, 0x8);
|
|
xed3_operand_set_uimm0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | IMM_WIDTH=8 UIMM0=1*/
|
|
xed3_operand_set_imm_width(d, 0x8);
|
|
xed3_operand_set_uimm0(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UIMMv(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 UIMM0[iiiiiiiiiiiiiiii] | IMM_WIDTH=16*/
|
|
xed3_operand_set_imm_width(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=32*/
|
|
xed3_operand_set_imm_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=64*/
|
|
xed3_operand_set_imm_width(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SIMMz(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 UIMM0[iiiiiiiiiiiiiiii] | IMM_WIDTH=16 IMM0SIGNED=1*/
|
|
xed3_operand_set_imm_width(d, 0x10);
|
|
xed3_operand_set_imm0signed(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=32 IMM0SIGNED=1*/
|
|
xed3_operand_set_imm_width(d, 0x20);
|
|
xed3_operand_set_imm0signed(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=32 IMM0SIGNED=1*/
|
|
xed3_operand_set_imm_width(d, 0x20);
|
|
xed3_operand_set_imm0signed(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SIMM8(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_imm_width(d, 0x8);
|
|
xed3_operand_set_imm0signed(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UIMM8(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_imm_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UIMM8_1(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_dummy(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UIMM16(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_imm_width(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UIMM32(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_imm_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BRDISP8(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_brdisp_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BRDISP32(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_brdisp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BRDISPz(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 DISP[dddddddddddddddd] | BRDISP_WIDTH=16*/
|
|
xed3_operand_set_brdisp_width(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 DISP[dddddddddddddddddddddddddddddddd] | BRDISP_WIDTH=32*/
|
|
xed3_operand_set_brdisp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 DISP[dddddddddddddddddddddddddddddddd] | BRDISP_WIDTH=32*/
|
|
xed3_operand_set_brdisp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MEMDISPv(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EASZ=1 DISP[aaaaaaaaaaaaaaaa] | DISP_WIDTH=16*/
|
|
xed3_operand_set_disp_width(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EASZ=2 DISP[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa] | DISP_WIDTH=32*/
|
|
xed3_operand_set_disp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EASZ=3 DISP[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa] | DISP_WIDTH=64*/
|
|
xed3_operand_set_disp_width(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP32(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_disp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP16(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_disp_width(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP8(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_disp_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MEMDISP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_need_memdisp(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> NEED_MEMDISP=0 | DISP_WIDTH=0*/
|
|
xed3_operand_set_disp_width(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8,) -> NEED_MEMDISP=8 DISP[aaaaaaaa] | DISP_WIDTH=8*/
|
|
xed3_operand_set_disp_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(16,) -> NEED_MEMDISP=16 DISP[aaaaaaaaaaaaaaaa] | DISP_WIDTH=16*/
|
|
xed3_operand_set_disp_width(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(32,) -> NEED_MEMDISP=32 DISP[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa] | DISP_WIDTH=32*/
|
|
xed3_operand_set_disp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MODRM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_easz(d)) << ((0));
|
|
key += (xed3_operand_get_mode(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1, 0) -> mode16 eamode16 MODRM16() MEMDISP() |*/
|
|
xed3_capture_nt_MODRM16(d);
|
|
xed3_capture_nt_MEMDISP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> mode16 eamode32 MODRM32() MEMDISP() |*/
|
|
xed3_capture_nt_MODRM32(d);
|
|
xed3_capture_nt_MEMDISP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 1) -> mode32 eamode16 MODRM16() MEMDISP() |*/
|
|
xed3_capture_nt_MODRM16(d);
|
|
xed3_capture_nt_MEMDISP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1) -> mode32 eamode32 MODRM32() MEMDISP() |*/
|
|
xed3_capture_nt_MODRM32(d);
|
|
xed3_capture_nt_MEMDISP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 2) -> mode64 eamode32 MODRM64alt32() MEMDISP() |*/
|
|
xed3_capture_nt_MODRM64alt32(d);
|
|
xed3_capture_nt_MEMDISP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 2) -> mode64 eamode64 MODRM64alt32() MEMDISP() |*/
|
|
xed3_capture_nt_MODRM64alt32(d);
|
|
xed3_capture_nt_MEMDISP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MODRM64alt32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
key += (xed3_operand_get_rexb(d)) << ((2));
|
|
key += (xed3_operand_get_rm(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXB=0 MOD=0b00 RM=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXB=0 MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> REXB=0 MOD=0b10 RM=0b000 | NEED_MEMDISP=32 BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1, 0) -> REXB=1 MOD=0b00 RM=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 1, 0) -> REXB=1 MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1, 0) -> REXB=1 MOD=0b10 RM=0b000 | NEED_MEMDISP=32 BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 1) -> REXB=0 MOD=0b00 RM=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 0, 1) -> REXB=0 MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 0, 1) -> REXB=0 MOD=0b10 RM=0b001 | NEED_MEMDISP=32 BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 1, 1) -> REXB=1 MOD=0b00 RM=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 1, 1) -> REXB=1 MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(2, 1, 1) -> REXB=1 MOD=0b10 RM=0b001 | NEED_MEMDISP=32 BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 2) -> REXB=0 MOD=0b00 RM=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 2) -> REXB=0 MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 2) -> REXB=0 MOD=0b10 RM=0b010 | NEED_MEMDISP=32 BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 1, 2) -> REXB=1 MOD=0b00 RM=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 1, 2) -> REXB=1 MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(2, 1, 2) -> REXB=1 MOD=0b10 RM=0b010 | NEED_MEMDISP=32 BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 3) -> REXB=0 MOD=0b00 RM=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 0, 3) -> REXB=0 MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 0, 3) -> REXB=0 MOD=0b10 RM=0b011 | NEED_MEMDISP=32 BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 1, 3) -> REXB=1 MOD=0b00 RM=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 1, 3) -> REXB=1 MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(2, 1, 3) -> REXB=1 MOD=0b10 RM=0b011 | NEED_MEMDISP=32 BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(0, 0, 4) -> REXB=0 MOD=0b00 RM=0b100 SIB() |*/
|
|
xed3_capture_nt_SIB(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 33: /*(1, 0, 4) -> REXB=0 MOD=0b01 RM=0b100 SIB() | NEED_MEMDISP=8*/
|
|
xed3_capture_nt_SIB(d);
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 34: /*(2, 0, 4) -> REXB=0 MOD=0b10 RM=0b100 SIB() | NEED_MEMDISP=32*/
|
|
xed3_capture_nt_SIB(d);
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 36: /*(0, 1, 4) -> REXB=1 MOD=0b00 RM=0b100 SIB() |*/
|
|
xed3_capture_nt_SIB(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 37: /*(1, 1, 4) -> REXB=1 MOD=0b01 RM=0b100 SIB() | NEED_MEMDISP=8*/
|
|
xed3_capture_nt_SIB(d);
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 38: /*(2, 1, 4) -> REXB=1 MOD=0b10 RM=0b100 SIB() | NEED_MEMDISP=32*/
|
|
xed3_capture_nt_SIB(d);
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 40: /*(0, 0, 5) -> REXB=0 MOD=0b00 RM=0b101 | NEED_MEMDISP=32 BASE0=rIPa() SEG0=FINAL_DSEG() enc*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_rIPa(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 41: /*(1, 0, 5) -> REXB=0 MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 42: /*(2, 0, 5) -> REXB=0 MOD=0b10 RM=0b101 | NEED_MEMDISP=32 BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 44: /*(0, 1, 5) -> REXB=1 MOD=0b00 RM=0b101 | NEED_MEMDISP=32 BASE0=rIPa() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_rIPa(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 45: /*(1, 1, 5) -> REXB=1 MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 46: /*(2, 1, 5) -> REXB=1 MOD=0b10 RM=0b101 | NEED_MEMDISP=32 BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 48: /*(0, 0, 6) -> REXB=0 MOD=0b00 RM=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 49: /*(1, 0, 6) -> REXB=0 MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 50: /*(2, 0, 6) -> REXB=0 MOD=0b10 RM=0b110 | NEED_MEMDISP=32 BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 52: /*(0, 1, 6) -> REXB=1 MOD=0b00 RM=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 53: /*(1, 1, 6) -> REXB=1 MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 54: /*(2, 1, 6) -> REXB=1 MOD=0b10 RM=0b110 | NEED_MEMDISP=32 BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 56: /*(0, 0, 7) -> REXB=0 MOD=0b00 RM=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 57: /*(1, 0, 7) -> REXB=0 MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 58: /*(2, 0, 7) -> REXB=0 MOD=0b10 RM=0b111 | NEED_MEMDISP=32 BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 60: /*(0, 1, 7) -> REXB=1 MOD=0b00 RM=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 61: /*(1, 1, 7) -> REXB=1 MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 62: /*(2, 1, 7) -> REXB=1 MOD=0b10 RM=0b111 | NEED_MEMDISP=32 BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MODRM32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> MOD=0b00 RM=0b000 | BASE0=XED_REG_EAX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_base0(d, XED_REG_EAX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=XED_REG_EAX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_EAX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> MOD=0b10 RM=0b000 | NEED_MEMDISP=32 BASE0=XED_REG_EAX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_EAX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1) -> MOD=0b00 RM=0b001 | BASE0=XED_REG_ECX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_base0(d, XED_REG_ECX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 1) -> MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=XED_REG_ECX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_ECX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1) -> MOD=0b10 RM=0b001 | NEED_MEMDISP=32 BASE0=XED_REG_ECX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_ECX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 2) -> MOD=0b00 RM=0b010 | BASE0=XED_REG_EDX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_base0(d, XED_REG_EDX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 2) -> MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=XED_REG_EDX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_EDX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 2) -> MOD=0b10 RM=0b010 | NEED_MEMDISP=32 BASE0=XED_REG_EDX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_EDX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 3) -> MOD=0b00 RM=0b011 | BASE0=XED_REG_EBX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_base0(d, XED_REG_EBX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 3) -> MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=XED_REG_EBX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_EBX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(2, 3) -> MOD=0b10 RM=0b011 | NEED_MEMDISP=32 BASE0=XED_REG_EBX SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_EBX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 4) -> MOD=0b00 RM=0b100 SIB() |*/
|
|
xed3_capture_nt_SIB(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 4) -> MOD=0b01 RM=0b100 SIB() | NEED_MEMDISP=8*/
|
|
xed3_capture_nt_SIB(d);
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 4) -> MOD=0b10 RM=0b100 SIB() | NEED_MEMDISP=32*/
|
|
xed3_capture_nt_SIB(d);
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 5) -> MOD=0b00 RM=0b101 | NEED_MEMDISP=32 SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 5) -> MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=XED_REG_EBP SEG0=FINAL_SSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_EBP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(2, 5) -> MOD=0b10 RM=0b101 | NEED_MEMDISP=32 BASE0=XED_REG_EBP SEG0=FINAL_SSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_EBP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 6) -> MOD=0b00 RM=0b110 | BASE0=XED_REG_ESI SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_base0(d, XED_REG_ESI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 6) -> MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=XED_REG_ESI SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_ESI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 6) -> MOD=0b10 RM=0b110 | NEED_MEMDISP=32 BASE0=XED_REG_ESI SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_ESI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 7) -> MOD=0b00 RM=0b111 | BASE0=XED_REG_EDI SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_base0(d, XED_REG_EDI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 7) -> MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=XED_REG_EDI SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_EDI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(2, 7) -> MOD=0b10 RM=0b111 | NEED_MEMDISP=32 BASE0=XED_REG_EDI SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_EDI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MODRM16(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> MOD=0b00 RM=0b000 | BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_SI SCALE=1*/
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_SI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_SI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_SI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> MOD=0b10 RM=0b000 | NEED_MEMDISP=16 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_SI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_SI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1) -> MOD=0b00 RM=0b001 | BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_DI SCALE=1*/
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_DI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 1) -> MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_DI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_DI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(2, 1) -> MOD=0b10 RM=0b001 | NEED_MEMDISP=16 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_DI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_DI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 2) -> MOD=0b00 RM=0b010 | BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_SI SCALE=1*/
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_SI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 2) -> MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_SI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_SI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 2) -> MOD=0b10 RM=0b010 | NEED_MEMDISP=16 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_SI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_SI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 3) -> MOD=0b00 RM=0b011 | BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_DI SCALE=1*/
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_DI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 3) -> MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_DI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_DI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(2, 3) -> MOD=0b10 RM=0b011 | NEED_MEMDISP=16 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_DI SCALE=1*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_DI);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 4) -> MOD=0b00 RM=0b100 | BASE0=XED_REG_SI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_base0(d, XED_REG_SI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 4) -> MOD=0b01 RM=0b100 | NEED_MEMDISP=8 BASE0=XED_REG_SI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_SI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 4) -> MOD=0b10 RM=0b100 | NEED_MEMDISP=16 BASE0=XED_REG_SI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_SI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 5) -> MOD=0b00 RM=0b101 | BASE0=XED_REG_DI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_base0(d, XED_REG_DI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 5) -> MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=XED_REG_DI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_DI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(2, 5) -> MOD=0b10 RM=0b101 | NEED_MEMDISP=16 BASE0=XED_REG_DI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_DI);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 6) -> MOD=0b00 RM=0b110 | NEED_MEMDISP=16 BASE0=XED_REG_INVALID SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 6) -> MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 6) -> MOD=0b10 RM=0b110 | NEED_MEMDISP=16 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_BP);
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 7) -> MOD=0b00 RM=0b111 | BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 7) -> MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x8);
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(2, 7) -> MOD=0b10 RM=0b111 | NEED_MEMDISP=16 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
|
|
xed3_operand_set_need_memdisp(d, 0x10);
|
|
xed3_operand_set_base0(d, XED_REG_BX);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SIB(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
key += (xed3_operand_get_sibscale(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1 enc*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 2, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 2, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 3, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 3, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 4, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 4, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 5, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 5, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 6, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 6, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 7, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 7, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=2*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(0, 0, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 33: /*(1, 0, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 34: /*(0, 1, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 35: /*(1, 1, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 36: /*(0, 2, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 37: /*(1, 2, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 38: /*(0, 3, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 39: /*(1, 3, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 40: /*(0, 4, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 41: /*(1, 4, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 42: /*(0, 5, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 43: /*(1, 5, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 44: /*(0, 6, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 45: /*(1, 6, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 46: /*(0, 7, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 47: /*(1, 7, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=4*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 48: /*(0, 0, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 49: /*(1, 0, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 50: /*(0, 1, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 51: /*(1, 1, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 52: /*(0, 2, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 53: /*(1, 2, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 54: /*(0, 3, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 55: /*(1, 3, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 56: /*(0, 4, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_operand_set_index(d, XED_REG_INVALID);
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 57: /*(1, 4, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 58: /*(0, 5, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 59: /*(1, 5, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 60: /*(0, 6, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 61: /*(1, 6, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 62: /*(0, 7, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 63: /*(1, 7, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=8*/
|
|
xed3_capture_nt_SIB_BASE0(d);
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SIB_BASE0(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
key += (xed3_operand_get_rexb(d)) << ((2));
|
|
key += (xed3_operand_get_sibbase(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 1: /*(1, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 2: /*(2, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 3: /*(3, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 5: /*(1, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 6: /*(2, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 7: /*(3, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 9: /*(1, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 10: /*(2, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 11: /*(3, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 13: /*(1, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 14: /*(2, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 15: /*(3, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 17: /*(1, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 18: /*(2, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 19: /*(3, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 21: /*(1, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 22: /*(2, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 23: /*(3, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 25: /*(1, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 26: /*(2, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 27: /*(3, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 29: /*(1, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 30: /*(2, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 31: /*(3, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(0, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 33: /*(1, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 34: /*(2, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 35: /*(3, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
xed3_capture_nt_ArSP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 36: /*(0, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 37: /*(1, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 38: /*(2, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 39: /*(3, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 40: /*(0, 0, 5) -> REXB=0 SIBBASE=0b101 MOD=0b00 | NEED_MEMDISP=32 BASE0=XED_REG_INVALID SEG0=FINAL_DSEG() enc*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 41: /*(1, 0, 5) -> REXB=0 SIBBASE=0b101 MOD=0b01 | BASE0=ArBP() SEG0=FINAL_SSEG() DISP_WIDTH=8*/
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_disp_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 42: /*(2, 0, 5) -> REXB=0 SIBBASE=0b101 MOD=0b10 | BASE0=ArBP() SEG0=FINAL_SSEG() DISP_WIDTH=32*/
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_disp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 44: /*(0, 1, 5) -> REXB=1 SIBBASE=0b101 MOD=0b00 | NEED_MEMDISP=32 BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
|
|
xed3_operand_set_need_memdisp(d, 0x20);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 45: /*(1, 1, 5) -> REXB=1 SIBBASE=0b101 MOD=0b01 | BASE0=Ar13() SEG0=FINAL_DSEG() DISP_WIDTH=8*/
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_disp_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 46: /*(2, 1, 5) -> REXB=1 SIBBASE=0b101 MOD=0b10 | BASE0=Ar13() SEG0=FINAL_DSEG() DISP_WIDTH=32*/
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_disp_width(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 48: /*(0, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 49: /*(1, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 50: /*(2, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 51: /*(3, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 52: /*(0, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 53: /*(1, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 54: /*(2, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 55: /*(3, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 56: /*(0, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 57: /*(1, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 58: /*(2, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 59: /*(3, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 60: /*(0, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 61: /*(1, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 62: /*(2, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 63: /*(3, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG0(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG1(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_R_32()*/
|
|
xed3_capture_nt_XMM_R_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_R_32()*/
|
|
xed3_capture_nt_XMM_R_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_R_64()*/
|
|
xed3_capture_nt_XMM_R_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_R_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_R_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_B_32()*/
|
|
xed3_capture_nt_XMM_B_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_B_32()*/
|
|
xed3_capture_nt_XMM_B_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_B_64()*/
|
|
xed3_capture_nt_XMM_B_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_B_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_B_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BND_R_CHECK(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BND_B_CHECK(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 |*/
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BND_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_BND0*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_BND1*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_BND2*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BND3*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_BND_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_BND0*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_BND1*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_BND2*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BND3*/
|
|
xed3_operand_set_outreg(d, XED_REG_BND3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_ERROR enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_A_GPR_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=ArAX()*/
|
|
xed3_capture_nt_ArAX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=ArCX()*/
|
|
xed3_capture_nt_ArCX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=ArDX()*/
|
|
xed3_capture_nt_ArDX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=ArBX()*/
|
|
xed3_capture_nt_ArBX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=ArSP()*/
|
|
xed3_capture_nt_ArSP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=ArBP()*/
|
|
xed3_capture_nt_ArBP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=ArSI()*/
|
|
xed3_capture_nt_ArSI(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=ArDI()*/
|
|
xed3_capture_nt_ArDI(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=Ar8()*/
|
|
xed3_capture_nt_Ar8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=Ar9()*/
|
|
xed3_capture_nt_Ar9(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=Ar10()*/
|
|
xed3_capture_nt_Ar10(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=Ar11()*/
|
|
xed3_capture_nt_Ar11(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=Ar12()*/
|
|
xed3_capture_nt_Ar12(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=Ar13()*/
|
|
xed3_capture_nt_Ar13(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=Ar14()*/
|
|
xed3_capture_nt_Ar14(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=Ar15()*/
|
|
xed3_capture_nt_Ar15(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_A_GPR_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=ArAX()*/
|
|
xed3_capture_nt_ArAX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=Ar8()*/
|
|
xed3_capture_nt_Ar8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=ArCX()*/
|
|
xed3_capture_nt_ArCX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=Ar9()*/
|
|
xed3_capture_nt_Ar9(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=ArDX()*/
|
|
xed3_capture_nt_ArDX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=Ar10()*/
|
|
xed3_capture_nt_Ar10(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=ArBX()*/
|
|
xed3_capture_nt_ArBX(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=Ar11()*/
|
|
xed3_capture_nt_Ar11(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=ArSP()*/
|
|
xed3_capture_nt_ArSP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=Ar12()*/
|
|
xed3_capture_nt_Ar12(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=ArBP()*/
|
|
xed3_capture_nt_ArBP(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=Ar13()*/
|
|
xed3_capture_nt_Ar13(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=ArSI()*/
|
|
xed3_capture_nt_ArSI(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=Ar14()*/
|
|
xed3_capture_nt_Ar14(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=ArDI()*/
|
|
xed3_capture_nt_ArDI(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=Ar15()*/
|
|
xed3_capture_nt_Ar15(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_SE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_SE32()*/
|
|
xed3_capture_nt_XMM_SE32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_SE32()*/
|
|
xed3_capture_nt_XMM_SE32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_SE64()*/
|
|
xed3_capture_nt_XMM_SE64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_SE64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_esrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> ESRC=0x0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> ESRC=0x1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> ESRC=0x2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> ESRC=0x3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> ESRC=0x4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> ESRC=0x5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> ESRC=0x6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> ESRC=0x7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_SE32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_esrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> ESRC=0 | OUTREG=XED_REG_XMM0 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> ESRC=1 | OUTREG=XED_REG_XMM1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> ESRC=2 | OUTREG=XED_REG_XMM2 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> ESRC=3 | OUTREG=XED_REG_XMM3 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> ESRC=4 | OUTREG=XED_REG_XMM4 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> ESRC=5 | OUTREG=XED_REG_XMM5 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> ESRC=6 | OUTREG=XED_REG_XMM6 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> ESRC=7 | OUTREG=XED_REG_XMM7 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_SE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_SE32()*/
|
|
xed3_capture_nt_YMM_SE32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_SE32()*/
|
|
xed3_capture_nt_YMM_SE32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_SE64()*/
|
|
xed3_capture_nt_YMM_SE64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_SE64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_esrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> ESRC=0x0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> ESRC=0x1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> ESRC=0x2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> ESRC=0x3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> ESRC=0x4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> ESRC=0x5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> ESRC=0x6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> ESRC=0x7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_SE32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_esrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> ESRC=0 | OUTREG=XED_REG_YMM0 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> ESRC=1 | OUTREG=XED_REG_YMM1 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> ESRC=2 | OUTREG=XED_REG_YMM2 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> ESRC=3 | OUTREG=XED_REG_YMM3 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> ESRC=4 | OUTREG=XED_REG_YMM4 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> ESRC=5 | OUTREG=XED_REG_YMM5 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> ESRC=6 | OUTREG=XED_REG_YMM6 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> ESRC=7 | OUTREG=XED_REG_YMM7 enc*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_N_32():*/
|
|
xed3_capture_nt_XMM_N_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_N_32():*/
|
|
xed3_capture_nt_XMM_N_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_N_64():*/
|
|
xed3_capture_nt_XMM_N_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_N_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_N_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_N_32():*/
|
|
xed3_capture_nt_YMM_N_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_N_32():*/
|
|
xed3_capture_nt_YMM_N_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_N_64():*/
|
|
xed3_capture_nt_YMM_N_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_N_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_N_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_R_32():*/
|
|
xed3_capture_nt_YMM_R_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_R_32():*/
|
|
xed3_capture_nt_YMM_R_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_R_64():*/
|
|
xed3_capture_nt_YMM_R_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_R_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_R_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=1 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=2 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=3 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=4 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=5 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=6 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=7 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_B_32():*/
|
|
xed3_capture_nt_YMM_B_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_B_32():*/
|
|
xed3_capture_nt_YMM_B_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_B_64():*/
|
|
xed3_capture_nt_YMM_B_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_B_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_B_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=1 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=2 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=3 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=4 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=5 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=6 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=7 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SE_IMM8(xed_decoded_inst_t* d)
|
|
{
|
|
xed3_operand_set_imm_width(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VMODRM_YMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MOD=0b00 VSIB_YMM() |*/
|
|
xed3_capture_nt_VSIB_YMM(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MOD=0b01 VSIB_YMM() MEMDISP8() |*/
|
|
xed3_capture_nt_VSIB_YMM(d);
|
|
xed3_capture_nt_MEMDISP8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MOD=0b10 VSIB_YMM() MEMDISP32() |*/
|
|
xed3_capture_nt_VSIB_YMM(d);
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VMODRM_XMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MOD=0b00 VSIB_XMM() |*/
|
|
xed3_capture_nt_VSIB_XMM(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MOD=0b01 VSIB_XMM() MEMDISP8() |*/
|
|
xed3_capture_nt_VSIB_XMM(d);
|
|
xed3_capture_nt_MEMDISP8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MOD=0b10 VSIB_XMM() MEMDISP32() |*/
|
|
xed3_capture_nt_VSIB_XMM(d);
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VSIB_YMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_sibscale(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=1*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=2*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=4*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=8*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VSIB_XMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_sibscale(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=1*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=2*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=4*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=8*/
|
|
xed3_capture_nt_VSIB_BASE(d);
|
|
xed3_capture_nt_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VSIB_INDEX_YMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXX=0 SIBINDEX=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXX=1 SIBINDEX=0 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXX=0 SIBINDEX=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXX=1 SIBINDEX=1 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXX=0 SIBINDEX=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXX=1 SIBINDEX=2 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXX=0 SIBINDEX=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXX=1 SIBINDEX=3 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXX=0 SIBINDEX=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXX=1 SIBINDEX=4 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXX=0 SIBINDEX=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXX=1 SIBINDEX=5 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXX=0 SIBINDEX=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXX=1 SIBINDEX=6 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXX=0 SIBINDEX=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXX=1 SIBINDEX=7 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VSIB_INDEX_XMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXX=0 SIBINDEX=0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXX=1 SIBINDEX=0 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXX=0 SIBINDEX=1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXX=1 SIBINDEX=1 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXX=0 SIBINDEX=2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXX=1 SIBINDEX=2 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXX=0 SIBINDEX=3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXX=1 SIBINDEX=3 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXX=0 SIBINDEX=4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXX=1 SIBINDEX=4 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXX=0 SIBINDEX=5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXX=1 SIBINDEX=5 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXX=0 SIBINDEX=6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXX=1 SIBINDEX=6 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXX=0 SIBINDEX=7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXX=1 SIBINDEX=7 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VSIB_BASE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
key += (xed3_operand_get_rexb(d)) << ((2));
|
|
key += (xed3_operand_get_sibbase(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 1: /*(1, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 2: /*(2, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 3: /*(3, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 5: /*(1, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 6: /*(2, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 7: /*(3, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 9: /*(1, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 10: /*(2, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 11: /*(3, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 13: /*(1, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 14: /*(2, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 15: /*(3, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 17: /*(1, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 18: /*(2, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 19: /*(3, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 21: /*(1, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 22: /*(2, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 23: /*(3, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 25: /*(1, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 26: /*(2, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 27: /*(3, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 29: /*(1, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 30: /*(2, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 31: /*(3, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(0, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 33: /*(1, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 34: /*(2, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 35: /*(3, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
xed3_capture_nt_ArSP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 36: /*(0, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 37: /*(1, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 38: /*(2, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 39: /*(3, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 40: /*(0, 0, 5) -> REXB=0 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 41: /*(1, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
case 42: /*(2, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
case 43: /*(3, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 44: /*(0, 1, 5) -> REXB=1 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 45: /*(1, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
case 46: /*(2, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
case 47: /*(3, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 48: /*(0, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 49: /*(1, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 50: /*(2, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 51: /*(3, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 52: /*(0, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 53: /*(1, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 54: /*(2, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 55: /*(3, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 56: /*(0, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 57: /*(1, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 58: /*(2, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 59: /*(3, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 60: /*(0, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 61: /*(1, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 62: /*(2, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 63: /*(3, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPRy_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=VGPR32_R()*/
|
|
xed3_capture_nt_VGPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=VGPR32_R()*/
|
|
xed3_capture_nt_VGPR32_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=VGPR64_R()*/
|
|
xed3_capture_nt_VGPR64_R(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPRy_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=VGPR32_B()*/
|
|
xed3_capture_nt_VGPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=VGPR32_B()*/
|
|
xed3_capture_nt_VGPR32_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=VGPR64_B()*/
|
|
xed3_capture_nt_VGPR64_B(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPRy_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_eosz(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1,) -> EOSZ=1 | OUTREG=VGPR32_N()*/
|
|
xed3_capture_nt_VGPR32_N(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> EOSZ=2 | OUTREG=VGPR32_N()*/
|
|
xed3_capture_nt_VGPR32_N(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> EOSZ=3 | OUTREG=VGPR64_N()*/
|
|
xed3_capture_nt_VGPR64_N(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=VGPR32_N_32()*/
|
|
xed3_capture_nt_VGPR32_N_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=VGPR32_N_32()*/
|
|
xed3_capture_nt_VGPR32_N_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=VGPR32_N_64()*/
|
|
xed3_capture_nt_VGPR32_N_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=VGPR32_B_32()*/
|
|
xed3_capture_nt_VGPR32_B_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=VGPR32_B_32()*/
|
|
xed3_capture_nt_VGPR32_B_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=VGPR32_B_64()*/
|
|
xed3_capture_nt_VGPR32_B_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=VGPR32_R_32()*/
|
|
xed3_capture_nt_VGPR32_R_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=VGPR32_R_32()*/
|
|
xed3_capture_nt_VGPR32_R_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=VGPR32_R_64()*/
|
|
xed3_capture_nt_VGPR32_R_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_N_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_N_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR64_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_R_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_R_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=1 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=3 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=4 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=5 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=6 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=7 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR64_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1) -> REXR=1 REG=0 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> REXR=1 REG=1 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> REXR=1 REG=2 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> REXR=1 REG=3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> REXR=1 REG=4 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> REXR=1 REG=5 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> REXR=1 REG=6 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> REXR=1 REG=7 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_B_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR32_B_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_EAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0 | OUTREG=XED_REG_R8D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_ECX*/
|
|
xed3_operand_set_outreg(d, XED_REG_ECX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=1 | OUTREG=XED_REG_R9D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_EDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=2 | OUTREG=XED_REG_R10D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_EBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=3 | OUTREG=XED_REG_R11D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_ESP*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=4 | OUTREG=XED_REG_R12D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_EBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_EBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=5 | OUTREG=XED_REG_R13D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_ESI*/
|
|
xed3_operand_set_outreg(d, XED_REG_ESI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=6 | OUTREG=XED_REG_R14D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_EDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_EDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=7 | OUTREG=XED_REG_R15D*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15D);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_VGPR64_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_RAX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RAX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXB=1 RM=0 | OUTREG=XED_REG_R8*/
|
|
xed3_operand_set_outreg(d, XED_REG_R8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_RCX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RCX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1) -> REXB=1 RM=1 | OUTREG=XED_REG_R9*/
|
|
xed3_operand_set_outreg(d, XED_REG_R9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_RDX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2) -> REXB=1 RM=2 | OUTREG=XED_REG_R10*/
|
|
xed3_operand_set_outreg(d, XED_REG_R10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_RBX*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBX);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3) -> REXB=1 RM=3 | OUTREG=XED_REG_R11*/
|
|
xed3_operand_set_outreg(d, XED_REG_R11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_RSP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4) -> REXB=1 RM=4 | OUTREG=XED_REG_R12*/
|
|
xed3_operand_set_outreg(d, XED_REG_R12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_RBP*/
|
|
xed3_operand_set_outreg(d, XED_REG_RBP);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5) -> REXB=1 RM=5 | OUTREG=XED_REG_R13*/
|
|
xed3_operand_set_outreg(d, XED_REG_R13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_RSI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RSI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6) -> REXB=1 RM=6 | OUTREG=XED_REG_R14*/
|
|
xed3_operand_set_outreg(d, XED_REG_R14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_RDI*/
|
|
xed3_operand_set_outreg(d, XED_REG_RDI);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7) -> REXB=1 RM=7 | OUTREG=XED_REG_R15*/
|
|
xed3_operand_set_outreg(d, XED_REG_R15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_4X(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_AVX512_ROUND(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_llrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> LLRC=0b00 | ROUNDC=1 SAE=1*/
|
|
xed3_operand_set_roundc(d, 0x1);
|
|
xed3_operand_set_sae(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> LLRC=0b01 | ROUNDC=2 SAE=1*/
|
|
xed3_operand_set_roundc(d, 0x2);
|
|
xed3_operand_set_sae(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> LLRC=0b10 | ROUNDC=3 SAE=1*/
|
|
xed3_operand_set_roundc(d, 0x3);
|
|
xed3_operand_set_sae(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> LLRC=0b11 | ROUNDC=4 SAE=1*/
|
|
xed3_operand_set_roundc(d, 0x4);
|
|
xed3_operand_set_sae(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_SAE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_bcrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> BCRC=0 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1: /*(1,) -> BCRC=1 | SAE=1*/
|
|
xed3_operand_set_sae(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_128_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=128*/
|
|
xed3_operand_set_element_size(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_64_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=64*/
|
|
xed3_operand_set_element_size(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_32_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=32*/
|
|
xed3_operand_set_element_size(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_16_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=16*/
|
|
xed3_operand_set_element_size(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_8_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=8*/
|
|
xed3_operand_set_element_size(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_4_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=4*/
|
|
xed3_operand_set_element_size(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_2_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=2*/
|
|
xed3_operand_set_element_size(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ESIZE_1_BITS(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rex(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=1*/
|
|
xed3_operand_set_element_size(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_MOVDDUP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_element_size(d)) << ((0));
|
|
key += (xed3_operand_get_vl(d)) << ((9));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_FULLMEM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_element_size(d)) << ((0));
|
|
key += (xed3_operand_get_vl(d)) << ((9));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=128*/
|
|
xed3_operand_set_nelem(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=256*/
|
|
xed3_operand_set_nelem(d, 0x100);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=128*/
|
|
xed3_operand_set_nelem(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=512*/
|
|
xed3_operand_set_nelem(d, 0x200);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=256*/
|
|
xed3_operand_set_nelem(d, 0x100);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=128*/
|
|
xed3_operand_set_nelem(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_HALFMEM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_element_size(d)) << ((0));
|
|
key += (xed3_operand_get_vl(d)) << ((9));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=128*/
|
|
xed3_operand_set_nelem(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=256*/
|
|
xed3_operand_set_nelem(d, 0x100);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=128*/
|
|
xed3_operand_set_nelem(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_QUARTERMEM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_element_size(d)) << ((0));
|
|
key += (xed3_operand_get_vl(d)) << ((9));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=128*/
|
|
xed3_operand_set_nelem(d, 0x80);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_EIGHTHMEM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_element_size(d)) << ((0));
|
|
key += (xed3_operand_get_vl(d)) << ((9));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=64*/
|
|
xed3_operand_set_nelem(d, 0x40);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_BYTE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_WORD(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_D(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_Q(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_BYTE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_WORD(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_BYTE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_WORD(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_SCALAR(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_SUBDWORD(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_SUBDWORD(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_SUBDWORD(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_GSCAT(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=1*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE2(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE4(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_TUPLE8(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vl(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VL128 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_MEM128(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_bcrc(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> BCRC=0b0 | ELEMENT_SIZE=64 NELEM=2*/
|
|
xed3_operand_set_element_size(d, 0x40);
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> BCRC=0b1 | error*/
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_FULL(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_bcrc(d)) << ((0));
|
|
key += (xed3_operand_get_element_size(d)) << ((1));
|
|
key += (xed3_operand_get_vl(d)) << ((10));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 32: /*(0, 16, 0) -> BCRC=0b0 ELEMENT_SIZE=16 VL128 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 33: /*(1, 16, 0) -> BCRC=0b1 ELEMENT_SIZE=16 VL128 | NELEM=1 EMX_BROADCAST_1TO8_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xe);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 64: /*(0, 32, 0) -> BCRC=0b0 ELEMENT_SIZE=32 VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 65: /*(1, 32, 0) -> BCRC=0b1 ELEMENT_SIZE=32 VL128 | NELEM=1 EMX_BROADCAST_1TO4_32*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xa);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 128: /*(0, 64, 0) -> BCRC=0b0 ELEMENT_SIZE=64 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 129: /*(1, 64, 0) -> BCRC=0b1 ELEMENT_SIZE=64 VL128 | NELEM=1 EMX_BROADCAST_1TO2_64*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xb);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(0, 16, 1) -> BCRC=0b0 ELEMENT_SIZE=16 VL256 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1057: /*(1, 16, 1) -> BCRC=0b1 ELEMENT_SIZE=16 VL256 | NELEM=1 EMX_BROADCAST_1TO16_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xf);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(0, 32, 1) -> BCRC=0b0 ELEMENT_SIZE=32 VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1089: /*(1, 32, 1) -> BCRC=0b1 ELEMENT_SIZE=32 VL256 | NELEM=1 EMX_BROADCAST_1TO8_32*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1152: /*(0, 64, 1) -> BCRC=0b0 ELEMENT_SIZE=64 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1153: /*(1, 64, 1) -> BCRC=0b1 ELEMENT_SIZE=64 VL256 | NELEM=1 EMX_BROADCAST_1TO4_64*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xd);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2080: /*(0, 16, 2) -> BCRC=0b0 ELEMENT_SIZE=16 VL512 | NELEM=32*/
|
|
xed3_operand_set_nelem(d, 0x20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2081: /*(1, 16, 2) -> BCRC=0b1 ELEMENT_SIZE=16 VL512 | NELEM=1 EMX_BROADCAST_1TO32_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2112: /*(0, 32, 2) -> BCRC=0b0 ELEMENT_SIZE=32 VL512 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2113: /*(1, 32, 2) -> BCRC=0b1 ELEMENT_SIZE=32 VL512 | NELEM=1 EMX_BROADCAST_1TO16_32*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2176: /*(0, 64, 2) -> BCRC=0b0 ELEMENT_SIZE=64 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2177: /*(1, 64, 2) -> BCRC=0b1 ELEMENT_SIZE=64 VL512 | NELEM=1 EMX_BROADCAST_1TO8_64*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_HALF(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_bcrc(d)) << ((0));
|
|
key += (xed3_operand_get_element_size(d)) << ((1));
|
|
key += (xed3_operand_get_vl(d)) << ((10));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 32: /*(0, 16, 0) -> BCRC=0b0 ELEMENT_SIZE=16 VL128 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 33: /*(1, 16, 0) -> BCRC=0b1 ELEMENT_SIZE=16 VL128 | NELEM=1 EMX_BROADCAST_1TO4_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x1b);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 64: /*(0, 32, 0) -> BCRC=0b0 ELEMENT_SIZE=32 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 65: /*(1, 32, 0) -> BCRC=0b1 ELEMENT_SIZE=32 VL128 | NELEM=1 EMX_BROADCAST_1TO2_32*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(0, 16, 1) -> BCRC=0b0 ELEMENT_SIZE=16 VL256 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1057: /*(1, 16, 1) -> BCRC=0b1 ELEMENT_SIZE=16 VL256 | NELEM=1 EMX_BROADCAST_1TO8_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xe);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1088: /*(0, 32, 1) -> BCRC=0b0 ELEMENT_SIZE=32 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1089: /*(1, 32, 1) -> BCRC=0b1 ELEMENT_SIZE=32 VL256 | NELEM=1 EMX_BROADCAST_1TO4_32*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xa);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2080: /*(0, 16, 2) -> BCRC=0b0 ELEMENT_SIZE=16 VL512 | NELEM=16*/
|
|
xed3_operand_set_nelem(d, 0x10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2081: /*(1, 16, 2) -> BCRC=0b1 ELEMENT_SIZE=16 VL512 | NELEM=1 EMX_BROADCAST_1TO16_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xf);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2112: /*(0, 32, 2) -> BCRC=0b0 ELEMENT_SIZE=32 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2113: /*(1, 32, 2) -> BCRC=0b1 ELEMENT_SIZE=32 VL512 | NELEM=1 EMX_BROADCAST_1TO8_32*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN512(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | VL512*/
|
|
xed3_operand_set_vl(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | VL512*/
|
|
xed3_operand_set_vl(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | VL512*/
|
|
xed3_operand_set_vl(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN128(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | VL128*/
|
|
xed3_operand_set_vl(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | VL128*/
|
|
xed3_operand_set_vl(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | VL128*/
|
|
xed3_operand_set_vl(d, 0x0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VMODRM_ZMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MOD=0b00 UISA_VSIB_ZMM() |*/
|
|
xed3_capture_nt_UISA_VSIB_ZMM(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MOD=0b01 UISA_VSIB_ZMM() MEMDISP8() |*/
|
|
xed3_capture_nt_UISA_VSIB_ZMM(d);
|
|
xed3_capture_nt_MEMDISP8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MOD=0b10 UISA_VSIB_ZMM() MEMDISP32() |*/
|
|
xed3_capture_nt_UISA_VSIB_ZMM(d);
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VMODRM_YMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MOD=0b00 UISA_VSIB_YMM() |*/
|
|
xed3_capture_nt_UISA_VSIB_YMM(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MOD=0b01 UISA_VSIB_YMM() MEMDISP8() |*/
|
|
xed3_capture_nt_UISA_VSIB_YMM(d);
|
|
xed3_capture_nt_MEMDISP8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MOD=0b10 UISA_VSIB_YMM() MEMDISP32() |*/
|
|
xed3_capture_nt_UISA_VSIB_YMM(d);
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VMODRM_XMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MOD=0b00 UISA_VSIB_XMM() |*/
|
|
xed3_capture_nt_UISA_VSIB_XMM(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MOD=0b01 UISA_VSIB_XMM() MEMDISP8() |*/
|
|
xed3_capture_nt_UISA_VSIB_XMM(d);
|
|
xed3_capture_nt_MEMDISP8(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MOD=0b10 UISA_VSIB_XMM() MEMDISP32() |*/
|
|
xed3_capture_nt_UISA_VSIB_XMM(d);
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_ZMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_sibscale(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=1*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=2*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=4*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=8*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_YMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_sibscale(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=1*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=2*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=4*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=8*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_XMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_sibscale(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=1*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=2*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=4*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=8*/
|
|
xed3_capture_nt_UISA_VSIB_BASE(d);
|
|
xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
|
|
xed3_operand_set_index(d, xed3_operand_get_outreg(d));
|
|
xed3_operand_set_scale(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_ZMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
key += (xed3_operand_get_vexdest4(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_ZMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_ZMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_ZMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_ZMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_ZMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_ZMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_ZMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_ZMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_ZMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_ZMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_ZMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_ZMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 2, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_ZMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 2, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_ZMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 3, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_ZMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 3, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_ZMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 4, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_ZMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 4, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_ZMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 5, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_ZMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 5, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_ZMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 6, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_ZMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 6, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_ZMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 7, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_ZMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 7, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_ZMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_YMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
key += (xed3_operand_get_vexdest4(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_YMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_YMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_YMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_YMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 2, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_YMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 2, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_YMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 3, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_YMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 3, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_YMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 4, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_YMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 4, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_YMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 5, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_YMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 5, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_YMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 6, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_YMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 6, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_YMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 7, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_YMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 7, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_YMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_XMM(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexx(d)) << ((0));
|
|
key += (xed3_operand_get_sibindex(d)) << ((1));
|
|
key += (xed3_operand_get_vexdest4(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 2, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 3, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 4, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 5, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 6, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 7, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_XMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_XMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_XMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_XMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 2, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_XMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 2, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_XMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 3, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_XMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 3, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_XMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 4, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_XMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 4, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_XMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 5, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_XMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 5, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_XMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 6, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_XMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 6, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_XMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 7, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_XMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 7, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_XMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_UISA_VSIB_BASE(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mod(d)) << ((0));
|
|
key += (xed3_operand_get_rexb(d)) << ((2));
|
|
key += (xed3_operand_get_sibbase(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 1: /*(1, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 2: /*(2, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
case 3: /*(3, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArAX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 5: /*(1, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 6: /*(2, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
case 7: /*(3, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar8(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 9: /*(1, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 10: /*(2, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
case 11: /*(3, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArCX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 13: /*(1, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 14: /*(2, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
case 15: /*(3, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar9(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 17: /*(1, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 18: /*(2, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
case 19: /*(3, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 21: /*(1, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 22: /*(2, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
case 23: /*(3, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar10(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 25: /*(1, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 26: /*(2, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
case 27: /*(3, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArBX(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 29: /*(1, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 30: /*(2, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
case 31: /*(3, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar11(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 32: /*(0, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 33: /*(1, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 34: /*(2, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
case 35: /*(3, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
|
|
xed3_capture_nt_ArSP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 36: /*(0, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 37: /*(1, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 38: /*(2, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
case 39: /*(3, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar12(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 40: /*(0, 0, 5) -> REXB=0 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 41: /*(1, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
case 42: /*(2, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
case 43: /*(3, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
|
|
xed3_capture_nt_ArBP(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_SSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 44: /*(0, 1, 5) -> REXB=1 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_MEMDISP32(d);
|
|
xed3_operand_set_base0(d, XED_REG_INVALID);
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 45: /*(1, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
case 46: /*(2, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
case 47: /*(3, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar13(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 48: /*(0, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 49: /*(1, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 50: /*(2, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
case 51: /*(3, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArSI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 52: /*(0, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 53: /*(1, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 54: /*(2, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
case 55: /*(3, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar14(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 56: /*(0, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 57: /*(1, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 58: /*(2, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
case 59: /*(3, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_ArDI(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 60: /*(0, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 61: /*(1, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 62: /*(2, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
case 63: /*(3, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
|
|
xed3_capture_nt_Ar15(d);
|
|
xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
|
|
xed3_capture_nt_FINAL_DSEG(d);
|
|
xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASK1(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mask(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MASK=0x0 | OUTREG=XED_REG_K0*/
|
|
xed3_operand_set_outreg(d, XED_REG_K0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MASK=0x1 | OUTREG=XED_REG_K1*/
|
|
xed3_operand_set_outreg(d, XED_REG_K1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MASK=0x2 | OUTREG=XED_REG_K2*/
|
|
xed3_operand_set_outreg(d, XED_REG_K2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> MASK=0x3 | OUTREG=XED_REG_K3*/
|
|
xed3_operand_set_outreg(d, XED_REG_K3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> MASK=0x4 | OUTREG=XED_REG_K4*/
|
|
xed3_operand_set_outreg(d, XED_REG_K4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> MASK=0x5 | OUTREG=XED_REG_K5*/
|
|
xed3_operand_set_outreg(d, XED_REG_K5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> MASK=0x6 | OUTREG=XED_REG_K6*/
|
|
xed3_operand_set_outreg(d, XED_REG_K6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> MASK=0x7 | OUTREG=XED_REG_K7*/
|
|
xed3_operand_set_outreg(d, XED_REG_K7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASKNOT0(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mask(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> MASK=0x0 | OUTREG=XED_REG_ERROR*/
|
|
xed3_operand_set_outreg(d, XED_REG_ERROR);
|
|
xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> MASK=0x1 | OUTREG=XED_REG_K1*/
|
|
xed3_operand_set_outreg(d, XED_REG_K1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> MASK=0x2 | OUTREG=XED_REG_K2*/
|
|
xed3_operand_set_outreg(d, XED_REG_K2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> MASK=0x3 | OUTREG=XED_REG_K3*/
|
|
xed3_operand_set_outreg(d, XED_REG_K3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> MASK=0x4 | OUTREG=XED_REG_K4*/
|
|
xed3_operand_set_outreg(d, XED_REG_K4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> MASK=0x5 | OUTREG=XED_REG_K5*/
|
|
xed3_operand_set_outreg(d, XED_REG_K5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> MASK=0x6 | OUTREG=XED_REG_K6*/
|
|
xed3_operand_set_outreg(d, XED_REG_K6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> MASK=0x7 | OUTREG=XED_REG_K7*/
|
|
xed3_operand_set_outreg(d, XED_REG_K7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASK_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
key += (xed3_operand_get_rexrr(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0x0 | OUTREG=XED_REG_K0*/
|
|
xed3_operand_set_outreg(d, XED_REG_K0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=0x1 | OUTREG=XED_REG_K1*/
|
|
xed3_operand_set_outreg(d, XED_REG_K1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=0x2 | OUTREG=XED_REG_K2*/
|
|
xed3_operand_set_outreg(d, XED_REG_K2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=0x3 | OUTREG=XED_REG_K3*/
|
|
xed3_operand_set_outreg(d, XED_REG_K3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=0x4 | OUTREG=XED_REG_K4*/
|
|
xed3_operand_set_outreg(d, XED_REG_K4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=0x5 | OUTREG=XED_REG_K5*/
|
|
xed3_operand_set_outreg(d, XED_REG_K5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=0x6 | OUTREG=XED_REG_K6*/
|
|
xed3_operand_set_outreg(d, XED_REG_K6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=0x7 | OUTREG=XED_REG_K7*/
|
|
xed3_operand_set_outreg(d, XED_REG_K7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASK_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_K0*/
|
|
xed3_operand_set_outreg(d, XED_REG_K0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_K1*/
|
|
xed3_operand_set_outreg(d, XED_REG_K1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_K2*/
|
|
xed3_operand_set_outreg(d, XED_REG_K2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_K3*/
|
|
xed3_operand_set_outreg(d, XED_REG_K3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_K4*/
|
|
xed3_operand_set_outreg(d, XED_REG_K4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_K5*/
|
|
xed3_operand_set_outreg(d, XED_REG_K5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_K6*/
|
|
xed3_operand_set_outreg(d, XED_REG_K6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_K7*/
|
|
xed3_operand_set_outreg(d, XED_REG_K7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASK_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=MASK_N32()*/
|
|
xed3_capture_nt_MASK_N32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=MASK_N32()*/
|
|
xed3_capture_nt_MASK_N32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=MASK_N64()*/
|
|
xed3_capture_nt_MASK_N64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASK_N64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0x0 | OUTREG=XED_REG_K7*/
|
|
xed3_operand_set_outreg(d, XED_REG_K7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=0x1 | OUTREG=XED_REG_K6*/
|
|
xed3_operand_set_outreg(d, XED_REG_K6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=0x2 | OUTREG=XED_REG_K5*/
|
|
xed3_operand_set_outreg(d, XED_REG_K5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=0x3 | OUTREG=XED_REG_K4*/
|
|
xed3_operand_set_outreg(d, XED_REG_K4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=0x4 | OUTREG=XED_REG_K3*/
|
|
xed3_operand_set_outreg(d, XED_REG_K3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=0x5 | OUTREG=XED_REG_K2*/
|
|
xed3_operand_set_outreg(d, XED_REG_K2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=0x6 | OUTREG=XED_REG_K1*/
|
|
xed3_operand_set_outreg(d, XED_REG_K1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=0x7 | OUTREG=XED_REG_K0*/
|
|
xed3_operand_set_outreg(d, XED_REG_K0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_MASK_N32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0x0 | OUTREG=XED_REG_K7*/
|
|
xed3_operand_set_outreg(d, XED_REG_K7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=0x1 | OUTREG=XED_REG_K6*/
|
|
xed3_operand_set_outreg(d, XED_REG_K6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=0x2 | OUTREG=XED_REG_K5*/
|
|
xed3_operand_set_outreg(d, XED_REG_K5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=0x3 | OUTREG=XED_REG_K4*/
|
|
xed3_operand_set_outreg(d, XED_REG_K4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=0x4 | OUTREG=XED_REG_K3*/
|
|
xed3_operand_set_outreg(d, XED_REG_K3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=0x5 | OUTREG=XED_REG_K2*/
|
|
xed3_operand_set_outreg(d, XED_REG_K2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=0x6 | OUTREG=XED_REG_K1*/
|
|
xed3_operand_set_outreg(d, XED_REG_K1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=0x7 | OUTREG=XED_REG_K0*/
|
|
xed3_operand_set_outreg(d, XED_REG_K0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_R3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_R3_32()*/
|
|
xed3_capture_nt_XMM_R3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_R3_32()*/
|
|
xed3_capture_nt_XMM_R3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_R3_64()*/
|
|
xed3_capture_nt_XMM_R3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_R3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_R3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
key += (xed3_operand_get_rexrr(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1, 0) -> REXRR=0 REXR=1 REG=0 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1, 0) -> REXRR=0 REXR=1 REG=1 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1, 0) -> REXRR=0 REXR=1 REG=2 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1, 0) -> REXRR=0 REXR=1 REG=3 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> REXRR=0 REXR=1 REG=4 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> REXRR=0 REXR=1 REG=5 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> REXRR=0 REXR=1 REG=6 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> REXRR=0 REXR=1 REG=7 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> REXRR=1 REXR=0 REG=0 | OUTREG=XED_REG_XMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> REXRR=1 REXR=0 REG=1 | OUTREG=XED_REG_XMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> REXRR=1 REXR=0 REG=2 | OUTREG=XED_REG_XMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> REXRR=1 REXR=0 REG=3 | OUTREG=XED_REG_XMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> REXRR=1 REXR=0 REG=4 | OUTREG=XED_REG_XMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> REXRR=1 REXR=0 REG=5 | OUTREG=XED_REG_XMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> REXRR=1 REXR=0 REG=6 | OUTREG=XED_REG_XMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> REXRR=1 REXR=0 REG=7 | OUTREG=XED_REG_XMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 1, 1) -> REXRR=1 REXR=1 REG=0 | OUTREG=XED_REG_XMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 1, 1) -> REXRR=1 REXR=1 REG=1 | OUTREG=XED_REG_XMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 1, 1) -> REXRR=1 REXR=1 REG=2 | OUTREG=XED_REG_XMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(3, 1, 1) -> REXRR=1 REXR=1 REG=3 | OUTREG=XED_REG_XMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(4, 1, 1) -> REXRR=1 REXR=1 REG=4 | OUTREG=XED_REG_XMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(5, 1, 1) -> REXRR=1 REXR=1 REG=5 | OUTREG=XED_REG_XMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(6, 1, 1) -> REXRR=1 REXR=1 REG=6 | OUTREG=XED_REG_XMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(7, 1, 1) -> REXRR=1 REXR=1 REG=7 | OUTREG=XED_REG_XMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_R3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_R3_32()*/
|
|
xed3_capture_nt_YMM_R3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_R3_32()*/
|
|
xed3_capture_nt_YMM_R3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_R3_64()*/
|
|
xed3_capture_nt_YMM_R3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_R3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_R3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
key += (xed3_operand_get_rexrr(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1, 0) -> REXRR=0 REXR=1 REG=0 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1, 0) -> REXRR=0 REXR=1 REG=1 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1, 0) -> REXRR=0 REXR=1 REG=2 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1, 0) -> REXRR=0 REXR=1 REG=3 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> REXRR=0 REXR=1 REG=4 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> REXRR=0 REXR=1 REG=5 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> REXRR=0 REXR=1 REG=6 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> REXRR=0 REXR=1 REG=7 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> REXRR=1 REXR=0 REG=0 | OUTREG=XED_REG_YMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> REXRR=1 REXR=0 REG=1 | OUTREG=XED_REG_YMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> REXRR=1 REXR=0 REG=2 | OUTREG=XED_REG_YMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> REXRR=1 REXR=0 REG=3 | OUTREG=XED_REG_YMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> REXRR=1 REXR=0 REG=4 | OUTREG=XED_REG_YMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> REXRR=1 REXR=0 REG=5 | OUTREG=XED_REG_YMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> REXRR=1 REXR=0 REG=6 | OUTREG=XED_REG_YMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> REXRR=1 REXR=0 REG=7 | OUTREG=XED_REG_YMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 1, 1) -> REXRR=1 REXR=1 REG=0 | OUTREG=XED_REG_YMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 1, 1) -> REXRR=1 REXR=1 REG=1 | OUTREG=XED_REG_YMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 1, 1) -> REXRR=1 REXR=1 REG=2 | OUTREG=XED_REG_YMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(3, 1, 1) -> REXRR=1 REXR=1 REG=3 | OUTREG=XED_REG_YMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(4, 1, 1) -> REXRR=1 REXR=1 REG=4 | OUTREG=XED_REG_YMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(5, 1, 1) -> REXRR=1 REXR=1 REG=5 | OUTREG=XED_REG_YMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(6, 1, 1) -> REXRR=1 REXR=1 REG=6 | OUTREG=XED_REG_YMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(7, 1, 1) -> REXRR=1 REXR=1 REG=7 | OUTREG=XED_REG_YMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_R3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=ZMM_R3_32()*/
|
|
xed3_capture_nt_ZMM_R3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=ZMM_R3_32()*/
|
|
xed3_capture_nt_ZMM_R3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=ZMM_R3_64()*/
|
|
xed3_capture_nt_ZMM_R3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_R3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_R3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
key += (xed3_operand_get_rexrr(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=1 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=2 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=3 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=4 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=5 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=6 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=7 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1, 0) -> REXRR=0 REXR=1 REG=0 | OUTREG=XED_REG_ZMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1, 0) -> REXRR=0 REXR=1 REG=1 | OUTREG=XED_REG_ZMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1, 0) -> REXRR=0 REXR=1 REG=2 | OUTREG=XED_REG_ZMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1, 0) -> REXRR=0 REXR=1 REG=3 | OUTREG=XED_REG_ZMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> REXRR=0 REXR=1 REG=4 | OUTREG=XED_REG_ZMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> REXRR=0 REXR=1 REG=5 | OUTREG=XED_REG_ZMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> REXRR=0 REXR=1 REG=6 | OUTREG=XED_REG_ZMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> REXRR=0 REXR=1 REG=7 | OUTREG=XED_REG_ZMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> REXRR=1 REXR=0 REG=0 | OUTREG=XED_REG_ZMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> REXRR=1 REXR=0 REG=1 | OUTREG=XED_REG_ZMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> REXRR=1 REXR=0 REG=2 | OUTREG=XED_REG_ZMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> REXRR=1 REXR=0 REG=3 | OUTREG=XED_REG_ZMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> REXRR=1 REXR=0 REG=4 | OUTREG=XED_REG_ZMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> REXRR=1 REXR=0 REG=5 | OUTREG=XED_REG_ZMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> REXRR=1 REXR=0 REG=6 | OUTREG=XED_REG_ZMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> REXRR=1 REXR=0 REG=7 | OUTREG=XED_REG_ZMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 1, 1) -> REXRR=1 REXR=1 REG=0 | OUTREG=XED_REG_ZMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 1, 1) -> REXRR=1 REXR=1 REG=1 | OUTREG=XED_REG_ZMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 1, 1) -> REXRR=1 REXR=1 REG=2 | OUTREG=XED_REG_ZMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(3, 1, 1) -> REXRR=1 REXR=1 REG=3 | OUTREG=XED_REG_ZMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(4, 1, 1) -> REXRR=1 REXR=1 REG=4 | OUTREG=XED_REG_ZMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(5, 1, 1) -> REXRR=1 REXR=1 REG=5 | OUTREG=XED_REG_ZMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(6, 1, 1) -> REXRR=1 REXR=1 REG=6 | OUTREG=XED_REG_ZMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(7, 1, 1) -> REXRR=1 REXR=1 REG=7 | OUTREG=XED_REG_ZMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_B3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_B3_32()*/
|
|
xed3_capture_nt_XMM_B3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_B3_32()*/
|
|
xed3_capture_nt_XMM_B3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_B3_64()*/
|
|
xed3_capture_nt_XMM_B3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_B3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_B3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rexx(d)) << ((1));
|
|
key += (xed3_operand_get_rm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXX=0 REXB=0 RM=0 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXX=0 REXB=1 RM=0 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> REXX=1 REXB=0 RM=0 | OUTREG=XED_REG_XMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> REXX=1 REXB=1 RM=0 | OUTREG=XED_REG_XMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 0, 1) -> REXX=0 REXB=0 RM=1 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 0, 1) -> REXX=0 REXB=1 RM=1 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 1, 1) -> REXX=1 REXB=0 RM=1 | OUTREG=XED_REG_XMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 1, 1) -> REXX=1 REXB=1 RM=1 | OUTREG=XED_REG_XMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 2) -> REXX=0 REXB=0 RM=2 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 0, 2) -> REXX=0 REXB=1 RM=2 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 1, 2) -> REXX=1 REXB=0 RM=2 | OUTREG=XED_REG_XMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 1, 2) -> REXX=1 REXB=1 RM=2 | OUTREG=XED_REG_XMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 0, 3) -> REXX=0 REXB=0 RM=3 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 0, 3) -> REXX=0 REXB=1 RM=3 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 1, 3) -> REXX=1 REXB=0 RM=3 | OUTREG=XED_REG_XMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 1, 3) -> REXX=1 REXB=1 RM=3 | OUTREG=XED_REG_XMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 4) -> REXX=0 REXB=0 RM=4 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 4) -> REXX=0 REXB=1 RM=4 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 4) -> REXX=1 REXB=0 RM=4 | OUTREG=XED_REG_XMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 4) -> REXX=1 REXB=1 RM=4 | OUTREG=XED_REG_XMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 0, 5) -> REXX=0 REXB=0 RM=5 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 0, 5) -> REXX=0 REXB=1 RM=5 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 1, 5) -> REXX=1 REXB=0 RM=5 | OUTREG=XED_REG_XMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 1, 5) -> REXX=1 REXB=1 RM=5 | OUTREG=XED_REG_XMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 6) -> REXX=0 REXB=0 RM=6 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 0, 6) -> REXX=0 REXB=1 RM=6 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 1, 6) -> REXX=1 REXB=0 RM=6 | OUTREG=XED_REG_XMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 1, 6) -> REXX=1 REXB=1 RM=6 | OUTREG=XED_REG_XMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 0, 7) -> REXX=0 REXB=0 RM=7 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 0, 7) -> REXX=0 REXB=1 RM=7 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 1, 7) -> REXX=1 REXB=0 RM=7 | OUTREG=XED_REG_XMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 1, 7) -> REXX=1 REXB=1 RM=7 | OUTREG=XED_REG_XMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_B3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_B3_32()*/
|
|
xed3_capture_nt_YMM_B3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_B3_32()*/
|
|
xed3_capture_nt_YMM_B3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_B3_64()*/
|
|
xed3_capture_nt_YMM_B3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_B3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_B3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rexx(d)) << ((1));
|
|
key += (xed3_operand_get_rm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXX=0 REXB=0 RM=0 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXX=0 REXB=1 RM=0 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> REXX=1 REXB=0 RM=0 | OUTREG=XED_REG_YMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> REXX=1 REXB=1 RM=0 | OUTREG=XED_REG_YMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 0, 1) -> REXX=0 REXB=0 RM=1 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 0, 1) -> REXX=0 REXB=1 RM=1 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 1, 1) -> REXX=1 REXB=0 RM=1 | OUTREG=XED_REG_YMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 1, 1) -> REXX=1 REXB=1 RM=1 | OUTREG=XED_REG_YMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 2) -> REXX=0 REXB=0 RM=2 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 0, 2) -> REXX=0 REXB=1 RM=2 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 1, 2) -> REXX=1 REXB=0 RM=2 | OUTREG=XED_REG_YMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 1, 2) -> REXX=1 REXB=1 RM=2 | OUTREG=XED_REG_YMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 0, 3) -> REXX=0 REXB=0 RM=3 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 0, 3) -> REXX=0 REXB=1 RM=3 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 1, 3) -> REXX=1 REXB=0 RM=3 | OUTREG=XED_REG_YMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 1, 3) -> REXX=1 REXB=1 RM=3 | OUTREG=XED_REG_YMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 4) -> REXX=0 REXB=0 RM=4 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 4) -> REXX=0 REXB=1 RM=4 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 4) -> REXX=1 REXB=0 RM=4 | OUTREG=XED_REG_YMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 4) -> REXX=1 REXB=1 RM=4 | OUTREG=XED_REG_YMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 0, 5) -> REXX=0 REXB=0 RM=5 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 0, 5) -> REXX=0 REXB=1 RM=5 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 1, 5) -> REXX=1 REXB=0 RM=5 | OUTREG=XED_REG_YMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 1, 5) -> REXX=1 REXB=1 RM=5 | OUTREG=XED_REG_YMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 6) -> REXX=0 REXB=0 RM=6 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 0, 6) -> REXX=0 REXB=1 RM=6 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 1, 6) -> REXX=1 REXB=0 RM=6 | OUTREG=XED_REG_YMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 1, 6) -> REXX=1 REXB=1 RM=6 | OUTREG=XED_REG_YMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 0, 7) -> REXX=0 REXB=0 RM=7 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 0, 7) -> REXX=0 REXB=1 RM=7 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 1, 7) -> REXX=1 REXB=0 RM=7 | OUTREG=XED_REG_YMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 1, 7) -> REXX=1 REXB=1 RM=7 | OUTREG=XED_REG_YMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_B3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=ZMM_B3_32()*/
|
|
xed3_capture_nt_ZMM_B3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=ZMM_B3_32()*/
|
|
xed3_capture_nt_ZMM_B3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=ZMM_B3_64()*/
|
|
xed3_capture_nt_ZMM_B3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_B3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rm(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_B3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rexx(d)) << ((1));
|
|
key += (xed3_operand_get_rm(d)) << ((2));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> REXX=0 REXB=0 RM=0 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> REXX=0 REXB=1 RM=0 | OUTREG=XED_REG_ZMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1, 0) -> REXX=1 REXB=0 RM=0 | OUTREG=XED_REG_ZMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(1, 1, 0) -> REXX=1 REXB=1 RM=0 | OUTREG=XED_REG_ZMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 0, 1) -> REXX=0 REXB=0 RM=1 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(1, 0, 1) -> REXX=0 REXB=1 RM=1 | OUTREG=XED_REG_ZMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 1, 1) -> REXX=1 REXB=0 RM=1 | OUTREG=XED_REG_ZMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(1, 1, 1) -> REXX=1 REXB=1 RM=1 | OUTREG=XED_REG_ZMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 0, 2) -> REXX=0 REXB=0 RM=2 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 0, 2) -> REXX=0 REXB=1 RM=2 | OUTREG=XED_REG_ZMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 1, 2) -> REXX=1 REXB=0 RM=2 | OUTREG=XED_REG_ZMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(1, 1, 2) -> REXX=1 REXB=1 RM=2 | OUTREG=XED_REG_ZMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 0, 3) -> REXX=0 REXB=0 RM=3 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(1, 0, 3) -> REXX=0 REXB=1 RM=3 | OUTREG=XED_REG_ZMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 1, 3) -> REXX=1 REXB=0 RM=3 | OUTREG=XED_REG_ZMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(1, 1, 3) -> REXX=1 REXB=1 RM=3 | OUTREG=XED_REG_ZMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 4) -> REXX=0 REXB=0 RM=4 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 4) -> REXX=0 REXB=1 RM=4 | OUTREG=XED_REG_ZMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(0, 1, 4) -> REXX=1 REXB=0 RM=4 | OUTREG=XED_REG_ZMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(1, 1, 4) -> REXX=1 REXB=1 RM=4 | OUTREG=XED_REG_ZMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(0, 0, 5) -> REXX=0 REXB=0 RM=5 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(1, 0, 5) -> REXX=0 REXB=1 RM=5 | OUTREG=XED_REG_ZMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(0, 1, 5) -> REXX=1 REXB=0 RM=5 | OUTREG=XED_REG_ZMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(1, 1, 5) -> REXX=1 REXB=1 RM=5 | OUTREG=XED_REG_ZMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 0, 6) -> REXX=0 REXB=0 RM=6 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 0, 6) -> REXX=0 REXB=1 RM=6 | OUTREG=XED_REG_ZMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(0, 1, 6) -> REXX=1 REXB=0 RM=6 | OUTREG=XED_REG_ZMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(1, 1, 6) -> REXX=1 REXB=1 RM=6 | OUTREG=XED_REG_ZMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(0, 0, 7) -> REXX=0 REXB=0 RM=7 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(1, 0, 7) -> REXX=0 REXB=1 RM=7 | OUTREG=XED_REG_ZMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(0, 1, 7) -> REXX=1 REXB=0 RM=7 | OUTREG=XED_REG_ZMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(1, 1, 7) -> REXX=1 REXB=1 RM=7 | OUTREG=XED_REG_ZMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_N3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=XMM_N3_32()*/
|
|
xed3_capture_nt_XMM_N3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=XMM_N3_32()*/
|
|
xed3_capture_nt_XMM_N3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=XMM_N3_64()*/
|
|
xed3_capture_nt_XMM_N3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_N3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_XMM_N3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
key += (xed3_operand_get_vexdest4(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_XMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_XMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_XMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_XMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_XMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_XMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_XMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_XMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_XMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_XMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_XMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_XMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_XMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_XMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_XMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_XMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_XMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_XMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_XMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(3, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_XMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(4, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_XMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(5, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_XMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(6, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_XMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(7, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_XMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_XMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_N3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=YMM_N3_32()*/
|
|
xed3_capture_nt_YMM_N3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=YMM_N3_32()*/
|
|
xed3_capture_nt_YMM_N3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=YMM_N3_64()*/
|
|
xed3_capture_nt_YMM_N3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_N3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_YMM_N3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
key += (xed3_operand_get_vexdest4(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_YMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_YMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_YMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_YMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_YMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_YMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_YMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_YMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_YMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_YMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_YMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_YMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_YMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_YMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_YMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_YMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_YMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_YMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_YMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(3, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_YMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(4, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_YMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(5, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_YMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(6, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_YMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(7, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_YMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_YMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_N3(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_mode(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> mode16 | OUTREG=ZMM_N3_32()*/
|
|
xed3_capture_nt_ZMM_N3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> mode32 | OUTREG=ZMM_N3_32()*/
|
|
xed3_capture_nt_ZMM_N3_32(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> mode64 | OUTREG=ZMM_N3_64()*/
|
|
xed3_capture_nt_ZMM_N3_64(d);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_N3_32(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_ZMM_N3_64(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
key += (xed3_operand_get_vexdest4(d)) << ((4));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_ZMM15*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM15);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_ZMM14*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM14);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_ZMM13*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM13);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_ZMM12*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM12);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_ZMM11*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM11);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_ZMM10*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM10);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_ZMM9*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM9);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_ZMM8*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_ZMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_ZMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_ZMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_ZMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_ZMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_ZMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_ZMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_ZMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 16: /*(0, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_ZMM31*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM31);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 17: /*(1, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_ZMM30*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM30);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 18: /*(2, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_ZMM29*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM29);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 19: /*(3, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_ZMM28*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM28);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 20: /*(4, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_ZMM27*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM27);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 21: /*(5, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_ZMM26*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM26);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 22: /*(6, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_ZMM25*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM25);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 23: /*(7, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_ZMM24*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM24);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 24: /*(0, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_ZMM23*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM23);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 25: /*(1, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_ZMM22*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM22);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 26: /*(2, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_ZMM21*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM21);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 27: /*(3, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_ZMM20*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM20);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 28: /*(4, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_ZMM19*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM19);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 29: /*(5, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_ZMM18*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM18);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 30: /*(6, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_ZMM17*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM17);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 31: /*(7, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_ZMM16*/
|
|
xed3_operand_set_outreg(d, XED_REG_ZMM16);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_TMM_R(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_reg(d)) << ((0));
|
|
key += (xed3_operand_get_rexr(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_TMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_TMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_TMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_TMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_TMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_TMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_TMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_TMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_TMM_B(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_rexb(d)) << ((0));
|
|
key += (xed3_operand_get_rm(d)) << ((1));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_TMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_TMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_TMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_TMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_TMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_TMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_TMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_TMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_TMM_N(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_vexdest210(d)) << ((0));
|
|
key += (xed3_operand_get_vexdest3(d)) << ((3));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_TMM7*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM7);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_TMM6*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM6);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_TMM5*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM5);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_TMM4*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_TMM3*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM3);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_TMM2*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_TMM1*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM1);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_TMM0*/
|
|
xed3_operand_set_outreg(d, XED_REG_TMM0);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
static XED_INLINE void xed3_capture_nt_NELEM_QUARTER(xed_decoded_inst_t* d)
|
|
{
|
|
xed_uint32_t key = 0;
|
|
key += (xed3_operand_get_bcrc(d)) << ((0));
|
|
key += (xed3_operand_get_element_size(d)) << ((1));
|
|
key += (xed3_operand_get_vl(d)) << ((10));
|
|
/* now switch code..*/
|
|
switch(key) {
|
|
case 32: /*(0, 16, 0) -> BCRC=0b0 ELEMENT_SIZE=16 VL128 | NELEM=2*/
|
|
xed3_operand_set_nelem(d, 0x2);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 33: /*(1, 16, 0) -> BCRC=0b1 ELEMENT_SIZE=16 VL128 | NELEM=1 EMX_BROADCAST_1TO2_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x1a);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1056: /*(0, 16, 1) -> BCRC=0b0 ELEMENT_SIZE=16 VL256 | NELEM=4*/
|
|
xed3_operand_set_nelem(d, 0x4);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 1057: /*(1, 16, 1) -> BCRC=0b1 ELEMENT_SIZE=16 VL256 | NELEM=1 EMX_BROADCAST_1TO4_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0x1b);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2080: /*(0, 16, 2) -> BCRC=0b0 ELEMENT_SIZE=16 VL512 | NELEM=8*/
|
|
xed3_operand_set_nelem(d, 0x8);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
case 2081: /*(1, 16, 2) -> BCRC=0b1 ELEMENT_SIZE=16 VL512 | NELEM=1 EMX_BROADCAST_1TO8_16*/
|
|
xed3_operand_set_nelem(d, 0x1);
|
|
xed3_operand_set_bcast(d, 0xe);
|
|
/*pacify the compiler */
|
|
(void)d;
|
|
break;
|
|
default:
|
|
xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
|
|
break;
|
|
}
|
|
}
|
|
#endif
|