From 2b13f206b94e885dd3f58eac96357cb892ea1d1a Mon Sep 17 00:00:00 2001 From: iximeow Date: Sat, 3 Jul 2021 13:47:03 -0700 Subject: instructions with evex-coded registers may have registers other than 0 --- src/shared/evex.in | 7 ------- 1 file changed, 7 deletions(-) (limited to 'src/shared') diff --git a/src/shared/evex.in b/src/shared/evex.in index 989d463..98006ca 100644 --- a/src/shared/evex.in +++ b/src/shared/evex.in @@ -210,7 +210,6 @@ fn set_reg_sizes_from_ll(inst: &mut Instruction) -> Result<(), DecodeError> { pub(crate) fn read_evex_operands::Address, ::Word>>(words: &mut T, instruction: &mut Instruction, operand_code: generated::EVEXOperandCode) -> Result<(), DecodeError> { match operand_code { generated::EVEXOperandCode::Gm_V_E_LL_imm8_sae_bcast => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; let modrm = read_modrm(words)?; @@ -256,7 +255,6 @@ pub(crate) fn read_evex_operands::Address } } generated::EVEXOperandCode::Gm_V_Ed_xmm => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; if instruction.prefixes.evex_unchecked().broadcast() { return Err(DecodeError::InvalidOpcode); @@ -289,7 +287,6 @@ pub(crate) fn read_evex_operands::Address set_reg_sizes(instruction, RegisterBank::X); } generated::EVEXOperandCode::Gm_V_Eq_xmm_sae_W1 => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; ensure_W(instruction, 1)?; @@ -316,7 +313,6 @@ pub(crate) fn read_evex_operands::Address set_reg_sizes(instruction, RegisterBank::X); } generated::EVEXOperandCode::Gm_V_Ed_xmm_sae_bcast => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; let modrm = read_modrm(words)?; @@ -406,7 +402,6 @@ pub(crate) fn read_evex_operands::Address } } generated::EVEXOperandCode::Gm_V_E_LL_sae_bcast => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; let modrm = read_modrm(words)?; @@ -4287,7 +4282,6 @@ pub(crate) fn read_evex_operands::Address instruction.operand_count = 2; } generated::EVEXOperandCode::Gm_V_E_xmm_sae_W1 => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; ensure_W(instruction, 1)?; @@ -4314,7 +4308,6 @@ pub(crate) fn read_evex_operands::Address } } generated::EVEXOperandCode::Gm_V_E_xmm_sae => { - deny_vex_reg(instruction)?; check_mask_reg(instruction)?; if instruction.prefixes.evex_unchecked().vex().w() { -- cgit v1.1