diff options
| author | iximeow <me@iximeow.net> | 2021-07-03 09:55:11 -0700 | 
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2021-07-03 09:55:11 -0700 | 
| commit | e095342c536ce282a80b010ddedcd43900b85f7b (patch) | |
| tree | a45c37f3d0917fe6ba8bac32379f8a4a005d2602 /src/shared/evex.in | |
| parent | d548b9d8b7d2163d524c2a25ff0cb7e794e4e11d (diff) | |
vbroadcastsd requires W
Diffstat (limited to 'src/shared/evex.in')
| -rw-r--r-- | src/shared/evex.in | 9 | 
1 files changed, 3 insertions, 6 deletions
| diff --git a/src/shared/evex.in b/src/shared/evex.in index f9574db..b9a77e8 100644 --- a/src/shared/evex.in +++ b/src/shared/evex.in @@ -4616,12 +4616,9 @@ pub(crate) fn read_evex_operands<T: Reader<<Arch as yaxpeax_arch::Arch>::Address        set_reg_sizes(instruction, RegisterBank::X);      } -    generated::EVEXOperandCode::Gm_V_E_xmm_imm8_sae => { -      if instruction.opcode == Opcode::VRNDSCALESD { -        if instruction.prefixes.evex_unchecked().vex().w() { -          return Err(DecodeError::InvalidOpcode); -        } -      } +    generated::EVEXOperandCode::Gm_V_E_xmm_imm8_sae_W1 => { +      ensure_W(instruction, 1)?; +        let modrm = read_modrm(words)?;        set_rrr(instruction, modrm);        let mem_oper = read_E_vex(words, instruction, modrm, RegisterBank::X)?; | 
