diff options
| -rw-r--r-- | src/long_mode/evex.rs | 11 | ||||
| -rw-r--r-- | src/long_mode/mod.rs | 2 | ||||
| -rw-r--r-- | src/protected_mode/display.rs | 982 | ||||
| -rw-r--r-- | src/protected_mode/evex.rs | 17 | ||||
| -rw-r--r-- | src/protected_mode/mod.rs | 834 | ||||
| -rw-r--r-- | src/protected_mode/vex.rs | 2 | ||||
| -rw-r--r-- | src/shared/evex.in | 102 | ||||
| -rw-r--r-- | test/protected_mode/evex_generated.rs | 16360 | ||||
| -rw-r--r-- | test/protected_mode/mod.rs | 9 | ||||
| -rw-r--r-- | test/test.rs | 1 | 
10 files changed, 18217 insertions, 103 deletions
diff --git a/src/long_mode/evex.rs b/src/long_mode/evex.rs index adfd014..483747b 100644 --- a/src/long_mode/evex.rs +++ b/src/long_mode/evex.rs @@ -2,5 +2,16 @@  use crate::long_mode::{DecodeError, RegSpec, RegisterBank, Instruction, Opcode};  use crate::long_mode::{read_modrm, read_E_vex, read_imm_unsigned}; +const DEFAULT_EVEX_REGISTER_SIZE: RegisterBank = RegisterBank::Q; +const DEFAULT_EVEX_REGISTER_WIDTH: u8 = 8; + +fn isa_has_qwords() -> bool { +    true +} + +fn apply_disp_scale(inst: &mut Instruction) { +    inst.disp *= inst.mem_size as u64; +} +  include!("../shared/generated_evex.in");  include!("../shared/evex.in"); diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 59bb321..1039260 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -7047,7 +7047,7 @@ fn read_instr<T: Iterator<Item=u8>>(decoder: &InstDecoder, mut bytes_iter: T, in                      return Err(DecodeError::InvalidPrefixes);                  } else {                      instruction.prefixes = prefixes; -                    evex::read_evex(&mut bytes_iter, instruction, length)?; +                    evex::read_evex(&mut bytes_iter, instruction, length, None)?;                      if decoder != &InstDecoder::default() {                          decoder.revise_instruction(instruction)?;                      } diff --git a/src/protected_mode/display.rs b/src/protected_mode/display.rs index e51d2dc..f258bad 100644 --- a/src/protected_mode/display.rs +++ b/src/protected_mode/display.rs @@ -5,7 +5,7 @@ use core::fmt;  use yaxpeax_arch::{Colorize, ShowContextual, NoColors, YaxColors};  use yaxpeax_arch::display::*; -use crate::protected_mode::{RegSpec, Opcode, Operand, InstDecoder, Instruction, Segment, PrefixVex, OperandSpec}; +use crate::protected_mode::{RegSpec, Opcode, Operand, MergeMode, InstDecoder, Instruction, Segment, PrefixVex, OperandSpec};  impl fmt::Display for InstDecoder {      fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { @@ -166,6 +166,44 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Operand {              &Operand::Register(ref spec) => {                  f.write_str(regspec_label(spec))              } +            &Operand::RegisterMaskMerge(ref spec, ref mask, merge_mode) => { +                f.write_str(regspec_label(spec))?; +                if mask.num != 0 { +                    f.write_str("{")?; +                    f.write_str(regspec_label(mask))?; +                    f.write_str("}")?; +                } +                if let MergeMode::Zero = merge_mode { +                    f.write_str("{z}")?; +                } +                Ok(()) +            } +            &Operand::RegisterMaskMergeSae(ref spec, ref mask, merge_mode, sae_mode) => { +                f.write_str(regspec_label(spec))?; +                if mask.num != 0 { +                    f.write_str("{")?; +                    f.write_str(regspec_label(mask))?; +                    f.write_str("}")?; +                } +                if let MergeMode::Zero = merge_mode { +                    f.write_str("{z}")?; +                } +                f.write_str(sae_mode.label())?; +                Ok(()) +            } +            &Operand::RegisterMaskMergeSaeNoround(ref spec, ref mask, merge_mode) => { +                f.write_str(regspec_label(spec))?; +                if mask.num != 0 { +                    f.write_str("{")?; +                    f.write_str(regspec_label(mask))?; +                    f.write_str("}")?; +                } +                if let MergeMode::Zero = merge_mode { +                    f.write_str("{z}")?; +                } +                f.write_str("{sae}")?; +                Ok(()) +            }              &Operand::DisplacementU16(imm) => {                  write!(f, "[{}]", colors.address(u16_hex(imm)))              } @@ -227,6 +265,69 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Operand {                  format_number_i32(colors, f, disp, NumberStyleHint::HexSignedWithSignSplit)?;                  write!(f, "]")              }, +            &Operand::RegDispMasked(ref spec, disp, ref mask_reg) => { +                write!(f, "[{} ", regspec_label(spec))?; +                format_number_i32(colors, f, disp, NumberStyleHint::HexSignedWithSignSplit)?; +                write!(f, "]")?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            }, +            &Operand::RegDerefMasked(ref spec, ref mask_reg) => { +                f.write_str("[")?; +                f.write_str(regspec_label(spec))?; +                f.write_str("]")?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            }, +            &Operand::RegScaleMasked(ref spec, scale, ref mask_reg) => { +                write!(f, "[{} * {}]", +                    regspec_label(spec), +                    colors.number(scale) +                )?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            }, +            &Operand::RegScaleDispMasked(ref spec, scale, disp, ref mask_reg) => { +                write!(f, "[{} * {} ", +                    regspec_label(spec), +                    colors.number(scale), +                )?; +                format_number_i32(colors, f, disp, NumberStyleHint::HexSignedWithSignSplit)?; +                write!(f, "]")?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            }, +            &Operand::RegIndexBaseMasked(ref base, ref index, ref mask_reg) => { +                f.write_str("[")?; +                f.write_str(regspec_label(base))?; +                f.write_str(" + ")?; +                f.write_str(regspec_label(index))?; +                f.write_str("]")?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            } +            &Operand::RegIndexBaseDispMasked(ref base, ref index, disp, ref mask_reg) => { +                write!(f, "[{} + {} ", +                    regspec_label(base), +                    regspec_label(index), +                )?; +                format_number_i32(colors, f, disp, NumberStyleHint::HexSignedWithSignSplit)?; +                write!(f, "]")?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            }, +            &Operand::RegIndexBaseScaleMasked(ref base, ref index, scale, ref mask_reg) => { +                write!(f, "[{} + {} * {}]", +                    regspec_label(base), +                    regspec_label(index), +                    colors.number(scale) +                )?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            } +            &Operand::RegIndexBaseScaleDispMasked(ref base, ref index, scale, disp, ref mask_reg) => { +                write!(f, "[{} + {} * {} ", +                    regspec_label(base), +                    regspec_label(index), +                    colors.number(scale), +                )?; +                format_number_i32(colors, f, disp, NumberStyleHint::HexSignedWithSignSplit)?; +                write!(f, "]")?; +                write!(f, "{{{}}}", regspec_label(mask_reg)) +            },              &Operand::Nothing => { Ok(()) },          }      } @@ -655,6 +756,7 @@ const MNEMONICS: &[&'static str] = &[      "xorpd",      "vmovddup",      "vpshuflw", +    "vpshufhw",      "vhaddps",      "vhsubps",      "vaddsubps", @@ -826,6 +928,7 @@ const MNEMONICS: &[&'static str] = &[      "vpabsd",      "vpabsw",      "vpackssdw", +    "vpackusdw",      "vpacksswb",      "vpackuswb",      "vpaddb", @@ -837,12 +940,12 @@ const MNEMONICS: &[&'static str] = &[      "vpaddusw",      "vpaddw",      "vpalignr", -    "vandps",      "vandpd", -    "vorps", +    "vandps",      "vorpd", -    "vandnps", +    "vorps",      "vandnpd", +    "vandnps",      "vpand",      "vpandn",      "vpavgb", @@ -863,6 +966,8 @@ const MNEMONICS: &[&'static str] = &[      "vpcmpgtd",      "vpcmpgtq",      "vpcmpgtw", +    "vpcmpestri", +    "vpcmpestrm",      "vpcmpistri",      "vpcmpistrm",      "vperm2f128", @@ -884,7 +989,7 @@ const MNEMONICS: &[&'static str] = &[      "vphaddd",      "vphaddsw",      "vphaddw", -    "vphaddubsw", +    "vpmaddubsw",      "vphminposuw",      "vphsubd",      "vphsubsw", @@ -902,8 +1007,11 @@ const MNEMONICS: &[&'static str] = &[      "vpmaxub",      "vpmaxuw",      "vpmaxud", +    "vpminsb",      "vpminsw",      "vpminsd", +    "vpminub", +    "vpminuw",      "vpminud",      "vpmovmskb",      "vpmovsxbd", @@ -922,6 +1030,7 @@ const MNEMONICS: &[&'static str] = &[      "vpmulhrsw",      "vpmulhuw",      "vpmulhw", +    "vpmullq",      "vpmulld",      "vpmullw",      "vpmuludq", @@ -992,6 +1101,9 @@ const MNEMONICS: &[&'static str] = &[      "vxorpd",      "vxorps",      "vzeroupper", +    "vzeroall", +    "vldmxcsr", +    "vstmxcsr",      "pclmulqdq",      "aeskeygenassist",      "aesimc", @@ -1219,6 +1331,7 @@ const MNEMONICS: &[&'static str] = &[      "jrcxz",      "pusha",      "popa", +    "bound",      "arpl",      "aas",      "aaa", @@ -1315,6 +1428,378 @@ const MNEMONICS: &[&'static str] = &[      // TSXLDTRK      "xsusldtrk",      "xresldtrk", + +    // AVX512F +    "valignd", +    "valignq", +    "vblendmpd", +    "vblendmps", +    "vcompresspd", +    "vcompressps", +    "vcvtpd2udq", +    "vcvttpd2udq", +    "vcvtps2udq", +    "vcvttps2udq", +    "vcvtqq2pd", +    "vcvtqq2ps", +    "vcvtsd2usi", +    "vcvttsd2usi", +    "vcvtss2usi", +    "vcvttss2usi", +    "vcvtudq2pd", +    "vcvtudq2ps", +    "vcvtusi2usd", +    "vcvtusi2uss", +    "vexpandpd", +    "vexpandps", +    "vextractf32x4", +    "vextractf64x4", +    "vextracti32x4", +    "vextracti64x4", +    "vfixupimmpd", +    "vfixupimmps", +    "vfixupimmsd", +    "vfixupimmss", +    "vgetexppd", +    "vgetexpps", +    "vgetexpsd", +    "vgetexpss", +    "vgetmantpd", +    "vgetmantps", +    "vgetmantsd", +    "vgetmantss", +    "vinsertf32x4", +    "vinsertf64x4", +    "vinserti64x4", +    "vmovdqa32", +    "vmovdqa64", +    "vmovdqu32", +    "vmovdqu64", +    "vpblendmd", +    "vpblendmq", +    "vpcmpd", +    "vpcmpud", +    "vpcmpq", +    "vpcmpuq", +    "vpcompressq", +    "vpcompressd", +    "vpermi2d", +    "vpermi2q", +    "vpermi2pd", +    "vpermi2ps", +    "vpermt2d", +    "vpermt2q", +    "vpermt2pd", +    "vpermt2ps", +    "vpmaxsq", +    "vpmaxuq", +    "vpminsq", +    "vpminuq", +    "vpmovsqb", +    "vpmovusqb", +    "vpmovsqw", +    "vpmovusqw", +    "vpmovsqd", +    "vpmovusqd", +    "vpmovsdb", +    "vpmovusdb", +    "vpmovsdw", +    "vpmovusdw", +    "vprold", +    "vprolq", +    "vprolvd", +    "vprolvq", +    "vprord", +    "vprorq", +    "vprorrd", +    "vprorrq", +    "vpscatterdd", +    "vpscatterdq", +    "vpscatterqd", +    "vpscatterqq", +    "vpsraq", +    "vpsravq", +    "vptestnmd", +    "vptestnmq", +    "vpternlogd", +    "vpternlogq", +    "vptestmd", +    "vptestmq", +    "vrcp14pd", +    "vrcp14ps", +    "vrcp14sd", +    "vrcp14ss", +    "vrndscalepd", +    "vrndscaleps", +    "vrndscalesd", +    "vrndscaless", +    "vrsqrt14pd", +    "vrsqrt14ps", +    "vrsqrt14sd", +    "vrsqrt14ss", +    "vscaledpd", +    "vscaledps", +    "vscaledsd", +    "vscaledss", +    "vscatterdd", +    "vscatterdq", +    "vscatterqd", +    "vscatterqq", +    "vshuff32x4", +    "vshuff64x2", +    "vshufi32x4", +    "vshufi64x2", + +    // AVX512DQ +    "vcvttpd2qq", +    "vcvtpd2qq", +    "vcvttpd2uqq", +    "vcvtpd2uqq", +    "vcvttps2qq", +    "vcvtps2qq", +    "vcvttps2uqq", +    "vcvtps2uqq", +    "vcvtuqq2pd", +    "vcvtuqq2ps", +    "vextractf64x2", +    "vextracti64x2", +    "vfpclasspd", +    "vfpclassps", +    "vfpclasssd", +    "vfpclassss", +    "vinsertf64x2", +    "vinserti64x2", +    "vpmovm2d", +    "vpmovm2q", +    "vpmovb2d", +    "vpmovq2m", +    "vrangepd", +    "vrangeps", +    "vrangesd", +    "vrangess", +    "vreducepd", +    "vreduceps", +    "vreducesd", +    "vreducess", + +    // AVX512BW +    "vdbpsadbw", +    "vmovdqu8", +    "vmovdqu16", +    "vpblendmb", +    "vpblendmw", +    "vpcmpb", +    "vpcmpub", +    "vpcmpw", +    "vpcmpuw", +    "vpermw", +    "vpermi2b", +    "vpermi2w", +    "vpmovm2b", +    "vpmovm2w", +    "vpmovb2m", +    "vpmovw2m", +    "vpmovswb", +    "vpmovuswb", +    "vpsllvw", +    "vpsravw", +    "vpsrlvw", +    "vptestnmb", +    "vptestnmw", +    "vptestmb", +    "vptestmw", + +    // AVX512CD +    "vpbroadcastm", +    "vpconflictd", +    "vpconflictq", +    "vplzcntd", +    "vplzcntq", + +    "kunpckbw", +    "kunpckwd", +    "kunpckdq", + +    "kaddb", +    "kandb", +    "kandnb", +    "kmovb", +    "knotb", +    "korb", +    "kortestb", +    "kshiftlb", +    "kshiftrb", +    "ktestb", +    "kxnorb", +    "kxorb", +    "kaddw", +    "kandw", +    "kandnw", +    "kmovw", +    "knotw", +    "korw", +    "kortestw", +    "kshiftlw", +    "kshiftrw", +    "ktestw", +    "kxnorw", +    "kxorw", +    "kaddd", +    "kandd", +    "kandnd", +    "kmovd", +    "knotd", +    "kord", +    "kortestd", +    "kshiftld", +    "kshiftrd", +    "ktestd", +    "kxnord", +    "kxord", +    "kaddq", +    "kandq", +    "kandnq", +    "kmovq", +    "knotq", +    "korq", +    "kortestq", +    "kshiftlq", +    "kshiftrq", +    "ktestq", +    "kxnorq", +    "kxorq", + +    // AVX512ER +    "vexp2pd", +    "vexp2ps", +    "vexp2sd", +    "vexp2ss", +    "vrcp28pd", +    "vrcp28ps", +    "vrcp28sd", +    "vrcp28ss", +    "vrsqrt28pd", +    "vrsqrt28ps", +    "vrsqrt28sd", +    "vrsqrt28ss", + +    // AVX512PF +    "vgatherpf0dpd", +    "vgatherpf0dps", +    "vgatherpf0qpd", +    "vgatherpf0qps", +    "vgatherpf1dpd", +    "vgatherpf1dps", +    "vgatherpf1qpd", +    "vgatherpf1qps", +    "vscatterpf0dpd", +    "vscatterpf0dps", +    "vscatterpf0qpd", +    "vscatterpf0qps", +    "vscatterpf1dpd", +    "vscatterpf1dps", +    "vscatterpf1qpd", +    "vscatterpf1qps", + +    // MPX +    "bndmk", +    "bndcl", +    "bndcu", +    "bndcn", +    "bndmov", +    "bndldx", +    "bndstx", + + + +    "vgf2p8affineqb", +    "vgf2p8affineinvqb", +    "vpshrdq", +    "vpshrdd", +    "vpshrdw", +    "vpshldq", +    "vpshldd", +    "vpshldw", +    "vbroadcastf32x8", +    "vbroadcastf64x4", +    "vbroadcastf32x4", +    "vbroadcastf64x2", +    "vbroadcastf32x2", +    "vbroadcasti32x8", +    "vbroadcasti64x4", +    "vbroadcasti32x4", +    "vbroadcasti64x2", +    "vbroadcasti32x2", +    "vextracti32x8", +    "vextractf32x8", +    "vinserti32x8", +    "vinsertf32x8", +    "vinserti32x4", +    "v4fnmaddss", +    "v4fnmaddps", +    "vcvtneps2bf16", +    "v4fmaddss", +    "v4fmaddps", +    "vcvtne2ps2bf16", +    "vp2intersectd", +    "vp2intersectq", +    "vp4dpwssds", +    "vp4dpwssd", +    "vpdpwssds", +    "vpdpwssd", +    "vpdpbusds", +    "vdpbf16ps", +    "vpbroadcastmw2d", +    "vpbroadcastmb2q", +    "vpmovd2m", +    "vpmovqd", +    "vpmovwb", +    "vpmovdb", +    "vpmovdw", +    "vpmovqb", +    "vpmovqw", +    "vgf2p8mulb", +    "vpmadd52huq", +    "vpmadd52luq", +    "vpshufbitqmb", +    "vpermb", +    "vpexpandd", +    "vpexpandq", +    "vpabsq", +    "vprorvd", +    "vprorvq", +    "vpmultishiftqb", +    "vpermt2b", +    "vpermt2w", +    "vpshrdvq", +    "vpshrdvd", +    "vpshrdvw", +    "vpshldvq", +    "vpshldvd", +    "vpshldvw", +    "vpcompressb", +    "vpcompressw", +    "vpexpandb", +    "vpexpandw", +    "vpopcntd", +    "vpopcntq", +    "vpopcntb", +    "vpopcntw", +    "vscalefss", +    "vscalefsd", +    "vscalefps", +    "vscalefpd", +    "vpdpbusd", +    "vcvtusi2sd", +    "vcvtusi2ss", +    "vpxord", +    "vpxorq", +    "vpord", +    "vporq", +    "vpandnd", +    "vpandnq", +    "vpandd", +    "vpandq",  ];  impl Opcode { @@ -1328,6 +1813,95 @@ impl Opcode {  impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {      fn colorize(&self, colors: &Y, out: &mut T) -> fmt::Result {          match self { +            Opcode::VGF2P8AFFINEQB | +            Opcode::VGF2P8AFFINEINVQB | +            Opcode::VPSHRDQ | +            Opcode::VPSHRDD | +            Opcode::VPSHRDW | +            Opcode::VPSHLDQ | +            Opcode::VPSHLDD | +            Opcode::VPSHLDW | +            Opcode::VBROADCASTF32X8 | +            Opcode::VBROADCASTF64X4 | +            Opcode::VBROADCASTF32X4 | +            Opcode::VBROADCASTF64X2 | +            Opcode::VBROADCASTF32X2 | +            Opcode::VBROADCASTI32X8 | +            Opcode::VBROADCASTI64X4 | +            Opcode::VBROADCASTI32X4 | +            Opcode::VBROADCASTI64X2 | +            Opcode::VBROADCASTI32X2 | +            Opcode::VEXTRACTI32X8 | +            Opcode::VEXTRACTF32X8 | +            Opcode::VINSERTI32X8 | +            Opcode::VINSERTF32X8 | +            Opcode::VINSERTI32X4 | +            Opcode::V4FNMADDSS | +            Opcode::V4FNMADDPS | +            Opcode::VCVTNEPS2BF16 | +            Opcode::V4FMADDSS | +            Opcode::V4FMADDPS | +            Opcode::VCVTNE2PS2BF16 | +            Opcode::VP2INTERSECTD | +            Opcode::VP2INTERSECTQ | +            Opcode::VP4DPWSSDS | +            Opcode::VP4DPWSSD | +            Opcode::VPDPWSSDS | +            Opcode::VPDPWSSD | +            Opcode::VPDPBUSDS | +            Opcode::VDPBF16PS | +            Opcode::VPBROADCASTMW2D | +            Opcode::VPBROADCASTMB2Q | +            Opcode::VPMOVD2M | +            Opcode::VPMOVQD | +            Opcode::VPMOVWB | +            Opcode::VPMOVDB | +            Opcode::VPMOVDW | +            Opcode::VPMOVQB | +            Opcode::VPMOVQW | +            Opcode::VGF2P8MULB | +            Opcode::VPMADD52HUQ | +            Opcode::VPMADD52LUQ | +            Opcode::VPSHUFBITQMB | +            Opcode::VPERMB | +            Opcode::VPEXPANDD | +            Opcode::VPEXPANDQ | +            Opcode::VPABSQ | +            Opcode::VPRORVD | +            Opcode::VPRORVQ | +            Opcode::VPMULTISHIFTQB | +            Opcode::VPERMT2B | +            Opcode::VPERMT2W | +            Opcode::VPSHRDVQ | +            Opcode::VPSHRDVD | +            Opcode::VPSHRDVW | +            Opcode::VPSHLDVQ | +            Opcode::VPSHLDVD | +            Opcode::VPSHLDVW | +            Opcode::VPCOMPRESSB | +            Opcode::VPCOMPRESSW | +            Opcode::VPEXPANDB | +            Opcode::VPEXPANDW | +            Opcode::VPOPCNTD | +            Opcode::VPOPCNTQ | +            Opcode::VPOPCNTB | +            Opcode::VPOPCNTW | +            Opcode::VSCALEFSS | +            Opcode::VSCALEFSD | +            Opcode::VSCALEFPS | +            Opcode::VSCALEFPD | +            Opcode::VPDPBUSD | +            Opcode::VCVTUSI2SD | +            Opcode::VCVTUSI2SS | +            Opcode::VPXORD | +            Opcode::VPXORQ | +            Opcode::VPORD | +            Opcode::VPORQ | +            Opcode::VPANDND | +            Opcode::VPANDNQ | +            Opcode::VPANDD | +            Opcode::VPANDQ | +              Opcode::VHADDPS |              Opcode::VHSUBPS |              Opcode::VADDSUBPS | @@ -1434,6 +2008,7 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPMULHRSW |              Opcode::VPMULHUW |              Opcode::VPMULHW | +            Opcode::VPMULLQ |              Opcode::VPMULLD |              Opcode::VPMULLW |              Opcode::VPMULUDQ | @@ -1451,6 +2026,34 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPSUBW |              Opcode::VROUNDPD |              Opcode::VROUNDPS | +            Opcode::VEXP2PD | +            Opcode::VEXP2PS | +            Opcode::VEXP2SD | +            Opcode::VEXP2SS | +            Opcode::VRCP28PD | +            Opcode::VRCP28PS | +            Opcode::VRCP28SD | +            Opcode::VRCP28SS | +            Opcode::VRCP14PD | +            Opcode::VRCP14PS | +            Opcode::VRCP14SD | +            Opcode::VRCP14SS | +            Opcode::VRNDSCALEPD | +            Opcode::VRNDSCALEPS | +            Opcode::VRNDSCALESD | +            Opcode::VRNDSCALESS | +            Opcode::VRSQRT14PD | +            Opcode::VRSQRT14PS | +            Opcode::VRSQRT14SD | +            Opcode::VRSQRT14SS | +            Opcode::VSCALEDPD | +            Opcode::VSCALEDPS | +            Opcode::VSCALEDSD | +            Opcode::VSCALEDSS | +            Opcode::VRSQRT28PD | +            Opcode::VRSQRT28PS | +            Opcode::VRSQRT28SD | +            Opcode::VRSQRT28SS |              Opcode::VRSQRTPS |              Opcode::VSQRTPD |              Opcode::VSQRTPS | @@ -1470,13 +2073,14 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VSQRTSS |              Opcode::VPSADBW |              Opcode::VMPSADBW | +            Opcode::VDBPSADBW |              Opcode::VPHADDD |              Opcode::VPHADDSW |              Opcode::VPHADDW |              Opcode::VPHSUBD |              Opcode::VPHSUBSW |              Opcode::VPHSUBW | -            Opcode::VPHADDUBSW | +            Opcode::VPMADDUBSW |              Opcode::VPMADDWD |              Opcode::VDPPD |              Opcode::VDPPS | @@ -1499,6 +2103,19 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPSLLVD |              Opcode::VPSLLVQ |              Opcode::VPSLLW | +            Opcode::VPROLD | +            Opcode::VPROLQ | +            Opcode::VPROLVD | +            Opcode::VPROLVQ | +            Opcode::VPRORD | +            Opcode::VPRORQ | +            Opcode::VPRORRD | +            Opcode::VPRORRQ | +            Opcode::VPSLLVW | +            Opcode::VPSRAQ | +            Opcode::VPSRAVQ | +            Opcode::VPSRAVW | +            Opcode::VPSRLVW |              Opcode::VPSRAD |              Opcode::VPSRAVD |              Opcode::VPSRAW | @@ -1584,6 +2201,8 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::SUB |              Opcode::POPCNT |              Opcode::LZCNT | +            Opcode::VPLZCNTD | +            Opcode::VPLZCNTQ |              Opcode::BT |              Opcode::BTS |              Opcode::BTR | @@ -1702,12 +2321,48 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::FXTRACT |              Opcode::FYL2X |              Opcode::FYL2XP1 | -            Opcode::AAS |              Opcode::AAA | +            Opcode::AAS |              Opcode::DAS |              Opcode::DAA |              Opcode::ADX |              Opcode::AMX | +            Opcode::KADDB | +            Opcode::KANDB | +            Opcode::KANDNB | +            Opcode::KNOTB | +            Opcode::KORB | +            Opcode::KSHIFTLB | +            Opcode::KSHIFTRB | +            Opcode::KXNORB | +            Opcode::KXORB | +            Opcode::KADDW | +            Opcode::KANDW | +            Opcode::KANDNW | +            Opcode::KNOTW | +            Opcode::KORW | +            Opcode::KSHIFTLW | +            Opcode::KSHIFTRW | +            Opcode::KXNORW | +            Opcode::KXORW | +            Opcode::KADDD | +            Opcode::KANDD | +            Opcode::KANDND | +            Opcode::KNOTD | +            Opcode::KORD | +            Opcode::KSHIFTLD | +            Opcode::KSHIFTRD | +            Opcode::KXNORD | +            Opcode::KXORD | +            Opcode::KADDQ | +            Opcode::KANDQ | +            Opcode::KANDNQ | +            Opcode::KNOTQ | +            Opcode::KORQ | +            Opcode::KSHIFTLQ | +            Opcode::KSHIFTRQ | +            Opcode::KXNORQ | +            Opcode::KXORQ |              Opcode::IMUL => { write!(out, "{}", colors.arithmetic_op(self)) }              Opcode::POPF |              Opcode::PUSHF | @@ -1786,12 +2441,43 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VCVTSS2SI |              Opcode::VCVTTSD2SI |              Opcode::VCVTTSS2SI | +            Opcode::VCVTPD2UDQ | +            Opcode::VCVTTPD2UDQ | +            Opcode::VCVTPS2UDQ | +            Opcode::VCVTTPS2UDQ | +            Opcode::VCVTQQ2PD | +            Opcode::VCVTQQ2PS | +            Opcode::VCVTSD2USI | +            Opcode::VCVTTSD2USI | +            Opcode::VCVTSS2USI | +            Opcode::VCVTTSS2USI | +            Opcode::VCVTUDQ2PD | +            Opcode::VCVTUDQ2PS | +            Opcode::VCVTUSI2USD | +            Opcode::VCVTUSI2USS | +            Opcode::VCVTTPD2QQ | +            Opcode::VCVTPD2QQ | +            Opcode::VCVTTPD2UQQ | +            Opcode::VCVTPD2UQQ | +            Opcode::VCVTTPS2QQ | +            Opcode::VCVTPS2QQ | +            Opcode::VCVTTPS2UQQ | +            Opcode::VCVTPS2UQQ | +            Opcode::VCVTUQQ2PD | +            Opcode::VCVTUQQ2PS |              Opcode::VMOVDDUP |              Opcode::VPSHUFLW | +            Opcode::VPSHUFHW | +            Opcode::VBLENDMPD | +            Opcode::VBLENDMPS | +            Opcode::VPBLENDMD | +            Opcode::VPBLENDMQ |              Opcode::VBLENDPD |              Opcode::VBLENDPS |              Opcode::VBLENDVPD |              Opcode::VBLENDVPS | +            Opcode::VPBLENDMB | +            Opcode::VPBLENDMW |              Opcode::PBLENDVB |              Opcode::PBLENDW |              Opcode::BLENDPD | @@ -1803,6 +2489,7 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VBROADCASTI128 |              Opcode::VBROADCASTSD |              Opcode::VBROADCASTSS | +            Opcode::VPBROADCASTM |              Opcode::VEXTRACTF128 |              Opcode::VEXTRACTI128 |              Opcode::VEXTRACTPS | @@ -1811,10 +2498,49 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VGATHERDPS |              Opcode::VGATHERQPD |              Opcode::VGATHERQPS | +            Opcode::VGATHERPF0DPD | +            Opcode::VGATHERPF0DPS | +            Opcode::VGATHERPF0QPD | +            Opcode::VGATHERPF0QPS | +            Opcode::VGATHERPF1DPD | +            Opcode::VGATHERPF1DPS | +            Opcode::VGATHERPF1QPD | +            Opcode::VGATHERPF1QPS | +            Opcode::VSCATTERDD | +            Opcode::VSCATTERDQ | +            Opcode::VSCATTERQD | +            Opcode::VSCATTERQQ | +            Opcode::VPSCATTERDD | +            Opcode::VPSCATTERDQ | +            Opcode::VPSCATTERQD | +            Opcode::VPSCATTERQQ | +            Opcode::VSCATTERPF0DPD | +            Opcode::VSCATTERPF0DPS | +            Opcode::VSCATTERPF0QPD | +            Opcode::VSCATTERPF0QPS | +            Opcode::VSCATTERPF1DPD | +            Opcode::VSCATTERPF1DPS | +            Opcode::VSCATTERPF1QPD | +            Opcode::VSCATTERPF1QPS |              Opcode::VINSERTF128 |              Opcode::VINSERTI128 |              Opcode::VINSERTPS |              Opcode::INSERTPS | +            Opcode::VEXTRACTF32X4 | +            Opcode::VEXTRACTF64X2 | +            Opcode::VEXTRACTF64X4 | +            Opcode::VEXTRACTI32X4 | +            Opcode::VEXTRACTI64X2 | +            Opcode::VEXTRACTI64X4 | +            Opcode::VINSERTF32X4 | +            Opcode::VINSERTF64X2 | +            Opcode::VINSERTF64X4 | +            Opcode::VINSERTI64X2 | +            Opcode::VINSERTI64X4 | +            Opcode::VSHUFF32X4 | +            Opcode::VSHUFF64X2 | +            Opcode::VSHUFI32X4 | +            Opcode::VSHUFI64X2 |              Opcode::VMASKMOVDQU |              Opcode::VMASKMOVPD |              Opcode::VMASKMOVPS | @@ -1845,6 +2571,32 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VMOVUPS |              Opcode::VMOVSD |              Opcode::VMOVSS | +            Opcode::VMOVDQA32 | +            Opcode::VMOVDQA64 | +            Opcode::VMOVDQU32 | +            Opcode::VMOVDQU64 | +            Opcode::VPMOVM2B | +            Opcode::VPMOVM2W | +            Opcode::VPMOVB2M | +            Opcode::VPMOVW2M | +            Opcode::VPMOVSWB | +            Opcode::VPMOVUSWB | +            Opcode::VPMOVSQB | +            Opcode::VPMOVUSQB | +            Opcode::VPMOVSQW | +            Opcode::VPMOVUSQW | +            Opcode::VPMOVSQD | +            Opcode::VPMOVUSQD | +            Opcode::VPMOVSDB | +            Opcode::VPMOVUSDB | +            Opcode::VPMOVSDW | +            Opcode::VPMOVUSDW | +            Opcode::VPMOVM2D | +            Opcode::VPMOVM2Q | +            Opcode::VPMOVB2D | +            Opcode::VPMOVQ2M | +            Opcode::VMOVDQU8 | +            Opcode::VMOVDQU16 |              Opcode::VPBLENDD |              Opcode::VPBLENDVB | @@ -1883,6 +2635,9 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::PMOVZXDQ |              Opcode::PMOVZXWD |              Opcode::PMOVZXWQ | +            Opcode::KUNPCKBW | +            Opcode::KUNPCKWD | +            Opcode::KUNPCKDQ |              Opcode::VUNPCKHPD |              Opcode::VUNPCKHPS |              Opcode::VUNPCKLPD | @@ -1898,9 +2653,12 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VSHUFPD |              Opcode::VSHUFPS |              Opcode::VPACKSSDW | +            Opcode::VPACKUSDW |              Opcode::PACKUSDW |              Opcode::VPACKSSWB |              Opcode::VPACKUSWB | +            Opcode::VALIGND | +            Opcode::VALIGNQ |              Opcode::VPALIGNR |              Opcode::PALIGNR |              Opcode::VPERM2F128 | @@ -1911,6 +2669,17 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPERMPD |              Opcode::VPERMPS |              Opcode::VPERMQ | +            Opcode::VPERMI2D | +            Opcode::VPERMI2Q | +            Opcode::VPERMI2PD | +            Opcode::VPERMI2PS | +            Opcode::VPERMT2D | +            Opcode::VPERMT2Q | +            Opcode::VPERMT2PD | +            Opcode::VPERMT2PS | +            Opcode::VPERMI2B | +            Opcode::VPERMI2W | +            Opcode::VPERMW |              Opcode::VPEXTRB |              Opcode::VPEXTRD |              Opcode::VPEXTRQ | @@ -1929,11 +2698,34 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPINSRW |              Opcode::VPMASKMOVD |              Opcode::VPMASKMOVQ | +            Opcode::VCOMPRESSPD | +            Opcode::VCOMPRESSPS | +            Opcode::VPCOMPRESSQ | +            Opcode::VPCOMPRESSD | +            Opcode::VEXPANDPD | +            Opcode::VEXPANDPS |              Opcode::VPSHUFB |              Opcode::VPSHUFD |              Opcode::VPHMINPOSUW |              Opcode::PHMINPOSUW |              Opcode::VZEROUPPER | +            Opcode::VZEROALL | +            Opcode::VFIXUPIMMPD | +            Opcode::VFIXUPIMMPS | +            Opcode::VFIXUPIMMSD | +            Opcode::VFIXUPIMMSS | +            Opcode::VREDUCEPD | +            Opcode::VREDUCEPS | +            Opcode::VREDUCESD | +            Opcode::VREDUCESS | +            Opcode::VGETEXPPD | +            Opcode::VGETEXPPS | +            Opcode::VGETEXPSD | +            Opcode::VGETEXPSS | +            Opcode::VGETMANTPD | +            Opcode::VGETMANTPS | +            Opcode::VGETMANTSD | +            Opcode::VGETMANTSS |              Opcode::VLDDQU |              Opcode::BSWAP |              Opcode::CVTDQ2PD | @@ -2001,6 +2793,11 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::SHUFPD |              Opcode::SHUFPS |              Opcode::PMOVMSKB | +            Opcode::KMOVB | +            Opcode::KMOVW | +            Opcode::KMOVD | +            Opcode::KMOVQ | +            Opcode::BNDMOV |              Opcode::LDDQU |              Opcode::CMC |              Opcode::CLC | @@ -2117,6 +2914,32 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VCOMISS |              Opcode::VUCOMISD |              Opcode::VUCOMISS | +            Opcode::KORTESTB | +            Opcode::KTESTB | +            Opcode::KORTESTW | +            Opcode::KTESTW | +            Opcode::KORTESTD | +            Opcode::KTESTD | +            Opcode::KORTESTQ | +            Opcode::KTESTQ | +            Opcode::VPTESTNMD | +            Opcode::VPTESTNMQ | +            Opcode::VPTERNLOGD | +            Opcode::VPTERNLOGQ | +            Opcode::VPTESTMD | +            Opcode::VPTESTMQ | +            Opcode::VPTESTNMB | +            Opcode::VPTESTNMW | +            Opcode::VPTESTMB | +            Opcode::VPTESTMW | +            Opcode::VPCMPD | +            Opcode::VPCMPUD | +            Opcode::VPCMPQ | +            Opcode::VPCMPUQ | +            Opcode::VPCMPB | +            Opcode::VPCMPUB | +            Opcode::VPCMPW | +            Opcode::VPCMPUW |              Opcode::VCMPPD |              Opcode::VCMPPS |              Opcode::VCMPSD | @@ -2125,6 +2948,10 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VMAXPS |              Opcode::VMAXSD |              Opcode::VMAXSS | +            Opcode::VPMAXSQ | +            Opcode::VPMAXUQ | +            Opcode::VPMINSQ | +            Opcode::VPMINUQ |              Opcode::VMINPD |              Opcode::VMINPS |              Opcode::VMINSD | @@ -2137,6 +2964,8 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPCMPGTD |              Opcode::VPCMPGTQ |              Opcode::VPCMPGTW | +            Opcode::VPCMPESTRI | +            Opcode::VPCMPESTRM |              Opcode::VPCMPISTRI |              Opcode::VPCMPISTRM |              Opcode::VPMAXSB | @@ -2145,9 +2974,22 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::VPMAXUB |              Opcode::VPMAXUW |              Opcode::VPMAXUD | +            Opcode::VPMINSB |              Opcode::VPMINSW |              Opcode::VPMINSD | +            Opcode::VPMINUB | +            Opcode::VPMINUW |              Opcode::VPMINUD | +            Opcode::VFPCLASSPD | +            Opcode::VFPCLASSPS | +            Opcode::VFPCLASSSD | +            Opcode::VFPCLASSSS | +            Opcode::VRANGEPD | +            Opcode::VRANGEPS | +            Opcode::VRANGESD | +            Opcode::VRANGESS | +            Opcode::VPCONFLICTD | +            Opcode::VPCONFLICTQ |              Opcode::VPTEST |              Opcode::VTESTPD |              Opcode::VTESTPS | @@ -2228,6 +3070,8 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::FXRSTOR |              Opcode::LDMXCSR |              Opcode::STMXCSR | +            Opcode::VLDMXCSR | +            Opcode::VSTMXCSR |              Opcode::XSAVE |              Opcode::XSAVEC |              Opcode::XSAVES | @@ -2337,7 +3181,14 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode {              Opcode::SENDUIPI |              Opcode::XSUSLDTRK |              Opcode::XRESLDTRK | +            Opcode::BOUND |              Opcode::ARPL | +            Opcode::BNDMK | +            Opcode::BNDCL | +            Opcode::BNDCU | +            Opcode::BNDCN | +            Opcode::BNDLDX | +            Opcode::BNDSTX |              Opcode::LAR => { write!(out, "{}", colors.platform_op(self)) }              Opcode::CRC32 | @@ -2462,6 +3313,17 @@ impl Instruction {      }  } +const MEM_SIZE_STRINGS: [&'static str; 64] = [ +    "byte", "word", "BUG", "dword", "BUG", "BUG", "BUG", "qword", +    "far", "mword", "BUG", "BUG", "BUG", "BUG", "BUG", "xmmword", +    "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", +    "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "ymmword", +    "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", +    "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", +    "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", +    "BUG", "BUG", "BUG", "BUG", "BUG", "BUG", "ptr", "zmmword", +]; +  fn contextualize_intel<T: fmt::Write, Y: YaxColors>(instr: &Instruction, colors: &Y, _address: u32, _context: Option<&NoContext>, out: &mut T) -> fmt::Result {      if instr.prefixes.lock() {          write!(out, "lock ")?; @@ -2469,11 +3331,8 @@ fn contextualize_intel<T: fmt::Write, Y: YaxColors>(instr: &Instruction, colors:      if instr.prefixes.rep_any() {          if [Opcode::MOVS, Opcode::CMPS, Opcode::LODS, Opcode::STOS, Opcode::INS, Opcode::OUTS].contains(&instr.opcode) { -            // only a few of you actually use the prefix...              if instr.prefixes.rep() {                  write!(out, "rep ")?; -            } else if instr.prefixes.repz() { -                write!(out, "repz ")?;              } else if instr.prefixes.repnz() {                  write!(out, "repnz ")?;              } @@ -2489,53 +3348,19 @@ fn contextualize_intel<T: fmt::Write, Y: YaxColors>(instr: &Instruction, colors:      if instr.operand_count > 0 {          out.write_str(" ")?; +        let x = Operand::from_spec(instr, instr.operands[0]); +        if x.is_memory() { +            out.write_str(MEM_SIZE_STRINGS[instr.mem_size as usize - 1])?; +            out.write_str(" ")?; +        } +          if let Some(prefix) = instr.segment_override_for_op(0) {              write!(out, "{}:", prefix)?;          } - -        let x = Operand::from_spec(instr, instr.operands[0]);          x.colorize(colors, out)?;          for i in 1..instr.operand_count {              match instr.opcode { -                Opcode::MOVSX_b | -                Opcode::MOVZX_b => { -                    match &instr.operands[i as usize] { -                        &OperandSpec::Nothing => { -                            return Ok(()); -                        }, -                        &OperandSpec::RegMMM => { -                            out.write_str(", ")?; -                        } -                        _ => { -                            out.write_str(", byte ")?; -                            if let Some(prefix) = instr.segment_override_for_op(i) { -                                write!(out, "{}:", prefix)?; -                            } -                        } -                    } -                    let x = Operand::from_spec(instr, instr.operands[i as usize]); -                    x.colorize(colors, out)? -                }, -                Opcode::MOVSX_w | -                Opcode::MOVZX_w => { -                    match &instr.operands[i as usize] { -                        &OperandSpec::Nothing => { -                            return Ok(()); -                        }, -                        &OperandSpec::RegMMM => { -                            out.write_str(", ")?; -                        } -                        _ => { -                            out.write_str(", word ")?; -                            if let Some(prefix) = instr.segment_override_for_op(i) { -                                write!(out, "{}:", prefix)?; -                            } -                        } -                    } -                    let x = Operand::from_spec(instr, instr.operands[i as usize]); -                    x.colorize(colors, out)? -                },                  _ => {                      match &instr.operands[i as usize] {                          &OperandSpec::Nothing => { @@ -2543,11 +3368,57 @@ fn contextualize_intel<T: fmt::Write, Y: YaxColors>(instr: &Instruction, colors:                          },                          _ => {                              out.write_str(", ")?; +                            let x = Operand::from_spec(instr, instr.operands[i as usize]); +                            if x.is_memory() { +                                out.write_str(MEM_SIZE_STRINGS[instr.mem_size as usize - 1])?; +                                out.write_str(" ")?; +                            }                              if let Some(prefix) = instr.segment_override_for_op(i) {                                  write!(out, "{}:", prefix)?;                              } -                            let x = Operand::from_spec(instr, instr.operands[i as usize]); -                            x.colorize(colors, out)? +                            x.colorize(colors, out)?; +                            if let Some(evex) = instr.prefixes.evex() { +                                if evex.broadcast() && x.is_memory() { +                                    let scale = if instr.opcode == Opcode::VCVTPD2PS || instr.opcode == Opcode::VCVTTPD2UDQ || instr.opcode == Opcode::VCVTPD2UDQ || instr.opcode == Opcode::VCVTUDQ2PD || instr.opcode == Opcode::VCVTPS2PD || instr.opcode == Opcode::VCVTQQ2PS || instr.opcode == Opcode::VCVTDQ2PD || instr.opcode == Opcode::VCVTTPD2DQ || instr.opcode == Opcode::VFPCLASSPS || instr.opcode == Opcode::VFPCLASSPD || instr.opcode == Opcode::VCVTNEPS2BF16 || instr.opcode == Opcode::VCVTUQQ2PS || instr.opcode == Opcode::VCVTPD2DQ || instr.opcode == Opcode::VCVTTPS2UQQ || instr.opcode == Opcode::VCVTPS2UQQ || instr.opcode == Opcode::VCVTTPS2QQ || instr.opcode == Opcode::VCVTPS2QQ { +                                        if instr.opcode == Opcode::VFPCLASSPS || instr.opcode ==  Opcode::VCVTNEPS2BF16 { +                                            if evex.vex().l() { +                                                8 +                                            } else if evex.lp() { +                                                16 +                                            } else { +                                                4 +                                            } +                                        } else if instr.opcode == Opcode::VFPCLASSPD { +                                            if evex.vex().l() { +                                                4 +                                            } else if evex.lp() { +                                                8 +                                            } else { +                                                2 +                                            } +                                        } else { +                                            // vcvtpd2ps is "cool": in broadcast mode, it can read a +                                            // double-precision float (qword), resize to single-precision, +                                            // then broadcast that to the whole destination register. this +                                            // means we need to show `xmm, qword [addr]{1to4}` if vector +                                            // size is 256. likewise, scale of 8 for the same truncation +                                            // reason if vector size is 512. +                                            // vcvtudq2pd is the same story. +                                            // vfpclassp{s,d} is a mystery to me. +                                            if evex.vex().l() { +                                                4 +                                            } else if evex.lp() { +                                                8 +                                            } else { +                                                2 +                                            } +                                        } +                                    } else { +                                        Operand::from_spec(instr, instr.operands[i as usize - 1]).width() / instr.mem_size +                                    }; +                                    write!(out, "{{1to{}}}", scale)?; +                                } +                            }                          }                      }                  } @@ -2578,8 +3449,6 @@ fn contextualize_c<T: fmt::Write, Y: YaxColors>(instr: &Instruction, _colors: &Y              // only a few of you actually use the prefix...              if instr.prefixes.rep() {                  out.write_str("rep ")?; -            } else if instr.prefixes.repz() { -                out.write_str("repz ")?;              } else if instr.prefixes.repnz() {                  out.write_str("repnz ")?;              } // TODO: other rep kinds? @@ -2804,8 +3673,6 @@ impl <T: fmt::Write, Y: YaxColors> ShowContextual<u64, [Option<alloc::string::St              // only a few of you actually use the prefix...              if self.prefixes.rep() {                  write!(out, "rep ")?; -            } else if self.prefixes.repz() { -                write!(out, "repz ")?;              } else if self.prefixes.repnz() {                  write!(out, "repnz ")?;              } @@ -2831,7 +3698,8 @@ impl <T: fmt::Write, Y: YaxColors> ShowContextual<u64, [Option<alloc::string::St                  x.colorize(colors, out)?;              }          }; -        for i in 1..4 { +        for i in 1..self.operand_count { +            let i = i as usize;              match self.opcode {                  Opcode::MOVSX_b |                  Opcode::MOVZX_b => { diff --git a/src/protected_mode/evex.rs b/src/protected_mode/evex.rs new file mode 100644 index 0000000..9d2a093 --- /dev/null +++ b/src/protected_mode/evex.rs @@ -0,0 +1,17 @@ +// use crate::long_mode::{OperandSpec, DecodeError, RegSpec, RegisterBank, Instruction, Opcode}; +use crate::protected_mode::{DecodeError, RegSpec, RegisterBank, Instruction, Opcode}; +use crate::protected_mode::{read_modrm, read_E_vex, read_imm_unsigned}; + +const DEFAULT_EVEX_REGISTER_SIZE: RegisterBank = RegisterBank::D; +const DEFAULT_EVEX_REGISTER_WIDTH: u8 = 4; + +fn isa_has_qwords() -> bool { +    false +} + +fn apply_disp_scale(inst: &mut Instruction) { +    inst.disp *= inst.mem_size as u32; +} + +include!("../shared/generated_evex.in"); +include!("../shared/evex.in"); diff --git a/src/protected_mode/mod.rs b/src/protected_mode/mod.rs index bbcb9cb..dec7c86 100644 --- a/src/protected_mode/mod.rs +++ b/src/protected_mode/mod.rs @@ -1,4 +1,5 @@  mod vex; +mod evex;  #[cfg(feature = "fmt")]  mod display;  pub mod uarch; @@ -131,6 +132,19 @@ impl RegSpec {          }      } +    /// construct a `RegSpec` for mask reg `num` +    #[inline] +    pub fn mask(num: u8) -> RegSpec { +        if num >= 32 { +            panic!("invalid x86 mask reg {}", num); +        } + +        RegSpec { +            num, +            bank: RegisterBank::K +        } +    } +      /// construct a `RegSpec` for dword reg `num`      #[inline]      pub fn d(num: u8) -> RegSpec { @@ -378,6 +392,9 @@ pub enum Operand {      ImmediateU32(u32),      ImmediateI32(i32),      Register(RegSpec), +    RegisterMaskMerge(RegSpec, RegSpec, MergeMode), +    RegisterMaskMergeSae(RegSpec, RegSpec, MergeMode, SaeMode), +    RegisterMaskMergeSaeNoround(RegSpec, RegSpec, MergeMode),      DisplacementU16(u16),      DisplacementU32(u32),      RegDeref(RegSpec), @@ -388,10 +405,32 @@ pub enum Operand {      RegScaleDisp(RegSpec, u8, i32),      RegIndexBaseScale(RegSpec, RegSpec, u8),      RegIndexBaseScaleDisp(RegSpec, RegSpec, u8, i32), +    RegDerefMasked(RegSpec, RegSpec), +    RegDispMasked(RegSpec, i32, RegSpec), +    RegScaleMasked(RegSpec, u8, RegSpec), +    RegIndexBaseMasked(RegSpec, RegSpec, RegSpec), +    RegIndexBaseDispMasked(RegSpec, RegSpec, i32, RegSpec), +    RegScaleDispMasked(RegSpec, u8, i32, RegSpec), +    RegIndexBaseScaleMasked(RegSpec, RegSpec, u8, RegSpec), +    RegIndexBaseScaleDispMasked(RegSpec, RegSpec, u8, i32, RegSpec),      Nothing,  }  impl OperandSpec { +    fn masked(self) -> Self { +        match self { +            OperandSpec::RegRRR => OperandSpec::RegRRR_maskmerge, +            OperandSpec::RegMMM => OperandSpec::RegMMM_maskmerge, +            OperandSpec::RegVex => OperandSpec::RegVex_maskmerge, +            OperandSpec::Deref => OperandSpec::Deref_mask, +            OperandSpec::RegDisp => OperandSpec::RegDisp_mask, +            OperandSpec::RegScale => OperandSpec::RegScale_mask, +            OperandSpec::RegScaleDisp => OperandSpec::RegScaleDisp_mask, +            OperandSpec::RegIndexBaseScale => OperandSpec::RegIndexBaseScale_mask, +            OperandSpec::RegIndexBaseScaleDisp => OperandSpec::RegIndexBaseScaleDisp_mask, +            o => o, +        } +    }      pub fn is_memory(&self) -> bool {          match self {              OperandSpec::DispU16 | @@ -405,7 +444,13 @@ impl OperandSpec {              OperandSpec::RegIndexBaseDisp |              OperandSpec::RegScaleDisp |              OperandSpec::RegIndexBaseScale | -            OperandSpec::RegIndexBaseScaleDisp => { +            OperandSpec::RegIndexBaseScaleDisp | +            OperandSpec::Deref_mask | +            OperandSpec::RegDisp_mask | +            OperandSpec::RegScale_mask | +            OperandSpec::RegScaleDisp_mask | +            OperandSpec::RegIndexBaseScale_mask | +            OperandSpec::RegIndexBaseScaleDisp_mask => {                  true              },              OperandSpec::ImmI8 | @@ -414,8 +459,14 @@ impl OperandSpec {              OperandSpec::ImmU8 |              OperandSpec::ImmU16 |              OperandSpec::RegRRR | +            OperandSpec::RegRRR_maskmerge | +            OperandSpec::RegRRR_maskmerge_sae | +            OperandSpec::RegRRR_maskmerge_sae_noround |              OperandSpec::RegMMM | +            OperandSpec::RegMMM_maskmerge | +            OperandSpec::RegMMM_maskmerge_sae_noround |              OperandSpec::RegVex | +            OperandSpec::RegVex_maskmerge |              OperandSpec::Reg4 |              OperandSpec::ImmInDispField |              OperandSpec::Nothing => { @@ -424,6 +475,54 @@ impl OperandSpec {          }      }  } +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +pub enum MergeMode { +    Merge, +    Zero, +} +impl From<bool> for MergeMode { +    fn from(b: bool) -> Self { +        if b { +            MergeMode::Zero +        } else { +            MergeMode::Merge +        } +    } +} +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +pub enum SaeMode { +    RoundNearest, +    RoundDown, +    RoundUp, +    RoundZero, +} +const SAE_MODES: [SaeMode; 4] = [ +    SaeMode::RoundNearest, +    SaeMode::RoundDown, +    SaeMode::RoundUp, +    SaeMode::RoundZero, +]; +impl SaeMode { +    pub fn label(&self) -> &'static str { +        match self { +            SaeMode::RoundNearest => "{rne-sae}", +            SaeMode::RoundDown => "{rd-sae}", +            SaeMode::RoundUp => "{ru-sae}", +            SaeMode::RoundZero => "{rz-sae}", +        } +    } + +    fn from(l: bool, lp: bool) -> Self { +        let mut idx = 0; +        if l { +            idx |= 1; +        } +        if lp { +            idx |= 2; +        } +        SAE_MODES[idx] +    } +}  impl Operand {      fn from_spec(inst: &Instruction, spec: OperandSpec) -> Operand {          match spec { @@ -434,13 +533,56 @@ impl Operand {              OperandSpec::RegRRR => {                  Operand::Register(inst.modrm_rrr)              } +            OperandSpec::RegRRR_maskmerge => { +                Operand::RegisterMaskMerge( +                    inst.modrm_rrr, +                    RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg()), +                    MergeMode::from(inst.prefixes.evex_unchecked().merge()), +                ) +            } +            OperandSpec::RegRRR_maskmerge_sae => { +                Operand::RegisterMaskMergeSae( +                    inst.modrm_rrr, +                    RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg()), +                    MergeMode::from(inst.prefixes.evex_unchecked().merge()), +                    SaeMode::from(inst.prefixes.evex_unchecked().vex().l(), inst.prefixes.evex_unchecked().lp()), +                ) +            } +            OperandSpec::RegRRR_maskmerge_sae_noround => { +                Operand::RegisterMaskMergeSaeNoround( +                    inst.modrm_rrr, +                    RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg()), +                    MergeMode::from(inst.prefixes.evex_unchecked().merge()), +                ) +            }              // the register in modrm_mmm (eg modrm mod bits were 11)              OperandSpec::RegMMM => {                  Operand::Register(inst.modrm_mmm)              } +            OperandSpec::RegMMM_maskmerge => { +                Operand::RegisterMaskMerge( +                    inst.modrm_mmm, +                    RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg()), +                    MergeMode::from(inst.prefixes.evex_unchecked().merge()), +                ) +            } +            OperandSpec::RegMMM_maskmerge_sae_noround => { +                Operand::RegisterMaskMergeSaeNoround( +                    inst.modrm_mmm, +                    RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg()), +                    MergeMode::from(inst.prefixes.evex_unchecked().merge()), +                ) +            }              OperandSpec::RegVex => {                  Operand::Register(inst.vex_reg)              } +            OperandSpec::RegVex_maskmerge => { +                Operand::RegisterMaskMerge( +                    inst.vex_reg, +                    RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg()), +                    MergeMode::from(inst.prefixes.evex_unchecked().merge()), +                ) +            }              OperandSpec::Reg4 => {                  Operand::Register(RegSpec { num: inst.imm as u8, bank: inst.vex_reg.bank })              } @@ -482,6 +624,48 @@ impl Operand {              OperandSpec::RegIndexBaseScaleDisp => {                  Operand::RegIndexBaseScaleDisp(inst.modrm_mmm, inst.sib_index, inst.scale, inst.disp as i32)              } +            OperandSpec::Deref_mask => { +                if inst.prefixes.evex_unchecked().mask_reg() != 0 { +                    Operand::RegDerefMasked(inst.modrm_mmm, RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg())) +                } else { +                    Operand::RegDeref(inst.modrm_mmm) +                } +            } +            OperandSpec::RegDisp_mask => { +                if inst.prefixes.evex_unchecked().mask_reg() != 0 { +                    Operand::RegDispMasked(inst.modrm_mmm, inst.disp as i32, RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg())) +                } else { +                    Operand::RegDisp(inst.modrm_mmm, inst.disp as i32) +                } +            } +            OperandSpec::RegScale_mask => { +                if inst.prefixes.evex_unchecked().mask_reg() != 0 { +                    Operand::RegScaleMasked(inst.sib_index, inst.scale, RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg())) +                } else { +                    Operand::RegScale(inst.sib_index, inst.scale) +                } +            } +            OperandSpec::RegScaleDisp_mask => { +                if inst.prefixes.evex_unchecked().mask_reg() != 0 { +                    Operand::RegScaleDispMasked(inst.sib_index, inst.scale, inst.disp as i32, RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg())) +                } else { +                    Operand::RegScaleDisp(inst.sib_index, inst.scale, inst.disp as i32) +                } +            } +            OperandSpec::RegIndexBaseScale_mask => { +                if inst.prefixes.evex_unchecked().mask_reg() != 0 { +                    Operand::RegIndexBaseScaleMasked(inst.modrm_mmm, inst.sib_index, inst.scale, RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg())) +                } else { +                    Operand::RegIndexBaseScale(inst.modrm_mmm, inst.sib_index, inst.scale) +                } +            } +            OperandSpec::RegIndexBaseScaleDisp_mask => { +                if inst.prefixes.evex_unchecked().mask_reg() != 0 { +                    Operand::RegIndexBaseScaleDispMasked(inst.modrm_mmm, inst.sib_index, inst.scale, inst.disp as i32, RegSpec::mask(inst.prefixes.evex_unchecked().mask_reg())) +                } else { +                    Operand::RegIndexBaseScaleDisp(inst.modrm_mmm, inst.sib_index, inst.scale, inst.disp as i32) +                } +            }          }      }      pub fn is_memory(&self) -> bool { @@ -495,7 +679,15 @@ impl Operand {              Operand::RegIndexBaseDisp(_, _, _) |              Operand::RegScaleDisp(_, _, _) |              Operand::RegIndexBaseScale(_, _, _) | -            Operand::RegIndexBaseScaleDisp(_, _, _, _) => { +            Operand::RegIndexBaseScaleDisp(_, _, _, _) | +            Operand::RegDerefMasked(_, _) | +            Operand::RegDispMasked(_, _, _) | +            Operand::RegScaleMasked(_, _, _) | +            Operand::RegIndexBaseMasked(_, _, _) | +            Operand::RegIndexBaseDispMasked(_, _, _, _) | +            Operand::RegScaleDispMasked(_, _, _, _) | +            Operand::RegIndexBaseScaleMasked(_, _, _, _) | +            Operand::RegIndexBaseScaleDispMasked(_, _, _, _, _) => {                  true              },              Operand::ImmediateI8(_) | @@ -505,6 +697,9 @@ impl Operand {              Operand::ImmediateU32(_) |              Operand::ImmediateI32(_) |              Operand::Register(_) | +            Operand::RegisterMaskMerge(_, _, _) | +            Operand::RegisterMaskMergeSae(_, _, _, _) | +            Operand::RegisterMaskMergeSaeNoround(_, _, _) |              Operand::Nothing => {                  false              } @@ -523,6 +718,9 @@ impl Operand {              Operand::Register(reg) => {                  reg.width()              } +            Operand::RegisterMaskMerge(reg, _, _) => { +                reg.width() +            }              Operand::ImmediateI8(_) |              Operand::ImmediateU8(_) => {                  1 @@ -1186,6 +1384,7 @@ pub enum Opcode {      VMOVDDUP,      VPSHUFLW, +    VPSHUFHW,      VHADDPS,      VHSUBPS,      VADDSUBPS, @@ -1358,6 +1557,7 @@ pub enum Opcode {      VPABSD,      VPABSW,      VPACKSSDW, +    VPACKUSDW,      VPACKSSWB,      VPACKUSWB,      VPADDB, @@ -1395,6 +1595,8 @@ pub enum Opcode {      VPCMPGTD,      VPCMPGTQ,      VPCMPGTW, +    VPCMPESTRI, +    VPCMPESTRM,      VPCMPISTRI,      VPCMPISTRM,      VPERM2F128, @@ -1416,7 +1618,7 @@ pub enum Opcode {      VPHADDD,      VPHADDSW,      VPHADDW, -    VPHADDUBSW, +    VPMADDUBSW,      VPHMINPOSUW,      VPHSUBD,      VPHSUBSW, @@ -1434,8 +1636,11 @@ pub enum Opcode {      VPMAXUB,      VPMAXUW,      VPMAXUD, +    VPMINSB,      VPMINSW,      VPMINSD, +    VPMINUB, +    VPMINUW,      VPMINUD,      VPMOVMSKB,      VPMOVSXBD, @@ -1454,6 +1659,7 @@ pub enum Opcode {      VPMULHRSW,      VPMULHUW,      VPMULHW, +    VPMULLQ,      VPMULLD,      VPMULLW,      VPMULUDQ, @@ -1524,6 +1730,9 @@ pub enum Opcode {      VXORPD,      VXORPS,      VZEROUPPER, +    VZEROALL, +    VLDMXCSR, +    VSTMXCSR,      PCLMULQDQ,      AESKEYGENASSIST, @@ -1763,6 +1972,7 @@ pub enum Opcode {      PUSHA,      POPA, +    BOUND,      ARPL,      AAS,      AAA, @@ -1863,6 +2073,376 @@ pub enum Opcode {      // TSXLDTRK      XSUSLDTRK,      XRESLDTRK, + +    // AVX512F +    VALIGND, +    VALIGNQ, +    VBLENDMPD, +    VBLENDMPS, +    VCOMPRESSPD, +    VCOMPRESSPS, +    VCVTPD2UDQ, +    VCVTTPD2UDQ, +    VCVTPS2UDQ, +    VCVTTPS2UDQ, +    VCVTQQ2PD, +    VCVTQQ2PS, +    VCVTSD2USI, +    VCVTTSD2USI, +    VCVTSS2USI, +    VCVTTSS2USI, +    VCVTUDQ2PD, +    VCVTUDQ2PS, +    VCVTUSI2USD, +    VCVTUSI2USS, +    VEXPANDPD, +    VEXPANDPS, +    VEXTRACTF32X4, +    VEXTRACTF64X4, +    VEXTRACTI32X4, +    VEXTRACTI64X4, +    VFIXUPIMMPD, +    VFIXUPIMMPS, +    VFIXUPIMMSD, +    VFIXUPIMMSS, +    VGETEXPPD, +    VGETEXPPS, +    VGETEXPSD, +    VGETEXPSS, +    VGETMANTPD, +    VGETMANTPS, +    VGETMANTSD, +    VGETMANTSS, +    VINSERTF32X4, +    VINSERTF64X4, +    VINSERTI64X4, +    VMOVDQA32, +    VMOVDQA64, +    VMOVDQU32, +    VMOVDQU64, +    VPBLENDMD, +    VPBLENDMQ, +    VPCMPD, +    VPCMPUD, +    VPCMPQ, +    VPCMPUQ, +    VPCOMPRESSQ, +    VPCOMPRESSD, +    VPERMI2D, +    VPERMI2Q, +    VPERMI2PD, +    VPERMI2PS, +    VPERMT2D, +    VPERMT2Q, +    VPERMT2PD, +    VPERMT2PS, +    VPMAXSQ, +    VPMAXUQ, +    VPMINSQ, +    VPMINUQ, +    VPMOVSQB, +    VPMOVUSQB, +    VPMOVSQW, +    VPMOVUSQW, +    VPMOVSQD, +    VPMOVUSQD, +    VPMOVSDB, +    VPMOVUSDB, +    VPMOVSDW, +    VPMOVUSDW, +    VPROLD, +    VPROLQ, +    VPROLVD, +    VPROLVQ, +    VPRORD, +    VPRORQ, +    VPRORRD, +    VPRORRQ, +    VPSCATTERDD, +    VPSCATTERDQ, +    VPSCATTERQD, +    VPSCATTERQQ, +    VPSRAQ, +    VPSRAVQ, +    VPTESTNMD, +    VPTESTNMQ, +    VPTERNLOGD, +    VPTERNLOGQ, +    VPTESTMD, +    VPTESTMQ, +    VRCP14PD, +    VRCP14PS, +    VRCP14SD, +    VRCP14SS, +    VRNDSCALEPD, +    VRNDSCALEPS, +    VRNDSCALESD, +    VRNDSCALESS, +    VRSQRT14PD, +    VRSQRT14PS, +    VRSQRT14SD, +    VRSQRT14SS, +    VSCALEDPD, +    VSCALEDPS, +    VSCALEDSD, +    VSCALEDSS, +    VSCATTERDD, +    VSCATTERDQ, +    VSCATTERQD, +    VSCATTERQQ, +    VSHUFF32X4, +    VSHUFF64X2, +    VSHUFI32X4, +    VSHUFI64X2, + +    // AVX512DQ +    VCVTTPD2QQ, +    VCVTPD2QQ, +    VCVTTPD2UQQ, +    VCVTPD2UQQ, +    VCVTTPS2QQ, +    VCVTPS2QQ, +    VCVTTPS2UQQ, +    VCVTPS2UQQ, +    VCVTUQQ2PD, +    VCVTUQQ2PS, +    VEXTRACTF64X2, +    VEXTRACTI64X2, +    VFPCLASSPD, +    VFPCLASSPS, +    VFPCLASSSD, +    VFPCLASSSS, +    VINSERTF64X2, +    VINSERTI64X2, +    VPMOVM2D, +    VPMOVM2Q, +    VPMOVB2D, +    VPMOVQ2M, +    VRANGEPD, +    VRANGEPS, +    VRANGESD, +    VRANGESS, +    VREDUCEPD, +    VREDUCEPS, +    VREDUCESD, +    VREDUCESS, + +    // AVX512BW +    VDBPSADBW, +    VMOVDQU8, +    VMOVDQU16, +    VPBLENDMB, +    VPBLENDMW, +    VPCMPB, +    VPCMPUB, +    VPCMPW, +    VPCMPUW, +    VPERMW, +    VPERMI2B, +    VPERMI2W, +    VPMOVM2B, +    VPMOVM2W, +    VPMOVB2M, +    VPMOVW2M, +    VPMOVSWB, +    VPMOVUSWB, +    VPSLLVW, +    VPSRAVW, +    VPSRLVW, +    VPTESTNMB, +    VPTESTNMW, +    VPTESTMB, +    VPTESTMW, + +    // AVX512CD +    VPBROADCASTM, +    VPCONFLICTD, +    VPCONFLICTQ, +    VPLZCNTD, +    VPLZCNTQ, + +    KUNPCKBW, +    KUNPCKWD, +    KUNPCKDQ, + +    KADDB, +    KANDB, +    KANDNB, +    KMOVB, +    KNOTB, +    KORB, +    KORTESTB, +    KSHIFTLB, +    KSHIFTRB, +    KTESTB, +    KXNORB, +    KXORB, +    KADDW, +    KANDW, +    KANDNW, +    KMOVW, +    KNOTW, +    KORW, +    KORTESTW, +    KSHIFTLW, +    KSHIFTRW, +    KTESTW, +    KXNORW, +    KXORW, +    KADDD, +    KANDD, +    KANDND, +    KMOVD, +    KNOTD, +    KORD, +    KORTESTD, +    KSHIFTLD, +    KSHIFTRD, +    KTESTD, +    KXNORD, +    KXORD, +    KADDQ, +    KANDQ, +    KANDNQ, +    KMOVQ, +    KNOTQ, +    KORQ, +    KORTESTQ, +    KSHIFTLQ, +    KSHIFTRQ, +    KTESTQ, +    KXNORQ, +    KXORQ, + +    // AVX512ER +    VEXP2PD, +    VEXP2PS, +    VEXP2SD, +    VEXP2SS, +    VRCP28PD, +    VRCP28PS, +    VRCP28SD, +    VRCP28SS, +    VRSQRT28PD, +    VRSQRT28PS, +    VRSQRT28SD, +    VRSQRT28SS, + +    // AVX512PF +    VGATHERPF0DPD, +    VGATHERPF0DPS, +    VGATHERPF0QPD, +    VGATHERPF0QPS, +    VGATHERPF1DPD, +    VGATHERPF1DPS, +    VGATHERPF1QPD, +    VGATHERPF1QPS, +    VSCATTERPF0DPD, +    VSCATTERPF0DPS, +    VSCATTERPF0QPD, +    VSCATTERPF0QPS, +    VSCATTERPF1DPD, +    VSCATTERPF1DPS, +    VSCATTERPF1QPD, +    VSCATTERPF1QPS, + +    // MPX +    BNDMK, +    BNDCL, +    BNDCU, +    BNDCN, +    BNDMOV, +    BNDLDX, +    BNDSTX, + +    VGF2P8AFFINEQB, +    VGF2P8AFFINEINVQB, +    VPSHRDQ, +    VPSHRDD, +    VPSHRDW, +    VPSHLDQ, +    VPSHLDD, +    VPSHLDW, +    VBROADCASTF32X8, +    VBROADCASTF64X4, +    VBROADCASTF32X4, +    VBROADCASTF64X2, +    VBROADCASTF32X2, +    VBROADCASTI32X8, +    VBROADCASTI64X4, +    VBROADCASTI32X4, +    VBROADCASTI64X2, +    VBROADCASTI32X2, +    VEXTRACTI32X8, +    VEXTRACTF32X8, +    VINSERTI32X8, +    VINSERTF32X8, +    VINSERTI32X4, +    V4FNMADDSS, +    V4FNMADDPS, +    VCVTNEPS2BF16, +    V4FMADDSS, +    V4FMADDPS, +    VCVTNE2PS2BF16, +    VP2INTERSECTD, +    VP2INTERSECTQ, +    VP4DPWSSDS, +    VP4DPWSSD, +    VPDPWSSDS, +    VPDPWSSD, +    VPDPBUSDS, +    VDPBF16PS, +    VPBROADCASTMW2D, +    VPBROADCASTMB2Q, +    VPMOVD2M, +    VPMOVQD, +    VPMOVWB, +    VPMOVDB, +    VPMOVDW, +    VPMOVQB, +    VPMOVQW, +    VGF2P8MULB, +    VPMADD52HUQ, +    VPMADD52LUQ, +    VPSHUFBITQMB, +    VPERMB, +    VPEXPANDD, +    VPEXPANDQ, +    VPABSQ, +    VPRORVD, +    VPRORVQ, +    VPMULTISHIFTQB, +    VPERMT2B, +    VPERMT2W, +    VPSHRDVQ, +    VPSHRDVD, +    VPSHRDVW, +    VPSHLDVQ, +    VPSHLDVD, +    VPSHLDVW, +    VPCOMPRESSB, +    VPCOMPRESSW, +    VPEXPANDB, +    VPEXPANDW, +    VPOPCNTD, +    VPOPCNTQ, +    VPOPCNTB, +    VPOPCNTW, +    VSCALEFSS, +    VSCALEFSD, +    VSCALEFPS, +    VSCALEFPD, +    VPDPBUSD, +    VCVTUSI2SD, +    VCVTUSI2SS, +    VPXORD, +    VPXORQ, +    VPORD, +    VPORQ, +    VPANDND, +    VPANDNQ, +    VPANDD, +    VPANDQ,  }  #[derive(Debug)] @@ -1889,7 +2469,7 @@ impl yaxpeax_arch::Instruction for Instruction {      }  } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Eq, Copy, Clone)]  #[non_exhaustive]  pub enum DecodeError {      ExhaustedInput, @@ -1912,10 +2492,24 @@ enum OperandSpec {      Nothing,      // the register in modrm_rrr      RegRRR, +    // the register in modrm_rrr and is EVEX-encoded (may have a mask register, is merged or +    // zeroed) +    RegRRR_maskmerge, +    // the register in modrm_rrr and is EVEX-encoded (may have a mask register, is merged or +    // zeroed). additionally, this instruction has exceptions suppressed with a potentially +    // custom rounding mode. +    RegRRR_maskmerge_sae, +    // the register in modrm_rrr and is EVEX-encoded (may have a mask register, is merged or +    // zeroed). additionally, this instruction has exceptions suppressed. +    RegRRR_maskmerge_sae_noround,      // the register in modrm_mmm (eg modrm mod bits were 11)      RegMMM, +    // same as `RegRRR`: the register is modrm's `mmm` bits, and may be masekd. +    RegMMM_maskmerge, +    RegMMM_maskmerge_sae_noround,      // the register selected by vex-vvvv bits      RegVex, +    RegVex_maskmerge,      // the register selected by a handful of avx2 vex-coded instructions,      // stuffed in imm4.      Reg4, @@ -1940,7 +2534,13 @@ enum OperandSpec {      RegIndexBaseDisp,      RegScaleDisp,      RegIndexBaseScale, -    RegIndexBaseScaleDisp +    RegIndexBaseScaleDisp, +    Deref_mask, +    RegDisp_mask, +    RegScale_mask, +    RegScaleDisp_mask, +    RegIndexBaseScale_mask, +    RegIndexBaseScaleDisp_mask,  }  // the Hash, Eq, and PartialEq impls here are possibly misleading. @@ -2460,6 +3060,47 @@ impl InstDecoder {          self      } +    pub fn avx512(&self) -> bool { +        let avx512_mask = +            (1 << 19) | +            (1 << 20) | +            (1 << 23) | +            (1 << 27) | +            (1 << 28) | +            (1 << 29) | +            (1 << 31) | +            (1 << 32) | +            (1 << 34) | +            (1 << 35) | +            (1 << 40) | +            (1 << 41) | +            (1 << 42) | +            (1 << 43); + +        (self.flags & avx512_mask) == avx512_mask +    } + +    pub fn with_avx512(mut self) -> Self { +        let avx512_mask = +            (1 << 19) | +            (1 << 20) | +            (1 << 23) | +            (1 << 27) | +            (1 << 28) | +            (1 << 29) | +            (1 << 31) | +            (1 << 32) | +            (1 << 34) | +            (1 << 35) | +            (1 << 40) | +            (1 << 41) | +            (1 << 42) | +            (1 << 43); + +        self.flags |= avx512_mask; +        self +    } +      pub fn cx8(&self) -> bool {          self.flags & (1 << 44) != 0      } @@ -2659,6 +3300,13 @@ impl InstDecoder {      /// Optionally reject or reinterpret instruction according to the decoder's      /// declared extensions.      fn revise_instruction(&self, inst: &mut Instruction) -> Result<(), DecodeError> { +        if inst.prefixes.evex().is_some() { +            if !self.avx512() { +                return Err(DecodeError::InvalidOpcode); +            } else { +                return Ok(()); +            } +        }          match inst.opcode {              Opcode::TZCNT => {                  if !self.bmi1() { @@ -2835,6 +3483,7 @@ impl InstDecoder {              // AVX...              Opcode::VMOVDDUP |              Opcode::VPSHUFLW | +            Opcode::VPSHUFHW |              Opcode::VHADDPS |              Opcode::VHSUBPS |              Opcode::VADDSUBPS | @@ -2998,6 +3647,7 @@ impl InstDecoder {              Opcode::VPABSD |              Opcode::VPABSW |              Opcode::VPACKSSDW | +            Opcode::VPACKUSDW |              Opcode::VPACKSSWB |              Opcode::VPACKUSWB |              Opcode::VPADDB | @@ -3056,7 +3706,7 @@ impl InstDecoder {              Opcode::VPHADDD |              Opcode::VPHADDSW |              Opcode::VPHADDW | -            Opcode::VPHADDUBSW | +            Opcode::VPMADDUBSW |              Opcode::VPHMINPOSUW |              Opcode::VPHSUBD |              Opcode::VPHSUBSW | @@ -3094,6 +3744,7 @@ impl InstDecoder {              Opcode::VPMULHRSW |              Opcode::VPMULHUW |              Opcode::VPMULHW | +            Opcode::VPMULLQ |              Opcode::VPMULLD |              Opcode::VPMULLW |              Opcode::VPMULUDQ | @@ -3525,15 +4176,51 @@ impl Instruction {      }  } -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +pub struct EvexData { +    // data: present, z, b, Lp, Rp. aaa +    bits: u8, +} + +#[derive(Debug, Copy, Clone, Eq, PartialEq)]  pub struct Prefixes {      bits: u8,      vex: PrefixVex,      segment: Segment, -    _pad: u8, +    evex_data: EvexData, +} + +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +pub struct PrefixEvex { +    vex: PrefixVex, +    evex_data: EvexData,  } -#[derive(Debug, Copy, Clone)] +impl PrefixEvex { +    fn present(&self) -> bool { +        self.evex_data.present() +    } +    fn vex(&self) -> &PrefixVex { +        &self.vex +    } +    fn mask_reg(&self) -> u8 { +        self.evex_data.aaa() +    } +    fn broadcast(&self) -> bool { +        self.evex_data.b() +    } +    fn merge(&self) -> bool { +        self.evex_data.z() +    } +    fn lp(&self) -> bool { +        self.evex_data.lp() +    } +    fn rp(&self) -> bool { +        self.evex_data.rp() +    } +} + +#[derive(Debug, Copy, Clone, Eq, PartialEq)]  pub struct PrefixVex {      bits: u8,  } @@ -3552,6 +4239,8 @@ impl PrefixVex {      fn l(&self) -> bool { (self.bits & 0x10) == 0x10 }      #[inline]      fn present(&self) -> bool { (self.bits & 0x80) == 0x80 } +    #[inline] +    fn compressed_disp(&self) -> bool { (self.bits & 0x20) == 0x20 }  }  #[allow(dead_code)] @@ -3561,7 +4250,7 @@ impl Prefixes {              bits: bits,              vex: PrefixVex { bits: 0 },              segment: Segment::DS, -            _pad: 0, +            evex_data: EvexData { bits: 0 },          }      }      fn vex_from(&mut self, bits: u8) { @@ -3623,6 +4312,26 @@ impl Prefixes {      fn set_ss(&mut self) { self.segment = Segment::SS }      #[inline]      fn vex(&self) -> PrefixVex { PrefixVex { bits: self.vex.bits } } +    #[inline] +    fn evex_unchecked(&self) -> PrefixEvex { PrefixEvex { vex: PrefixVex { bits: self.vex.bits }, evex_data: self.evex_data } } +    #[inline] +    fn evex(&self) -> Option<PrefixEvex> { +        let evex = self.evex_unchecked(); +        if evex.present() { +            Some(evex) +        } else { +            None +        } +    } + +    #[inline] +    fn apply_compressed_disp(&mut self, state: bool) { +        if state { +            self.vex.bits |= 0x20; +        } else { +            self.vex.bits &= 0xdf; +        } +    }      #[inline]      fn vex_from_c5(&mut self, bits: u8) { @@ -3640,8 +4349,65 @@ impl Prefixes {          let rxb = (high >> 5) ^ 0x07;          let wrxb = rxb | w >> 4;          let l = (low & 0x04) << 2; -        let synthetic_rex = wrxb | l | 0x80; -        self.vex = PrefixVex { bits: synthetic_rex }; +        let synthetic_vex = wrxb | l | 0x80; +        self.vex = PrefixVex { bits: synthetic_vex }; +    } + +    #[inline] +    fn evex_from(&mut self, b1: u8, b2: u8, b3: u8) { +        let w = b2 & 0x80; +        let rxb = ((b1 >> 5) & 0b111) ^ 0b111; // `rxb` is provided in inverted form +        let wrxb = rxb | (w >> 4); +        let l = (b3 & 0x20) >> 1; +        let synthetic_vex = wrxb | l | 0x80; +        self.vex_from(synthetic_vex); + +        // R' is provided in inverted form +        let rp = ((b1 & 0x10) >> 4) ^ 1; +        let lp = (b3 & 0x40) >> 6; +        let aaa = b3 & 0b111; +        let z = (b3 & 0x80) >> 7; +        let b = (b3 & 0x10) >> 4; +        self.evex_data.from(rp, lp, z, b, aaa); +    } +} + +impl EvexData { +    fn from(&mut self, rp: u8, lp: u8, z: u8, b: u8, aaa: u8) { +        let mut bits = 0; +        bits |= aaa; +        bits |= b << 3; +        bits |= z << 4; +        bits |= lp << 5; +        bits |= rp << 6; +        bits |= 0x80; +        self.bits = bits; +    } +} + +impl EvexData { +    pub(crate) fn present(&self) -> bool { +        self.bits & 0b1000_0000 != 0 +    } + +    pub(crate) fn aaa(&self) -> u8 { +        self.bits & 0b111 +    } + +    pub(crate) fn b(&self) -> bool { +        (self.bits & 0b0000_1000) != 0 +    } + +    pub(crate) fn z(&self) -> bool { +        (self.bits & 0b0001_0000) != 0 +    } + +    pub(crate) fn lp(&self) -> bool { +        (self.bits & 0b0010_0000) != 0 +    } + +    pub(crate) fn rp(&self) -> bool { +        (self.bits & 0b0100_0000) != 0      }  } @@ -4179,6 +4945,7 @@ enum OperandCode {      CS = OperandCodeBuilder::new().special_case(104).bits(),      SS = OperandCodeBuilder::new().special_case(105).bits(),      DS = OperandCodeBuilder::new().special_case(106).bits(), +    ModRM_0x62 = OperandCodeBuilder::new().special_case(107).bits(),  }  const LOCKABLE_INSTRUCTIONS: &[Opcode] = &[ @@ -4345,7 +5112,7 @@ const OPCODES: [OpcodeRecord; 256] = [  // 0x60      OpcodeRecord(Interpretation::Instruction(Opcode::PUSHA), OperandCode::Nothing),      OpcodeRecord(Interpretation::Instruction(Opcode::POPA), OperandCode::Nothing), -    OpcodeRecord(Interpretation::Instruction(Opcode::Invalid), OperandCode::Nothing), +    OpcodeRecord(Interpretation::Instruction(Opcode::BOUND), OperandCode::ModRM_0x62),      OpcodeRecord(Interpretation::Instruction(Opcode::ARPL), OperandCode::Ew_Gw),      OpcodeRecord(Interpretation::Prefix, OperandCode::Nothing),      OpcodeRecord(Interpretation::Prefix, OperandCode::Nothing), @@ -4567,6 +5334,18 @@ pub(self) fn read_E_ymm<T: Iterator<Item=u8>>(bytes_iter: &mut T, instr: &mut In          read_M(bytes_iter, instr, modrm, length)      }  } +#[allow(non_snake_case)] +pub(self) fn read_E_vex<T: Iterator<Item=u8>>(bytes_iter: &mut T, instr: &mut Instruction, modrm: u8, length: &mut u8, bank: RegisterBank) -> Result<OperandSpec, DecodeError> { +    if modrm >= 0b11000000 { +        read_modrm_reg(instr, modrm, bank) +    } else { +        let res = read_M(bytes_iter, instr, modrm, length)?; +        if (modrm & 0b01_000_000) == 0b01_000_000 { +            instr.prefixes.apply_compressed_disp(true); +        } +        Ok(res) +    } +}  #[allow(non_snake_case)]  fn read_modrm_reg(instr: &mut Instruction, modrm: u8, reg_bank: RegisterBank) -> Result<OperandSpec, DecodeError> { @@ -8679,6 +9458,35 @@ fn unlikely_operands<T: Iterator<Item=u8>>(decoder: &InstDecoder, mut bytes_iter              instruction.operands[1] = instruction.operands[0];              instruction.operands[0] = temp;          } +        OperandCode::ModRM_0x62 => { +            let modrm = read_modrm(&mut bytes_iter, length)?; + +            if modrm < 0xc0 { +                instruction.modrm_rrr = +                    RegSpec { bank: RegisterBank::D, num: (modrm >> 3) & 7 }; +                if instruction.prefixes.operand_size() { +                    instruction.modrm_rrr.bank = RegisterBank::W; +                    instruction.mem_size = 4; +                } else { +                    instruction.mem_size = 8; +                } + +                instruction.operands[0] = OperandSpec::RegRRR; +                instruction.operands[1] = read_M(&mut bytes_iter, instruction, modrm, length)?; +                instruction.operand_count = 2; +            } else { +                let prefixes = &instruction.prefixes; +                if prefixes.lock() || prefixes.operand_size() || prefixes.rep_any() { +                    return Err(DecodeError::InvalidPrefixes); +                } else { +                    evex::read_evex(&mut bytes_iter, instruction, *length, Some(modrm))?; +                    // there's an unavoidable `instruction.length = *length;` after +                    // `unlikely_operands`. the current length is correct, so store it back to +                    // length to make the reassignment store a correct length. +                    *length = instruction.length; +                } +            } +        }          _ => {              // TODO: this should be unreachable - safe to panic now?              // can't simply delete this arm because the non-unlikely operands are handled outside diff --git a/src/protected_mode/vex.rs b/src/protected_mode/vex.rs index ce40e6e..5c66654 100644 --- a/src/protected_mode/vex.rs +++ b/src/protected_mode/vex.rs @@ -1685,7 +1685,7 @@ fn read_vex_instruction<T: Iterator<Item=u8>>(opcode_map: VEXOpcodeMap, bytes: &                      } else {                          VEXOperandCode::G_V_E_xmm                      }), -                    0x04 => (Opcode::VPHADDUBSW, if L { +                    0x04 => (Opcode::VPMADDUBSW, if L {                          VEXOperandCode::G_V_E_ymm                      } else {                          VEXOperandCode::G_V_E_xmm diff --git a/src/shared/evex.in b/src/shared/evex.in index 2151d47..4a26003 100644 --- a/src/shared/evex.in +++ b/src/shared/evex.in @@ -1,11 +1,20 @@  use super::OperandSpec; +// `evex_byte_one` is an option because the caller *may* have already read it, +// but may have not. `long_mode` can decide immediately that `0x62` should be read +// as an `EVEX` instruction, but for other modes we can only make this +// determination when reading a `bound`'s `modrm` byte.  #[inline(never)] -pub(crate) fn read_evex<T: Iterator<Item=u8>>(bytes: &mut T, instruction: &mut Instruction, mut length: u8) -> Result<(), DecodeError> { -    let evex_byte_one = bytes.next().ok_or(DecodeError::ExhaustedInput)?; +pub(crate) fn read_evex<T: Iterator<Item=u8>>(bytes: &mut T, instruction: &mut Instruction, mut length: u8, evex_byte_one: Option<u8>) -> Result<(), DecodeError> { +    let evex_byte_one = if let Some(b) = evex_byte_one { +      b +    } else { +      length += 1; +      bytes.next().ok_or(DecodeError::ExhaustedInput)? +    };      let evex_byte_two = bytes.next().ok_or(DecodeError::ExhaustedInput)?;      let evex_byte_three = bytes.next().ok_or(DecodeError::ExhaustedInput)?; -    length += 3; +    length += 2;      let p = evex_byte_two & 0x03;      let m = evex_byte_one & 0x03;      if m == 0 { @@ -58,7 +67,26 @@ pub(crate) fn read_evex<T: Iterator<Item=u8>>(bytes: &mut T, instruction: &mut I        instruction.opcode = opcode;        read_evex_operands(bytes, instruction, operand_code, &mut length)?;        if instruction.prefixes.evex_unchecked().vex().compressed_disp() { -        instruction.disp *= instruction.mem_size as u64; +        let overridden_size = match instruction.opcode { +          Opcode::VPEXPANDB => Some(1), +          Opcode::VPEXPANDW => Some(2), +          Opcode::VPEXPANDD => Some(4), +          Opcode::VPEXPANDQ => Some(8), +          Opcode::VPCOMPRESSB => Some(1), +          Opcode::VPCOMPRESSW => Some(2), +          Opcode::VPCOMPRESSD => Some(4), +          Opcode::VPCOMPRESSQ => Some(8), +          Opcode::VEXPANDPS => Some(4), +          Opcode::VEXPANDPD => Some(8), +          Opcode::VCOMPRESSPS => Some(4), +          Opcode::VCOMPRESSPD => Some(8), +          _ => None +        }; +        if let Some(size) = overridden_size { +          instruction.disp *= size; +        } else { +          apply_disp_scale(instruction); +        }          instruction.prefixes.apply_compressed_disp(false);        }        // TODO: apply rp and bp? @@ -593,7 +621,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        deny_z(instruction)?;        let (sz, bank) = if instruction.prefixes.evex_unchecked().vex().w() { -        (8, RegisterBank::Q) +        (DEFAULT_EVEX_REGISTER_WIDTH, DEFAULT_EVEX_REGISTER_SIZE)        } else {          (4, RegisterBank::D)        }; @@ -626,8 +654,10 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        deny_mask_reg(instruction)?;        let (sz, bank) = if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.opcode = Opcode::VPINSRQ; -        (8, RegisterBank::Q) +        if isa_has_qwords() { +          instruction.opcode = Opcode::VPINSRQ; +        } +        (DEFAULT_EVEX_REGISTER_WIDTH, DEFAULT_EVEX_REGISTER_SIZE)        } else {          (4, RegisterBank::D)        }; @@ -2363,11 +2393,13 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        let mem_oper = read_E_vex(bytes, instruction, modrm, length, RegisterBank::X)?;        if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.opcode = Opcode::VMOVQ; +        if isa_has_qwords() { +          instruction.opcode = Opcode::VMOVQ; +        }          if mem_oper == OperandSpec::RegMMM { -          instruction.modrm_mmm.bank = RegisterBank::Q; +          instruction.modrm_mmm.bank = DEFAULT_EVEX_REGISTER_SIZE;          } else { -          instruction.mem_size = 8; +          instruction.mem_size = DEFAULT_EVEX_REGISTER_WIDTH;          }        } else {          if mem_oper == OperandSpec::RegMMM { @@ -2391,11 +2423,13 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        let mem_oper = read_E_vex(bytes, instruction, modrm, length, RegisterBank::X)?;        if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.opcode = Opcode::VMOVQ; +        if isa_has_qwords() { +          instruction.opcode = Opcode::VMOVQ; +        }          if mem_oper == OperandSpec::RegMMM { -          instruction.modrm_mmm.bank = RegisterBank::Q; +          instruction.modrm_mmm.bank = DEFAULT_EVEX_REGISTER_SIZE;          } else { -          instruction.mem_size = 8; +          instruction.mem_size = DEFAULT_EVEX_REGISTER_WIDTH;          }        } else {          if mem_oper == OperandSpec::RegMMM { @@ -2822,7 +2856,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        check_mask_reg(instruction)?;        deny_vex_reg(instruction)?; -      if instruction.prefixes.evex_unchecked().vex().w() { +      if instruction.prefixes.evex_unchecked().vex().w() && isa_has_qwords() {          if instruction.opcode == Opcode::VPBROADCASTD {            instruction.opcode = Opcode::VPBROADCASTQ;          } @@ -2843,7 +2877,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        if mem_oper == OperandSpec::RegMMM {          instruction.mem_size = 0;          if instruction.prefixes.evex_unchecked().vex().w() { -          instruction.modrm_mmm.bank = RegisterBank::Q; +          instruction.modrm_mmm.bank = DEFAULT_EVEX_REGISTER_SIZE;          } else {            instruction.modrm_mmm.bank = RegisterBank::D;          } @@ -3036,7 +3070,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        set_rrr(instruction, modrm);        if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.modrm_rrr.bank = RegisterBank::Q; +        instruction.modrm_rrr.bank = DEFAULT_EVEX_REGISTER_SIZE;        } else {          instruction.modrm_rrr.bank = RegisterBank::D;        } @@ -4409,11 +4443,15 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        instruction.operand_count = 3;        if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.opcode = Opcode::VPEXTRQ; +        if isa_has_qwords() { +          instruction.opcode = Opcode::VPEXTRQ; +        } else { +          instruction.opcode = Opcode::VPEXTRD; +        }          if let OperandSpec::RegMMM = mem_oper { -          instruction.modrm_mmm.bank = RegisterBank::Q; +          instruction.modrm_mmm.bank = DEFAULT_EVEX_REGISTER_SIZE;          } else { -          instruction.mem_size = 8; +          instruction.mem_size = DEFAULT_EVEX_REGISTER_WIDTH;          }        } else {          instruction.opcode = Opcode::VPEXTRD; @@ -4438,13 +4476,15 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        instruction.operands[2] = mem_oper;        if mem_oper == OperandSpec::RegMMM {          if instruction.prefixes.evex_unchecked().vex().w() { -          instruction.modrm_mmm.bank = RegisterBank::Q; +          instruction.modrm_mmm.bank = DEFAULT_EVEX_REGISTER_SIZE;          } else {            instruction.modrm_mmm.bank = RegisterBank::D;          }          if instruction.prefixes.evex_unchecked().vex().w() {            if instruction.prefixes.evex_unchecked().broadcast() { -            instruction.operands[0] = OperandSpec::RegRRR_maskmerge_sae; +            if isa_has_qwords() { +              instruction.operands[0] = OperandSpec::RegRRR_maskmerge_sae; +            }            } else {              if instruction.prefixes.evex_unchecked().lp() || !instruction.prefixes.evex_unchecked().vex().l() {                return Err(DecodeError::InvalidOpcode); @@ -4456,7 +4496,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio            return Err(DecodeError::InvalidOpcode);          }          if instruction.prefixes.evex_unchecked().vex().w() { -          instruction.mem_size = 8; +          instruction.mem_size = DEFAULT_EVEX_REGISTER_WIDTH;          } else {            instruction.mem_size = 4;          } @@ -4725,7 +4765,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        set_rrr(instruction, modrm);        let mem_oper = read_E_vex(bytes, instruction, modrm, length, RegisterBank::X)?;        if instruction.prefixes.evex_unchecked().broadcast() && mem_oper == OperandSpec::RegMMM { -        if !instruction.prefixes.evex_unchecked().vex().w() && instruction.opcode == Opcode::VCVTSI2SD { +        if (!instruction.prefixes.evex_unchecked().vex().w() || !isa_has_qwords()) && instruction.opcode == Opcode::VCVTSI2SD {            instruction.operands[0] = OperandSpec::RegRRR;          } else {            instruction.operands[0] = OperandSpec::RegRRR_maskmerge_sae; @@ -4742,13 +4782,21 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio        if mem_oper == OperandSpec::RegMMM {          instruction.mem_size = 0;          if instruction.prefixes.evex_unchecked().vex().w() { -          instruction.modrm_mmm.bank = RegisterBank::Q; +          instruction.modrm_mmm.bank = DEFAULT_EVEX_REGISTER_SIZE;          } else {            instruction.modrm_mmm.bank = RegisterBank::D;          }        } else {          if instruction.prefixes.evex_unchecked().vex().w() { -          instruction.mem_size = 8; +          if isa_has_qwords() { +            instruction.mem_size = 8; +          } else { +            if [Opcode::VCVTSI2SS, Opcode::VCVTSI2SD].contains(&instruction.opcode) { +              instruction.mem_size = 4; +            } else { +              instruction.mem_size = 8; +            } +          }          } else {            instruction.mem_size = 4;          } @@ -4767,7 +4815,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio          instruction.operands[0] = OperandSpec::RegRRR;        }        if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.modrm_rrr.bank = RegisterBank::Q; +        instruction.modrm_rrr.bank = DEFAULT_EVEX_REGISTER_SIZE;        } else {          instruction.modrm_rrr.bank = RegisterBank::D;        } @@ -4794,7 +4842,7 @@ pub(crate) fn read_evex_operands<T: Iterator<Item=u8>>(bytes: &mut T, instructio          instruction.operands[0] = OperandSpec::RegRRR;        }        if instruction.prefixes.evex_unchecked().vex().w() { -        instruction.modrm_rrr.bank = RegisterBank::Q; +        instruction.modrm_rrr.bank = DEFAULT_EVEX_REGISTER_SIZE;        } else {          instruction.modrm_rrr.bank = RegisterBank::D;        } diff --git a/test/protected_mode/evex_generated.rs b/test/protected_mode/evex_generated.rs new file mode 100644 index 0000000..333c3c6 --- /dev/null +++ b/test/protected_mode/evex_generated.rs @@ -0,0 +1,16360 @@ +use std::fmt::Write; + +use yaxpeax_arch::{AddressBase, Decoder, LengthedInstruction}; +use yaxpeax_x86::protected_mode::InstDecoder; + +#[allow(dead_code)] +fn test_invalid(data: &[u8]) { +    test_invalid_under(&InstDecoder::default(), data); +} + +fn test_invalid_under(decoder: &InstDecoder, data: &[u8]) { +    if let Ok(inst) = decoder.decode(data.into_iter().cloned()) { +        panic!("decoded {:?} from {:02x?} under decoder {}", inst.opcode(), data, decoder); +    } else { +        // this is fine +    } +} + +#[allow(dead_code)] +fn test_display(data: &[u8], expected: &'static str) { +    test_display_under(&InstDecoder::default(), data, expected); +} + +fn test_display_under(decoder: &InstDecoder, data: &[u8], expected: &'static str) { +    let mut hex = String::new(); +    for b in data { +        write!(hex, "{:02x}", b).unwrap(); +    } +    match decoder.decode(data.into_iter().map(|x| *x)) { +        Ok(instr) => { +            let text = format!("{}", instr); +            assert!( +                text == expected, +                "display error for {}:\n  decoded: {:?} under decoder {}\n displayed: {}\n expected: {}\n", +                hex, +                instr, +                decoder, +                text, +                expected +            ); +            // while we're at it, test that the instruction is as long, and no longer, than its +            // input +            assert_eq!((0u32.wrapping_offset(instr.len()).to_linear()) as usize, data.len(), "instruction length is incorrect, wanted instruction {}", expected); +        }, +        Err(e) => { +            assert!(false, "decode error ({}) for {} under decoder {}:\n  expected: {}\n", e, hex, decoder, expected); +        } +    } +} + +fn test_avx_full(bytes: &[u8], text: &'static str) { +    // test with a hypothetical CPU that supports all of AVX512. at time of writing, no such CPU +    // exists. +    test_display_under(&InstDecoder::minimal().with_avx512(), bytes, text); +    test_display_under(&InstDecoder::default(), bytes, text); +    test_invalid_under(&InstDecoder::minimal(), bytes); +} + +#[allow(non_snake_case)] +#[test] +fn tests_None_0f() { +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x10, 0xca], "vmovups ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x10, 0x0a], "vmovups ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x10, 0x4a, 0x01], "vmovups ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x10, 0xca], "vmovups ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x10, 0xca], "vmovups ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x10, 0x0a], "vmovups ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x10, 0x0a], "vmovups ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x10, 0x4a, 0x01], "vmovups ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x10, 0x4a, 0x01], "vmovups ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x10, 0xca], "vmovups zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x10, 0x0a], "vmovups zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x10, 0x4a, 0x01], "vmovups zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x10, 0xca], "vmovups zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x10, 0xca], "vmovups zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x10, 0x0a], "vmovups zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x10, 0x0a], "vmovups zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x10, 0x4a, 0x01], "vmovups zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x10, 0x4a, 0x01], "vmovups zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x10, 0xca], "vmovups xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x10, 0x0a], "vmovups xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x10, 0x4a, 0x01], "vmovups xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x10, 0xca], "vmovups xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x10, 0xca], "vmovups xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x10, 0x0a], "vmovups xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x10, 0x0a], "vmovups xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x10, 0x4a, 0x01], "vmovups xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x10, 0x4a, 0x01], "vmovups xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x11, 0xca], "vmovups ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x11, 0xca], "vmovups ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x11, 0xca], "vmovups ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x11, 0x0a], "vmovups ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x11, 0x0a], "vmovups ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x11, 0x4a, 0x01], "vmovups ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x11, 0x4a, 0x01], "vmovups ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x11, 0xca], "vmovups zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x11, 0xca], "vmovups zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x11, 0xca], "vmovups zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x11, 0x0a], "vmovups zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x11, 0x0a], "vmovups zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x11, 0x4a, 0x01], "vmovups zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x11, 0x4a, 0x01], "vmovups zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x11, 0xca], "vmovups xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x11, 0xca], "vmovups xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x11, 0xca], "vmovups xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x11, 0x0a], "vmovups xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x11, 0x0a], "vmovups xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x11, 0x4a, 0x01], "vmovups xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x11, 0x4a, 0x01], "vmovups xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x12, 0xca], "vmovhlps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x12, 0x0a], "vmovlps xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x12, 0x4a, 0x01], "vmovlps xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x13, 0x0a], "vmovlps qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x13, 0x4a, 0x01], "vmovlps qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x14, 0x0a], "vunpcklps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x14, 0x4a, 0x01], "vunpcklps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x14, 0x0a], "vunpcklps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x14, 0x0a], "vunpcklps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x14, 0x4a, 0x01], "vunpcklps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x14, 0x4a, 0x01], "vunpcklps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x14, 0xca], "vunpcklps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x14, 0x0a], "vunpcklps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x14, 0x4a, 0x01], "vunpcklps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x14, 0xca], "vunpcklps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x14, 0xca], "vunpcklps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x14, 0x0a], "vunpcklps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x14, 0x0a], "vunpcklps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x14, 0x4a, 0x01], "vunpcklps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x14, 0x4a, 0x01], "vunpcklps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x14, 0x0a], "vunpcklps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x14, 0x4a, 0x01], "vunpcklps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x14, 0x0a], "vunpcklps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x14, 0x0a], "vunpcklps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x14, 0x4a, 0x01], "vunpcklps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x14, 0x4a, 0x01], "vunpcklps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x14, 0x0a], "vunpcklps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x14, 0x4a, 0x01], "vunpcklps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x14, 0x0a], "vunpcklps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x14, 0x0a], "vunpcklps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x14, 0x4a, 0x01], "vunpcklps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x14, 0x4a, 0x01], "vunpcklps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x14, 0xca], "vunpcklps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x14, 0x0a], "vunpcklps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x14, 0x4a, 0x01], "vunpcklps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x14, 0xca], "vunpcklps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x14, 0xca], "vunpcklps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x14, 0x0a], "vunpcklps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x14, 0x0a], "vunpcklps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x14, 0x4a, 0x01], "vunpcklps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x14, 0x4a, 0x01], "vunpcklps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x14, 0xca], "vunpcklps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x14, 0x0a], "vunpcklps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x14, 0x4a, 0x01], "vunpcklps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x14, 0xca], "vunpcklps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x14, 0xca], "vunpcklps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x14, 0x0a], "vunpcklps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x14, 0x0a], "vunpcklps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x14, 0x4a, 0x01], "vunpcklps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x14, 0x4a, 0x01], "vunpcklps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x15, 0x0a], "vunpckhps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x15, 0x4a, 0x01], "vunpckhps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x15, 0x0a], "vunpckhps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x15, 0x0a], "vunpckhps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x15, 0x4a, 0x01], "vunpckhps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x15, 0x4a, 0x01], "vunpckhps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x15, 0xca], "vunpckhps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x15, 0x0a], "vunpckhps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x15, 0x4a, 0x01], "vunpckhps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x15, 0xca], "vunpckhps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x15, 0xca], "vunpckhps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x15, 0x0a], "vunpckhps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x15, 0x0a], "vunpckhps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x15, 0x4a, 0x01], "vunpckhps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x15, 0x4a, 0x01], "vunpckhps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x15, 0x0a], "vunpckhps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x15, 0x4a, 0x01], "vunpckhps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x15, 0x0a], "vunpckhps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x15, 0x0a], "vunpckhps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x15, 0x4a, 0x01], "vunpckhps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x15, 0x4a, 0x01], "vunpckhps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x15, 0x0a], "vunpckhps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x15, 0x4a, 0x01], "vunpckhps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x15, 0x0a], "vunpckhps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x15, 0x0a], "vunpckhps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x15, 0x4a, 0x01], "vunpckhps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x15, 0x4a, 0x01], "vunpckhps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x15, 0xca], "vunpckhps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x15, 0x0a], "vunpckhps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x15, 0x4a, 0x01], "vunpckhps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x15, 0xca], "vunpckhps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x15, 0xca], "vunpckhps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x15, 0x0a], "vunpckhps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x15, 0x0a], "vunpckhps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x15, 0x4a, 0x01], "vunpckhps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x15, 0x4a, 0x01], "vunpckhps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x15, 0xca], "vunpckhps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x15, 0x0a], "vunpckhps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x15, 0x4a, 0x01], "vunpckhps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x15, 0xca], "vunpckhps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x15, 0xca], "vunpckhps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x15, 0x0a], "vunpckhps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x15, 0x0a], "vunpckhps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x15, 0x4a, 0x01], "vunpckhps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x15, 0x4a, 0x01], "vunpckhps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x16, 0xca], "vmovlhps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x16, 0x0a], "vmovhps xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x16, 0x4a, 0x01], "vmovhps xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x17, 0x0a], "vmovhps qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x17, 0x4a, 0x01], "vmovhps qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x28, 0xca], "vmovaps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x28, 0x0a], "vmovaps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x28, 0x4a, 0x01], "vmovaps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x28, 0xca], "vmovaps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x28, 0xca], "vmovaps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x28, 0x0a], "vmovaps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x28, 0x0a], "vmovaps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x28, 0x4a, 0x01], "vmovaps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x28, 0x4a, 0x01], "vmovaps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x28, 0xca], "vmovaps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x28, 0x0a], "vmovaps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x28, 0x4a, 0x01], "vmovaps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x28, 0xca], "vmovaps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x28, 0xca], "vmovaps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x28, 0x0a], "vmovaps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x28, 0x0a], "vmovaps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x28, 0x4a, 0x01], "vmovaps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x28, 0x4a, 0x01], "vmovaps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x28, 0xca], "vmovaps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x28, 0x0a], "vmovaps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x28, 0x4a, 0x01], "vmovaps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x28, 0xca], "vmovaps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x28, 0xca], "vmovaps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x28, 0x0a], "vmovaps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x28, 0x0a], "vmovaps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x28, 0x4a, 0x01], "vmovaps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x28, 0x4a, 0x01], "vmovaps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x29, 0xca], "vmovaps ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x29, 0xca], "vmovaps ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x29, 0xca], "vmovaps ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x29, 0x0a], "vmovaps ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x29, 0x0a], "vmovaps ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x29, 0x4a, 0x01], "vmovaps ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x29, 0x4a, 0x01], "vmovaps ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x29, 0xca], "vmovaps zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x29, 0xca], "vmovaps zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x29, 0xca], "vmovaps zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x29, 0x0a], "vmovaps zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x29, 0x0a], "vmovaps zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x29, 0x4a, 0x01], "vmovaps zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x29, 0x4a, 0x01], "vmovaps zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x29, 0xca], "vmovaps xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x29, 0xca], "vmovaps xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x29, 0xca], "vmovaps xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x29, 0x0a], "vmovaps xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x29, 0x0a], "vmovaps xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x29, 0x4a, 0x01], "vmovaps xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x29, 0x4a, 0x01], "vmovaps xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2b, 0x0a], "vmovntps ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2b, 0x4a, 0x01], "vmovntps ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x2b, 0x0a], "vmovntps zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x2b, 0x4a, 0x01], "vmovntps zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x2b, 0x0a], "vmovntps xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x2b, 0x4a, 0x01], "vmovntps xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x2e, 0xca], "vucomiss xmm1{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2e, 0xca], "vucomiss xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2e, 0x0a], "vucomiss xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2e, 0x4a, 0x01], "vucomiss xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x2f, 0xca], "vcomiss xmm1{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2f, 0xca], "vcomiss xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2f, 0x0a], "vcomiss xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x2f, 0x4a, 0x01], "vcomiss xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x51, 0xca], "vsqrtps zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x51, 0xca], "vsqrtps zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x51, 0xca], "vsqrtps zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x51, 0xca], "vsqrtps zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x51, 0x0a], "vsqrtps ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x51, 0x4a, 0x01], "vsqrtps ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x51, 0xca], "vsqrtps zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x51, 0xca], "vsqrtps zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x51, 0x0a], "vsqrtps ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x51, 0x0a], "vsqrtps ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x51, 0x4a, 0x01], "vsqrtps ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x51, 0x4a, 0x01], "vsqrtps ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x51, 0xca], "vsqrtps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x51, 0x0a], "vsqrtps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x51, 0x4a, 0x01], "vsqrtps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x51, 0xca], "vsqrtps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x51, 0xca], "vsqrtps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x51, 0x0a], "vsqrtps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x51, 0x0a], "vsqrtps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x51, 0x4a, 0x01], "vsqrtps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x51, 0x4a, 0x01], "vsqrtps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x51, 0xca], "vsqrtps zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x51, 0x0a], "vsqrtps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x51, 0x4a, 0x01], "vsqrtps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x51, 0xca], "vsqrtps zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x51, 0xca], "vsqrtps zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x51, 0x0a], "vsqrtps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x51, 0x0a], "vsqrtps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x51, 0x4a, 0x01], "vsqrtps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x51, 0x4a, 0x01], "vsqrtps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x51, 0xca], "vsqrtps zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x51, 0x0a], "vsqrtps xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x51, 0x4a, 0x01], "vsqrtps xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x51, 0xca], "vsqrtps zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x51, 0xca], "vsqrtps zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x51, 0x0a], "vsqrtps xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x51, 0x0a], "vsqrtps xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x51, 0x4a, 0x01], "vsqrtps xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x51, 0x4a, 0x01], "vsqrtps xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x51, 0xca], "vsqrtps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x51, 0x0a], "vsqrtps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x51, 0x4a, 0x01], "vsqrtps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x51, 0xca], "vsqrtps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x51, 0xca], "vsqrtps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x51, 0x0a], "vsqrtps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x51, 0x0a], "vsqrtps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x51, 0x4a, 0x01], "vsqrtps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x51, 0x4a, 0x01], "vsqrtps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x51, 0xca], "vsqrtps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x51, 0x0a], "vsqrtps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x51, 0x4a, 0x01], "vsqrtps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x51, 0xca], "vsqrtps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x51, 0xca], "vsqrtps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x51, 0x0a], "vsqrtps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x51, 0x0a], "vsqrtps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x51, 0x4a, 0x01], "vsqrtps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x51, 0x4a, 0x01], "vsqrtps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x54, 0x0a], "vandps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x54, 0x4a, 0x01], "vandps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x54, 0x0a], "vandps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x54, 0x0a], "vandps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x54, 0x4a, 0x01], "vandps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x54, 0x4a, 0x01], "vandps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x54, 0xca], "vandps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x54, 0x0a], "vandps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x54, 0x4a, 0x01], "vandps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x54, 0xca], "vandps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x54, 0xca], "vandps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x54, 0x0a], "vandps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x54, 0x0a], "vandps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x54, 0x4a, 0x01], "vandps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x54, 0x4a, 0x01], "vandps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x54, 0x0a], "vandps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x54, 0x4a, 0x01], "vandps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x54, 0x0a], "vandps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x54, 0x0a], "vandps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x54, 0x4a, 0x01], "vandps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x54, 0x4a, 0x01], "vandps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x54, 0x0a], "vandps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x54, 0x4a, 0x01], "vandps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x54, 0x0a], "vandps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x54, 0x0a], "vandps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x54, 0x4a, 0x01], "vandps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x54, 0x4a, 0x01], "vandps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x54, 0xca], "vandps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x54, 0x0a], "vandps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x54, 0x4a, 0x01], "vandps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x54, 0xca], "vandps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x54, 0xca], "vandps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x54, 0x0a], "vandps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x54, 0x0a], "vandps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x54, 0x4a, 0x01], "vandps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x54, 0x4a, 0x01], "vandps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x54, 0xca], "vandps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x54, 0x0a], "vandps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x54, 0x4a, 0x01], "vandps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x54, 0xca], "vandps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x54, 0xca], "vandps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x54, 0x0a], "vandps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x54, 0x0a], "vandps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x54, 0x4a, 0x01], "vandps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x54, 0x4a, 0x01], "vandps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x55, 0x0a], "vandnps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x55, 0x4a, 0x01], "vandnps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x55, 0x0a], "vandnps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x55, 0x0a], "vandnps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x55, 0x4a, 0x01], "vandnps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x55, 0x4a, 0x01], "vandnps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x55, 0xca], "vandnps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x55, 0x0a], "vandnps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x55, 0x4a, 0x01], "vandnps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x55, 0xca], "vandnps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x55, 0xca], "vandnps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x55, 0x0a], "vandnps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x55, 0x0a], "vandnps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x55, 0x4a, 0x01], "vandnps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x55, 0x4a, 0x01], "vandnps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x55, 0x0a], "vandnps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x55, 0x4a, 0x01], "vandnps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x55, 0x0a], "vandnps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x55, 0x0a], "vandnps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x55, 0x4a, 0x01], "vandnps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x55, 0x4a, 0x01], "vandnps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x55, 0x0a], "vandnps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x55, 0x4a, 0x01], "vandnps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x55, 0x0a], "vandnps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x55, 0x0a], "vandnps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x55, 0x4a, 0x01], "vandnps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x55, 0x4a, 0x01], "vandnps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x55, 0xca], "vandnps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x55, 0x0a], "vandnps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x55, 0x4a, 0x01], "vandnps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x55, 0xca], "vandnps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x55, 0xca], "vandnps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x55, 0x0a], "vandnps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x55, 0x0a], "vandnps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x55, 0x4a, 0x01], "vandnps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x55, 0x4a, 0x01], "vandnps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x55, 0xca], "vandnps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x55, 0x0a], "vandnps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x55, 0x4a, 0x01], "vandnps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x55, 0xca], "vandnps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x55, 0xca], "vandnps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x55, 0x0a], "vandnps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x55, 0x0a], "vandnps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x55, 0x4a, 0x01], "vandnps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x55, 0x4a, 0x01], "vandnps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x56, 0x0a], "vorps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x56, 0x4a, 0x01], "vorps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x56, 0x0a], "vorps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x56, 0x0a], "vorps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x56, 0x4a, 0x01], "vorps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x56, 0x4a, 0x01], "vorps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x56, 0xca], "vorps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x56, 0x0a], "vorps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x56, 0x4a, 0x01], "vorps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x56, 0xca], "vorps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x56, 0xca], "vorps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x56, 0x0a], "vorps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x56, 0x0a], "vorps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x56, 0x4a, 0x01], "vorps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x56, 0x4a, 0x01], "vorps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x56, 0x0a], "vorps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x56, 0x4a, 0x01], "vorps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x56, 0x0a], "vorps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x56, 0x0a], "vorps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x56, 0x4a, 0x01], "vorps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x56, 0x4a, 0x01], "vorps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x56, 0x0a], "vorps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x56, 0x4a, 0x01], "vorps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x56, 0x0a], "vorps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x56, 0x0a], "vorps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x56, 0x4a, 0x01], "vorps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x56, 0x4a, 0x01], "vorps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x56, 0xca], "vorps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x56, 0x0a], "vorps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x56, 0x4a, 0x01], "vorps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x56, 0xca], "vorps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x56, 0xca], "vorps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x56, 0x0a], "vorps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x56, 0x0a], "vorps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x56, 0x4a, 0x01], "vorps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x56, 0x4a, 0x01], "vorps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x56, 0xca], "vorps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x56, 0x0a], "vorps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x56, 0x4a, 0x01], "vorps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x56, 0xca], "vorps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x56, 0xca], "vorps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x56, 0x0a], "vorps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x56, 0x0a], "vorps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x56, 0x4a, 0x01], "vorps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x56, 0x4a, 0x01], "vorps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x57, 0x0a], "vxorps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x57, 0x4a, 0x01], "vxorps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x57, 0x0a], "vxorps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x57, 0x0a], "vxorps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x57, 0x4a, 0x01], "vxorps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x57, 0x4a, 0x01], "vxorps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x57, 0xca], "vxorps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x57, 0x0a], "vxorps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x57, 0x4a, 0x01], "vxorps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x57, 0xca], "vxorps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x57, 0xca], "vxorps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x57, 0x0a], "vxorps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x57, 0x0a], "vxorps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x57, 0x4a, 0x01], "vxorps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x57, 0x4a, 0x01], "vxorps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x57, 0x0a], "vxorps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x57, 0x4a, 0x01], "vxorps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x57, 0x0a], "vxorps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x57, 0x0a], "vxorps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x57, 0x4a, 0x01], "vxorps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x57, 0x4a, 0x01], "vxorps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x57, 0x0a], "vxorps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x57, 0x4a, 0x01], "vxorps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x57, 0x0a], "vxorps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x57, 0x0a], "vxorps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x57, 0x4a, 0x01], "vxorps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x57, 0x4a, 0x01], "vxorps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x57, 0xca], "vxorps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x57, 0x0a], "vxorps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x57, 0x4a, 0x01], "vxorps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x57, 0xca], "vxorps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x57, 0xca], "vxorps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x57, 0x0a], "vxorps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x57, 0x0a], "vxorps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x57, 0x4a, 0x01], "vxorps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x57, 0x4a, 0x01], "vxorps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x57, 0xca], "vxorps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x57, 0x0a], "vxorps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x57, 0x4a, 0x01], "vxorps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x57, 0xca], "vxorps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x57, 0xca], "vxorps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x57, 0x0a], "vxorps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x57, 0x0a], "vxorps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x57, 0x4a, 0x01], "vxorps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x57, 0x4a, 0x01], "vxorps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x58, 0xca], "vaddps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x58, 0xca], "vaddps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x58, 0xca], "vaddps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x58, 0xca], "vaddps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x58, 0x0a], "vaddps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x58, 0x4a, 0x01], "vaddps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x58, 0xca], "vaddps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x58, 0xca], "vaddps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x58, 0x0a], "vaddps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x58, 0x0a], "vaddps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x58, 0x4a, 0x01], "vaddps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x58, 0x4a, 0x01], "vaddps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x58, 0xca], "vaddps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x58, 0x0a], "vaddps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x58, 0x4a, 0x01], "vaddps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x58, 0xca], "vaddps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x58, 0xca], "vaddps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x58, 0x0a], "vaddps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x58, 0x0a], "vaddps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x58, 0x4a, 0x01], "vaddps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x58, 0x4a, 0x01], "vaddps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x58, 0xca], "vaddps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x58, 0x0a], "vaddps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x58, 0x4a, 0x01], "vaddps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x58, 0xca], "vaddps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x58, 0xca], "vaddps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x58, 0x0a], "vaddps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x58, 0x0a], "vaddps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x58, 0x4a, 0x01], "vaddps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x58, 0x4a, 0x01], "vaddps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x58, 0xca], "vaddps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x58, 0x0a], "vaddps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x58, 0x4a, 0x01], "vaddps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x58, 0xca], "vaddps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x58, 0xca], "vaddps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x58, 0x0a], "vaddps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x58, 0x0a], "vaddps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x58, 0x4a, 0x01], "vaddps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x58, 0x4a, 0x01], "vaddps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x58, 0xca], "vaddps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x58, 0x0a], "vaddps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x58, 0x4a, 0x01], "vaddps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x58, 0xca], "vaddps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x58, 0xca], "vaddps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x58, 0x0a], "vaddps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x58, 0x0a], "vaddps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x58, 0x4a, 0x01], "vaddps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x58, 0x4a, 0x01], "vaddps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x58, 0xca], "vaddps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x58, 0x0a], "vaddps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x58, 0x4a, 0x01], "vaddps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x58, 0xca], "vaddps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x58, 0xca], "vaddps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x58, 0x0a], "vaddps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x58, 0x0a], "vaddps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x58, 0x4a, 0x01], "vaddps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x58, 0x4a, 0x01], "vaddps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x59, 0xca], "vmulps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x59, 0xca], "vmulps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x59, 0xca], "vmulps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x59, 0xca], "vmulps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x59, 0x0a], "vmulps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x59, 0x4a, 0x01], "vmulps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x59, 0xca], "vmulps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x59, 0xca], "vmulps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x59, 0x0a], "vmulps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x59, 0x0a], "vmulps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x59, 0x4a, 0x01], "vmulps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x59, 0x4a, 0x01], "vmulps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x59, 0xca], "vmulps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x59, 0x0a], "vmulps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x59, 0x4a, 0x01], "vmulps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x59, 0xca], "vmulps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x59, 0xca], "vmulps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x59, 0x0a], "vmulps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x59, 0x0a], "vmulps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x59, 0x4a, 0x01], "vmulps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x59, 0x4a, 0x01], "vmulps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x59, 0xca], "vmulps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x59, 0x0a], "vmulps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x59, 0x4a, 0x01], "vmulps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x59, 0xca], "vmulps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x59, 0xca], "vmulps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x59, 0x0a], "vmulps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x59, 0x0a], "vmulps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x59, 0x4a, 0x01], "vmulps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x59, 0x4a, 0x01], "vmulps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x59, 0xca], "vmulps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x59, 0x0a], "vmulps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x59, 0x4a, 0x01], "vmulps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x59, 0xca], "vmulps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x59, 0xca], "vmulps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x59, 0x0a], "vmulps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x59, 0x0a], "vmulps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x59, 0x4a, 0x01], "vmulps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x59, 0x4a, 0x01], "vmulps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x59, 0xca], "vmulps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x59, 0x0a], "vmulps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x59, 0x4a, 0x01], "vmulps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x59, 0xca], "vmulps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x59, 0xca], "vmulps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x59, 0x0a], "vmulps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x59, 0x0a], "vmulps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x59, 0x4a, 0x01], "vmulps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x59, 0x4a, 0x01], "vmulps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x59, 0xca], "vmulps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x59, 0x0a], "vmulps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x59, 0x4a, 0x01], "vmulps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x59, 0xca], "vmulps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x59, 0xca], "vmulps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x59, 0x0a], "vmulps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x59, 0x0a], "vmulps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x59, 0x4a, 0x01], "vmulps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x59, 0x4a, 0x01], "vmulps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x5a, 0xca], "vcvtps2pd zmm1{k5}{z}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x5a, 0xca], "vcvtps2pd zmm1{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x5a, 0xca], "vcvtps2pd zmm1{k5}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5a, 0x0a], "vcvtps2pd ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5a, 0x4a, 0x01], "vcvtps2pd ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5a, 0x0a], "vcvtps2pd ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5a, 0x0a], "vcvtps2pd ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5a, 0x4a, 0x01], "vcvtps2pd ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5a, 0x4a, 0x01], "vcvtps2pd ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5a, 0xca], "vcvtps2pd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5a, 0x0a], "vcvtps2pd ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5a, 0x4a, 0x01], "vcvtps2pd ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5a, 0xca], "vcvtps2pd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5a, 0xca], "vcvtps2pd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5a, 0x0a], "vcvtps2pd ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5a, 0x0a], "vcvtps2pd ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5a, 0x4a, 0x01], "vcvtps2pd ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5a, 0x4a, 0x01], "vcvtps2pd ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5a, 0x0a], "vcvtps2pd zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5a, 0x4a, 0x01], "vcvtps2pd zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5a, 0x0a], "vcvtps2pd zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5a, 0x0a], "vcvtps2pd zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5a, 0x4a, 0x01], "vcvtps2pd zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5a, 0x4a, 0x01], "vcvtps2pd zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5a, 0x0a], "vcvtps2pd xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5a, 0x4a, 0x01], "vcvtps2pd xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5a, 0x0a], "vcvtps2pd xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5a, 0x0a], "vcvtps2pd xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5a, 0x4a, 0x01], "vcvtps2pd xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5a, 0x4a, 0x01], "vcvtps2pd xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5a, 0xca], "vcvtps2pd zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5a, 0x0a], "vcvtps2pd zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5a, 0x4a, 0x01], "vcvtps2pd zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5a, 0xca], "vcvtps2pd zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5a, 0xca], "vcvtps2pd zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5a, 0x0a], "vcvtps2pd zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5a, 0x0a], "vcvtps2pd zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5a, 0x4a, 0x01], "vcvtps2pd zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5a, 0x4a, 0x01], "vcvtps2pd zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5a, 0xca], "vcvtps2pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5a, 0x0a], "vcvtps2pd xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5a, 0x4a, 0x01], "vcvtps2pd xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5a, 0xca], "vcvtps2pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5a, 0xca], "vcvtps2pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5a, 0x0a], "vcvtps2pd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5a, 0x0a], "vcvtps2pd xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5a, 0x4a, 0x01], "vcvtps2pd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5a, 0x4a, 0x01], "vcvtps2pd xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xfd, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x78, 0x5b, 0xca], "vcvtqq2ps ymm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x7d, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x5b, 0xca], "vcvtqq2ps ymm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x5b, 0x0a], "vcvtqq2ps xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x5b, 0xca], "vcvtqq2ps xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x5b, 0xca], "vcvtqq2ps xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x5b, 0xca], "vcvtqq2ps xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x5b, 0x0a], "vcvtqq2ps xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x5b, 0xca], "vcvtdq2ps zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5b, 0x0a], "vcvtdq2ps ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5b, 0x4a, 0x01], "vcvtdq2ps ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5b, 0xca], "vcvtdq2ps zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5b, 0x0a], "vcvtdq2ps ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5b, 0x0a], "vcvtdq2ps ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5b, 0x4a, 0x01], "vcvtdq2ps ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5b, 0x4a, 0x01], "vcvtdq2ps ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5b, 0xca], "vcvtdq2ps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5b, 0x0a], "vcvtdq2ps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5b, 0x4a, 0x01], "vcvtdq2ps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5b, 0xca], "vcvtdq2ps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5b, 0xca], "vcvtdq2ps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5b, 0x0a], "vcvtdq2ps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5b, 0x0a], "vcvtdq2ps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5b, 0x4a, 0x01], "vcvtdq2ps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5b, 0x4a, 0x01], "vcvtdq2ps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x5b, 0x0a], "vcvtqq2ps ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x5b, 0x4a, 0x01], "vcvtqq2ps ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x5b, 0xca], "vcvtqq2ps ymm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x5b, 0x0a], "vcvtqq2ps ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x5b, 0x0a], "vcvtqq2ps ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x5b, 0x4a, 0x01], "vcvtqq2ps ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x5b, 0x4a, 0x01], "vcvtqq2ps ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x5b, 0xca], "vcvtqq2ps ymm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x5b, 0x0a], "vcvtqq2ps xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x5b, 0x0a], "vcvtqq2ps ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x5b, 0x4a, 0x01], "vcvtqq2ps ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x5b, 0xca], "vcvtqq2ps ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x5b, 0xca], "vcvtqq2ps ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x5b, 0x0a], "vcvtqq2ps ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x5b, 0x0a], "vcvtqq2ps ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x5b, 0x4a, 0x01], "vcvtqq2ps ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x5b, 0x4a, 0x01], "vcvtqq2ps ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x5b, 0xca], "vcvtqq2ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x5b, 0xca], "vcvtqq2ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x5b, 0xca], "vcvtqq2ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x5b, 0x0a], "vcvtqq2ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x5b, 0x0a], "vcvtqq2ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x5b, 0x4a, 0x01], "vcvtqq2ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5b, 0x0a], "vcvtdq2ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5b, 0x4a, 0x01], "vcvtdq2ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5b, 0xca], "vcvtdq2ps zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5b, 0x0a], "vcvtdq2ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5b, 0x0a], "vcvtdq2ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5b, 0x4a, 0x01], "vcvtdq2ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5b, 0x4a, 0x01], "vcvtdq2ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5b, 0x0a], "vcvtdq2ps xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5b, 0x4a, 0x01], "vcvtdq2ps xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5b, 0xca], "vcvtdq2ps zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5b, 0x0a], "vcvtdq2ps xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5b, 0x0a], "vcvtdq2ps xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5b, 0x4a, 0x01], "vcvtdq2ps xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5b, 0x4a, 0x01], "vcvtdq2ps xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5b, 0x0a], "vcvtdq2ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5b, 0x4a, 0x01], "vcvtdq2ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5b, 0xca], "vcvtdq2ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5b, 0xca], "vcvtdq2ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5b, 0x0a], "vcvtdq2ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5b, 0x0a], "vcvtdq2ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5b, 0x4a, 0x01], "vcvtdq2ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5b, 0x4a, 0x01], "vcvtdq2ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5b, 0xca], "vcvtdq2ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5b, 0x0a], "vcvtdq2ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5b, 0x4a, 0x01], "vcvtdq2ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5b, 0xca], "vcvtdq2ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5b, 0xca], "vcvtdq2ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5b, 0x0a], "vcvtdq2ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5b, 0x0a], "vcvtdq2ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5b, 0x4a, 0x01], "vcvtdq2ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5b, 0x4a, 0x01], "vcvtdq2ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x5c, 0xca], "vsubps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x5c, 0xca], "vsubps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x5c, 0xca], "vsubps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5c, 0xca], "vsubps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5c, 0x0a], "vsubps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5c, 0x4a, 0x01], "vsubps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5c, 0xca], "vsubps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5c, 0xca], "vsubps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5c, 0x0a], "vsubps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5c, 0x0a], "vsubps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5c, 0x4a, 0x01], "vsubps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5c, 0x4a, 0x01], "vsubps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5c, 0xca], "vsubps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5c, 0x0a], "vsubps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5c, 0x4a, 0x01], "vsubps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5c, 0xca], "vsubps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5c, 0xca], "vsubps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5c, 0x0a], "vsubps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5c, 0x0a], "vsubps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5c, 0x4a, 0x01], "vsubps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5c, 0x4a, 0x01], "vsubps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5c, 0xca], "vsubps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5c, 0x0a], "vsubps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5c, 0x4a, 0x01], "vsubps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5c, 0xca], "vsubps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5c, 0xca], "vsubps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5c, 0x0a], "vsubps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5c, 0x0a], "vsubps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5c, 0x4a, 0x01], "vsubps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5c, 0x4a, 0x01], "vsubps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5c, 0xca], "vsubps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5c, 0x0a], "vsubps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5c, 0x4a, 0x01], "vsubps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5c, 0xca], "vsubps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5c, 0xca], "vsubps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5c, 0x0a], "vsubps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5c, 0x0a], "vsubps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5c, 0x4a, 0x01], "vsubps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5c, 0x4a, 0x01], "vsubps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5c, 0xca], "vsubps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5c, 0x0a], "vsubps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5c, 0x4a, 0x01], "vsubps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5c, 0xca], "vsubps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5c, 0xca], "vsubps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5c, 0x0a], "vsubps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5c, 0x0a], "vsubps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5c, 0x4a, 0x01], "vsubps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5c, 0x4a, 0x01], "vsubps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5c, 0xca], "vsubps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5c, 0x0a], "vsubps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5c, 0x4a, 0x01], "vsubps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5c, 0xca], "vsubps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5c, 0xca], "vsubps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5c, 0x0a], "vsubps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5c, 0x0a], "vsubps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5c, 0x4a, 0x01], "vsubps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5c, 0x4a, 0x01], "vsubps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x5d, 0xca], "vminps zmm1{k5}{z}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x5d, 0xca], "vminps zmm1{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x5d, 0xca], "vminps zmm1{k5}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5d, 0x0a], "vminps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5d, 0x4a, 0x01], "vminps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5d, 0x0a], "vminps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5d, 0x0a], "vminps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5d, 0x4a, 0x01], "vminps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5d, 0x4a, 0x01], "vminps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5d, 0xca], "vminps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5d, 0x0a], "vminps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5d, 0x4a, 0x01], "vminps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5d, 0xca], "vminps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5d, 0xca], "vminps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5d, 0x0a], "vminps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5d, 0x0a], "vminps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5d, 0x4a, 0x01], "vminps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5d, 0x4a, 0x01], "vminps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5d, 0x0a], "vminps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5d, 0x4a, 0x01], "vminps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5d, 0x0a], "vminps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5d, 0x0a], "vminps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5d, 0x4a, 0x01], "vminps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5d, 0x4a, 0x01], "vminps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5d, 0x0a], "vminps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5d, 0x4a, 0x01], "vminps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5d, 0x0a], "vminps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5d, 0x0a], "vminps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5d, 0x4a, 0x01], "vminps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5d, 0x4a, 0x01], "vminps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5d, 0xca], "vminps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5d, 0x0a], "vminps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5d, 0x4a, 0x01], "vminps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5d, 0xca], "vminps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5d, 0xca], "vminps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5d, 0x0a], "vminps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5d, 0x0a], "vminps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5d, 0x4a, 0x01], "vminps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5d, 0x4a, 0x01], "vminps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5d, 0xca], "vminps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5d, 0x0a], "vminps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5d, 0x4a, 0x01], "vminps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5d, 0xca], "vminps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5d, 0xca], "vminps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5d, 0x0a], "vminps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5d, 0x0a], "vminps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5d, 0x4a, 0x01], "vminps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5d, 0x4a, 0x01], "vminps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x5e, 0xca], "vdivps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x5e, 0xca], "vdivps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x5e, 0xca], "vdivps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5e, 0xca], "vdivps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5e, 0x0a], "vdivps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5e, 0x4a, 0x01], "vdivps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5e, 0xca], "vdivps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5e, 0xca], "vdivps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5e, 0x0a], "vdivps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5e, 0x0a], "vdivps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5e, 0x4a, 0x01], "vdivps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5e, 0x4a, 0x01], "vdivps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5e, 0xca], "vdivps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5e, 0x0a], "vdivps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5e, 0x4a, 0x01], "vdivps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5e, 0xca], "vdivps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5e, 0xca], "vdivps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5e, 0x0a], "vdivps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5e, 0x0a], "vdivps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5e, 0x4a, 0x01], "vdivps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5e, 0x4a, 0x01], "vdivps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5e, 0xca], "vdivps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5e, 0x0a], "vdivps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5e, 0x4a, 0x01], "vdivps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5e, 0xca], "vdivps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5e, 0xca], "vdivps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5e, 0x0a], "vdivps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5e, 0x0a], "vdivps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5e, 0x4a, 0x01], "vdivps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5e, 0x4a, 0x01], "vdivps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5e, 0xca], "vdivps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5e, 0x0a], "vdivps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5e, 0x4a, 0x01], "vdivps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5e, 0xca], "vdivps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5e, 0xca], "vdivps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5e, 0x0a], "vdivps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5e, 0x0a], "vdivps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5e, 0x4a, 0x01], "vdivps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5e, 0x4a, 0x01], "vdivps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5e, 0xca], "vdivps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5e, 0x0a], "vdivps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5e, 0x4a, 0x01], "vdivps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5e, 0xca], "vdivps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5e, 0xca], "vdivps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5e, 0x0a], "vdivps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5e, 0x0a], "vdivps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5e, 0x4a, 0x01], "vdivps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5e, 0x4a, 0x01], "vdivps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5e, 0xca], "vdivps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5e, 0x0a], "vdivps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5e, 0x4a, 0x01], "vdivps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5e, 0xca], "vdivps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5e, 0xca], "vdivps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5e, 0x0a], "vdivps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5e, 0x0a], "vdivps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5e, 0x4a, 0x01], "vdivps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5e, 0x4a, 0x01], "vdivps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x5f, 0xca], "vmaxps zmm1{k5}{z}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x5f, 0xca], "vmaxps zmm1{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x5f, 0xca], "vmaxps zmm1{k5}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5f, 0x0a], "vmaxps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x5f, 0x4a, 0x01], "vmaxps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5f, 0x0a], "vmaxps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5f, 0x0a], "vmaxps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x5f, 0x4a, 0x01], "vmaxps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x5f, 0x4a, 0x01], "vmaxps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5f, 0xca], "vmaxps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5f, 0x0a], "vmaxps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x5f, 0x4a, 0x01], "vmaxps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5f, 0xca], "vmaxps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5f, 0xca], "vmaxps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5f, 0x0a], "vmaxps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5f, 0x0a], "vmaxps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x5f, 0x4a, 0x01], "vmaxps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x5f, 0x4a, 0x01], "vmaxps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5f, 0x0a], "vmaxps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x5f, 0x4a, 0x01], "vmaxps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5f, 0x0a], "vmaxps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5f, 0x0a], "vmaxps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x5f, 0x4a, 0x01], "vmaxps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x5f, 0x4a, 0x01], "vmaxps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5f, 0x0a], "vmaxps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x5f, 0x4a, 0x01], "vmaxps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5f, 0x0a], "vmaxps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5f, 0x0a], "vmaxps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x5f, 0x4a, 0x01], "vmaxps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x5f, 0x4a, 0x01], "vmaxps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5f, 0xca], "vmaxps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5f, 0x0a], "vmaxps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x5f, 0x4a, 0x01], "vmaxps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5f, 0xca], "vmaxps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5f, 0xca], "vmaxps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5f, 0x0a], "vmaxps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5f, 0x0a], "vmaxps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x5f, 0x4a, 0x01], "vmaxps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x5f, 0x4a, 0x01], "vmaxps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5f, 0xca], "vmaxps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5f, 0x0a], "vmaxps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x5f, 0x4a, 0x01], "vmaxps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5f, 0xca], "vmaxps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5f, 0xca], "vmaxps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5f, 0x0a], "vmaxps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5f, 0x0a], "vmaxps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x5f, 0x4a, 0x01], "vmaxps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x5f, 0x4a, 0x01], "vmaxps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xfd, 0x78, 0xca], "vcvttpd2udq ymm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x78, 0x78, 0xca], "vcvttpd2udq ymm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x7d, 0x78, 0xca], "vcvttpd2udq ymm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x78, 0x0a], "vcvttpd2udq xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x78, 0xca], "vcvttpd2udq xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x78, 0xca], "vcvttpd2udq xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x78, 0xca], "vcvttpd2udq xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x78, 0x0a], "vcvttpd2udq xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x78, 0xca], "vcvttps2udq zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x78, 0xca], "vcvttps2udq zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x78, 0xca], "vcvttps2udq zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x78, 0x0a], "vcvttps2udq ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x78, 0x4a, 0x01], "vcvttps2udq ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x78, 0x0a], "vcvttps2udq ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x78, 0x0a], "vcvttps2udq ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x78, 0x4a, 0x01], "vcvttps2udq ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x78, 0x4a, 0x01], "vcvttps2udq ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x78, 0xca], "vcvttps2udq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x78, 0x0a], "vcvttps2udq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x78, 0x4a, 0x01], "vcvttps2udq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x78, 0xca], "vcvttps2udq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x78, 0xca], "vcvttps2udq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x78, 0x0a], "vcvttps2udq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x78, 0x0a], "vcvttps2udq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x78, 0x4a, 0x01], "vcvttps2udq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x78, 0x4a, 0x01], "vcvttps2udq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x78, 0x0a], "vcvttpd2udq ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x78, 0x4a, 0x01], "vcvttpd2udq ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x78, 0x0a], "vcvttpd2udq ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x78, 0x0a], "vcvttpd2udq ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x78, 0x4a, 0x01], "vcvttpd2udq ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x78, 0x4a, 0x01], "vcvttpd2udq ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x78, 0x0a], "vcvttpd2udq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x78, 0xca], "vcvttpd2udq ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x78, 0x0a], "vcvttpd2udq ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x78, 0x4a, 0x01], "vcvttpd2udq ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x78, 0xca], "vcvttpd2udq ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x78, 0xca], "vcvttpd2udq ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x78, 0x0a], "vcvttpd2udq ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x78, 0x0a], "vcvttpd2udq ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x78, 0x4a, 0x01], "vcvttpd2udq ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x78, 0x4a, 0x01], "vcvttpd2udq ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x78, 0xca], "vcvttpd2udq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x78, 0xca], "vcvttpd2udq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x78, 0xca], "vcvttpd2udq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x78, 0x0a], "vcvttpd2udq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x78, 0x0a], "vcvttpd2udq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x78, 0x4a, 0x01], "vcvttpd2udq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x78, 0x0a], "vcvttps2udq zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x78, 0x4a, 0x01], "vcvttps2udq zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x78, 0x0a], "vcvttps2udq zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x78, 0x0a], "vcvttps2udq zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x78, 0x4a, 0x01], "vcvttps2udq zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x78, 0x4a, 0x01], "vcvttps2udq zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x78, 0x0a], "vcvttps2udq xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x78, 0x4a, 0x01], "vcvttps2udq xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x78, 0x0a], "vcvttps2udq xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x78, 0x0a], "vcvttps2udq xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x78, 0x4a, 0x01], "vcvttps2udq xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x78, 0x4a, 0x01], "vcvttps2udq xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x78, 0xca], "vcvttps2udq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x78, 0x0a], "vcvttps2udq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x78, 0x4a, 0x01], "vcvttps2udq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x78, 0xca], "vcvttps2udq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x78, 0xca], "vcvttps2udq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x78, 0x0a], "vcvttps2udq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x78, 0x0a], "vcvttps2udq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x78, 0x4a, 0x01], "vcvttps2udq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x78, 0x4a, 0x01], "vcvttps2udq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x78, 0xca], "vcvttps2udq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x78, 0x0a], "vcvttps2udq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x78, 0x4a, 0x01], "vcvttps2udq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x78, 0xca], "vcvttps2udq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x78, 0xca], "vcvttps2udq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x78, 0x0a], "vcvttps2udq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x78, 0x0a], "vcvttps2udq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x78, 0x4a, 0x01], "vcvttps2udq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x78, 0x4a, 0x01], "vcvttps2udq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xfd, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x78, 0x79, 0xca], "vcvtpd2udq ymm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x7d, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xbd, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x79, 0xca], "vcvtpd2udq ymm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x79, 0x0a], "vcvtpd2udq xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x38, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x3d, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x79, 0xca], "vcvtpd2udq xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xad, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x79, 0xca], "vcvtpd2udq xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x79, 0xca], "vcvtpd2udq xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x79, 0x0a], "vcvtpd2udq xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x28, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x2d, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xfd, 0x79, 0xca], "vcvtps2udq zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0x79, 0xca], "vcvtps2udq zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0x79, 0xca], "vcvtps2udq zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x79, 0xca], "vcvtps2udq zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x79, 0x0a], "vcvtps2udq ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0x79, 0x4a, 0x01], "vcvtps2udq ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x79, 0xca], "vcvtps2udq zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x79, 0xca], "vcvtps2udq zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x79, 0x0a], "vcvtps2udq ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x79, 0x0a], "vcvtps2udq ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0x79, 0x4a, 0x01], "vcvtps2udq ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0x79, 0x4a, 0x01], "vcvtps2udq ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x79, 0xca], "vcvtps2udq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x79, 0x0a], "vcvtps2udq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0x79, 0x4a, 0x01], "vcvtps2udq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x79, 0xca], "vcvtps2udq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x79, 0xca], "vcvtps2udq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x79, 0x0a], "vcvtps2udq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x79, 0x0a], "vcvtps2udq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0x79, 0x4a, 0x01], "vcvtps2udq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0x79, 0x4a, 0x01], "vcvtps2udq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x79, 0x0a], "vcvtpd2udq ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xdd, 0x79, 0x4a, 0x01], "vcvtpd2udq ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x79, 0xca], "vcvtpd2udq ymm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x79, 0x0a], "vcvtpd2udq ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x79, 0x0a], "vcvtpd2udq ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x58, 0x79, 0x4a, 0x01], "vcvtpd2udq ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x5d, 0x79, 0x4a, 0x01], "vcvtpd2udq ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x9d, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x79, 0xca], "vcvtpd2udq ymm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x79, 0x0a], "vcvtpd2udq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x18, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x1d, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x79, 0xca], "vcvtpd2udq ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x79, 0x0a], "vcvtpd2udq ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0xcd, 0x79, 0x4a, 0x01], "vcvtpd2udq ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x79, 0xca], "vcvtpd2udq ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x79, 0xca], "vcvtpd2udq ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x79, 0x0a], "vcvtpd2udq ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x79, 0x0a], "vcvtpd2udq ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x48, 0x79, 0x4a, 0x01], "vcvtpd2udq ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x4d, 0x79, 0x4a, 0x01], "vcvtpd2udq ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x79, 0xca], "vcvtpd2udq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x8d, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x79, 0xca], "vcvtpd2udq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x79, 0xca], "vcvtpd2udq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x79, 0x0a], "vcvtpd2udq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x79, 0x0a], "vcvtpd2udq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x08, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfc, 0x0d, 0x79, 0x4a, 0x01], "vcvtpd2udq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x79, 0xca], "vcvtps2udq zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x79, 0x0a], "vcvtps2udq zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0x79, 0x4a, 0x01], "vcvtps2udq zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x79, 0xca], "vcvtps2udq zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x79, 0xca], "vcvtps2udq zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x79, 0x0a], "vcvtps2udq zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x79, 0x0a], "vcvtps2udq zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0x79, 0x4a, 0x01], "vcvtps2udq zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0x79, 0x4a, 0x01], "vcvtps2udq zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x79, 0xca], "vcvtps2udq zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x79, 0x0a], "vcvtps2udq xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0x79, 0x4a, 0x01], "vcvtps2udq xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x79, 0xca], "vcvtps2udq zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x79, 0xca], "vcvtps2udq zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x79, 0x0a], "vcvtps2udq xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x79, 0x0a], "vcvtps2udq xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0x79, 0x4a, 0x01], "vcvtps2udq xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0x79, 0x4a, 0x01], "vcvtps2udq xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x79, 0xca], "vcvtps2udq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x79, 0x0a], "vcvtps2udq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0x79, 0x4a, 0x01], "vcvtps2udq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x79, 0xca], "vcvtps2udq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x79, 0xca], "vcvtps2udq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x79, 0x0a], "vcvtps2udq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x79, 0x0a], "vcvtps2udq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0x79, 0x4a, 0x01], "vcvtps2udq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0x79, 0x4a, 0x01], "vcvtps2udq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x79, 0xca], "vcvtps2udq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x79, 0x0a], "vcvtps2udq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0x79, 0x4a, 0x01], "vcvtps2udq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x79, 0xca], "vcvtps2udq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x79, 0xca], "vcvtps2udq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x79, 0x0a], "vcvtps2udq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x79, 0x0a], "vcvtps2udq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0x79, 0x4a, 0x01], "vcvtps2udq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0x79, 0x4a, 0x01], "vcvtps2udq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x78, 0xc2, 0xca, 0xcc], "vcmpps k1{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x7d, 0xc2, 0xca, 0xcc], "vcmpps k1{k5}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0xc2, 0x0a, 0xcc], "vcmpps k1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0xc2, 0x0a, 0xcc], "vcmpps k1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0xc2, 0xca, 0xcc], "vcmpps k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0xc2, 0xca, 0xcc], "vcmpps k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0xc2, 0x0a, 0xcc], "vcmpps k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0xc2, 0x0a, 0xcc], "vcmpps k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0xc2, 0x0a, 0xcc], "vcmpps k1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0xc2, 0x0a, 0xcc], "vcmpps k1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0xc2, 0x0a, 0xcc], "vcmpps k1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0xc2, 0x0a, 0xcc], "vcmpps k1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0xc2, 0xca, 0xcc], "vcmpps k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0xc2, 0xca, 0xcc], "vcmpps k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0xc2, 0x0a, 0xcc], "vcmpps k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0xc2, 0x0a, 0xcc], "vcmpps k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0xc2, 0xca, 0xcc], "vcmpps k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0xc2, 0xca, 0xcc], "vcmpps k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0xc2, 0x0a, 0xcc], "vcmpps k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0xc2, 0x0a, 0xcc], "vcmpps k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpps k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0xc6, 0x0a, 0xcc], "vshufps ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xbd, 0xc6, 0x4a, 0x01, 0xcc], "vshufps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0xc6, 0x0a, 0xcc], "vshufps ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0xc6, 0x0a, 0xcc], "vshufps ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x38, 0xc6, 0x4a, 0x01, 0xcc], "vshufps ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x3d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0xc6, 0xca, 0xcc], "vshufps ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0xc6, 0x0a, 0xcc], "vshufps ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xad, 0xc6, 0x4a, 0x01, 0xcc], "vshufps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0xc6, 0xca, 0xcc], "vshufps ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0xc6, 0xca, 0xcc], "vshufps ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0xc6, 0x0a, 0xcc], "vshufps ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0xc6, 0x0a, 0xcc], "vshufps ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x28, 0xc6, 0x4a, 0x01, 0xcc], "vshufps ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x2d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0xc6, 0x0a, 0xcc], "vshufps zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xdd, 0xc6, 0x4a, 0x01, 0xcc], "vshufps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0xc6, 0x0a, 0xcc], "vshufps zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0xc6, 0x0a, 0xcc], "vshufps zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x58, 0xc6, 0x4a, 0x01, 0xcc], "vshufps zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x5d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0xc6, 0x0a, 0xcc], "vshufps xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x9d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0xc6, 0x0a, 0xcc], "vshufps xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0xc6, 0x0a, 0xcc], "vshufps xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x18, 0xc6, 0x4a, 0x01, 0xcc], "vshufps xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x1d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0xc6, 0xca, 0xcc], "vshufps zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0xc6, 0x0a, 0xcc], "vshufps zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0xcd, 0xc6, 0x4a, 0x01, 0xcc], "vshufps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0xc6, 0xca, 0xcc], "vshufps zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0xc6, 0xca, 0xcc], "vshufps zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0xc6, 0x0a, 0xcc], "vshufps zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0xc6, 0x0a, 0xcc], "vshufps zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x48, 0xc6, 0x4a, 0x01, 0xcc], "vshufps zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x4d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0xc6, 0xca, 0xcc], "vshufps xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0xc6, 0x0a, 0xcc], "vshufps xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x8d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0xc6, 0xca, 0xcc], "vshufps xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0xc6, 0xca, 0xcc], "vshufps xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0xc6, 0x0a, 0xcc], "vshufps xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0xc6, 0x0a, 0xcc], "vshufps xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x08, 0xc6, 0x4a, 0x01, 0xcc], "vshufps xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7c, 0x0d, 0xc6, 0x4a, 0x01, 0xcc], "vshufps xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +} + +#[test] +fn tests_66_0f() { +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x10, 0xca], "vmovupd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x10, 0x0a], "vmovupd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x10, 0x4a, 0x01], "vmovupd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x10, 0xca], "vmovupd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x10, 0xca], "vmovupd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x10, 0x0a], "vmovupd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x10, 0x0a], "vmovupd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x10, 0x4a, 0x01], "vmovupd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x10, 0x4a, 0x01], "vmovupd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x10, 0xca], "vmovupd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x10, 0x0a], "vmovupd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x10, 0x4a, 0x01], "vmovupd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x10, 0xca], "vmovupd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x10, 0xca], "vmovupd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x10, 0x0a], "vmovupd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x10, 0x0a], "vmovupd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x10, 0x4a, 0x01], "vmovupd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x10, 0x4a, 0x01], "vmovupd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x10, 0xca], "vmovupd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x10, 0x0a], "vmovupd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x10, 0x4a, 0x01], "vmovupd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x10, 0xca], "vmovupd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x10, 0xca], "vmovupd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x10, 0x0a], "vmovupd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x10, 0x0a], "vmovupd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x10, 0x4a, 0x01], "vmovupd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x10, 0x4a, 0x01], "vmovupd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x11, 0xca], "vmovupd ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x11, 0xca], "vmovupd ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x11, 0xca], "vmovupd ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x11, 0x0a], "vmovupd ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x11, 0x0a], "vmovupd ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x11, 0x4a, 0x01], "vmovupd ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x11, 0x4a, 0x01], "vmovupd ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x11, 0xca], "vmovupd zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x11, 0xca], "vmovupd zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x11, 0xca], "vmovupd zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x11, 0x0a], "vmovupd zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x11, 0x0a], "vmovupd zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x11, 0x4a, 0x01], "vmovupd zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x11, 0x4a, 0x01], "vmovupd zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x11, 0xca], "vmovupd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x11, 0xca], "vmovupd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x11, 0xca], "vmovupd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x11, 0x0a], "vmovupd xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x11, 0x0a], "vmovupd xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x11, 0x4a, 0x01], "vmovupd xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x11, 0x4a, 0x01], "vmovupd xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x12, 0x0a], "vmovlpd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x12, 0x4a, 0x01], "vmovlpd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x13, 0x0a], "vmovlpd qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x13, 0x4a, 0x01], "vmovlpd qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x14, 0x0a], "vunpcklpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x14, 0x4a, 0x01], "vunpcklpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x14, 0x0a], "vunpcklpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x14, 0x0a], "vunpcklpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x14, 0x4a, 0x01], "vunpcklpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x14, 0x4a, 0x01], "vunpcklpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x14, 0xca], "vunpcklpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x14, 0x0a], "vunpcklpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x14, 0x4a, 0x01], "vunpcklpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x14, 0xca], "vunpcklpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x14, 0xca], "vunpcklpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x14, 0x0a], "vunpcklpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x14, 0x0a], "vunpcklpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x14, 0x4a, 0x01], "vunpcklpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x14, 0x4a, 0x01], "vunpcklpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x14, 0x0a], "vunpcklpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x14, 0x4a, 0x01], "vunpcklpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x14, 0x0a], "vunpcklpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x14, 0x0a], "vunpcklpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x14, 0x4a, 0x01], "vunpcklpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x14, 0x4a, 0x01], "vunpcklpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x14, 0x0a], "vunpcklpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x14, 0x4a, 0x01], "vunpcklpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x14, 0x0a], "vunpcklpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x14, 0x0a], "vunpcklpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x14, 0x4a, 0x01], "vunpcklpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x14, 0x4a, 0x01], "vunpcklpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x14, 0xca], "vunpcklpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x14, 0x0a], "vunpcklpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x14, 0x4a, 0x01], "vunpcklpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x14, 0xca], "vunpcklpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x14, 0xca], "vunpcklpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x14, 0x0a], "vunpcklpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x14, 0x0a], "vunpcklpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x14, 0x4a, 0x01], "vunpcklpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x14, 0x4a, 0x01], "vunpcklpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x14, 0xca], "vunpcklpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x14, 0x0a], "vunpcklpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x14, 0x4a, 0x01], "vunpcklpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x14, 0xca], "vunpcklpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x14, 0xca], "vunpcklpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x14, 0x0a], "vunpcklpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x14, 0x0a], "vunpcklpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x14, 0x4a, 0x01], "vunpcklpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x14, 0x4a, 0x01], "vunpcklpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x15, 0x0a], "vunpckhpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x15, 0x4a, 0x01], "vunpckhpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x15, 0x0a], "vunpckhpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x15, 0x0a], "vunpckhpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x15, 0x4a, 0x01], "vunpckhpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x15, 0x4a, 0x01], "vunpckhpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x15, 0xca], "vunpckhpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x15, 0x0a], "vunpckhpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x15, 0x4a, 0x01], "vunpckhpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x15, 0xca], "vunpckhpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x15, 0xca], "vunpckhpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x15, 0x0a], "vunpckhpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x15, 0x0a], "vunpckhpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x15, 0x4a, 0x01], "vunpckhpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x15, 0x4a, 0x01], "vunpckhpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x15, 0x0a], "vunpckhpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x15, 0x4a, 0x01], "vunpckhpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x15, 0x0a], "vunpckhpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x15, 0x0a], "vunpckhpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x15, 0x4a, 0x01], "vunpckhpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x15, 0x4a, 0x01], "vunpckhpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x15, 0x0a], "vunpckhpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x15, 0x4a, 0x01], "vunpckhpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x15, 0x0a], "vunpckhpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x15, 0x0a], "vunpckhpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x15, 0x4a, 0x01], "vunpckhpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x15, 0x4a, 0x01], "vunpckhpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x15, 0xca], "vunpckhpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x15, 0x0a], "vunpckhpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x15, 0x4a, 0x01], "vunpckhpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x15, 0xca], "vunpckhpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x15, 0xca], "vunpckhpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x15, 0x0a], "vunpckhpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x15, 0x0a], "vunpckhpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x15, 0x4a, 0x01], "vunpckhpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x15, 0x4a, 0x01], "vunpckhpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x15, 0xca], "vunpckhpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x15, 0x0a], "vunpckhpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x15, 0x4a, 0x01], "vunpckhpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x15, 0xca], "vunpckhpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x15, 0xca], "vunpckhpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x15, 0x0a], "vunpckhpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x15, 0x0a], "vunpckhpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x15, 0x4a, 0x01], "vunpckhpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x15, 0x4a, 0x01], "vunpckhpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x16, 0x0a], "vmovhpd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x16, 0x4a, 0x01], "vmovhpd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x17, 0x0a], "vmovhpd qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x17, 0x4a, 0x01], "vmovhpd qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x28, 0xca], "vmovapd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x28, 0x0a], "vmovapd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x28, 0x4a, 0x01], "vmovapd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x28, 0xca], "vmovapd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x28, 0xca], "vmovapd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x28, 0x0a], "vmovapd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x28, 0x0a], "vmovapd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x28, 0x4a, 0x01], "vmovapd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x28, 0x4a, 0x01], "vmovapd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x28, 0xca], "vmovapd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x28, 0x0a], "vmovapd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x28, 0x4a, 0x01], "vmovapd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x28, 0xca], "vmovapd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x28, 0xca], "vmovapd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x28, 0x0a], "vmovapd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x28, 0x0a], "vmovapd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x28, 0x4a, 0x01], "vmovapd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x28, 0x4a, 0x01], "vmovapd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x28, 0xca], "vmovapd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x28, 0x0a], "vmovapd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x28, 0x4a, 0x01], "vmovapd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x28, 0xca], "vmovapd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x28, 0xca], "vmovapd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x28, 0x0a], "vmovapd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x28, 0x0a], "vmovapd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x28, 0x4a, 0x01], "vmovapd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x28, 0x4a, 0x01], "vmovapd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x29, 0xca], "vmovapd ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x29, 0xca], "vmovapd ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x29, 0xca], "vmovapd ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x29, 0x0a], "vmovapd ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x29, 0x0a], "vmovapd ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x29, 0x4a, 0x01], "vmovapd ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x29, 0x4a, 0x01], "vmovapd ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x29, 0xca], "vmovapd zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x29, 0xca], "vmovapd zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x29, 0xca], "vmovapd zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x29, 0x0a], "vmovapd zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x29, 0x0a], "vmovapd zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x29, 0x4a, 0x01], "vmovapd zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x29, 0x4a, 0x01], "vmovapd zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x29, 0xca], "vmovapd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x29, 0xca], "vmovapd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x29, 0xca], "vmovapd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x29, 0x0a], "vmovapd xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x29, 0x0a], "vmovapd xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x29, 0x4a, 0x01], "vmovapd xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x29, 0x4a, 0x01], "vmovapd xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2b, 0x0a], "vmovntpd ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2b, 0x4a, 0x01], "vmovntpd ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x2b, 0x0a], "vmovntpd zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x2b, 0x4a, 0x01], "vmovntpd zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x2b, 0x0a], "vmovntpd xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x2b, 0x4a, 0x01], "vmovntpd xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x2e, 0xca], "vucomisd xmm1{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2e, 0xca], "vucomisd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2e, 0x0a], "vucomisd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2e, 0x4a, 0x01], "vucomisd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x2f, 0xca], "vcomisd xmm1{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2f, 0xca], "vcomisd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2f, 0x0a], "vcomisd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x2f, 0x4a, 0x01], "vcomisd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x51, 0xca], "vsqrtpd zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x51, 0xca], "vsqrtpd zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x51, 0xca], "vsqrtpd zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x51, 0xca], "vsqrtpd zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x51, 0x0a], "vsqrtpd ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x51, 0x4a, 0x01], "vsqrtpd ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x51, 0xca], "vsqrtpd zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x51, 0xca], "vsqrtpd zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x51, 0x0a], "vsqrtpd ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x51, 0x0a], "vsqrtpd ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x51, 0x4a, 0x01], "vsqrtpd ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x51, 0x4a, 0x01], "vsqrtpd ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x51, 0xca], "vsqrtpd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x51, 0x0a], "vsqrtpd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x51, 0x4a, 0x01], "vsqrtpd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x51, 0xca], "vsqrtpd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x51, 0xca], "vsqrtpd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x51, 0x0a], "vsqrtpd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x51, 0x0a], "vsqrtpd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x51, 0x4a, 0x01], "vsqrtpd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x51, 0x4a, 0x01], "vsqrtpd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x51, 0xca], "vsqrtpd zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x51, 0x0a], "vsqrtpd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x51, 0x4a, 0x01], "vsqrtpd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x51, 0xca], "vsqrtpd zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x51, 0xca], "vsqrtpd zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x51, 0x0a], "vsqrtpd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x51, 0x0a], "vsqrtpd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x51, 0x4a, 0x01], "vsqrtpd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x51, 0x4a, 0x01], "vsqrtpd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x51, 0xca], "vsqrtpd zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x51, 0x0a], "vsqrtpd xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x51, 0x4a, 0x01], "vsqrtpd xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x51, 0xca], "vsqrtpd zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x51, 0xca], "vsqrtpd zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x51, 0x0a], "vsqrtpd xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x51, 0x0a], "vsqrtpd xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x51, 0x4a, 0x01], "vsqrtpd xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x51, 0x4a, 0x01], "vsqrtpd xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x51, 0xca], "vsqrtpd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x51, 0x0a], "vsqrtpd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x51, 0x4a, 0x01], "vsqrtpd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x51, 0xca], "vsqrtpd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x51, 0xca], "vsqrtpd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x51, 0x0a], "vsqrtpd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x51, 0x0a], "vsqrtpd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x51, 0x4a, 0x01], "vsqrtpd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x51, 0x4a, 0x01], "vsqrtpd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x51, 0xca], "vsqrtpd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x51, 0x0a], "vsqrtpd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x51, 0x4a, 0x01], "vsqrtpd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x51, 0xca], "vsqrtpd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x51, 0xca], "vsqrtpd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x51, 0x0a], "vsqrtpd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x51, 0x0a], "vsqrtpd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x51, 0x4a, 0x01], "vsqrtpd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x51, 0x4a, 0x01], "vsqrtpd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x54, 0x0a], "vandpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x54, 0x4a, 0x01], "vandpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x54, 0x0a], "vandpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x54, 0x0a], "vandpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x54, 0x4a, 0x01], "vandpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x54, 0x4a, 0x01], "vandpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x54, 0xca], "vandpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x54, 0x0a], "vandpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x54, 0x4a, 0x01], "vandpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x54, 0xca], "vandpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x54, 0xca], "vandpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x54, 0x0a], "vandpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x54, 0x0a], "vandpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x54, 0x4a, 0x01], "vandpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x54, 0x4a, 0x01], "vandpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x54, 0x0a], "vandpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x54, 0x4a, 0x01], "vandpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x54, 0x0a], "vandpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x54, 0x0a], "vandpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x54, 0x4a, 0x01], "vandpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x54, 0x4a, 0x01], "vandpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x54, 0x0a], "vandpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x54, 0x4a, 0x01], "vandpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x54, 0x0a], "vandpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x54, 0x0a], "vandpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x54, 0x4a, 0x01], "vandpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x54, 0x4a, 0x01], "vandpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x54, 0xca], "vandpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x54, 0x0a], "vandpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x54, 0x4a, 0x01], "vandpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x54, 0xca], "vandpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x54, 0xca], "vandpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x54, 0x0a], "vandpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x54, 0x0a], "vandpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x54, 0x4a, 0x01], "vandpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x54, 0x4a, 0x01], "vandpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x54, 0xca], "vandpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x54, 0x0a], "vandpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x54, 0x4a, 0x01], "vandpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x54, 0xca], "vandpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x54, 0xca], "vandpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x54, 0x0a], "vandpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x54, 0x0a], "vandpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x54, 0x4a, 0x01], "vandpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x54, 0x4a, 0x01], "vandpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x55, 0x0a], "vandnpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x55, 0x4a, 0x01], "vandnpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x55, 0x0a], "vandnpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x55, 0x0a], "vandnpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x55, 0x4a, 0x01], "vandnpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x55, 0x4a, 0x01], "vandnpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x55, 0xca], "vandnpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x55, 0x0a], "vandnpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x55, 0x4a, 0x01], "vandnpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x55, 0xca], "vandnpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x55, 0xca], "vandnpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x55, 0x0a], "vandnpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x55, 0x0a], "vandnpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x55, 0x4a, 0x01], "vandnpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x55, 0x4a, 0x01], "vandnpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x55, 0x0a], "vandnpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x55, 0x4a, 0x01], "vandnpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x55, 0x0a], "vandnpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x55, 0x0a], "vandnpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x55, 0x4a, 0x01], "vandnpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x55, 0x4a, 0x01], "vandnpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x55, 0x0a], "vandnpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x55, 0x4a, 0x01], "vandnpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x55, 0x0a], "vandnpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x55, 0x0a], "vandnpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x55, 0x4a, 0x01], "vandnpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x55, 0x4a, 0x01], "vandnpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x55, 0xca], "vandnpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x55, 0x0a], "vandnpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x55, 0x4a, 0x01], "vandnpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x55, 0xca], "vandnpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x55, 0xca], "vandnpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x55, 0x0a], "vandnpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x55, 0x0a], "vandnpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x55, 0x4a, 0x01], "vandnpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x55, 0x4a, 0x01], "vandnpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x55, 0xca], "vandnpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x55, 0x0a], "vandnpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x55, 0x4a, 0x01], "vandnpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x55, 0xca], "vandnpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x55, 0xca], "vandnpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x55, 0x0a], "vandnpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x55, 0x0a], "vandnpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x55, 0x4a, 0x01], "vandnpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x55, 0x4a, 0x01], "vandnpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x56, 0x0a], "vorpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x56, 0x4a, 0x01], "vorpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x56, 0x0a], "vorpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x56, 0x0a], "vorpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x56, 0x4a, 0x01], "vorpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x56, 0x4a, 0x01], "vorpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x56, 0xca], "vorpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x56, 0x0a], "vorpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x56, 0x4a, 0x01], "vorpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x56, 0xca], "vorpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x56, 0xca], "vorpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x56, 0x0a], "vorpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x56, 0x0a], "vorpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x56, 0x4a, 0x01], "vorpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x56, 0x4a, 0x01], "vorpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x56, 0x0a], "vorpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x56, 0x4a, 0x01], "vorpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x56, 0x0a], "vorpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x56, 0x0a], "vorpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x56, 0x4a, 0x01], "vorpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x56, 0x4a, 0x01], "vorpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x56, 0x0a], "vorpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x56, 0x4a, 0x01], "vorpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x56, 0x0a], "vorpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x56, 0x0a], "vorpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x56, 0x4a, 0x01], "vorpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x56, 0x4a, 0x01], "vorpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x56, 0xca], "vorpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x56, 0x0a], "vorpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x56, 0x4a, 0x01], "vorpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x56, 0xca], "vorpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x56, 0xca], "vorpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x56, 0x0a], "vorpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x56, 0x0a], "vorpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x56, 0x4a, 0x01], "vorpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x56, 0x4a, 0x01], "vorpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x56, 0xca], "vorpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x56, 0x0a], "vorpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x56, 0x4a, 0x01], "vorpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x56, 0xca], "vorpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x56, 0xca], "vorpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x56, 0x0a], "vorpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x56, 0x0a], "vorpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x56, 0x4a, 0x01], "vorpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x56, 0x4a, 0x01], "vorpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x57, 0x0a], "vxorpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x57, 0x4a, 0x01], "vxorpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x57, 0x0a], "vxorpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x57, 0x0a], "vxorpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x57, 0x4a, 0x01], "vxorpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x57, 0x4a, 0x01], "vxorpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x57, 0xca], "vxorpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x57, 0x0a], "vxorpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x57, 0x4a, 0x01], "vxorpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x57, 0xca], "vxorpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x57, 0xca], "vxorpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x57, 0x0a], "vxorpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x57, 0x0a], "vxorpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x57, 0x4a, 0x01], "vxorpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x57, 0x4a, 0x01], "vxorpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x57, 0x0a], "vxorpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x57, 0x4a, 0x01], "vxorpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x57, 0x0a], "vxorpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x57, 0x0a], "vxorpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x57, 0x4a, 0x01], "vxorpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x57, 0x4a, 0x01], "vxorpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x57, 0x0a], "vxorpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x57, 0x4a, 0x01], "vxorpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x57, 0x0a], "vxorpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x57, 0x0a], "vxorpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x57, 0x4a, 0x01], "vxorpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x57, 0x4a, 0x01], "vxorpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x57, 0xca], "vxorpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x57, 0x0a], "vxorpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x57, 0x4a, 0x01], "vxorpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x57, 0xca], "vxorpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x57, 0xca], "vxorpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x57, 0x0a], "vxorpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x57, 0x0a], "vxorpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x57, 0x4a, 0x01], "vxorpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x57, 0x4a, 0x01], "vxorpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x57, 0xca], "vxorpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x57, 0x0a], "vxorpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x57, 0x4a, 0x01], "vxorpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x57, 0xca], "vxorpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x57, 0xca], "vxorpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x57, 0x0a], "vxorpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x57, 0x0a], "vxorpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x57, 0x4a, 0x01], "vxorpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x57, 0x4a, 0x01], "vxorpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x58, 0xca], "vaddpd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x58, 0xca], "vaddpd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x58, 0xca], "vaddpd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x58, 0xca], "vaddpd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x58, 0x0a], "vaddpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x58, 0x4a, 0x01], "vaddpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x58, 0xca], "vaddpd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x58, 0xca], "vaddpd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x58, 0x0a], "vaddpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x58, 0x0a], "vaddpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x58, 0x4a, 0x01], "vaddpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x58, 0x4a, 0x01], "vaddpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x58, 0xca], "vaddpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x58, 0x0a], "vaddpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x58, 0x4a, 0x01], "vaddpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x58, 0xca], "vaddpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x58, 0xca], "vaddpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x58, 0x0a], "vaddpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x58, 0x0a], "vaddpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x58, 0x4a, 0x01], "vaddpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x58, 0x4a, 0x01], "vaddpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x58, 0xca], "vaddpd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x58, 0x0a], "vaddpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x58, 0x4a, 0x01], "vaddpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x58, 0xca], "vaddpd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x58, 0xca], "vaddpd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x58, 0x0a], "vaddpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x58, 0x0a], "vaddpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x58, 0x4a, 0x01], "vaddpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x58, 0x4a, 0x01], "vaddpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x58, 0xca], "vaddpd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x58, 0x0a], "vaddpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x58, 0x4a, 0x01], "vaddpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x58, 0xca], "vaddpd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x58, 0xca], "vaddpd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x58, 0x0a], "vaddpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x58, 0x0a], "vaddpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x58, 0x4a, 0x01], "vaddpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x58, 0x4a, 0x01], "vaddpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x58, 0xca], "vaddpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x58, 0x0a], "vaddpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x58, 0x4a, 0x01], "vaddpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x58, 0xca], "vaddpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x58, 0xca], "vaddpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x58, 0x0a], "vaddpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x58, 0x0a], "vaddpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x58, 0x4a, 0x01], "vaddpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x58, 0x4a, 0x01], "vaddpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x58, 0xca], "vaddpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x58, 0x0a], "vaddpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x58, 0x4a, 0x01], "vaddpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x58, 0xca], "vaddpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x58, 0xca], "vaddpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x58, 0x0a], "vaddpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x58, 0x0a], "vaddpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x58, 0x4a, 0x01], "vaddpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x58, 0x4a, 0x01], "vaddpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x59, 0xca], "vmulpd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x59, 0xca], "vmulpd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x59, 0xca], "vmulpd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x59, 0xca], "vmulpd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x59, 0x0a], "vmulpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x59, 0x4a, 0x01], "vmulpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x59, 0xca], "vmulpd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x59, 0xca], "vmulpd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x59, 0x0a], "vmulpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x59, 0x0a], "vmulpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x59, 0x4a, 0x01], "vmulpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x59, 0x4a, 0x01], "vmulpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x59, 0xca], "vmulpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x59, 0x0a], "vmulpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x59, 0x4a, 0x01], "vmulpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x59, 0xca], "vmulpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x59, 0xca], "vmulpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x59, 0x0a], "vmulpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x59, 0x0a], "vmulpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x59, 0x4a, 0x01], "vmulpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x59, 0x4a, 0x01], "vmulpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x59, 0xca], "vmulpd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x59, 0x0a], "vmulpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x59, 0x4a, 0x01], "vmulpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x59, 0xca], "vmulpd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x59, 0xca], "vmulpd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x59, 0x0a], "vmulpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x59, 0x0a], "vmulpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x59, 0x4a, 0x01], "vmulpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x59, 0x4a, 0x01], "vmulpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x59, 0xca], "vmulpd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x59, 0x0a], "vmulpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x59, 0x4a, 0x01], "vmulpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x59, 0xca], "vmulpd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x59, 0xca], "vmulpd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x59, 0x0a], "vmulpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x59, 0x0a], "vmulpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x59, 0x4a, 0x01], "vmulpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x59, 0x4a, 0x01], "vmulpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x59, 0xca], "vmulpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x59, 0x0a], "vmulpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x59, 0x4a, 0x01], "vmulpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x59, 0xca], "vmulpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x59, 0xca], "vmulpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x59, 0x0a], "vmulpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x59, 0x0a], "vmulpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x59, 0x4a, 0x01], "vmulpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x59, 0x4a, 0x01], "vmulpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x59, 0xca], "vmulpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x59, 0x0a], "vmulpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x59, 0x4a, 0x01], "vmulpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x59, 0xca], "vmulpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x59, 0xca], "vmulpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x59, 0x0a], "vmulpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x59, 0x0a], "vmulpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x59, 0x4a, 0x01], "vmulpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x59, 0x4a, 0x01], "vmulpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x5a, 0xca], "vcvtpd2ps ymm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5a, 0xca], "vcvtpd2ps ymm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5a, 0x0a], "vcvtpd2ps xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5a, 0xca], "vcvtpd2ps xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5a, 0xca], "vcvtpd2ps xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5a, 0xca], "vcvtpd2ps xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5a, 0x0a], "vcvtpd2ps xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5a, 0x0a], "vcvtpd2ps ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5a, 0x4a, 0x01], "vcvtpd2ps ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5a, 0xca], "vcvtpd2ps ymm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5a, 0x0a], "vcvtpd2ps ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5a, 0x0a], "vcvtpd2ps ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5a, 0x4a, 0x01], "vcvtpd2ps ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5a, 0x4a, 0x01], "vcvtpd2ps ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5a, 0xca], "vcvtpd2ps ymm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5a, 0x0a], "vcvtpd2ps xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5a, 0x0a], "vcvtpd2ps ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5a, 0x4a, 0x01], "vcvtpd2ps ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5a, 0xca], "vcvtpd2ps ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5a, 0xca], "vcvtpd2ps ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5a, 0x0a], "vcvtpd2ps ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5a, 0x0a], "vcvtpd2ps ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5a, 0x4a, 0x01], "vcvtpd2ps ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5a, 0x4a, 0x01], "vcvtpd2ps ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5a, 0xca], "vcvtpd2ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5a, 0xca], "vcvtpd2ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5a, 0xca], "vcvtpd2ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5a, 0x0a], "vcvtpd2ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5a, 0x0a], "vcvtpd2ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5a, 0x4a, 0x01], "vcvtpd2ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xfd, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x78, 0x5b, 0xca], "vcvtps2dq zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x7d, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x5b, 0x0a], "vcvtps2dq ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x5b, 0x4a, 0x01], "vcvtps2dq ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x5b, 0xca], "vcvtps2dq zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x5b, 0x0a], "vcvtps2dq ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x5b, 0x0a], "vcvtps2dq ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x5b, 0x4a, 0x01], "vcvtps2dq ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x5b, 0x4a, 0x01], "vcvtps2dq ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x5b, 0xca], "vcvtps2dq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x5b, 0x0a], "vcvtps2dq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x5b, 0x4a, 0x01], "vcvtps2dq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x5b, 0xca], "vcvtps2dq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x5b, 0xca], "vcvtps2dq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x5b, 0x0a], "vcvtps2dq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x5b, 0x0a], "vcvtps2dq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x5b, 0x4a, 0x01], "vcvtps2dq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x5b, 0x4a, 0x01], "vcvtps2dq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x5b, 0x0a], "vcvtps2dq zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x5b, 0x4a, 0x01], "vcvtps2dq zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x5b, 0xca], "vcvtps2dq zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x5b, 0x0a], "vcvtps2dq zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x5b, 0x0a], "vcvtps2dq zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x5b, 0x4a, 0x01], "vcvtps2dq zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x5b, 0x4a, 0x01], "vcvtps2dq zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x5b, 0x0a], "vcvtps2dq xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x5b, 0x4a, 0x01], "vcvtps2dq xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x5b, 0xca], "vcvtps2dq zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x5b, 0x0a], "vcvtps2dq xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x5b, 0x0a], "vcvtps2dq xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x5b, 0x4a, 0x01], "vcvtps2dq xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x5b, 0x4a, 0x01], "vcvtps2dq xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x5b, 0xca], "vcvtps2dq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x5b, 0x0a], "vcvtps2dq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x5b, 0x4a, 0x01], "vcvtps2dq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x5b, 0xca], "vcvtps2dq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x5b, 0xca], "vcvtps2dq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x5b, 0x0a], "vcvtps2dq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x5b, 0x0a], "vcvtps2dq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x5b, 0x4a, 0x01], "vcvtps2dq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x5b, 0x4a, 0x01], "vcvtps2dq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x5b, 0xca], "vcvtps2dq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x5b, 0x0a], "vcvtps2dq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x5b, 0x4a, 0x01], "vcvtps2dq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x5b, 0xca], "vcvtps2dq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x5b, 0xca], "vcvtps2dq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x5b, 0x0a], "vcvtps2dq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x5b, 0x0a], "vcvtps2dq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x5b, 0x4a, 0x01], "vcvtps2dq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x5b, 0x4a, 0x01], "vcvtps2dq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x5c, 0xca], "vsubpd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x5c, 0xca], "vsubpd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x5c, 0xca], "vsubpd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5c, 0xca], "vsubpd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5c, 0x0a], "vsubpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5c, 0x4a, 0x01], "vsubpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5c, 0xca], "vsubpd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5c, 0xca], "vsubpd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5c, 0x0a], "vsubpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5c, 0x0a], "vsubpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5c, 0x4a, 0x01], "vsubpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5c, 0x4a, 0x01], "vsubpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5c, 0xca], "vsubpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5c, 0x0a], "vsubpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5c, 0x4a, 0x01], "vsubpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5c, 0xca], "vsubpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5c, 0xca], "vsubpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5c, 0x0a], "vsubpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5c, 0x0a], "vsubpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5c, 0x4a, 0x01], "vsubpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5c, 0x4a, 0x01], "vsubpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5c, 0xca], "vsubpd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5c, 0x0a], "vsubpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5c, 0x4a, 0x01], "vsubpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5c, 0xca], "vsubpd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5c, 0xca], "vsubpd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5c, 0x0a], "vsubpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5c, 0x0a], "vsubpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5c, 0x4a, 0x01], "vsubpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5c, 0x4a, 0x01], "vsubpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5c, 0xca], "vsubpd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5c, 0x0a], "vsubpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5c, 0x4a, 0x01], "vsubpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5c, 0xca], "vsubpd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5c, 0xca], "vsubpd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5c, 0x0a], "vsubpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5c, 0x0a], "vsubpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5c, 0x4a, 0x01], "vsubpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5c, 0x4a, 0x01], "vsubpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5c, 0xca], "vsubpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5c, 0x0a], "vsubpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5c, 0x4a, 0x01], "vsubpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5c, 0xca], "vsubpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5c, 0xca], "vsubpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5c, 0x0a], "vsubpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5c, 0x0a], "vsubpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5c, 0x4a, 0x01], "vsubpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5c, 0x4a, 0x01], "vsubpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5c, 0xca], "vsubpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5c, 0x0a], "vsubpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5c, 0x4a, 0x01], "vsubpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5c, 0xca], "vsubpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5c, 0xca], "vsubpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5c, 0x0a], "vsubpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5c, 0x0a], "vsubpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5c, 0x4a, 0x01], "vsubpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5c, 0x4a, 0x01], "vsubpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x5d, 0xca], "vminpd zmm1{k5}{z}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x5d, 0xca], "vminpd zmm1{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x5d, 0xca], "vminpd zmm1{k5}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5d, 0x0a], "vminpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5d, 0x4a, 0x01], "vminpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5d, 0x0a], "vminpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5d, 0x0a], "vminpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5d, 0x4a, 0x01], "vminpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5d, 0x4a, 0x01], "vminpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5d, 0xca], "vminpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5d, 0x0a], "vminpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5d, 0x4a, 0x01], "vminpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5d, 0xca], "vminpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5d, 0xca], "vminpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5d, 0x0a], "vminpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5d, 0x0a], "vminpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5d, 0x4a, 0x01], "vminpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5d, 0x4a, 0x01], "vminpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5d, 0x0a], "vminpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5d, 0x4a, 0x01], "vminpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5d, 0x0a], "vminpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5d, 0x0a], "vminpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5d, 0x4a, 0x01], "vminpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5d, 0x4a, 0x01], "vminpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5d, 0x0a], "vminpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5d, 0x4a, 0x01], "vminpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5d, 0x0a], "vminpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5d, 0x0a], "vminpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5d, 0x4a, 0x01], "vminpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5d, 0x4a, 0x01], "vminpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5d, 0xca], "vminpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5d, 0x0a], "vminpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5d, 0x4a, 0x01], "vminpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5d, 0xca], "vminpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5d, 0xca], "vminpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5d, 0x0a], "vminpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5d, 0x0a], "vminpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5d, 0x4a, 0x01], "vminpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5d, 0x4a, 0x01], "vminpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5d, 0xca], "vminpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5d, 0x0a], "vminpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5d, 0x4a, 0x01], "vminpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5d, 0xca], "vminpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5d, 0xca], "vminpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5d, 0x0a], "vminpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5d, 0x0a], "vminpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5d, 0x4a, 0x01], "vminpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5d, 0x4a, 0x01], "vminpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x5e, 0xca], "vdivpd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x5e, 0xca], "vdivpd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x5e, 0xca], "vdivpd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5e, 0xca], "vdivpd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5e, 0x0a], "vdivpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5e, 0x4a, 0x01], "vdivpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5e, 0xca], "vdivpd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5e, 0xca], "vdivpd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5e, 0x0a], "vdivpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5e, 0x0a], "vdivpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5e, 0x4a, 0x01], "vdivpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5e, 0x4a, 0x01], "vdivpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5e, 0xca], "vdivpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5e, 0x0a], "vdivpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5e, 0x4a, 0x01], "vdivpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5e, 0xca], "vdivpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5e, 0xca], "vdivpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5e, 0x0a], "vdivpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5e, 0x0a], "vdivpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5e, 0x4a, 0x01], "vdivpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5e, 0x4a, 0x01], "vdivpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5e, 0xca], "vdivpd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5e, 0x0a], "vdivpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5e, 0x4a, 0x01], "vdivpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5e, 0xca], "vdivpd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5e, 0xca], "vdivpd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5e, 0x0a], "vdivpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5e, 0x0a], "vdivpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5e, 0x4a, 0x01], "vdivpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5e, 0x4a, 0x01], "vdivpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5e, 0xca], "vdivpd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5e, 0x0a], "vdivpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5e, 0x4a, 0x01], "vdivpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5e, 0xca], "vdivpd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5e, 0xca], "vdivpd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5e, 0x0a], "vdivpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5e, 0x0a], "vdivpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5e, 0x4a, 0x01], "vdivpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5e, 0x4a, 0x01], "vdivpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5e, 0xca], "vdivpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5e, 0x0a], "vdivpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5e, 0x4a, 0x01], "vdivpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5e, 0xca], "vdivpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5e, 0xca], "vdivpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5e, 0x0a], "vdivpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5e, 0x0a], "vdivpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5e, 0x4a, 0x01], "vdivpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5e, 0x4a, 0x01], "vdivpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5e, 0xca], "vdivpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5e, 0x0a], "vdivpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5e, 0x4a, 0x01], "vdivpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5e, 0xca], "vdivpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5e, 0xca], "vdivpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5e, 0x0a], "vdivpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5e, 0x0a], "vdivpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5e, 0x4a, 0x01], "vdivpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5e, 0x4a, 0x01], "vdivpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x5f, 0xca], "vmaxpd zmm1{k5}{z}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x5f, 0xca], "vmaxpd zmm1{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x5f, 0xca], "vmaxpd zmm1{k5}{sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5f, 0x0a], "vmaxpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x5f, 0x4a, 0x01], "vmaxpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5f, 0x0a], "vmaxpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5f, 0x0a], "vmaxpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x5f, 0x4a, 0x01], "vmaxpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x5f, 0x4a, 0x01], "vmaxpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5f, 0xca], "vmaxpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5f, 0x0a], "vmaxpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x5f, 0x4a, 0x01], "vmaxpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5f, 0xca], "vmaxpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5f, 0xca], "vmaxpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5f, 0x0a], "vmaxpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5f, 0x0a], "vmaxpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x5f, 0x4a, 0x01], "vmaxpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x5f, 0x4a, 0x01], "vmaxpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5f, 0x0a], "vmaxpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x5f, 0x4a, 0x01], "vmaxpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5f, 0x0a], "vmaxpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5f, 0x0a], "vmaxpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x5f, 0x4a, 0x01], "vmaxpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x5f, 0x4a, 0x01], "vmaxpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5f, 0x0a], "vmaxpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x5f, 0x4a, 0x01], "vmaxpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5f, 0x0a], "vmaxpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5f, 0x0a], "vmaxpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x5f, 0x4a, 0x01], "vmaxpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x5f, 0x4a, 0x01], "vmaxpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5f, 0xca], "vmaxpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5f, 0x0a], "vmaxpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x5f, 0x4a, 0x01], "vmaxpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5f, 0xca], "vmaxpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5f, 0xca], "vmaxpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5f, 0x0a], "vmaxpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5f, 0x0a], "vmaxpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x5f, 0x4a, 0x01], "vmaxpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x5f, 0x4a, 0x01], "vmaxpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5f, 0xca], "vmaxpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5f, 0x0a], "vmaxpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x5f, 0x4a, 0x01], "vmaxpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5f, 0xca], "vmaxpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5f, 0xca], "vmaxpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5f, 0x0a], "vmaxpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5f, 0x0a], "vmaxpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x5f, 0x4a, 0x01], "vmaxpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x5f, 0x4a, 0x01], "vmaxpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x60, 0xca], "vpunpcklbw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x60, 0x0a], "vpunpcklbw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x60, 0x4a, 0x01], "vpunpcklbw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x60, 0xca], "vpunpcklbw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x60, 0xca], "vpunpcklbw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x60, 0x0a], "vpunpcklbw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x60, 0x0a], "vpunpcklbw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x60, 0x4a, 0x01], "vpunpcklbw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x60, 0x4a, 0x01], "vpunpcklbw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x60, 0xca], "vpunpcklbw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x60, 0x0a], "vpunpcklbw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x60, 0x4a, 0x01], "vpunpcklbw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x60, 0xca], "vpunpcklbw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x60, 0xca], "vpunpcklbw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x60, 0x0a], "vpunpcklbw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x60, 0x0a], "vpunpcklbw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x60, 0x4a, 0x01], "vpunpcklbw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x60, 0x4a, 0x01], "vpunpcklbw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x60, 0xca], "vpunpcklbw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x60, 0x0a], "vpunpcklbw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x60, 0x4a, 0x01], "vpunpcklbw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x60, 0xca], "vpunpcklbw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x60, 0xca], "vpunpcklbw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x60, 0x0a], "vpunpcklbw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x60, 0x0a], "vpunpcklbw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x60, 0x4a, 0x01], "vpunpcklbw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x60, 0x4a, 0x01], "vpunpcklbw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x61, 0xca], "vpunpcklwd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x61, 0x0a], "vpunpcklwd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x61, 0x4a, 0x01], "vpunpcklwd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x61, 0xca], "vpunpcklwd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x61, 0xca], "vpunpcklwd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x61, 0x0a], "vpunpcklwd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x61, 0x0a], "vpunpcklwd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x61, 0x4a, 0x01], "vpunpcklwd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x61, 0x4a, 0x01], "vpunpcklwd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x61, 0xca], "vpunpcklwd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x61, 0x0a], "vpunpcklwd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x61, 0x4a, 0x01], "vpunpcklwd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x61, 0xca], "vpunpcklwd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x61, 0xca], "vpunpcklwd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x61, 0x0a], "vpunpcklwd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x61, 0x0a], "vpunpcklwd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x61, 0x4a, 0x01], "vpunpcklwd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x61, 0x4a, 0x01], "vpunpcklwd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x61, 0xca], "vpunpcklwd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x61, 0x0a], "vpunpcklwd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x61, 0x4a, 0x01], "vpunpcklwd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x61, 0xca], "vpunpcklwd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x61, 0xca], "vpunpcklwd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x61, 0x0a], "vpunpcklwd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x61, 0x0a], "vpunpcklwd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x61, 0x4a, 0x01], "vpunpcklwd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x61, 0x4a, 0x01], "vpunpcklwd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x62, 0x0a], "vpunpckldq ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x62, 0x4a, 0x01], "vpunpckldq ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x62, 0x0a], "vpunpckldq ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x62, 0x0a], "vpunpckldq ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x62, 0x4a, 0x01], "vpunpckldq ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x62, 0x4a, 0x01], "vpunpckldq ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x62, 0xca], "vpunpckldq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x62, 0x0a], "vpunpckldq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x62, 0x4a, 0x01], "vpunpckldq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x62, 0xca], "vpunpckldq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x62, 0xca], "vpunpckldq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x62, 0x0a], "vpunpckldq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x62, 0x0a], "vpunpckldq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x62, 0x4a, 0x01], "vpunpckldq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x62, 0x4a, 0x01], "vpunpckldq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x62, 0x0a], "vpunpckldq zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x62, 0x4a, 0x01], "vpunpckldq zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x62, 0x0a], "vpunpckldq zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x62, 0x0a], "vpunpckldq zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x62, 0x4a, 0x01], "vpunpckldq zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x62, 0x4a, 0x01], "vpunpckldq zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x62, 0x0a], "vpunpckldq xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x62, 0x4a, 0x01], "vpunpckldq xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x62, 0x0a], "vpunpckldq xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x62, 0x0a], "vpunpckldq xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x62, 0x4a, 0x01], "vpunpckldq xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x62, 0x4a, 0x01], "vpunpckldq xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x62, 0xca], "vpunpckldq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x62, 0x0a], "vpunpckldq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x62, 0x4a, 0x01], "vpunpckldq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x62, 0xca], "vpunpckldq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x62, 0xca], "vpunpckldq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x62, 0x0a], "vpunpckldq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x62, 0x0a], "vpunpckldq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x62, 0x4a, 0x01], "vpunpckldq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x62, 0x4a, 0x01], "vpunpckldq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x62, 0xca], "vpunpckldq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x62, 0x0a], "vpunpckldq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x62, 0x4a, 0x01], "vpunpckldq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x62, 0xca], "vpunpckldq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x62, 0xca], "vpunpckldq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x62, 0x0a], "vpunpckldq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x62, 0x0a], "vpunpckldq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x62, 0x4a, 0x01], "vpunpckldq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x62, 0x4a, 0x01], "vpunpckldq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x63, 0xca], "vpacksswb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x63, 0x0a], "vpacksswb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x63, 0x4a, 0x01], "vpacksswb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x63, 0xca], "vpacksswb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x63, 0xca], "vpacksswb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x63, 0x0a], "vpacksswb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x63, 0x0a], "vpacksswb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x63, 0x4a, 0x01], "vpacksswb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x63, 0x4a, 0x01], "vpacksswb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x63, 0xca], "vpacksswb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x63, 0x0a], "vpacksswb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x63, 0x4a, 0x01], "vpacksswb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x63, 0xca], "vpacksswb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x63, 0xca], "vpacksswb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x63, 0x0a], "vpacksswb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x63, 0x0a], "vpacksswb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x63, 0x4a, 0x01], "vpacksswb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x63, 0x4a, 0x01], "vpacksswb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x63, 0xca], "vpacksswb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x63, 0x0a], "vpacksswb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x63, 0x4a, 0x01], "vpacksswb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x63, 0xca], "vpacksswb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x63, 0xca], "vpacksswb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x63, 0x0a], "vpacksswb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x63, 0x0a], "vpacksswb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x63, 0x4a, 0x01], "vpacksswb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x63, 0x4a, 0x01], "vpacksswb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x64, 0xca], "vpcmpgtb k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x64, 0xca], "vpcmpgtb k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x64, 0x0a], "vpcmpgtb k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x64, 0x0a], "vpcmpgtb k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x64, 0x4a, 0x01], "vpcmpgtb k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x64, 0x4a, 0x01], "vpcmpgtb k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x64, 0xca], "vpcmpgtb k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x64, 0xca], "vpcmpgtb k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x64, 0x0a], "vpcmpgtb k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x64, 0x0a], "vpcmpgtb k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x64, 0x4a, 0x01], "vpcmpgtb k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x64, 0x4a, 0x01], "vpcmpgtb k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x64, 0xca], "vpcmpgtb k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x64, 0xca], "vpcmpgtb k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x64, 0x0a], "vpcmpgtb k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x64, 0x0a], "vpcmpgtb k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x64, 0x4a, 0x01], "vpcmpgtb k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x64, 0x4a, 0x01], "vpcmpgtb k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x65, 0xca], "vpcmpgtw k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x65, 0xca], "vpcmpgtw k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x65, 0x0a], "vpcmpgtw k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x65, 0x0a], "vpcmpgtw k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x65, 0x4a, 0x01], "vpcmpgtw k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x65, 0x4a, 0x01], "vpcmpgtw k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x65, 0xca], "vpcmpgtw k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x65, 0xca], "vpcmpgtw k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x65, 0x0a], "vpcmpgtw k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x65, 0x0a], "vpcmpgtw k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x65, 0x4a, 0x01], "vpcmpgtw k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x65, 0x4a, 0x01], "vpcmpgtw k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x65, 0xca], "vpcmpgtw k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x65, 0xca], "vpcmpgtw k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x65, 0x0a], "vpcmpgtw k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x65, 0x0a], "vpcmpgtw k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x65, 0x4a, 0x01], "vpcmpgtw k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x65, 0x4a, 0x01], "vpcmpgtw k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x66, 0x0a], "vpcmpgtd k1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x66, 0x0a], "vpcmpgtd k1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x66, 0x4a, 0x01], "vpcmpgtd k1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x66, 0x4a, 0x01], "vpcmpgtd k1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x66, 0xca], "vpcmpgtd k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x66, 0xca], "vpcmpgtd k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x66, 0x0a], "vpcmpgtd k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x66, 0x0a], "vpcmpgtd k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x66, 0x4a, 0x01], "vpcmpgtd k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x66, 0x4a, 0x01], "vpcmpgtd k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x66, 0x0a], "vpcmpgtd k1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x66, 0x0a], "vpcmpgtd k1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x66, 0x4a, 0x01], "vpcmpgtd k1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x66, 0x4a, 0x01], "vpcmpgtd k1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x66, 0x0a], "vpcmpgtd k1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x66, 0x0a], "vpcmpgtd k1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x66, 0x4a, 0x01], "vpcmpgtd k1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x66, 0x4a, 0x01], "vpcmpgtd k1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x66, 0xca], "vpcmpgtd k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x66, 0xca], "vpcmpgtd k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x66, 0x0a], "vpcmpgtd k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x66, 0x0a], "vpcmpgtd k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x66, 0x4a, 0x01], "vpcmpgtd k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x66, 0x4a, 0x01], "vpcmpgtd k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x66, 0xca], "vpcmpgtd k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x66, 0xca], "vpcmpgtd k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x66, 0x0a], "vpcmpgtd k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x66, 0x0a], "vpcmpgtd k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x66, 0x4a, 0x01], "vpcmpgtd k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x66, 0x4a, 0x01], "vpcmpgtd k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x67, 0xca], "vpackuswb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x67, 0x0a], "vpackuswb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x67, 0x4a, 0x01], "vpackuswb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x67, 0xca], "vpackuswb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x67, 0xca], "vpackuswb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x67, 0x0a], "vpackuswb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x67, 0x0a], "vpackuswb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x67, 0x4a, 0x01], "vpackuswb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x67, 0x4a, 0x01], "vpackuswb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x67, 0xca], "vpackuswb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x67, 0x0a], "vpackuswb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x67, 0x4a, 0x01], "vpackuswb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x67, 0xca], "vpackuswb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x67, 0xca], "vpackuswb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x67, 0x0a], "vpackuswb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x67, 0x0a], "vpackuswb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x67, 0x4a, 0x01], "vpackuswb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x67, 0x4a, 0x01], "vpackuswb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x67, 0xca], "vpackuswb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x67, 0x0a], "vpackuswb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x67, 0x4a, 0x01], "vpackuswb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x67, 0xca], "vpackuswb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x67, 0xca], "vpackuswb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x67, 0x0a], "vpackuswb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x67, 0x0a], "vpackuswb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x67, 0x4a, 0x01], "vpackuswb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x67, 0x4a, 0x01], "vpackuswb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x68, 0xca], "vpunpckhbw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x68, 0x0a], "vpunpckhbw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x68, 0x4a, 0x01], "vpunpckhbw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x68, 0xca], "vpunpckhbw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x68, 0xca], "vpunpckhbw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x68, 0x0a], "vpunpckhbw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x68, 0x0a], "vpunpckhbw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x68, 0x4a, 0x01], "vpunpckhbw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x68, 0x4a, 0x01], "vpunpckhbw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x68, 0xca], "vpunpckhbw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x68, 0x0a], "vpunpckhbw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x68, 0x4a, 0x01], "vpunpckhbw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x68, 0xca], "vpunpckhbw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x68, 0xca], "vpunpckhbw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x68, 0x0a], "vpunpckhbw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x68, 0x0a], "vpunpckhbw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x68, 0x4a, 0x01], "vpunpckhbw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x68, 0x4a, 0x01], "vpunpckhbw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x68, 0xca], "vpunpckhbw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x68, 0x0a], "vpunpckhbw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x68, 0x4a, 0x01], "vpunpckhbw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x68, 0xca], "vpunpckhbw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x68, 0xca], "vpunpckhbw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x68, 0x0a], "vpunpckhbw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x68, 0x0a], "vpunpckhbw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x68, 0x4a, 0x01], "vpunpckhbw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x68, 0x4a, 0x01], "vpunpckhbw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x69, 0xca], "vpunpckhwd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x69, 0x0a], "vpunpckhwd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x69, 0x4a, 0x01], "vpunpckhwd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x69, 0xca], "vpunpckhwd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x69, 0xca], "vpunpckhwd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x69, 0x0a], "vpunpckhwd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x69, 0x0a], "vpunpckhwd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x69, 0x4a, 0x01], "vpunpckhwd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x69, 0x4a, 0x01], "vpunpckhwd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x69, 0xca], "vpunpckhwd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x69, 0x0a], "vpunpckhwd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x69, 0x4a, 0x01], "vpunpckhwd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x69, 0xca], "vpunpckhwd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x69, 0xca], "vpunpckhwd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x69, 0x0a], "vpunpckhwd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x69, 0x0a], "vpunpckhwd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x69, 0x4a, 0x01], "vpunpckhwd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x69, 0x4a, 0x01], "vpunpckhwd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x69, 0xca], "vpunpckhwd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x69, 0x0a], "vpunpckhwd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x69, 0x4a, 0x01], "vpunpckhwd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x69, 0xca], "vpunpckhwd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x69, 0xca], "vpunpckhwd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x69, 0x0a], "vpunpckhwd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x69, 0x0a], "vpunpckhwd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x69, 0x4a, 0x01], "vpunpckhwd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x69, 0x4a, 0x01], "vpunpckhwd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x6a, 0x0a], "vpunpckhdq ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x6a, 0x4a, 0x01], "vpunpckhdq ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x6a, 0x0a], "vpunpckhdq ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x6a, 0x0a], "vpunpckhdq ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x6a, 0x4a, 0x01], "vpunpckhdq ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x6a, 0x4a, 0x01], "vpunpckhdq ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6a, 0xca], "vpunpckhdq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6a, 0x0a], "vpunpckhdq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6a, 0x4a, 0x01], "vpunpckhdq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6a, 0xca], "vpunpckhdq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6a, 0xca], "vpunpckhdq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6a, 0x0a], "vpunpckhdq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6a, 0x0a], "vpunpckhdq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6a, 0x4a, 0x01], "vpunpckhdq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6a, 0x4a, 0x01], "vpunpckhdq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x6a, 0x0a], "vpunpckhdq zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x6a, 0x4a, 0x01], "vpunpckhdq zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x6a, 0x0a], "vpunpckhdq zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x6a, 0x0a], "vpunpckhdq zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x6a, 0x4a, 0x01], "vpunpckhdq zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x6a, 0x4a, 0x01], "vpunpckhdq zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x6a, 0x0a], "vpunpckhdq xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x6a, 0x4a, 0x01], "vpunpckhdq xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x6a, 0x0a], "vpunpckhdq xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x6a, 0x0a], "vpunpckhdq xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x6a, 0x4a, 0x01], "vpunpckhdq xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x6a, 0x4a, 0x01], "vpunpckhdq xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6a, 0xca], "vpunpckhdq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6a, 0x0a], "vpunpckhdq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6a, 0x4a, 0x01], "vpunpckhdq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6a, 0xca], "vpunpckhdq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6a, 0xca], "vpunpckhdq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6a, 0x0a], "vpunpckhdq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6a, 0x0a], "vpunpckhdq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6a, 0x4a, 0x01], "vpunpckhdq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6a, 0x4a, 0x01], "vpunpckhdq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6a, 0xca], "vpunpckhdq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6a, 0x0a], "vpunpckhdq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6a, 0x4a, 0x01], "vpunpckhdq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6a, 0xca], "vpunpckhdq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6a, 0xca], "vpunpckhdq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6a, 0x0a], "vpunpckhdq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6a, 0x0a], "vpunpckhdq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6a, 0x4a, 0x01], "vpunpckhdq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6a, 0x4a, 0x01], "vpunpckhdq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x6b, 0x0a], "vpackssdw ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x6b, 0x4a, 0x01], "vpackssdw ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x6b, 0x0a], "vpackssdw ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x6b, 0x0a], "vpackssdw ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x6b, 0x4a, 0x01], "vpackssdw ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x6b, 0x4a, 0x01], "vpackssdw ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6b, 0xca], "vpackssdw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6b, 0x0a], "vpackssdw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6b, 0x4a, 0x01], "vpackssdw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6b, 0xca], "vpackssdw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6b, 0xca], "vpackssdw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6b, 0x0a], "vpackssdw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6b, 0x0a], "vpackssdw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6b, 0x4a, 0x01], "vpackssdw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6b, 0x4a, 0x01], "vpackssdw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x6b, 0x0a], "vpackssdw zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x6b, 0x4a, 0x01], "vpackssdw zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x6b, 0x0a], "vpackssdw zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x6b, 0x0a], "vpackssdw zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x6b, 0x4a, 0x01], "vpackssdw zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x6b, 0x4a, 0x01], "vpackssdw zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x6b, 0x0a], "vpackssdw xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x6b, 0x4a, 0x01], "vpackssdw xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x6b, 0x0a], "vpackssdw xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x6b, 0x0a], "vpackssdw xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x6b, 0x4a, 0x01], "vpackssdw xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x6b, 0x4a, 0x01], "vpackssdw xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6b, 0xca], "vpackssdw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6b, 0x0a], "vpackssdw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6b, 0x4a, 0x01], "vpackssdw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6b, 0xca], "vpackssdw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6b, 0xca], "vpackssdw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6b, 0x0a], "vpackssdw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6b, 0x0a], "vpackssdw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6b, 0x4a, 0x01], "vpackssdw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6b, 0x4a, 0x01], "vpackssdw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6b, 0xca], "vpackssdw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6b, 0x0a], "vpackssdw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6b, 0x4a, 0x01], "vpackssdw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6b, 0xca], "vpackssdw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6b, 0xca], "vpackssdw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6b, 0x0a], "vpackssdw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6b, 0x0a], "vpackssdw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6b, 0x4a, 0x01], "vpackssdw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6b, 0x4a, 0x01], "vpackssdw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x6c, 0x0a], "vpunpcklqdq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x6c, 0x4a, 0x01], "vpunpcklqdq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x6c, 0x0a], "vpunpcklqdq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x6c, 0x0a], "vpunpcklqdq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x6c, 0x4a, 0x01], "vpunpcklqdq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x6c, 0x4a, 0x01], "vpunpcklqdq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6c, 0xca], "vpunpcklqdq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6c, 0x0a], "vpunpcklqdq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6c, 0x4a, 0x01], "vpunpcklqdq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6c, 0xca], "vpunpcklqdq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6c, 0xca], "vpunpcklqdq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6c, 0x0a], "vpunpcklqdq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6c, 0x0a], "vpunpcklqdq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6c, 0x4a, 0x01], "vpunpcklqdq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6c, 0x4a, 0x01], "vpunpcklqdq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x6c, 0x0a], "vpunpcklqdq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x6c, 0x4a, 0x01], "vpunpcklqdq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x6c, 0x0a], "vpunpcklqdq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x6c, 0x0a], "vpunpcklqdq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x6c, 0x4a, 0x01], "vpunpcklqdq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x6c, 0x4a, 0x01], "vpunpcklqdq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x6c, 0x0a], "vpunpcklqdq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x6c, 0x4a, 0x01], "vpunpcklqdq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x6c, 0x0a], "vpunpcklqdq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x6c, 0x0a], "vpunpcklqdq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x6c, 0x4a, 0x01], "vpunpcklqdq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x6c, 0x4a, 0x01], "vpunpcklqdq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6c, 0xca], "vpunpcklqdq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6c, 0x0a], "vpunpcklqdq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6c, 0x4a, 0x01], "vpunpcklqdq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6c, 0xca], "vpunpcklqdq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6c, 0xca], "vpunpcklqdq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6c, 0x0a], "vpunpcklqdq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6c, 0x0a], "vpunpcklqdq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6c, 0x4a, 0x01], "vpunpcklqdq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6c, 0x4a, 0x01], "vpunpcklqdq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6c, 0xca], "vpunpcklqdq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6c, 0x0a], "vpunpcklqdq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6c, 0x4a, 0x01], "vpunpcklqdq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6c, 0xca], "vpunpcklqdq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6c, 0xca], "vpunpcklqdq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6c, 0x0a], "vpunpcklqdq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6c, 0x0a], "vpunpcklqdq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6c, 0x4a, 0x01], "vpunpcklqdq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6c, 0x4a, 0x01], "vpunpcklqdq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x6d, 0x0a], "vpunpckhqdq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x6d, 0x4a, 0x01], "vpunpckhqdq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x6d, 0x0a], "vpunpckhqdq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x6d, 0x0a], "vpunpckhqdq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x6d, 0x4a, 0x01], "vpunpckhqdq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x6d, 0x4a, 0x01], "vpunpckhqdq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6d, 0xca], "vpunpckhqdq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6d, 0x0a], "vpunpckhqdq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6d, 0x4a, 0x01], "vpunpckhqdq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6d, 0xca], "vpunpckhqdq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6d, 0xca], "vpunpckhqdq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6d, 0x0a], "vpunpckhqdq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6d, 0x0a], "vpunpckhqdq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6d, 0x4a, 0x01], "vpunpckhqdq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6d, 0x4a, 0x01], "vpunpckhqdq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x6d, 0x0a], "vpunpckhqdq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x6d, 0x4a, 0x01], "vpunpckhqdq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x6d, 0x0a], "vpunpckhqdq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x6d, 0x0a], "vpunpckhqdq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x6d, 0x4a, 0x01], "vpunpckhqdq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x6d, 0x4a, 0x01], "vpunpckhqdq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x6d, 0x0a], "vpunpckhqdq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x6d, 0x4a, 0x01], "vpunpckhqdq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x6d, 0x0a], "vpunpckhqdq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x6d, 0x0a], "vpunpckhqdq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x6d, 0x4a, 0x01], "vpunpckhqdq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x6d, 0x4a, 0x01], "vpunpckhqdq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6d, 0xca], "vpunpckhqdq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6d, 0x0a], "vpunpckhqdq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6d, 0x4a, 0x01], "vpunpckhqdq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6d, 0xca], "vpunpckhqdq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6d, 0xca], "vpunpckhqdq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6d, 0x0a], "vpunpckhqdq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6d, 0x0a], "vpunpckhqdq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6d, 0x4a, 0x01], "vpunpckhqdq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6d, 0x4a, 0x01], "vpunpckhqdq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6d, 0xca], "vpunpckhqdq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6d, 0x0a], "vpunpckhqdq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6d, 0x4a, 0x01], "vpunpckhqdq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6d, 0xca], "vpunpckhqdq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6d, 0xca], "vpunpckhqdq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6d, 0x0a], "vpunpckhqdq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6d, 0x0a], "vpunpckhqdq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6d, 0x4a, 0x01], "vpunpckhqdq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6d, 0x4a, 0x01], "vpunpckhqdq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6e, 0xca], "vmovd xmm1, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6e, 0x0a], "vmovd xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6e, 0x4a, 0x01], "vmovd xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6f, 0xca], "vmovdqa64 ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6f, 0x0a], "vmovdqa64 ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x6f, 0x4a, 0x01], "vmovdqa64 ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6f, 0xca], "vmovdqa64 ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6f, 0xca], "vmovdqa64 ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6f, 0x0a], "vmovdqa64 ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6f, 0x0a], "vmovdqa64 ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x6f, 0x4a, 0x01], "vmovdqa64 ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x6f, 0x4a, 0x01], "vmovdqa64 ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6f, 0xca], "vmovdqa32 ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6f, 0x0a], "vmovdqa32 ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x6f, 0x4a, 0x01], "vmovdqa32 ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6f, 0xca], "vmovdqa32 ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6f, 0xca], "vmovdqa32 ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6f, 0x0a], "vmovdqa32 ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6f, 0x0a], "vmovdqa32 ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x6f, 0x4a, 0x01], "vmovdqa32 ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x6f, 0x4a, 0x01], "vmovdqa32 ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6f, 0xca], "vmovdqa64 zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6f, 0x0a], "vmovdqa64 zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x6f, 0x4a, 0x01], "vmovdqa64 zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6f, 0xca], "vmovdqa64 zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6f, 0xca], "vmovdqa64 zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6f, 0x0a], "vmovdqa64 zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6f, 0x0a], "vmovdqa64 zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x6f, 0x4a, 0x01], "vmovdqa64 zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x6f, 0x4a, 0x01], "vmovdqa64 zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6f, 0xca], "vmovdqa64 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6f, 0x0a], "vmovdqa64 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x6f, 0x4a, 0x01], "vmovdqa64 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6f, 0xca], "vmovdqa64 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6f, 0xca], "vmovdqa64 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6f, 0x0a], "vmovdqa64 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6f, 0x0a], "vmovdqa64 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x6f, 0x4a, 0x01], "vmovdqa64 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x6f, 0x4a, 0x01], "vmovdqa64 xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6f, 0xca], "vmovdqa32 zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6f, 0x0a], "vmovdqa32 zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x6f, 0x4a, 0x01], "vmovdqa32 zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6f, 0xca], "vmovdqa32 zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6f, 0xca], "vmovdqa32 zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6f, 0x0a], "vmovdqa32 zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6f, 0x0a], "vmovdqa32 zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x6f, 0x4a, 0x01], "vmovdqa32 zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x6f, 0x4a, 0x01], "vmovdqa32 zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6f, 0xca], "vmovdqa32 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6f, 0x0a], "vmovdqa32 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x6f, 0x4a, 0x01], "vmovdqa32 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6f, 0xca], "vmovdqa32 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6f, 0xca], "vmovdqa32 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6f, 0x0a], "vmovdqa32 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6f, 0x0a], "vmovdqa32 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x6f, 0x4a, 0x01], "vmovdqa32 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x6f, 0x4a, 0x01], "vmovdqa32 xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x70, 0x0a, 0xcc], "vpshufd ymm1{k5}{z}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x70, 0x4a, 0x01, 0xcc], "vpshufd ymm1{k5}{z}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x70, 0x0a, 0xcc], "vpshufd ymm1, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x70, 0x0a, 0xcc], "vpshufd ymm1{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x70, 0x4a, 0x01, 0xcc], "vpshufd ymm1, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd ymm1{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x70, 0xca, 0xcc], "vpshufd ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x70, 0x0a, 0xcc], "vpshufd ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x70, 0x4a, 0x01, 0xcc], "vpshufd ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x70, 0xca, 0xcc], "vpshufd ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x70, 0xca, 0xcc], "vpshufd ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x70, 0x0a, 0xcc], "vpshufd ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x70, 0x0a, 0xcc], "vpshufd ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x70, 0x4a, 0x01, 0xcc], "vpshufd ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x70, 0x0a, 0xcc], "vpshufd zmm1{k5}{z}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x70, 0x4a, 0x01, 0xcc], "vpshufd zmm1{k5}{z}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x70, 0x0a, 0xcc], "vpshufd zmm1, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x70, 0x0a, 0xcc], "vpshufd zmm1{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x70, 0x4a, 0x01, 0xcc], "vpshufd zmm1, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd zmm1{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x70, 0x0a, 0xcc], "vpshufd xmm1{k5}{z}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd xmm1{k5}{z}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x70, 0x0a, 0xcc], "vpshufd xmm1, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x70, 0x0a, 0xcc], "vpshufd xmm1{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x70, 0x4a, 0x01, 0xcc], "vpshufd xmm1, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd xmm1{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x70, 0xca, 0xcc], "vpshufd zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x70, 0x0a, 0xcc], "vpshufd zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x70, 0x4a, 0x01, 0xcc], "vpshufd zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x70, 0xca, 0xcc], "vpshufd zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x70, 0xca, 0xcc], "vpshufd zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x70, 0x0a, 0xcc], "vpshufd zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x70, 0x0a, 0xcc], "vpshufd zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x70, 0x4a, 0x01, 0xcc], "vpshufd zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x70, 0xca, 0xcc], "vpshufd xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x70, 0x0a, 0xcc], "vpshufd xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x70, 0xca, 0xcc], "vpshufd xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x70, 0xca, 0xcc], "vpshufd xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x70, 0x0a, 0xcc], "vpshufd xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x70, 0x0a, 0xcc], "vpshufd xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x70, 0x4a, 0x01, 0xcc], "vpshufd xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x70, 0x4a, 0x01, 0xcc], "vpshufd xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x72, 0x0a, 0xcc], "vprolq ymm0{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x72, 0x4a, 0x01, 0xcc], "vprolq ymm0{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x72, 0x0a, 0xcc], "vprolq ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x72, 0x0a, 0xcc], "vprolq ymm0{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x72, 0x4a, 0x01, 0xcc], "vprolq ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x72, 0x4a, 0x01, 0xcc], "vprolq ymm0{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x72, 0xca, 0xcc], "vprolq ymm0{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x72, 0x0a, 0xcc], "vprolq ymm0{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x72, 0x4a, 0x01, 0xcc], "vprolq ymm0{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x72, 0xca, 0xcc], "vprolq ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x72, 0xca, 0xcc], "vprolq ymm0{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x72, 0x0a, 0xcc], "vprolq ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x72, 0x0a, 0xcc], "vprolq ymm0{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x72, 0x4a, 0x01, 0xcc], "vprolq ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x72, 0x4a, 0x01, 0xcc], "vprolq ymm0{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x72, 0x0a, 0xcc], "vprold ymm0{k5}{z}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x72, 0x4a, 0x01, 0xcc], "vprold ymm0{k5}{z}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x72, 0x0a, 0xcc], "vprold ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x72, 0x0a, 0xcc], "vprold ymm0{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x72, 0x4a, 0x01, 0xcc], "vprold ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x72, 0x4a, 0x01, 0xcc], "vprold ymm0{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x72, 0xca, 0xcc], "vprold ymm0{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x72, 0x0a, 0xcc], "vprold ymm0{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x72, 0x4a, 0x01, 0xcc], "vprold ymm0{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x72, 0xca, 0xcc], "vprold ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x72, 0xca, 0xcc], "vprold ymm0{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x72, 0x0a, 0xcc], "vprold ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x72, 0x0a, 0xcc], "vprold ymm0{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x72, 0x4a, 0x01, 0xcc], "vprold ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x72, 0x4a, 0x01, 0xcc], "vprold ymm0{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x72, 0x0a, 0xcc], "vprolq zmm0{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x72, 0x4a, 0x01, 0xcc], "vprolq zmm0{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x72, 0x0a, 0xcc], "vprolq zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x72, 0x0a, 0xcc], "vprolq zmm0{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x72, 0x4a, 0x01, 0xcc], "vprolq zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x72, 0x4a, 0x01, 0xcc], "vprolq zmm0{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x72, 0x0a, 0xcc], "vprolq xmm0{k5}{z}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x72, 0x4a, 0x01, 0xcc], "vprolq xmm0{k5}{z}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x72, 0x0a, 0xcc], "vprolq xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x72, 0x0a, 0xcc], "vprolq xmm0{k5}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x72, 0x4a, 0x01, 0xcc], "vprolq xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x72, 0x4a, 0x01, 0xcc], "vprolq xmm0{k5}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x72, 0xca, 0xcc], "vprolq zmm0{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x72, 0x0a, 0xcc], "vprolq zmm0{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x72, 0x4a, 0x01, 0xcc], "vprolq zmm0{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x72, 0xca, 0xcc], "vprolq zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x72, 0xca, 0xcc], "vprolq zmm0{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x72, 0x0a, 0xcc], "vprolq zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x72, 0x0a, 0xcc], "vprolq zmm0{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x72, 0x4a, 0x01, 0xcc], "vprolq zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x72, 0x4a, 0x01, 0xcc], "vprolq zmm0{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x72, 0xca, 0xcc], "vprolq xmm0{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x72, 0x0a, 0xcc], "vprolq xmm0{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x72, 0x4a, 0x01, 0xcc], "vprolq xmm0{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x72, 0xca, 0xcc], "vprolq xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x72, 0xca, 0xcc], "vprolq xmm0{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x72, 0x0a, 0xcc], "vprolq xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x72, 0x0a, 0xcc], "vprolq xmm0{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x72, 0x4a, 0x01, 0xcc], "vprolq xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x72, 0x4a, 0x01, 0xcc], "vprolq xmm0{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x72, 0x0a, 0xcc], "vprold zmm0{k5}{z}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x72, 0x4a, 0x01, 0xcc], "vprold zmm0{k5}{z}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x72, 0x0a, 0xcc], "vprold zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x72, 0x0a, 0xcc], "vprold zmm0{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x72, 0x4a, 0x01, 0xcc], "vprold zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x72, 0x4a, 0x01, 0xcc], "vprold zmm0{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x72, 0x0a, 0xcc], "vprold xmm0{k5}{z}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x72, 0x4a, 0x01, 0xcc], "vprold xmm0{k5}{z}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x72, 0x0a, 0xcc], "vprold xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x72, 0x0a, 0xcc], "vprold xmm0{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x72, 0x4a, 0x01, 0xcc], "vprold xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x72, 0x4a, 0x01, 0xcc], "vprold xmm0{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x72, 0xca, 0xcc], "vprold zmm0{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x72, 0x0a, 0xcc], "vprold zmm0{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x72, 0x4a, 0x01, 0xcc], "vprold zmm0{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x72, 0xca, 0xcc], "vprold zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x72, 0xca, 0xcc], "vprold zmm0{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x72, 0x0a, 0xcc], "vprold zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x72, 0x0a, 0xcc], "vprold zmm0{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x72, 0x4a, 0x01, 0xcc], "vprold zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x72, 0x4a, 0x01, 0xcc], "vprold zmm0{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x72, 0xca, 0xcc], "vprold xmm0{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x72, 0x0a, 0xcc], "vprold xmm0{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x72, 0x4a, 0x01, 0xcc], "vprold xmm0{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x72, 0xca, 0xcc], "vprold xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x72, 0xca, 0xcc], "vprold xmm0{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x72, 0x0a, 0xcc], "vprold xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x72, 0x0a, 0xcc], "vprold xmm0{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x72, 0x4a, 0x01, 0xcc], "vprold xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x72, 0x4a, 0x01, 0xcc], "vprold xmm0{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x74, 0xca], "vpcmpeqb k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x74, 0xca], "vpcmpeqb k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x74, 0x0a], "vpcmpeqb k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x74, 0x0a], "vpcmpeqb k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x74, 0x4a, 0x01], "vpcmpeqb k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x74, 0x4a, 0x01], "vpcmpeqb k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x74, 0xca], "vpcmpeqb k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x74, 0xca], "vpcmpeqb k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x74, 0x0a], "vpcmpeqb k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x74, 0x0a], "vpcmpeqb k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x74, 0x4a, 0x01], "vpcmpeqb k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x74, 0x4a, 0x01], "vpcmpeqb k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x74, 0xca], "vpcmpeqb k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x74, 0xca], "vpcmpeqb k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x74, 0x0a], "vpcmpeqb k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x74, 0x0a], "vpcmpeqb k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x74, 0x4a, 0x01], "vpcmpeqb k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x74, 0x4a, 0x01], "vpcmpeqb k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x75, 0xca], "vpcmpeqw k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x75, 0xca], "vpcmpeqw k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x75, 0x0a], "vpcmpeqw k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x75, 0x0a], "vpcmpeqw k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x75, 0x4a, 0x01], "vpcmpeqw k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x75, 0x4a, 0x01], "vpcmpeqw k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x75, 0xca], "vpcmpeqw k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x75, 0xca], "vpcmpeqw k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x75, 0x0a], "vpcmpeqw k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x75, 0x0a], "vpcmpeqw k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x75, 0x4a, 0x01], "vpcmpeqw k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x75, 0x4a, 0x01], "vpcmpeqw k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x75, 0xca], "vpcmpeqw k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x75, 0xca], "vpcmpeqw k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x75, 0x0a], "vpcmpeqw k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x75, 0x0a], "vpcmpeqw k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x75, 0x4a, 0x01], "vpcmpeqw k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x75, 0x4a, 0x01], "vpcmpeqw k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x76, 0x0a], "vpcmpeqd k1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x76, 0x0a], "vpcmpeqd k1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x76, 0x4a, 0x01], "vpcmpeqd k1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x76, 0x4a, 0x01], "vpcmpeqd k1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x76, 0xca], "vpcmpeqd k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x76, 0xca], "vpcmpeqd k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x76, 0x0a], "vpcmpeqd k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x76, 0x0a], "vpcmpeqd k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x76, 0x4a, 0x01], "vpcmpeqd k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x76, 0x4a, 0x01], "vpcmpeqd k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x76, 0x0a], "vpcmpeqd k1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x76, 0x0a], "vpcmpeqd k1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x76, 0x4a, 0x01], "vpcmpeqd k1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x76, 0x4a, 0x01], "vpcmpeqd k1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x76, 0x0a], "vpcmpeqd k1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x76, 0x0a], "vpcmpeqd k1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x76, 0x4a, 0x01], "vpcmpeqd k1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x76, 0x4a, 0x01], "vpcmpeqd k1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x76, 0xca], "vpcmpeqd k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x76, 0xca], "vpcmpeqd k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x76, 0x0a], "vpcmpeqd k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x76, 0x0a], "vpcmpeqd k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x76, 0x4a, 0x01], "vpcmpeqd k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x76, 0x4a, 0x01], "vpcmpeqd k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x76, 0xca], "vpcmpeqd k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x76, 0xca], "vpcmpeqd k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x76, 0x0a], "vpcmpeqd k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x76, 0x0a], "vpcmpeqd k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x76, 0x4a, 0x01], "vpcmpeqd k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x76, 0x4a, 0x01], "vpcmpeqd k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x78, 0xca], "vcvttpd2uqq zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x78, 0xca], "vcvttpd2uqq zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x78, 0xca], "vcvttpd2uqq zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x78, 0x0a], "vcvttpd2uqq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x78, 0x4a, 0x01], "vcvttpd2uqq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x78, 0x0a], "vcvttpd2uqq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x78, 0x0a], "vcvttpd2uqq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x78, 0x4a, 0x01], "vcvttpd2uqq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x78, 0x4a, 0x01], "vcvttpd2uqq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x78, 0xca], "vcvttpd2uqq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x78, 0x0a], "vcvttpd2uqq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x78, 0x4a, 0x01], "vcvttpd2uqq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x78, 0xca], "vcvttpd2uqq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x78, 0xca], "vcvttpd2uqq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x78, 0x0a], "vcvttpd2uqq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x78, 0x0a], "vcvttpd2uqq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x78, 0x4a, 0x01], "vcvttpd2uqq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x78, 0x4a, 0x01], "vcvttpd2uqq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xfd, 0x78, 0xca], "vcvttps2uqq zmm1{k5}{z}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x78, 0x78, 0xca], "vcvttps2uqq zmm1{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x7d, 0x78, 0xca], "vcvttps2uqq zmm1{k5}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x78, 0x0a], "vcvttps2uqq ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x78, 0x4a, 0x01], "vcvttps2uqq ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x78, 0x0a], "vcvttps2uqq ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x78, 0x0a], "vcvttps2uqq ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x78, 0x4a, 0x01], "vcvttps2uqq ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x78, 0x4a, 0x01], "vcvttps2uqq ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x78, 0xca], "vcvttps2uqq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x78, 0x0a], "vcvttps2uqq ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x78, 0x4a, 0x01], "vcvttps2uqq ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x78, 0xca], "vcvttps2uqq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x78, 0xca], "vcvttps2uqq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x78, 0x0a], "vcvttps2uqq ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x78, 0x0a], "vcvttps2uqq ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x78, 0x4a, 0x01], "vcvttps2uqq ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x78, 0x4a, 0x01], "vcvttps2uqq ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x78, 0x0a], "vcvttpd2uqq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x78, 0x4a, 0x01], "vcvttpd2uqq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x78, 0x0a], "vcvttpd2uqq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x78, 0x0a], "vcvttpd2uqq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x78, 0x4a, 0x01], "vcvttpd2uqq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x78, 0x4a, 0x01], "vcvttpd2uqq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x78, 0x0a], "vcvttpd2uqq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x78, 0x4a, 0x01], "vcvttpd2uqq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x78, 0x0a], "vcvttpd2uqq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x78, 0x0a], "vcvttpd2uqq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x78, 0x4a, 0x01], "vcvttpd2uqq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x78, 0x4a, 0x01], "vcvttpd2uqq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x78, 0xca], "vcvttpd2uqq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x78, 0x0a], "vcvttpd2uqq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x78, 0x4a, 0x01], "vcvttpd2uqq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x78, 0xca], "vcvttpd2uqq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x78, 0xca], "vcvttpd2uqq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x78, 0x0a], "vcvttpd2uqq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x78, 0x0a], "vcvttpd2uqq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x78, 0x4a, 0x01], "vcvttpd2uqq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x78, 0x4a, 0x01], "vcvttpd2uqq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x78, 0xca], "vcvttpd2uqq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x78, 0x0a], "vcvttpd2uqq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x78, 0x4a, 0x01], "vcvttpd2uqq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x78, 0xca], "vcvttpd2uqq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x78, 0xca], "vcvttpd2uqq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x78, 0x0a], "vcvttpd2uqq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x78, 0x0a], "vcvttpd2uqq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x78, 0x4a, 0x01], "vcvttpd2uqq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x78, 0x4a, 0x01], "vcvttpd2uqq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x78, 0x0a], "vcvttps2uqq zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x78, 0x4a, 0x01], "vcvttps2uqq zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x78, 0x0a], "vcvttps2uqq zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x78, 0x0a], "vcvttps2uqq zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x78, 0x4a, 0x01], "vcvttps2uqq zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x78, 0x4a, 0x01], "vcvttps2uqq zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x78, 0x0a], "vcvttps2uqq xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x78, 0x4a, 0x01], "vcvttps2uqq xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x78, 0x0a], "vcvttps2uqq xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x78, 0x0a], "vcvttps2uqq xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x78, 0x4a, 0x01], "vcvttps2uqq xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x78, 0x4a, 0x01], "vcvttps2uqq xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x78, 0xca], "vcvttps2uqq zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x78, 0x0a], "vcvttps2uqq zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x78, 0x4a, 0x01], "vcvttps2uqq zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x78, 0xca], "vcvttps2uqq zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x78, 0xca], "vcvttps2uqq zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x78, 0x0a], "vcvttps2uqq zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x78, 0x0a], "vcvttps2uqq zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x78, 0x4a, 0x01], "vcvttps2uqq zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x78, 0x4a, 0x01], "vcvttps2uqq zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x78, 0xca], "vcvttps2uqq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x78, 0x0a], "vcvttps2uqq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x78, 0x4a, 0x01], "vcvttps2uqq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x78, 0xca], "vcvttps2uqq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x78, 0xca], "vcvttps2uqq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x78, 0x0a], "vcvttps2uqq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x78, 0x0a], "vcvttps2uqq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x78, 0x4a, 0x01], "vcvttps2uqq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x78, 0x4a, 0x01], "vcvttps2uqq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x79, 0xca], "vcvtpd2uqq zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x79, 0x0a], "vcvtpd2uqq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x79, 0x4a, 0x01], "vcvtpd2uqq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x79, 0xca], "vcvtpd2uqq zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x79, 0x0a], "vcvtpd2uqq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x79, 0x0a], "vcvtpd2uqq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x79, 0x4a, 0x01], "vcvtpd2uqq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x79, 0x4a, 0x01], "vcvtpd2uqq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x79, 0xca], "vcvtpd2uqq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x79, 0x0a], "vcvtpd2uqq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x79, 0x4a, 0x01], "vcvtpd2uqq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x79, 0xca], "vcvtpd2uqq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x79, 0xca], "vcvtpd2uqq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x79, 0x0a], "vcvtpd2uqq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x79, 0x0a], "vcvtpd2uqq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x79, 0x4a, 0x01], "vcvtpd2uqq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x79, 0x4a, 0x01], "vcvtpd2uqq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xfd, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{z}{rz-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x78, 0x79, 0xca], "vcvtps2uqq zmm1{rz-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x7d, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{rz-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{z}{rd-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x79, 0x0a], "vcvtps2uqq ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x79, 0x4a, 0x01], "vcvtps2uqq ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x79, 0xca], "vcvtps2uqq zmm1{rd-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{rd-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x79, 0x0a], "vcvtps2uqq ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x79, 0x0a], "vcvtps2uqq ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x79, 0x4a, 0x01], "vcvtps2uqq ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x79, 0x4a, 0x01], "vcvtps2uqq ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x79, 0xca], "vcvtps2uqq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x79, 0x0a], "vcvtps2uqq ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x79, 0x4a, 0x01], "vcvtps2uqq ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x79, 0xca], "vcvtps2uqq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x79, 0xca], "vcvtps2uqq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x79, 0x0a], "vcvtps2uqq ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x79, 0x0a], "vcvtps2uqq ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x79, 0x4a, 0x01], "vcvtps2uqq ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x79, 0x4a, 0x01], "vcvtps2uqq ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x79, 0x0a], "vcvtpd2uqq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x79, 0x4a, 0x01], "vcvtpd2uqq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x79, 0xca], "vcvtpd2uqq zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x79, 0x0a], "vcvtpd2uqq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x79, 0x0a], "vcvtpd2uqq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x79, 0x4a, 0x01], "vcvtpd2uqq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x79, 0x4a, 0x01], "vcvtpd2uqq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x79, 0x0a], "vcvtpd2uqq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x79, 0x4a, 0x01], "vcvtpd2uqq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x79, 0xca], "vcvtpd2uqq zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x79, 0x0a], "vcvtpd2uqq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x79, 0x0a], "vcvtpd2uqq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x79, 0x4a, 0x01], "vcvtpd2uqq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x79, 0x4a, 0x01], "vcvtpd2uqq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x79, 0x0a], "vcvtpd2uqq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x79, 0x4a, 0x01], "vcvtpd2uqq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x79, 0xca], "vcvtpd2uqq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x79, 0xca], "vcvtpd2uqq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x79, 0x0a], "vcvtpd2uqq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x79, 0x0a], "vcvtpd2uqq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x79, 0x4a, 0x01], "vcvtpd2uqq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x79, 0x4a, 0x01], "vcvtpd2uqq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x79, 0xca], "vcvtpd2uqq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x79, 0x0a], "vcvtpd2uqq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x79, 0x4a, 0x01], "vcvtpd2uqq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x79, 0xca], "vcvtpd2uqq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x79, 0xca], "vcvtpd2uqq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x79, 0x0a], "vcvtpd2uqq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x79, 0x0a], "vcvtpd2uqq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x79, 0x4a, 0x01], "vcvtpd2uqq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x79, 0x4a, 0x01], "vcvtpd2uqq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{z}{ru-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x79, 0x0a], "vcvtps2uqq zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x79, 0x4a, 0x01], "vcvtps2uqq zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x79, 0xca], "vcvtps2uqq zmm1{ru-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{ru-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x79, 0x0a], "vcvtps2uqq zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x79, 0x0a], "vcvtps2uqq zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x79, 0x4a, 0x01], "vcvtps2uqq zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x79, 0x4a, 0x01], "vcvtps2uqq zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{z}{rne-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x79, 0x0a], "vcvtps2uqq xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x79, 0x4a, 0x01], "vcvtps2uqq xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x79, 0xca], "vcvtps2uqq zmm1{rne-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{rne-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x79, 0x0a], "vcvtps2uqq xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x79, 0x0a], "vcvtps2uqq xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x79, 0x4a, 0x01], "vcvtps2uqq xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x79, 0x4a, 0x01], "vcvtps2uqq xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x79, 0xca], "vcvtps2uqq zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x79, 0x0a], "vcvtps2uqq zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x79, 0x4a, 0x01], "vcvtps2uqq zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x79, 0xca], "vcvtps2uqq zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x79, 0xca], "vcvtps2uqq zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x79, 0x0a], "vcvtps2uqq zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x79, 0x0a], "vcvtps2uqq zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x79, 0x4a, 0x01], "vcvtps2uqq zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x79, 0x4a, 0x01], "vcvtps2uqq zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x79, 0xca], "vcvtps2uqq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x79, 0x0a], "vcvtps2uqq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x79, 0x4a, 0x01], "vcvtps2uqq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x79, 0xca], "vcvtps2uqq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x79, 0xca], "vcvtps2uqq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x79, 0x0a], "vcvtps2uqq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x79, 0x0a], "vcvtps2uqq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x79, 0x4a, 0x01], "vcvtps2uqq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x79, 0x4a, 0x01], "vcvtps2uqq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x7a, 0xca], "vcvttpd2qq zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x7a, 0xca], "vcvttpd2qq zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x7a, 0xca], "vcvttpd2qq zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x7a, 0x0a], "vcvttpd2qq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x7a, 0x4a, 0x01], "vcvttpd2qq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x7a, 0x0a], "vcvttpd2qq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x7a, 0x0a], "vcvttpd2qq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x7a, 0x4a, 0x01], "vcvttpd2qq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x7a, 0x4a, 0x01], "vcvttpd2qq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7a, 0xca], "vcvttpd2qq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7a, 0x0a], "vcvttpd2qq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7a, 0x4a, 0x01], "vcvttpd2qq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7a, 0xca], "vcvttpd2qq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7a, 0xca], "vcvttpd2qq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7a, 0x0a], "vcvttpd2qq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7a, 0x0a], "vcvttpd2qq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7a, 0x4a, 0x01], "vcvttpd2qq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7a, 0x4a, 0x01], "vcvttpd2qq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xfd, 0x7a, 0xca], "vcvttps2qq zmm1{k5}{z}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x78, 0x7a, 0xca], "vcvttps2qq zmm1{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x7d, 0x7a, 0xca], "vcvttps2qq zmm1{k5}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x7a, 0x0a], "vcvttps2qq ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x7a, 0x4a, 0x01], "vcvttps2qq ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x7a, 0x0a], "vcvttps2qq ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x7a, 0x0a], "vcvttps2qq ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x7a, 0x4a, 0x01], "vcvttps2qq ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x7a, 0x4a, 0x01], "vcvttps2qq ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7a, 0xca], "vcvttps2qq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7a, 0x0a], "vcvttps2qq ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7a, 0x4a, 0x01], "vcvttps2qq ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7a, 0xca], "vcvttps2qq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7a, 0xca], "vcvttps2qq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7a, 0x0a], "vcvttps2qq ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7a, 0x0a], "vcvttps2qq ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7a, 0x4a, 0x01], "vcvttps2qq ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7a, 0x4a, 0x01], "vcvttps2qq ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x7a, 0x0a], "vcvttpd2qq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x7a, 0x4a, 0x01], "vcvttpd2qq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x7a, 0x0a], "vcvttpd2qq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x7a, 0x0a], "vcvttpd2qq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x7a, 0x4a, 0x01], "vcvttpd2qq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x7a, 0x4a, 0x01], "vcvttpd2qq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x7a, 0x0a], "vcvttpd2qq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x7a, 0x4a, 0x01], "vcvttpd2qq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x7a, 0x0a], "vcvttpd2qq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x7a, 0x0a], "vcvttpd2qq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x7a, 0x4a, 0x01], "vcvttpd2qq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x7a, 0x4a, 0x01], "vcvttpd2qq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7a, 0xca], "vcvttpd2qq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7a, 0x0a], "vcvttpd2qq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7a, 0x4a, 0x01], "vcvttpd2qq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7a, 0xca], "vcvttpd2qq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7a, 0xca], "vcvttpd2qq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7a, 0x0a], "vcvttpd2qq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7a, 0x0a], "vcvttpd2qq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7a, 0x4a, 0x01], "vcvttpd2qq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7a, 0x4a, 0x01], "vcvttpd2qq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7a, 0xca], "vcvttpd2qq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7a, 0x0a], "vcvttpd2qq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7a, 0x4a, 0x01], "vcvttpd2qq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7a, 0xca], "vcvttpd2qq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7a, 0xca], "vcvttpd2qq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7a, 0x0a], "vcvttpd2qq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7a, 0x0a], "vcvttpd2qq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7a, 0x4a, 0x01], "vcvttpd2qq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7a, 0x4a, 0x01], "vcvttpd2qq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x7a, 0x0a], "vcvttps2qq zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x7a, 0x4a, 0x01], "vcvttps2qq zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x7a, 0x0a], "vcvttps2qq zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x7a, 0x0a], "vcvttps2qq zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x7a, 0x4a, 0x01], "vcvttps2qq zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x7a, 0x4a, 0x01], "vcvttps2qq zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x7a, 0x0a], "vcvttps2qq xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x7a, 0x4a, 0x01], "vcvttps2qq xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x7a, 0x0a], "vcvttps2qq xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x7a, 0x0a], "vcvttps2qq xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x7a, 0x4a, 0x01], "vcvttps2qq xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x7a, 0x4a, 0x01], "vcvttps2qq xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7a, 0xca], "vcvttps2qq zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7a, 0x0a], "vcvttps2qq zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7a, 0x4a, 0x01], "vcvttps2qq zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7a, 0xca], "vcvttps2qq zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7a, 0xca], "vcvttps2qq zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7a, 0x0a], "vcvttps2qq zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7a, 0x0a], "vcvttps2qq zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7a, 0x4a, 0x01], "vcvttps2qq zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7a, 0x4a, 0x01], "vcvttps2qq zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7a, 0xca], "vcvttps2qq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7a, 0x0a], "vcvttps2qq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7a, 0x4a, 0x01], "vcvttps2qq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7a, 0xca], "vcvttps2qq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7a, 0xca], "vcvttps2qq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7a, 0x0a], "vcvttps2qq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7a, 0x0a], "vcvttps2qq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7a, 0x4a, 0x01], "vcvttps2qq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7a, 0x4a, 0x01], "vcvttps2qq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0x7b, 0xca], "vcvtpd2qq zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x7b, 0x0a], "vcvtpd2qq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0x7b, 0x4a, 0x01], "vcvtpd2qq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x7b, 0xca], "vcvtpd2qq zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x7b, 0x0a], "vcvtpd2qq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x7b, 0x0a], "vcvtpd2qq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0x7b, 0x4a, 0x01], "vcvtpd2qq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0x7b, 0x4a, 0x01], "vcvtpd2qq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7b, 0xca], "vcvtpd2qq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7b, 0x0a], "vcvtpd2qq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7b, 0x4a, 0x01], "vcvtpd2qq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7b, 0xca], "vcvtpd2qq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7b, 0xca], "vcvtpd2qq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7b, 0x0a], "vcvtpd2qq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7b, 0x0a], "vcvtpd2qq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7b, 0x4a, 0x01], "vcvtpd2qq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7b, 0x4a, 0x01], "vcvtpd2qq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xfd, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{z}{rz-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x78, 0x7b, 0xca], "vcvtps2qq zmm1{rz-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x7d, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{rz-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{z}{rd-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x7b, 0x0a], "vcvtps2qq ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0x7b, 0x4a, 0x01], "vcvtps2qq ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x7b, 0xca], "vcvtps2qq zmm1{rd-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{rd-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x7b, 0x0a], "vcvtps2qq ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x7b, 0x0a], "vcvtps2qq ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0x7b, 0x4a, 0x01], "vcvtps2qq ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0x7b, 0x4a, 0x01], "vcvtps2qq ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7b, 0xca], "vcvtps2qq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7b, 0x0a], "vcvtps2qq ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7b, 0x4a, 0x01], "vcvtps2qq ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7b, 0xca], "vcvtps2qq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7b, 0xca], "vcvtps2qq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7b, 0x0a], "vcvtps2qq ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7b, 0x0a], "vcvtps2qq ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7b, 0x4a, 0x01], "vcvtps2qq ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7b, 0x4a, 0x01], "vcvtps2qq ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x7b, 0x0a], "vcvtpd2qq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0x7b, 0x4a, 0x01], "vcvtpd2qq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x7b, 0xca], "vcvtpd2qq zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x7b, 0x0a], "vcvtpd2qq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x7b, 0x0a], "vcvtpd2qq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0x7b, 0x4a, 0x01], "vcvtpd2qq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0x7b, 0x4a, 0x01], "vcvtpd2qq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x7b, 0x0a], "vcvtpd2qq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0x7b, 0x4a, 0x01], "vcvtpd2qq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x7b, 0xca], "vcvtpd2qq zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x7b, 0x0a], "vcvtpd2qq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x7b, 0x0a], "vcvtpd2qq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0x7b, 0x4a, 0x01], "vcvtpd2qq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0x7b, 0x4a, 0x01], "vcvtpd2qq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7b, 0x0a], "vcvtpd2qq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7b, 0x4a, 0x01], "vcvtpd2qq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7b, 0xca], "vcvtpd2qq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7b, 0xca], "vcvtpd2qq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7b, 0x0a], "vcvtpd2qq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7b, 0x0a], "vcvtpd2qq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7b, 0x4a, 0x01], "vcvtpd2qq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7b, 0x4a, 0x01], "vcvtpd2qq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7b, 0xca], "vcvtpd2qq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7b, 0x0a], "vcvtpd2qq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7b, 0x4a, 0x01], "vcvtpd2qq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7b, 0xca], "vcvtpd2qq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7b, 0xca], "vcvtpd2qq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7b, 0x0a], "vcvtpd2qq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7b, 0x0a], "vcvtpd2qq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7b, 0x4a, 0x01], "vcvtpd2qq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7b, 0x4a, 0x01], "vcvtpd2qq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{z}{ru-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x7b, 0x0a], "vcvtps2qq zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0x7b, 0x4a, 0x01], "vcvtps2qq zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x7b, 0xca], "vcvtps2qq zmm1{ru-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{ru-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x7b, 0x0a], "vcvtps2qq zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x7b, 0x0a], "vcvtps2qq zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0x7b, 0x4a, 0x01], "vcvtps2qq zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0x7b, 0x4a, 0x01], "vcvtps2qq zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{z}{rne-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x7b, 0x0a], "vcvtps2qq xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0x7b, 0x4a, 0x01], "vcvtps2qq xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x7b, 0xca], "vcvtps2qq zmm1{rne-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{rne-sae}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x7b, 0x0a], "vcvtps2qq xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x7b, 0x0a], "vcvtps2qq xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0x7b, 0x4a, 0x01], "vcvtps2qq xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0x7b, 0x4a, 0x01], "vcvtps2qq xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7b, 0xca], "vcvtps2qq zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7b, 0x0a], "vcvtps2qq zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7b, 0x4a, 0x01], "vcvtps2qq zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7b, 0xca], "vcvtps2qq zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7b, 0xca], "vcvtps2qq zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7b, 0x0a], "vcvtps2qq zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7b, 0x0a], "vcvtps2qq zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7b, 0x4a, 0x01], "vcvtps2qq zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7b, 0x4a, 0x01], "vcvtps2qq zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7b, 0xca], "vcvtps2qq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7b, 0x0a], "vcvtps2qq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7b, 0x4a, 0x01], "vcvtps2qq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7b, 0xca], "vcvtps2qq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7b, 0xca], "vcvtps2qq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7b, 0x0a], "vcvtps2qq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7b, 0x0a], "vcvtps2qq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7b, 0x4a, 0x01], "vcvtps2qq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7b, 0x4a, 0x01], "vcvtps2qq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7e, 0xca], "vmovd edx, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7e, 0x0a], "vmovd dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7e, 0x4a, 0x01], "vmovd dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0x7f, 0xca], "vmovdqa64 ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7f, 0xca], "vmovdqa64 ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7f, 0xca], "vmovdqa64 ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7f, 0x0a], "vmovdqa64 ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7f, 0x0a], "vmovdqa64 ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0x7f, 0x4a, 0x01], "vmovdqa64 ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0x7f, 0x4a, 0x01], "vmovdqa64 ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0x7f, 0xca], "vmovdqa32 ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7f, 0xca], "vmovdqa32 ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7f, 0xca], "vmovdqa32 ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7f, 0x0a], "vmovdqa32 ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7f, 0x0a], "vmovdqa32 ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0x7f, 0x4a, 0x01], "vmovdqa32 ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0x7f, 0x4a, 0x01], "vmovdqa32 ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0x7f, 0xca], "vmovdqa64 zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7f, 0xca], "vmovdqa64 zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7f, 0xca], "vmovdqa64 zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7f, 0x0a], "vmovdqa64 zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7f, 0x0a], "vmovdqa64 zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0x7f, 0x4a, 0x01], "vmovdqa64 zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0x7f, 0x4a, 0x01], "vmovdqa64 zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0x7f, 0xca], "vmovdqa64 xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7f, 0xca], "vmovdqa64 xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7f, 0xca], "vmovdqa64 xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7f, 0x0a], "vmovdqa64 xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7f, 0x0a], "vmovdqa64 xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0x7f, 0x4a, 0x01], "vmovdqa64 xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0x7f, 0x4a, 0x01], "vmovdqa64 xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0x7f, 0xca], "vmovdqa32 zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7f, 0xca], "vmovdqa32 zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7f, 0xca], "vmovdqa32 zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7f, 0x0a], "vmovdqa32 zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7f, 0x0a], "vmovdqa32 zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0x7f, 0x4a, 0x01], "vmovdqa32 zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0x7f, 0x4a, 0x01], "vmovdqa32 zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0x7f, 0xca], "vmovdqa32 xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7f, 0xca], "vmovdqa32 xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7f, 0xca], "vmovdqa32 xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7f, 0x0a], "vmovdqa32 xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7f, 0x0a], "vmovdqa32 xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0x7f, 0x4a, 0x01], "vmovdqa32 xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0x7f, 0x4a, 0x01], "vmovdqa32 xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0xc2, 0xca, 0xcc], "vcmppd k1{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0xc2, 0xca, 0xcc], "vcmppd k1{k5}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xc2, 0x0a, 0xcc], "vcmppd k1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xc2, 0x0a, 0xcc], "vcmppd k1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xc2, 0xca, 0xcc], "vcmppd k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xc2, 0xca, 0xcc], "vcmppd k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xc2, 0x0a, 0xcc], "vcmppd k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xc2, 0x0a, 0xcc], "vcmppd k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xc2, 0x0a, 0xcc], "vcmppd k1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xc2, 0x0a, 0xcc], "vcmppd k1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xc2, 0x0a, 0xcc], "vcmppd k1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xc2, 0x0a, 0xcc], "vcmppd k1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xc2, 0xca, 0xcc], "vcmppd k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xc2, 0xca, 0xcc], "vcmppd k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xc2, 0x0a, 0xcc], "vcmppd k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xc2, 0x0a, 0xcc], "vcmppd k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc2, 0xca, 0xcc], "vcmppd k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xc2, 0xca, 0xcc], "vcmppd k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc2, 0x0a, 0xcc], "vcmppd k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xc2, 0x0a, 0xcc], "vcmppd k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xc2, 0x4a, 0x01, 0xcc], "vcmppd k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc4, 0xca, 0xcc], "vpinsrw xmm1, xmm0, edx, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc4, 0x0a, 0xcc], "vpinsrw xmm1, xmm0, word [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc4, 0x4a, 0x01, 0xcc], "vpinsrw xmm1, xmm0, word [edx + 0x2], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc5, 0xca, 0xcc], "vpextrw ecx, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xc6, 0x0a, 0xcc], "vshufpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xc6, 0x0a, 0xcc], "vshufpd ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xc6, 0x0a, 0xcc], "vshufpd ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xc6, 0xca, 0xcc], "vshufpd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xc6, 0x0a, 0xcc], "vshufpd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xc6, 0xca, 0xcc], "vshufpd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xc6, 0xca, 0xcc], "vshufpd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xc6, 0x0a, 0xcc], "vshufpd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xc6, 0x0a, 0xcc], "vshufpd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xc6, 0x0a, 0xcc], "vshufpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xc6, 0x0a, 0xcc], "vshufpd zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xc6, 0x0a, 0xcc], "vshufpd zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xc6, 0x0a, 0xcc], "vshufpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xc6, 0x0a, 0xcc], "vshufpd xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xc6, 0x0a, 0xcc], "vshufpd xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xc6, 0xca, 0xcc], "vshufpd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xc6, 0x0a, 0xcc], "vshufpd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xc6, 0xca, 0xcc], "vshufpd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xc6, 0xca, 0xcc], "vshufpd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xc6, 0x0a, 0xcc], "vshufpd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xc6, 0x0a, 0xcc], "vshufpd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xc6, 0xca, 0xcc], "vshufpd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xc6, 0x0a, 0xcc], "vshufpd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc6, 0xca, 0xcc], "vshufpd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xc6, 0xca, 0xcc], "vshufpd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc6, 0x0a, 0xcc], "vshufpd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xc6, 0x0a, 0xcc], "vshufpd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xc6, 0x4a, 0x01, 0xcc], "vshufpd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd1, 0xca], "vpsrlw ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd1, 0x0a], "vpsrlw ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd1, 0x4a, 0x01], "vpsrlw ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd1, 0xca], "vpsrlw ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd1, 0xca], "vpsrlw ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd1, 0x0a], "vpsrlw ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd1, 0x0a], "vpsrlw ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd1, 0x4a, 0x01], "vpsrlw ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd1, 0x4a, 0x01], "vpsrlw ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd1, 0xca], "vpsrlw zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd1, 0x0a], "vpsrlw zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd1, 0x4a, 0x01], "vpsrlw zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd1, 0xca], "vpsrlw zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd1, 0xca], "vpsrlw zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd1, 0x0a], "vpsrlw zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd1, 0x0a], "vpsrlw zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd1, 0x4a, 0x01], "vpsrlw zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd1, 0x4a, 0x01], "vpsrlw zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd1, 0xca], "vpsrlw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd1, 0x0a], "vpsrlw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd1, 0x4a, 0x01], "vpsrlw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd1, 0xca], "vpsrlw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd1, 0xca], "vpsrlw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd1, 0x0a], "vpsrlw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd1, 0x0a], "vpsrlw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd1, 0x4a, 0x01], "vpsrlw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd1, 0x4a, 0x01], "vpsrlw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xd2, 0xca], "vpsrld ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xd2, 0x0a], "vpsrld ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xd2, 0x4a, 0x01], "vpsrld ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xd2, 0xca], "vpsrld ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xd2, 0xca], "vpsrld ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xd2, 0x0a], "vpsrld ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xd2, 0x0a], "vpsrld ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xd2, 0x4a, 0x01], "vpsrld ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xd2, 0x4a, 0x01], "vpsrld ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xd2, 0xca], "vpsrld zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xd2, 0x0a], "vpsrld zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xd2, 0x4a, 0x01], "vpsrld zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xd2, 0xca], "vpsrld zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xd2, 0xca], "vpsrld zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xd2, 0x0a], "vpsrld zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xd2, 0x0a], "vpsrld zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xd2, 0x4a, 0x01], "vpsrld zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xd2, 0x4a, 0x01], "vpsrld zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xd2, 0xca], "vpsrld xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xd2, 0x0a], "vpsrld xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xd2, 0x4a, 0x01], "vpsrld xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xd2, 0xca], "vpsrld xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xd2, 0xca], "vpsrld xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xd2, 0x0a], "vpsrld xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xd2, 0x0a], "vpsrld xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xd2, 0x4a, 0x01], "vpsrld xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xd2, 0x4a, 0x01], "vpsrld xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd3, 0xca], "vpsrlq ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd3, 0x0a], "vpsrlq ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd3, 0x4a, 0x01], "vpsrlq ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd3, 0xca], "vpsrlq ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd3, 0xca], "vpsrlq ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd3, 0x0a], "vpsrlq ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd3, 0x0a], "vpsrlq ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd3, 0x4a, 0x01], "vpsrlq ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd3, 0x4a, 0x01], "vpsrlq ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd3, 0xca], "vpsrlq zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd3, 0x0a], "vpsrlq zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd3, 0x4a, 0x01], "vpsrlq zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd3, 0xca], "vpsrlq zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd3, 0xca], "vpsrlq zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd3, 0x0a], "vpsrlq zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd3, 0x0a], "vpsrlq zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd3, 0x4a, 0x01], "vpsrlq zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd3, 0x4a, 0x01], "vpsrlq zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd3, 0xca], "vpsrlq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd3, 0x0a], "vpsrlq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd3, 0x4a, 0x01], "vpsrlq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd3, 0xca], "vpsrlq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd3, 0xca], "vpsrlq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd3, 0x0a], "vpsrlq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd3, 0x0a], "vpsrlq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd3, 0x4a, 0x01], "vpsrlq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd3, 0x4a, 0x01], "vpsrlq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xd4, 0x0a], "vpaddq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xd4, 0x4a, 0x01], "vpaddq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xd4, 0x0a], "vpaddq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xd4, 0x0a], "vpaddq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xd4, 0x4a, 0x01], "vpaddq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xd4, 0x4a, 0x01], "vpaddq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd4, 0xca], "vpaddq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd4, 0x0a], "vpaddq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd4, 0x4a, 0x01], "vpaddq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd4, 0xca], "vpaddq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd4, 0xca], "vpaddq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd4, 0x0a], "vpaddq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd4, 0x0a], "vpaddq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd4, 0x4a, 0x01], "vpaddq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd4, 0x4a, 0x01], "vpaddq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xd4, 0x0a], "vpaddq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xd4, 0x4a, 0x01], "vpaddq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xd4, 0x0a], "vpaddq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xd4, 0x0a], "vpaddq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xd4, 0x4a, 0x01], "vpaddq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xd4, 0x4a, 0x01], "vpaddq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xd4, 0x0a], "vpaddq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xd4, 0x4a, 0x01], "vpaddq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xd4, 0x0a], "vpaddq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xd4, 0x0a], "vpaddq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xd4, 0x4a, 0x01], "vpaddq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xd4, 0x4a, 0x01], "vpaddq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd4, 0xca], "vpaddq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd4, 0x0a], "vpaddq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd4, 0x4a, 0x01], "vpaddq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd4, 0xca], "vpaddq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd4, 0xca], "vpaddq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd4, 0x0a], "vpaddq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd4, 0x0a], "vpaddq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd4, 0x4a, 0x01], "vpaddq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd4, 0x4a, 0x01], "vpaddq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd4, 0xca], "vpaddq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd4, 0x0a], "vpaddq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd4, 0x4a, 0x01], "vpaddq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd4, 0xca], "vpaddq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd4, 0xca], "vpaddq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd4, 0x0a], "vpaddq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd4, 0x0a], "vpaddq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd4, 0x4a, 0x01], "vpaddq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd4, 0x4a, 0x01], "vpaddq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd5, 0xca], "vpmullw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd5, 0x0a], "vpmullw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd5, 0x4a, 0x01], "vpmullw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd5, 0xca], "vpmullw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd5, 0xca], "vpmullw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd5, 0x0a], "vpmullw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd5, 0x0a], "vpmullw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd5, 0x4a, 0x01], "vpmullw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd5, 0x4a, 0x01], "vpmullw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd5, 0xca], "vpmullw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd5, 0x0a], "vpmullw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd5, 0x4a, 0x01], "vpmullw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd5, 0xca], "vpmullw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd5, 0xca], "vpmullw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd5, 0x0a], "vpmullw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd5, 0x0a], "vpmullw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd5, 0x4a, 0x01], "vpmullw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd5, 0x4a, 0x01], "vpmullw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd5, 0xca], "vpmullw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd5, 0x0a], "vpmullw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd5, 0x4a, 0x01], "vpmullw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd5, 0xca], "vpmullw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd5, 0xca], "vpmullw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd5, 0x0a], "vpmullw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd5, 0x0a], "vpmullw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd5, 0x4a, 0x01], "vpmullw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd5, 0x4a, 0x01], "vpmullw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd6, 0xca], "vmovq xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd6, 0x0a], "vmovq qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd6, 0x4a, 0x01], "vmovq qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd8, 0xca], "vpsubusb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd8, 0x0a], "vpsubusb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd8, 0x4a, 0x01], "vpsubusb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd8, 0xca], "vpsubusb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd8, 0xca], "vpsubusb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd8, 0x0a], "vpsubusb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd8, 0x0a], "vpsubusb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd8, 0x4a, 0x01], "vpsubusb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd8, 0x4a, 0x01], "vpsubusb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd8, 0xca], "vpsubusb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd8, 0x0a], "vpsubusb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd8, 0x4a, 0x01], "vpsubusb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd8, 0xca], "vpsubusb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd8, 0xca], "vpsubusb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd8, 0x0a], "vpsubusb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd8, 0x0a], "vpsubusb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd8, 0x4a, 0x01], "vpsubusb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd8, 0x4a, 0x01], "vpsubusb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd8, 0xca], "vpsubusb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd8, 0x0a], "vpsubusb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd8, 0x4a, 0x01], "vpsubusb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd8, 0xca], "vpsubusb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd8, 0xca], "vpsubusb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd8, 0x0a], "vpsubusb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd8, 0x0a], "vpsubusb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd8, 0x4a, 0x01], "vpsubusb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd8, 0x4a, 0x01], "vpsubusb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd9, 0xca], "vpsubusw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd9, 0x0a], "vpsubusw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xd9, 0x4a, 0x01], "vpsubusw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd9, 0xca], "vpsubusw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd9, 0xca], "vpsubusw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd9, 0x0a], "vpsubusw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd9, 0x0a], "vpsubusw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xd9, 0x4a, 0x01], "vpsubusw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xd9, 0x4a, 0x01], "vpsubusw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd9, 0xca], "vpsubusw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd9, 0x0a], "vpsubusw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xd9, 0x4a, 0x01], "vpsubusw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd9, 0xca], "vpsubusw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd9, 0xca], "vpsubusw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd9, 0x0a], "vpsubusw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd9, 0x0a], "vpsubusw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xd9, 0x4a, 0x01], "vpsubusw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xd9, 0x4a, 0x01], "vpsubusw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd9, 0xca], "vpsubusw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd9, 0x0a], "vpsubusw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xd9, 0x4a, 0x01], "vpsubusw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd9, 0xca], "vpsubusw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd9, 0xca], "vpsubusw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd9, 0x0a], "vpsubusw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd9, 0x0a], "vpsubusw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xd9, 0x4a, 0x01], "vpsubusw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xd9, 0x4a, 0x01], "vpsubusw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xda, 0xca], "vpminub ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xda, 0x0a], "vpminub ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xda, 0x4a, 0x01], "vpminub ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xda, 0xca], "vpminub ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xda, 0xca], "vpminub ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xda, 0x0a], "vpminub ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xda, 0x0a], "vpminub ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xda, 0x4a, 0x01], "vpminub ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xda, 0x4a, 0x01], "vpminub ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xda, 0xca], "vpminub zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xda, 0x0a], "vpminub zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xda, 0x4a, 0x01], "vpminub zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xda, 0xca], "vpminub zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xda, 0xca], "vpminub zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xda, 0x0a], "vpminub zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xda, 0x0a], "vpminub zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xda, 0x4a, 0x01], "vpminub zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xda, 0x4a, 0x01], "vpminub zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xda, 0xca], "vpminub xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xda, 0x0a], "vpminub xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xda, 0x4a, 0x01], "vpminub xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xda, 0xca], "vpminub xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xda, 0xca], "vpminub xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xda, 0x0a], "vpminub xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xda, 0x0a], "vpminub xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xda, 0x4a, 0x01], "vpminub xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xda, 0x4a, 0x01], "vpminub xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xdb, 0x0a], "vpandq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xdb, 0x4a, 0x01], "vpandq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xdb, 0x0a], "vpandq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xdb, 0x0a], "vpandq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xdb, 0x4a, 0x01], "vpandq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xdb, 0x4a, 0x01], "vpandq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdb, 0xca], "vpandq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdb, 0x0a], "vpandq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdb, 0x4a, 0x01], "vpandq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdb, 0xca], "vpandq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdb, 0xca], "vpandq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdb, 0x0a], "vpandq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdb, 0x0a], "vpandq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdb, 0x4a, 0x01], "vpandq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdb, 0x4a, 0x01], "vpandq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xdb, 0x0a], "vpandd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xdb, 0x4a, 0x01], "vpandd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xdb, 0x0a], "vpandd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xdb, 0x0a], "vpandd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xdb, 0x4a, 0x01], "vpandd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xdb, 0x4a, 0x01], "vpandd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xdb, 0xca], "vpandd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xdb, 0x0a], "vpandd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xdb, 0x4a, 0x01], "vpandd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xdb, 0xca], "vpandd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xdb, 0xca], "vpandd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xdb, 0x0a], "vpandd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xdb, 0x0a], "vpandd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xdb, 0x4a, 0x01], "vpandd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xdb, 0x4a, 0x01], "vpandd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xdb, 0x0a], "vpandq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xdb, 0x4a, 0x01], "vpandq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xdb, 0x0a], "vpandq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xdb, 0x0a], "vpandq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xdb, 0x4a, 0x01], "vpandq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xdb, 0x4a, 0x01], "vpandq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xdb, 0x0a], "vpandq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xdb, 0x4a, 0x01], "vpandq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xdb, 0x0a], "vpandq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xdb, 0x0a], "vpandq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xdb, 0x4a, 0x01], "vpandq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xdb, 0x4a, 0x01], "vpandq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdb, 0xca], "vpandq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdb, 0x0a], "vpandq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdb, 0x4a, 0x01], "vpandq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdb, 0xca], "vpandq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdb, 0xca], "vpandq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdb, 0x0a], "vpandq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdb, 0x0a], "vpandq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdb, 0x4a, 0x01], "vpandq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdb, 0x4a, 0x01], "vpandq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdb, 0xca], "vpandq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdb, 0x0a], "vpandq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdb, 0x4a, 0x01], "vpandq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdb, 0xca], "vpandq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdb, 0xca], "vpandq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdb, 0x0a], "vpandq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdb, 0x0a], "vpandq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdb, 0x4a, 0x01], "vpandq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdb, 0x4a, 0x01], "vpandq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xdb, 0x0a], "vpandd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xdb, 0x4a, 0x01], "vpandd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xdb, 0x0a], "vpandd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xdb, 0x0a], "vpandd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xdb, 0x4a, 0x01], "vpandd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xdb, 0x4a, 0x01], "vpandd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xdb, 0x0a], "vpandd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xdb, 0x4a, 0x01], "vpandd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xdb, 0x0a], "vpandd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xdb, 0x0a], "vpandd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xdb, 0x4a, 0x01], "vpandd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xdb, 0x4a, 0x01], "vpandd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xdb, 0xca], "vpandd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xdb, 0x0a], "vpandd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xdb, 0x4a, 0x01], "vpandd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xdb, 0xca], "vpandd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xdb, 0xca], "vpandd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xdb, 0x0a], "vpandd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xdb, 0x0a], "vpandd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xdb, 0x4a, 0x01], "vpandd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xdb, 0x4a, 0x01], "vpandd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xdb, 0xca], "vpandd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xdb, 0x0a], "vpandd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xdb, 0x4a, 0x01], "vpandd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xdb, 0xca], "vpandd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xdb, 0xca], "vpandd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xdb, 0x0a], "vpandd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xdb, 0x0a], "vpandd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xdb, 0x4a, 0x01], "vpandd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xdb, 0x4a, 0x01], "vpandd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdc, 0xca], "vpaddusb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdc, 0x0a], "vpaddusb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdc, 0x4a, 0x01], "vpaddusb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdc, 0xca], "vpaddusb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdc, 0xca], "vpaddusb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdc, 0x0a], "vpaddusb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdc, 0x0a], "vpaddusb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdc, 0x4a, 0x01], "vpaddusb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdc, 0x4a, 0x01], "vpaddusb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdc, 0xca], "vpaddusb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdc, 0x0a], "vpaddusb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdc, 0x4a, 0x01], "vpaddusb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdc, 0xca], "vpaddusb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdc, 0xca], "vpaddusb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdc, 0x0a], "vpaddusb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdc, 0x0a], "vpaddusb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdc, 0x4a, 0x01], "vpaddusb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdc, 0x4a, 0x01], "vpaddusb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdc, 0xca], "vpaddusb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdc, 0x0a], "vpaddusb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdc, 0x4a, 0x01], "vpaddusb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdc, 0xca], "vpaddusb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdc, 0xca], "vpaddusb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdc, 0x0a], "vpaddusb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdc, 0x0a], "vpaddusb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdc, 0x4a, 0x01], "vpaddusb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdc, 0x4a, 0x01], "vpaddusb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdd, 0xca], "vpaddusw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdd, 0x0a], "vpaddusw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdd, 0x4a, 0x01], "vpaddusw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdd, 0xca], "vpaddusw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdd, 0xca], "vpaddusw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdd, 0x0a], "vpaddusw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdd, 0x0a], "vpaddusw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdd, 0x4a, 0x01], "vpaddusw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdd, 0x4a, 0x01], "vpaddusw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdd, 0xca], "vpaddusw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdd, 0x0a], "vpaddusw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdd, 0x4a, 0x01], "vpaddusw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdd, 0xca], "vpaddusw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdd, 0xca], "vpaddusw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdd, 0x0a], "vpaddusw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdd, 0x0a], "vpaddusw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdd, 0x4a, 0x01], "vpaddusw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdd, 0x4a, 0x01], "vpaddusw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdd, 0xca], "vpaddusw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdd, 0x0a], "vpaddusw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdd, 0x4a, 0x01], "vpaddusw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdd, 0xca], "vpaddusw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdd, 0xca], "vpaddusw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdd, 0x0a], "vpaddusw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdd, 0x0a], "vpaddusw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdd, 0x4a, 0x01], "vpaddusw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdd, 0x4a, 0x01], "vpaddusw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xde, 0xca], "vpmaxub ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xde, 0x0a], "vpmaxub ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xde, 0x4a, 0x01], "vpmaxub ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xde, 0xca], "vpmaxub ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xde, 0xca], "vpmaxub ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xde, 0x0a], "vpmaxub ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xde, 0x0a], "vpmaxub ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xde, 0x4a, 0x01], "vpmaxub ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xde, 0x4a, 0x01], "vpmaxub ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xde, 0xca], "vpmaxub zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xde, 0x0a], "vpmaxub zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xde, 0x4a, 0x01], "vpmaxub zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xde, 0xca], "vpmaxub zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xde, 0xca], "vpmaxub zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xde, 0x0a], "vpmaxub zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xde, 0x0a], "vpmaxub zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xde, 0x4a, 0x01], "vpmaxub zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xde, 0x4a, 0x01], "vpmaxub zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xde, 0xca], "vpmaxub xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xde, 0x0a], "vpmaxub xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xde, 0x4a, 0x01], "vpmaxub xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xde, 0xca], "vpmaxub xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xde, 0xca], "vpmaxub xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xde, 0x0a], "vpmaxub xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xde, 0x0a], "vpmaxub xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xde, 0x4a, 0x01], "vpmaxub xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xde, 0x4a, 0x01], "vpmaxub xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xdf, 0x0a], "vpandnq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xdf, 0x4a, 0x01], "vpandnq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xdf, 0x0a], "vpandnq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xdf, 0x0a], "vpandnq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xdf, 0x4a, 0x01], "vpandnq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xdf, 0x4a, 0x01], "vpandnq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdf, 0xca], "vpandnq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdf, 0x0a], "vpandnq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xdf, 0x4a, 0x01], "vpandnq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdf, 0xca], "vpandnq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdf, 0xca], "vpandnq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdf, 0x0a], "vpandnq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdf, 0x0a], "vpandnq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xdf, 0x4a, 0x01], "vpandnq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xdf, 0x4a, 0x01], "vpandnq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xdf, 0x0a], "vpandnd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xdf, 0x4a, 0x01], "vpandnd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xdf, 0x0a], "vpandnd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xdf, 0x0a], "vpandnd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xdf, 0x4a, 0x01], "vpandnd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xdf, 0x4a, 0x01], "vpandnd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xdf, 0xca], "vpandnd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xdf, 0x0a], "vpandnd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xdf, 0x4a, 0x01], "vpandnd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xdf, 0xca], "vpandnd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xdf, 0xca], "vpandnd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xdf, 0x0a], "vpandnd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xdf, 0x0a], "vpandnd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xdf, 0x4a, 0x01], "vpandnd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xdf, 0x4a, 0x01], "vpandnd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xdf, 0x0a], "vpandnq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xdf, 0x4a, 0x01], "vpandnq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xdf, 0x0a], "vpandnq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xdf, 0x0a], "vpandnq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xdf, 0x4a, 0x01], "vpandnq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xdf, 0x4a, 0x01], "vpandnq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xdf, 0x0a], "vpandnq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xdf, 0x4a, 0x01], "vpandnq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xdf, 0x0a], "vpandnq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xdf, 0x0a], "vpandnq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xdf, 0x4a, 0x01], "vpandnq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xdf, 0x4a, 0x01], "vpandnq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdf, 0xca], "vpandnq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdf, 0x0a], "vpandnq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xdf, 0x4a, 0x01], "vpandnq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdf, 0xca], "vpandnq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdf, 0xca], "vpandnq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdf, 0x0a], "vpandnq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdf, 0x0a], "vpandnq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xdf, 0x4a, 0x01], "vpandnq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xdf, 0x4a, 0x01], "vpandnq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdf, 0xca], "vpandnq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdf, 0x0a], "vpandnq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xdf, 0x4a, 0x01], "vpandnq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdf, 0xca], "vpandnq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdf, 0xca], "vpandnq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdf, 0x0a], "vpandnq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdf, 0x0a], "vpandnq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xdf, 0x4a, 0x01], "vpandnq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xdf, 0x4a, 0x01], "vpandnq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xdf, 0x0a], "vpandnd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xdf, 0x4a, 0x01], "vpandnd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xdf, 0x0a], "vpandnd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xdf, 0x0a], "vpandnd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xdf, 0x4a, 0x01], "vpandnd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xdf, 0x4a, 0x01], "vpandnd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xdf, 0x0a], "vpandnd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xdf, 0x4a, 0x01], "vpandnd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xdf, 0x0a], "vpandnd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xdf, 0x0a], "vpandnd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xdf, 0x4a, 0x01], "vpandnd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xdf, 0x4a, 0x01], "vpandnd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xdf, 0xca], "vpandnd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xdf, 0x0a], "vpandnd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xdf, 0x4a, 0x01], "vpandnd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xdf, 0xca], "vpandnd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xdf, 0xca], "vpandnd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xdf, 0x0a], "vpandnd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xdf, 0x0a], "vpandnd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xdf, 0x4a, 0x01], "vpandnd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xdf, 0x4a, 0x01], "vpandnd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xdf, 0xca], "vpandnd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xdf, 0x0a], "vpandnd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xdf, 0x4a, 0x01], "vpandnd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xdf, 0xca], "vpandnd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xdf, 0xca], "vpandnd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xdf, 0x0a], "vpandnd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xdf, 0x0a], "vpandnd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xdf, 0x4a, 0x01], "vpandnd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xdf, 0x4a, 0x01], "vpandnd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe0, 0xca], "vpavgb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe0, 0x0a], "vpavgb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe0, 0x4a, 0x01], "vpavgb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe0, 0xca], "vpavgb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe0, 0xca], "vpavgb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe0, 0x0a], "vpavgb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe0, 0x0a], "vpavgb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe0, 0x4a, 0x01], "vpavgb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe0, 0x4a, 0x01], "vpavgb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe0, 0xca], "vpavgb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe0, 0x0a], "vpavgb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe0, 0x4a, 0x01], "vpavgb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe0, 0xca], "vpavgb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe0, 0xca], "vpavgb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe0, 0x0a], "vpavgb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe0, 0x0a], "vpavgb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe0, 0x4a, 0x01], "vpavgb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe0, 0x4a, 0x01], "vpavgb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe0, 0xca], "vpavgb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe0, 0x0a], "vpavgb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe0, 0x4a, 0x01], "vpavgb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe0, 0xca], "vpavgb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe0, 0xca], "vpavgb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe0, 0x0a], "vpavgb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe0, 0x0a], "vpavgb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe0, 0x4a, 0x01], "vpavgb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe0, 0x4a, 0x01], "vpavgb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe1, 0xca], "vpsraw ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe1, 0x0a], "vpsraw ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe1, 0x4a, 0x01], "vpsraw ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe1, 0xca], "vpsraw ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe1, 0xca], "vpsraw ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe1, 0x0a], "vpsraw ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe1, 0x0a], "vpsraw ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe1, 0x4a, 0x01], "vpsraw ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe1, 0x4a, 0x01], "vpsraw ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe1, 0xca], "vpsraw zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe1, 0x0a], "vpsraw zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe1, 0x4a, 0x01], "vpsraw zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe1, 0xca], "vpsraw zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe1, 0xca], "vpsraw zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe1, 0x0a], "vpsraw zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe1, 0x0a], "vpsraw zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe1, 0x4a, 0x01], "vpsraw zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe1, 0x4a, 0x01], "vpsraw zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe1, 0xca], "vpsraw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe1, 0x0a], "vpsraw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe1, 0x4a, 0x01], "vpsraw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe1, 0xca], "vpsraw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe1, 0xca], "vpsraw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe1, 0x0a], "vpsraw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe1, 0x0a], "vpsraw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe1, 0x4a, 0x01], "vpsraw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe1, 0x4a, 0x01], "vpsraw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe2, 0xca], "vpsraq ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe2, 0x0a], "vpsraq ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe2, 0x4a, 0x01], "vpsraq ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe2, 0xca], "vpsraq ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe2, 0xca], "vpsraq ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe2, 0x0a], "vpsraq ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe2, 0x0a], "vpsraq ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe2, 0x4a, 0x01], "vpsraq ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe2, 0x4a, 0x01], "vpsraq ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xe2, 0xca], "vpsrad ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xe2, 0x0a], "vpsrad ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xe2, 0x4a, 0x01], "vpsrad ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xe2, 0xca], "vpsrad ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xe2, 0xca], "vpsrad ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xe2, 0x0a], "vpsrad ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xe2, 0x0a], "vpsrad ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xe2, 0x4a, 0x01], "vpsrad ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xe2, 0x4a, 0x01], "vpsrad ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe2, 0xca], "vpsraq zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe2, 0x0a], "vpsraq zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe2, 0x4a, 0x01], "vpsraq zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe2, 0xca], "vpsraq zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe2, 0xca], "vpsraq zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe2, 0x0a], "vpsraq zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe2, 0x0a], "vpsraq zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe2, 0x4a, 0x01], "vpsraq zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe2, 0x4a, 0x01], "vpsraq zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe2, 0xca], "vpsraq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe2, 0x0a], "vpsraq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe2, 0x4a, 0x01], "vpsraq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe2, 0xca], "vpsraq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe2, 0xca], "vpsraq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe2, 0x0a], "vpsraq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe2, 0x0a], "vpsraq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe2, 0x4a, 0x01], "vpsraq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe2, 0x4a, 0x01], "vpsraq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xe2, 0xca], "vpsrad zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xe2, 0x0a], "vpsrad zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xe2, 0x4a, 0x01], "vpsrad zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xe2, 0xca], "vpsrad zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xe2, 0xca], "vpsrad zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xe2, 0x0a], "vpsrad zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xe2, 0x0a], "vpsrad zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xe2, 0x4a, 0x01], "vpsrad zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xe2, 0x4a, 0x01], "vpsrad zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xe2, 0xca], "vpsrad xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xe2, 0x0a], "vpsrad xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xe2, 0x4a, 0x01], "vpsrad xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xe2, 0xca], "vpsrad xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xe2, 0xca], "vpsrad xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xe2, 0x0a], "vpsrad xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xe2, 0x0a], "vpsrad xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xe2, 0x4a, 0x01], "vpsrad xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xe2, 0x4a, 0x01], "vpsrad xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe3, 0xca], "vpavgw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe3, 0x0a], "vpavgw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe3, 0x4a, 0x01], "vpavgw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe3, 0xca], "vpavgw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe3, 0xca], "vpavgw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe3, 0x0a], "vpavgw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe3, 0x0a], "vpavgw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe3, 0x4a, 0x01], "vpavgw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe3, 0x4a, 0x01], "vpavgw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe3, 0xca], "vpavgw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe3, 0x0a], "vpavgw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe3, 0x4a, 0x01], "vpavgw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe3, 0xca], "vpavgw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe3, 0xca], "vpavgw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe3, 0x0a], "vpavgw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe3, 0x0a], "vpavgw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe3, 0x4a, 0x01], "vpavgw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe3, 0x4a, 0x01], "vpavgw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe3, 0xca], "vpavgw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe3, 0x0a], "vpavgw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe3, 0x4a, 0x01], "vpavgw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe3, 0xca], "vpavgw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe3, 0xca], "vpavgw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe3, 0x0a], "vpavgw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe3, 0x0a], "vpavgw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe3, 0x4a, 0x01], "vpavgw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe3, 0x4a, 0x01], "vpavgw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe4, 0xca], "vpmulhuw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe4, 0x0a], "vpmulhuw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe4, 0x4a, 0x01], "vpmulhuw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe4, 0xca], "vpmulhuw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe4, 0xca], "vpmulhuw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe4, 0x0a], "vpmulhuw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe4, 0x0a], "vpmulhuw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe4, 0x4a, 0x01], "vpmulhuw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe4, 0x4a, 0x01], "vpmulhuw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe4, 0xca], "vpmulhuw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe4, 0x0a], "vpmulhuw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe4, 0x4a, 0x01], "vpmulhuw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe4, 0xca], "vpmulhuw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe4, 0xca], "vpmulhuw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe4, 0x0a], "vpmulhuw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe4, 0x0a], "vpmulhuw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe4, 0x4a, 0x01], "vpmulhuw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe4, 0x4a, 0x01], "vpmulhuw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe4, 0xca], "vpmulhuw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe4, 0x0a], "vpmulhuw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe4, 0x4a, 0x01], "vpmulhuw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe4, 0xca], "vpmulhuw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe4, 0xca], "vpmulhuw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe4, 0x0a], "vpmulhuw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe4, 0x0a], "vpmulhuw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe4, 0x4a, 0x01], "vpmulhuw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe4, 0x4a, 0x01], "vpmulhuw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe5, 0xca], "vpmulhw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe5, 0x0a], "vpmulhw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe5, 0x4a, 0x01], "vpmulhw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe5, 0xca], "vpmulhw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe5, 0xca], "vpmulhw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe5, 0x0a], "vpmulhw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe5, 0x0a], "vpmulhw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe5, 0x4a, 0x01], "vpmulhw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe5, 0x4a, 0x01], "vpmulhw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe5, 0xca], "vpmulhw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe5, 0x0a], "vpmulhw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe5, 0x4a, 0x01], "vpmulhw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe5, 0xca], "vpmulhw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe5, 0xca], "vpmulhw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe5, 0x0a], "vpmulhw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe5, 0x0a], "vpmulhw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe5, 0x4a, 0x01], "vpmulhw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe5, 0x4a, 0x01], "vpmulhw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe5, 0xca], "vpmulhw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe5, 0x0a], "vpmulhw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe5, 0x4a, 0x01], "vpmulhw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe5, 0xca], "vpmulhw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe5, 0xca], "vpmulhw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe5, 0x0a], "vpmulhw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe5, 0x0a], "vpmulhw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe5, 0x4a, 0x01], "vpmulhw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe5, 0x4a, 0x01], "vpmulhw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xfd, 0xe6, 0xca], "vcvttpd2dq ymm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x78, 0xe6, 0xca], "vcvttpd2dq ymm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x7d, 0xe6, 0xca], "vcvttpd2dq ymm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xe6, 0x0a], "vcvttpd2dq xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe6, 0xca], "vcvttpd2dq xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe6, 0xca], "vcvttpd2dq xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe6, 0xca], "vcvttpd2dq xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe6, 0x0a], "vcvttpd2dq xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xe6, 0x0a], "vcvttpd2dq ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xe6, 0x4a, 0x01], "vcvttpd2dq ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xe6, 0x0a], "vcvttpd2dq ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xe6, 0x0a], "vcvttpd2dq ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xe6, 0x4a, 0x01], "vcvttpd2dq ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xe6, 0x4a, 0x01], "vcvttpd2dq ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xe6, 0x0a], "vcvttpd2dq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe6, 0xca], "vcvttpd2dq ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe6, 0x0a], "vcvttpd2dq ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe6, 0x4a, 0x01], "vcvttpd2dq ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe6, 0xca], "vcvttpd2dq ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe6, 0xca], "vcvttpd2dq ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe6, 0x0a], "vcvttpd2dq ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe6, 0x0a], "vcvttpd2dq ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe6, 0x4a, 0x01], "vcvttpd2dq ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe6, 0x4a, 0x01], "vcvttpd2dq ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe6, 0xca], "vcvttpd2dq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe6, 0xca], "vcvttpd2dq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe6, 0xca], "vcvttpd2dq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe6, 0x0a], "vcvttpd2dq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe6, 0x0a], "vcvttpd2dq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe6, 0x4a, 0x01], "vcvttpd2dq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xe7, 0x0a], "vmovntdq ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xe7, 0x4a, 0x01], "vmovntdq ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xe7, 0x0a], "vmovntdq zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xe7, 0x4a, 0x01], "vmovntdq zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xe7, 0x0a], "vmovntdq xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xe7, 0x4a, 0x01], "vmovntdq xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe8, 0xca], "vpsubsb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe8, 0x0a], "vpsubsb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe8, 0x4a, 0x01], "vpsubsb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe8, 0xca], "vpsubsb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe8, 0xca], "vpsubsb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe8, 0x0a], "vpsubsb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe8, 0x0a], "vpsubsb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe8, 0x4a, 0x01], "vpsubsb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe8, 0x4a, 0x01], "vpsubsb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe8, 0xca], "vpsubsb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe8, 0x0a], "vpsubsb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe8, 0x4a, 0x01], "vpsubsb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe8, 0xca], "vpsubsb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe8, 0xca], "vpsubsb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe8, 0x0a], "vpsubsb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe8, 0x0a], "vpsubsb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe8, 0x4a, 0x01], "vpsubsb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe8, 0x4a, 0x01], "vpsubsb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe8, 0xca], "vpsubsb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe8, 0x0a], "vpsubsb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe8, 0x4a, 0x01], "vpsubsb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe8, 0xca], "vpsubsb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe8, 0xca], "vpsubsb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe8, 0x0a], "vpsubsb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe8, 0x0a], "vpsubsb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe8, 0x4a, 0x01], "vpsubsb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe8, 0x4a, 0x01], "vpsubsb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe9, 0xca], "vpsubsw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe9, 0x0a], "vpsubsw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xe9, 0x4a, 0x01], "vpsubsw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe9, 0xca], "vpsubsw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe9, 0xca], "vpsubsw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe9, 0x0a], "vpsubsw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe9, 0x0a], "vpsubsw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xe9, 0x4a, 0x01], "vpsubsw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xe9, 0x4a, 0x01], "vpsubsw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe9, 0xca], "vpsubsw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe9, 0x0a], "vpsubsw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xe9, 0x4a, 0x01], "vpsubsw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe9, 0xca], "vpsubsw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe9, 0xca], "vpsubsw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe9, 0x0a], "vpsubsw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe9, 0x0a], "vpsubsw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xe9, 0x4a, 0x01], "vpsubsw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xe9, 0x4a, 0x01], "vpsubsw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe9, 0xca], "vpsubsw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe9, 0x0a], "vpsubsw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xe9, 0x4a, 0x01], "vpsubsw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe9, 0xca], "vpsubsw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe9, 0xca], "vpsubsw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe9, 0x0a], "vpsubsw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe9, 0x0a], "vpsubsw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xe9, 0x4a, 0x01], "vpsubsw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xe9, 0x4a, 0x01], "vpsubsw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xea, 0xca], "vpminsw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xea, 0x0a], "vpminsw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xea, 0x4a, 0x01], "vpminsw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xea, 0xca], "vpminsw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xea, 0xca], "vpminsw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xea, 0x0a], "vpminsw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xea, 0x0a], "vpminsw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xea, 0x4a, 0x01], "vpminsw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xea, 0x4a, 0x01], "vpminsw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xea, 0xca], "vpminsw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xea, 0x0a], "vpminsw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xea, 0x4a, 0x01], "vpminsw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xea, 0xca], "vpminsw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xea, 0xca], "vpminsw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xea, 0x0a], "vpminsw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xea, 0x0a], "vpminsw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xea, 0x4a, 0x01], "vpminsw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xea, 0x4a, 0x01], "vpminsw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xea, 0xca], "vpminsw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xea, 0x0a], "vpminsw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xea, 0x4a, 0x01], "vpminsw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xea, 0xca], "vpminsw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xea, 0xca], "vpminsw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xea, 0x0a], "vpminsw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xea, 0x0a], "vpminsw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xea, 0x4a, 0x01], "vpminsw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xea, 0x4a, 0x01], "vpminsw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xeb, 0x0a], "vporq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xeb, 0x4a, 0x01], "vporq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xeb, 0x0a], "vporq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xeb, 0x0a], "vporq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xeb, 0x4a, 0x01], "vporq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xeb, 0x4a, 0x01], "vporq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xeb, 0xca], "vporq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xeb, 0x0a], "vporq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xeb, 0x4a, 0x01], "vporq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xeb, 0xca], "vporq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xeb, 0xca], "vporq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xeb, 0x0a], "vporq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xeb, 0x0a], "vporq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xeb, 0x4a, 0x01], "vporq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xeb, 0x4a, 0x01], "vporq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xeb, 0x0a], "vpord ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xeb, 0x4a, 0x01], "vpord ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xeb, 0x0a], "vpord ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xeb, 0x0a], "vpord ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xeb, 0x4a, 0x01], "vpord ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xeb, 0x4a, 0x01], "vpord ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xeb, 0xca], "vpord ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xeb, 0x0a], "vpord ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xeb, 0x4a, 0x01], "vpord ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xeb, 0xca], "vpord ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xeb, 0xca], "vpord ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xeb, 0x0a], "vpord ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xeb, 0x0a], "vpord ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xeb, 0x4a, 0x01], "vpord ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xeb, 0x4a, 0x01], "vpord ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xeb, 0x0a], "vporq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xeb, 0x4a, 0x01], "vporq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xeb, 0x0a], "vporq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xeb, 0x0a], "vporq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xeb, 0x4a, 0x01], "vporq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xeb, 0x4a, 0x01], "vporq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xeb, 0x0a], "vporq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xeb, 0x4a, 0x01], "vporq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xeb, 0x0a], "vporq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xeb, 0x0a], "vporq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xeb, 0x4a, 0x01], "vporq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xeb, 0x4a, 0x01], "vporq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xeb, 0xca], "vporq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xeb, 0x0a], "vporq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xeb, 0x4a, 0x01], "vporq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xeb, 0xca], "vporq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xeb, 0xca], "vporq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xeb, 0x0a], "vporq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xeb, 0x0a], "vporq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xeb, 0x4a, 0x01], "vporq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xeb, 0x4a, 0x01], "vporq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xeb, 0xca], "vporq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xeb, 0x0a], "vporq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xeb, 0x4a, 0x01], "vporq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xeb, 0xca], "vporq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xeb, 0xca], "vporq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xeb, 0x0a], "vporq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xeb, 0x0a], "vporq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xeb, 0x4a, 0x01], "vporq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xeb, 0x4a, 0x01], "vporq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xeb, 0x0a], "vpord zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xeb, 0x4a, 0x01], "vpord zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xeb, 0x0a], "vpord zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xeb, 0x0a], "vpord zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xeb, 0x4a, 0x01], "vpord zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xeb, 0x4a, 0x01], "vpord zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xeb, 0x0a], "vpord xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xeb, 0x4a, 0x01], "vpord xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xeb, 0x0a], "vpord xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xeb, 0x0a], "vpord xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xeb, 0x4a, 0x01], "vpord xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xeb, 0x4a, 0x01], "vpord xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xeb, 0xca], "vpord zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xeb, 0x0a], "vpord zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xeb, 0x4a, 0x01], "vpord zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xeb, 0xca], "vpord zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xeb, 0xca], "vpord zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xeb, 0x0a], "vpord zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xeb, 0x0a], "vpord zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xeb, 0x4a, 0x01], "vpord zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xeb, 0x4a, 0x01], "vpord zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xeb, 0xca], "vpord xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xeb, 0x0a], "vpord xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xeb, 0x4a, 0x01], "vpord xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xeb, 0xca], "vpord xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xeb, 0xca], "vpord xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xeb, 0x0a], "vpord xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xeb, 0x0a], "vpord xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xeb, 0x4a, 0x01], "vpord xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xeb, 0x4a, 0x01], "vpord xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xec, 0xca], "vpaddsb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xec, 0x0a], "vpaddsb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xec, 0x4a, 0x01], "vpaddsb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xec, 0xca], "vpaddsb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xec, 0xca], "vpaddsb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xec, 0x0a], "vpaddsb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xec, 0x0a], "vpaddsb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xec, 0x4a, 0x01], "vpaddsb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xec, 0x4a, 0x01], "vpaddsb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xec, 0xca], "vpaddsb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xec, 0x0a], "vpaddsb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xec, 0x4a, 0x01], "vpaddsb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xec, 0xca], "vpaddsb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xec, 0xca], "vpaddsb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xec, 0x0a], "vpaddsb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xec, 0x0a], "vpaddsb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xec, 0x4a, 0x01], "vpaddsb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xec, 0x4a, 0x01], "vpaddsb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xec, 0xca], "vpaddsb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xec, 0x0a], "vpaddsb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xec, 0x4a, 0x01], "vpaddsb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xec, 0xca], "vpaddsb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xec, 0xca], "vpaddsb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xec, 0x0a], "vpaddsb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xec, 0x0a], "vpaddsb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xec, 0x4a, 0x01], "vpaddsb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xec, 0x4a, 0x01], "vpaddsb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xed, 0xca], "vpaddsw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xed, 0x0a], "vpaddsw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xed, 0x4a, 0x01], "vpaddsw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xed, 0xca], "vpaddsw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xed, 0xca], "vpaddsw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xed, 0x0a], "vpaddsw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xed, 0x0a], "vpaddsw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xed, 0x4a, 0x01], "vpaddsw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xed, 0x4a, 0x01], "vpaddsw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xed, 0xca], "vpaddsw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xed, 0x0a], "vpaddsw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xed, 0x4a, 0x01], "vpaddsw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xed, 0xca], "vpaddsw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xed, 0xca], "vpaddsw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xed, 0x0a], "vpaddsw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xed, 0x0a], "vpaddsw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xed, 0x4a, 0x01], "vpaddsw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xed, 0x4a, 0x01], "vpaddsw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xed, 0xca], "vpaddsw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xed, 0x0a], "vpaddsw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xed, 0x4a, 0x01], "vpaddsw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xed, 0xca], "vpaddsw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xed, 0xca], "vpaddsw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xed, 0x0a], "vpaddsw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xed, 0x0a], "vpaddsw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xed, 0x4a, 0x01], "vpaddsw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xed, 0x4a, 0x01], "vpaddsw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xee, 0xca], "vpmaxsw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xee, 0x0a], "vpmaxsw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xee, 0x4a, 0x01], "vpmaxsw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xee, 0xca], "vpmaxsw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xee, 0xca], "vpmaxsw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xee, 0x0a], "vpmaxsw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xee, 0x0a], "vpmaxsw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xee, 0x4a, 0x01], "vpmaxsw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xee, 0x4a, 0x01], "vpmaxsw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xee, 0xca], "vpmaxsw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xee, 0x0a], "vpmaxsw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xee, 0x4a, 0x01], "vpmaxsw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xee, 0xca], "vpmaxsw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xee, 0xca], "vpmaxsw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xee, 0x0a], "vpmaxsw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xee, 0x0a], "vpmaxsw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xee, 0x4a, 0x01], "vpmaxsw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xee, 0x4a, 0x01], "vpmaxsw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xee, 0xca], "vpmaxsw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xee, 0x0a], "vpmaxsw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xee, 0x4a, 0x01], "vpmaxsw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xee, 0xca], "vpmaxsw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xee, 0xca], "vpmaxsw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xee, 0x0a], "vpmaxsw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xee, 0x0a], "vpmaxsw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xee, 0x4a, 0x01], "vpmaxsw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xee, 0x4a, 0x01], "vpmaxsw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xef, 0x0a], "vpxorq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xef, 0x4a, 0x01], "vpxorq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xef, 0x0a], "vpxorq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xef, 0x0a], "vpxorq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xef, 0x4a, 0x01], "vpxorq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xef, 0x4a, 0x01], "vpxorq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xef, 0xca], "vpxorq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xef, 0x0a], "vpxorq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xef, 0x4a, 0x01], "vpxorq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xef, 0xca], "vpxorq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xef, 0xca], "vpxorq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xef, 0x0a], "vpxorq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xef, 0x0a], "vpxorq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xef, 0x4a, 0x01], "vpxorq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xef, 0x4a, 0x01], "vpxorq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xef, 0x0a], "vpxord ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xef, 0x4a, 0x01], "vpxord ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xef, 0x0a], "vpxord ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xef, 0x0a], "vpxord ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xef, 0x4a, 0x01], "vpxord ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xef, 0x4a, 0x01], "vpxord ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xef, 0xca], "vpxord ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xef, 0x0a], "vpxord ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xef, 0x4a, 0x01], "vpxord ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xef, 0xca], "vpxord ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xef, 0xca], "vpxord ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xef, 0x0a], "vpxord ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xef, 0x0a], "vpxord ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xef, 0x4a, 0x01], "vpxord ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xef, 0x4a, 0x01], "vpxord ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xef, 0x0a], "vpxorq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xef, 0x4a, 0x01], "vpxorq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xef, 0x0a], "vpxorq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xef, 0x0a], "vpxorq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xef, 0x4a, 0x01], "vpxorq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xef, 0x4a, 0x01], "vpxorq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xef, 0x0a], "vpxorq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xef, 0x4a, 0x01], "vpxorq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xef, 0x0a], "vpxorq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xef, 0x0a], "vpxorq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xef, 0x4a, 0x01], "vpxorq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xef, 0x4a, 0x01], "vpxorq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xef, 0xca], "vpxorq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xef, 0x0a], "vpxorq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xef, 0x4a, 0x01], "vpxorq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xef, 0xca], "vpxorq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xef, 0xca], "vpxorq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xef, 0x0a], "vpxorq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xef, 0x0a], "vpxorq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xef, 0x4a, 0x01], "vpxorq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xef, 0x4a, 0x01], "vpxorq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xef, 0xca], "vpxorq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xef, 0x0a], "vpxorq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xef, 0x4a, 0x01], "vpxorq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xef, 0xca], "vpxorq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xef, 0xca], "vpxorq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xef, 0x0a], "vpxorq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xef, 0x0a], "vpxorq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xef, 0x4a, 0x01], "vpxorq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xef, 0x4a, 0x01], "vpxorq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xef, 0x0a], "vpxord zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xef, 0x4a, 0x01], "vpxord zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xef, 0x0a], "vpxord zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xef, 0x0a], "vpxord zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xef, 0x4a, 0x01], "vpxord zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xef, 0x4a, 0x01], "vpxord zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xef, 0x0a], "vpxord xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xef, 0x4a, 0x01], "vpxord xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xef, 0x0a], "vpxord xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xef, 0x0a], "vpxord xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xef, 0x4a, 0x01], "vpxord xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xef, 0x4a, 0x01], "vpxord xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xef, 0xca], "vpxord zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xef, 0x0a], "vpxord zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xef, 0x4a, 0x01], "vpxord zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xef, 0xca], "vpxord zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xef, 0xca], "vpxord zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xef, 0x0a], "vpxord zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xef, 0x0a], "vpxord zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xef, 0x4a, 0x01], "vpxord zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xef, 0x4a, 0x01], "vpxord zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xef, 0xca], "vpxord xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xef, 0x0a], "vpxord xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xef, 0x4a, 0x01], "vpxord xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xef, 0xca], "vpxord xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xef, 0xca], "vpxord xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xef, 0x0a], "vpxord xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xef, 0x0a], "vpxord xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xef, 0x4a, 0x01], "vpxord xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xef, 0x4a, 0x01], "vpxord xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf1, 0xca], "vpsllw ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf1, 0x0a], "vpsllw ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf1, 0x4a, 0x01], "vpsllw ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf1, 0xca], "vpsllw ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf1, 0xca], "vpsllw ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf1, 0x0a], "vpsllw ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf1, 0x0a], "vpsllw ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf1, 0x4a, 0x01], "vpsllw ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf1, 0x4a, 0x01], "vpsllw ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf1, 0xca], "vpsllw zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf1, 0x0a], "vpsllw zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf1, 0x4a, 0x01], "vpsllw zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf1, 0xca], "vpsllw zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf1, 0xca], "vpsllw zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf1, 0x0a], "vpsllw zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf1, 0x0a], "vpsllw zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf1, 0x4a, 0x01], "vpsllw zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf1, 0x4a, 0x01], "vpsllw zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf1, 0xca], "vpsllw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf1, 0x0a], "vpsllw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf1, 0x4a, 0x01], "vpsllw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf1, 0xca], "vpsllw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf1, 0xca], "vpsllw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf1, 0x0a], "vpsllw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf1, 0x0a], "vpsllw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf1, 0x4a, 0x01], "vpsllw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf1, 0x4a, 0x01], "vpsllw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xf2, 0xca], "vpslld ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xf2, 0x0a], "vpslld ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xf2, 0x4a, 0x01], "vpslld ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xf2, 0xca], "vpslld ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xf2, 0xca], "vpslld ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xf2, 0x0a], "vpslld ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xf2, 0x0a], "vpslld ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xf2, 0x4a, 0x01], "vpslld ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xf2, 0x4a, 0x01], "vpslld ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xf2, 0xca], "vpslld zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xf2, 0x0a], "vpslld zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xf2, 0x4a, 0x01], "vpslld zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xf2, 0xca], "vpslld zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xf2, 0xca], "vpslld zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xf2, 0x0a], "vpslld zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xf2, 0x0a], "vpslld zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xf2, 0x4a, 0x01], "vpslld zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xf2, 0x4a, 0x01], "vpslld zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xf2, 0xca], "vpslld xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xf2, 0x0a], "vpslld xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xf2, 0x4a, 0x01], "vpslld xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xf2, 0xca], "vpslld xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xf2, 0xca], "vpslld xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xf2, 0x0a], "vpslld xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xf2, 0x0a], "vpslld xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xf2, 0x4a, 0x01], "vpslld xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xf2, 0x4a, 0x01], "vpslld xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf3, 0xca], "vpsllq ymm1{k5}{z}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf3, 0x0a], "vpsllq ymm1{k5}{z}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf3, 0x4a, 0x01], "vpsllq ymm1{k5}{z}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf3, 0xca], "vpsllq ymm1, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf3, 0xca], "vpsllq ymm1{k5}, ymm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf3, 0x0a], "vpsllq ymm1, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf3, 0x0a], "vpsllq ymm1{k5}, ymm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf3, 0x4a, 0x01], "vpsllq ymm1, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf3, 0x4a, 0x01], "vpsllq ymm1{k5}, ymm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf3, 0xca], "vpsllq zmm1{k5}{z}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf3, 0x0a], "vpsllq zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf3, 0x4a, 0x01], "vpsllq zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf3, 0xca], "vpsllq zmm1, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf3, 0xca], "vpsllq zmm1{k5}, zmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf3, 0x0a], "vpsllq zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf3, 0x0a], "vpsllq zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf3, 0x4a, 0x01], "vpsllq zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf3, 0x4a, 0x01], "vpsllq zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf3, 0xca], "vpsllq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf3, 0x0a], "vpsllq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf3, 0x4a, 0x01], "vpsllq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf3, 0xca], "vpsllq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf3, 0xca], "vpsllq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf3, 0x0a], "vpsllq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf3, 0x0a], "vpsllq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf3, 0x4a, 0x01], "vpsllq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf3, 0x4a, 0x01], "vpsllq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xf4, 0x0a], "vpmuludq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xf4, 0x4a, 0x01], "vpmuludq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xf4, 0x0a], "vpmuludq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xf4, 0x0a], "vpmuludq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xf4, 0x4a, 0x01], "vpmuludq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xf4, 0x4a, 0x01], "vpmuludq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf4, 0xca], "vpmuludq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf4, 0x0a], "vpmuludq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf4, 0x4a, 0x01], "vpmuludq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf4, 0xca], "vpmuludq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf4, 0xca], "vpmuludq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf4, 0x0a], "vpmuludq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf4, 0x0a], "vpmuludq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf4, 0x4a, 0x01], "vpmuludq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf4, 0x4a, 0x01], "vpmuludq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xf4, 0x0a], "vpmuludq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xf4, 0x4a, 0x01], "vpmuludq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xf4, 0x0a], "vpmuludq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xf4, 0x0a], "vpmuludq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xf4, 0x4a, 0x01], "vpmuludq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xf4, 0x4a, 0x01], "vpmuludq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xf4, 0x0a], "vpmuludq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xf4, 0x4a, 0x01], "vpmuludq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xf4, 0x0a], "vpmuludq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xf4, 0x0a], "vpmuludq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xf4, 0x4a, 0x01], "vpmuludq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xf4, 0x4a, 0x01], "vpmuludq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf4, 0xca], "vpmuludq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf4, 0x0a], "vpmuludq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf4, 0x4a, 0x01], "vpmuludq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf4, 0xca], "vpmuludq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf4, 0xca], "vpmuludq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf4, 0x0a], "vpmuludq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf4, 0x0a], "vpmuludq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf4, 0x4a, 0x01], "vpmuludq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf4, 0x4a, 0x01], "vpmuludq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf4, 0xca], "vpmuludq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf4, 0x0a], "vpmuludq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf4, 0x4a, 0x01], "vpmuludq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf4, 0xca], "vpmuludq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf4, 0xca], "vpmuludq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf4, 0x0a], "vpmuludq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf4, 0x0a], "vpmuludq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf4, 0x4a, 0x01], "vpmuludq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf4, 0x4a, 0x01], "vpmuludq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf5, 0xca], "vpmaddwd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf5, 0x0a], "vpmaddwd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf5, 0x4a, 0x01], "vpmaddwd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf5, 0xca], "vpmaddwd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf5, 0xca], "vpmaddwd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf5, 0x0a], "vpmaddwd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf5, 0x0a], "vpmaddwd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf5, 0x4a, 0x01], "vpmaddwd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf5, 0x4a, 0x01], "vpmaddwd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf5, 0xca], "vpmaddwd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf5, 0x0a], "vpmaddwd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf5, 0x4a, 0x01], "vpmaddwd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf5, 0xca], "vpmaddwd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf5, 0xca], "vpmaddwd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf5, 0x0a], "vpmaddwd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf5, 0x0a], "vpmaddwd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf5, 0x4a, 0x01], "vpmaddwd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf5, 0x4a, 0x01], "vpmaddwd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf5, 0xca], "vpmaddwd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf5, 0x0a], "vpmaddwd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf5, 0x4a, 0x01], "vpmaddwd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf5, 0xca], "vpmaddwd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf5, 0xca], "vpmaddwd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf5, 0x0a], "vpmaddwd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf5, 0x0a], "vpmaddwd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf5, 0x4a, 0x01], "vpmaddwd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf5, 0x4a, 0x01], "vpmaddwd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf6, 0xca], "vpsadbw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf6, 0x0a], "vpsadbw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf6, 0x4a, 0x01], "vpsadbw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf6, 0xca], "vpsadbw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf6, 0x0a], "vpsadbw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf6, 0x4a, 0x01], "vpsadbw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf6, 0xca], "vpsadbw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf6, 0x0a], "vpsadbw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf6, 0x4a, 0x01], "vpsadbw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf8, 0xca], "vpsubb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf8, 0x0a], "vpsubb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf8, 0x4a, 0x01], "vpsubb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf8, 0xca], "vpsubb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf8, 0xca], "vpsubb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf8, 0x0a], "vpsubb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf8, 0x0a], "vpsubb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf8, 0x4a, 0x01], "vpsubb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf8, 0x4a, 0x01], "vpsubb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf8, 0xca], "vpsubb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf8, 0x0a], "vpsubb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf8, 0x4a, 0x01], "vpsubb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf8, 0xca], "vpsubb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf8, 0xca], "vpsubb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf8, 0x0a], "vpsubb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf8, 0x0a], "vpsubb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf8, 0x4a, 0x01], "vpsubb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf8, 0x4a, 0x01], "vpsubb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf8, 0xca], "vpsubb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf8, 0x0a], "vpsubb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf8, 0x4a, 0x01], "vpsubb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf8, 0xca], "vpsubb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf8, 0xca], "vpsubb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf8, 0x0a], "vpsubb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf8, 0x0a], "vpsubb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf8, 0x4a, 0x01], "vpsubb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf8, 0x4a, 0x01], "vpsubb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf9, 0xca], "vpsubw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf9, 0x0a], "vpsubw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xf9, 0x4a, 0x01], "vpsubw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf9, 0xca], "vpsubw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf9, 0xca], "vpsubw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf9, 0x0a], "vpsubw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf9, 0x0a], "vpsubw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xf9, 0x4a, 0x01], "vpsubw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xf9, 0x4a, 0x01], "vpsubw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf9, 0xca], "vpsubw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf9, 0x0a], "vpsubw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xf9, 0x4a, 0x01], "vpsubw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf9, 0xca], "vpsubw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf9, 0xca], "vpsubw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf9, 0x0a], "vpsubw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf9, 0x0a], "vpsubw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xf9, 0x4a, 0x01], "vpsubw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xf9, 0x4a, 0x01], "vpsubw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf9, 0xca], "vpsubw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf9, 0x0a], "vpsubw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xf9, 0x4a, 0x01], "vpsubw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf9, 0xca], "vpsubw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf9, 0xca], "vpsubw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf9, 0x0a], "vpsubw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf9, 0x0a], "vpsubw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xf9, 0x4a, 0x01], "vpsubw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xf9, 0x4a, 0x01], "vpsubw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xfa, 0x0a], "vpsubd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xfa, 0x4a, 0x01], "vpsubd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xfa, 0x0a], "vpsubd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xfa, 0x0a], "vpsubd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xfa, 0x4a, 0x01], "vpsubd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xfa, 0x4a, 0x01], "vpsubd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xfa, 0xca], "vpsubd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xfa, 0x0a], "vpsubd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xfa, 0x4a, 0x01], "vpsubd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xfa, 0xca], "vpsubd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xfa, 0xca], "vpsubd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xfa, 0x0a], "vpsubd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xfa, 0x0a], "vpsubd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xfa, 0x4a, 0x01], "vpsubd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xfa, 0x4a, 0x01], "vpsubd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xfa, 0x0a], "vpsubd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xfa, 0x4a, 0x01], "vpsubd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xfa, 0x0a], "vpsubd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xfa, 0x0a], "vpsubd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xfa, 0x4a, 0x01], "vpsubd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xfa, 0x4a, 0x01], "vpsubd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xfa, 0x0a], "vpsubd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xfa, 0x4a, 0x01], "vpsubd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xfa, 0x0a], "vpsubd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xfa, 0x0a], "vpsubd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xfa, 0x4a, 0x01], "vpsubd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xfa, 0x4a, 0x01], "vpsubd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xfa, 0xca], "vpsubd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xfa, 0x0a], "vpsubd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xfa, 0x4a, 0x01], "vpsubd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xfa, 0xca], "vpsubd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xfa, 0xca], "vpsubd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xfa, 0x0a], "vpsubd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xfa, 0x0a], "vpsubd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xfa, 0x4a, 0x01], "vpsubd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xfa, 0x4a, 0x01], "vpsubd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xfa, 0xca], "vpsubd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xfa, 0x0a], "vpsubd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xfa, 0x4a, 0x01], "vpsubd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xfa, 0xca], "vpsubd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xfa, 0xca], "vpsubd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xfa, 0x0a], "vpsubd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xfa, 0x0a], "vpsubd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xfa, 0x4a, 0x01], "vpsubd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xfa, 0x4a, 0x01], "vpsubd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xfb, 0x0a], "vpsubq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xbd, 0xfb, 0x4a, 0x01], "vpsubq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xfb, 0x0a], "vpsubq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xfb, 0x0a], "vpsubq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x38, 0xfb, 0x4a, 0x01], "vpsubq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x3d, 0xfb, 0x4a, 0x01], "vpsubq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfb, 0xca], "vpsubq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfb, 0x0a], "vpsubq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfb, 0x4a, 0x01], "vpsubq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfb, 0xca], "vpsubq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfb, 0xca], "vpsubq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfb, 0x0a], "vpsubq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfb, 0x0a], "vpsubq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfb, 0x4a, 0x01], "vpsubq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfb, 0x4a, 0x01], "vpsubq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xfb, 0x0a], "vpsubq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xdd, 0xfb, 0x4a, 0x01], "vpsubq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xfb, 0x0a], "vpsubq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xfb, 0x0a], "vpsubq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x58, 0xfb, 0x4a, 0x01], "vpsubq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x5d, 0xfb, 0x4a, 0x01], "vpsubq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xfb, 0x0a], "vpsubq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x9d, 0xfb, 0x4a, 0x01], "vpsubq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xfb, 0x0a], "vpsubq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xfb, 0x0a], "vpsubq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x18, 0xfb, 0x4a, 0x01], "vpsubq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x1d, 0xfb, 0x4a, 0x01], "vpsubq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfb, 0xca], "vpsubq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfb, 0x0a], "vpsubq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfb, 0x4a, 0x01], "vpsubq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfb, 0xca], "vpsubq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfb, 0xca], "vpsubq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfb, 0x0a], "vpsubq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfb, 0x0a], "vpsubq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfb, 0x4a, 0x01], "vpsubq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfb, 0x4a, 0x01], "vpsubq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfb, 0xca], "vpsubq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfb, 0x0a], "vpsubq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfb, 0x4a, 0x01], "vpsubq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfb, 0xca], "vpsubq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfb, 0xca], "vpsubq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfb, 0x0a], "vpsubq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfb, 0x0a], "vpsubq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfb, 0x4a, 0x01], "vpsubq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfb, 0x4a, 0x01], "vpsubq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfc, 0xca], "vpaddb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfc, 0x0a], "vpaddb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfc, 0x4a, 0x01], "vpaddb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfc, 0xca], "vpaddb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfc, 0xca], "vpaddb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfc, 0x0a], "vpaddb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfc, 0x0a], "vpaddb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfc, 0x4a, 0x01], "vpaddb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfc, 0x4a, 0x01], "vpaddb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfc, 0xca], "vpaddb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfc, 0x0a], "vpaddb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfc, 0x4a, 0x01], "vpaddb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfc, 0xca], "vpaddb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfc, 0xca], "vpaddb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfc, 0x0a], "vpaddb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfc, 0x0a], "vpaddb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfc, 0x4a, 0x01], "vpaddb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfc, 0x4a, 0x01], "vpaddb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfc, 0xca], "vpaddb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfc, 0x0a], "vpaddb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfc, 0x4a, 0x01], "vpaddb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfc, 0xca], "vpaddb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfc, 0xca], "vpaddb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfc, 0x0a], "vpaddb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfc, 0x0a], "vpaddb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfc, 0x4a, 0x01], "vpaddb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfc, 0x4a, 0x01], "vpaddb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfd, 0xca], "vpaddw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfd, 0x0a], "vpaddw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xad, 0xfd, 0x4a, 0x01], "vpaddw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfd, 0xca], "vpaddw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfd, 0xca], "vpaddw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfd, 0x0a], "vpaddw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfd, 0x0a], "vpaddw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x28, 0xfd, 0x4a, 0x01], "vpaddw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x2d, 0xfd, 0x4a, 0x01], "vpaddw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfd, 0xca], "vpaddw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfd, 0x0a], "vpaddw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0xcd, 0xfd, 0x4a, 0x01], "vpaddw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfd, 0xca], "vpaddw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfd, 0xca], "vpaddw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfd, 0x0a], "vpaddw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfd, 0x0a], "vpaddw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x48, 0xfd, 0x4a, 0x01], "vpaddw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x4d, 0xfd, 0x4a, 0x01], "vpaddw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfd, 0xca], "vpaddw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfd, 0x0a], "vpaddw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x8d, 0xfd, 0x4a, 0x01], "vpaddw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfd, 0xca], "vpaddw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfd, 0xca], "vpaddw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfd, 0x0a], "vpaddw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfd, 0x0a], "vpaddw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x08, 0xfd, 0x4a, 0x01], "vpaddw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfd, 0x0d, 0xfd, 0x4a, 0x01], "vpaddw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xfe, 0x0a], "vpaddd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xbd, 0xfe, 0x4a, 0x01], "vpaddd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xfe, 0x0a], "vpaddd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xfe, 0x0a], "vpaddd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x38, 0xfe, 0x4a, 0x01], "vpaddd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x3d, 0xfe, 0x4a, 0x01], "vpaddd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xfe, 0xca], "vpaddd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xfe, 0x0a], "vpaddd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xad, 0xfe, 0x4a, 0x01], "vpaddd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xfe, 0xca], "vpaddd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xfe, 0xca], "vpaddd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xfe, 0x0a], "vpaddd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xfe, 0x0a], "vpaddd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x28, 0xfe, 0x4a, 0x01], "vpaddd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x2d, 0xfe, 0x4a, 0x01], "vpaddd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xfe, 0x0a], "vpaddd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xdd, 0xfe, 0x4a, 0x01], "vpaddd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xfe, 0x0a], "vpaddd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xfe, 0x0a], "vpaddd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x58, 0xfe, 0x4a, 0x01], "vpaddd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x5d, 0xfe, 0x4a, 0x01], "vpaddd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xfe, 0x0a], "vpaddd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x9d, 0xfe, 0x4a, 0x01], "vpaddd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xfe, 0x0a], "vpaddd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xfe, 0x0a], "vpaddd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x18, 0xfe, 0x4a, 0x01], "vpaddd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x1d, 0xfe, 0x4a, 0x01], "vpaddd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xfe, 0xca], "vpaddd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xfe, 0x0a], "vpaddd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0xcd, 0xfe, 0x4a, 0x01], "vpaddd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xfe, 0xca], "vpaddd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xfe, 0xca], "vpaddd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xfe, 0x0a], "vpaddd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xfe, 0x0a], "vpaddd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x48, 0xfe, 0x4a, 0x01], "vpaddd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x4d, 0xfe, 0x4a, 0x01], "vpaddd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xfe, 0xca], "vpaddd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xfe, 0x0a], "vpaddd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x8d, 0xfe, 0x4a, 0x01], "vpaddd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xfe, 0xca], "vpaddd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xfe, 0xca], "vpaddd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xfe, 0x0a], "vpaddd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xfe, 0x0a], "vpaddd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x08, 0xfe, 0x4a, 0x01], "vpaddd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7d, 0x0d, 0xfe, 0x4a, 0x01], "vpaddd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +} +#[test] +fn tests_66_0f38() { +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x00, 0xca], "vpshufb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x00, 0x0a], "vpshufb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x00, 0x4a, 0x01], "vpshufb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x00, 0xca], "vpshufb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x00, 0xca], "vpshufb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x00, 0x0a], "vpshufb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x00, 0x0a], "vpshufb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x00, 0x4a, 0x01], "vpshufb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x00, 0x4a, 0x01], "vpshufb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x00, 0xca], "vpshufb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x00, 0x0a], "vpshufb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x00, 0x4a, 0x01], "vpshufb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x00, 0xca], "vpshufb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x00, 0xca], "vpshufb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x00, 0x0a], "vpshufb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x00, 0x0a], "vpshufb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x00, 0x4a, 0x01], "vpshufb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x00, 0x4a, 0x01], "vpshufb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x00, 0xca], "vpshufb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x00, 0x0a], "vpshufb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x00, 0x4a, 0x01], "vpshufb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x00, 0xca], "vpshufb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x00, 0xca], "vpshufb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x00, 0x0a], "vpshufb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x00, 0x0a], "vpshufb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x00, 0x4a, 0x01], "vpshufb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x00, 0x4a, 0x01], "vpshufb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x04, 0xca], "vpmaddubsw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x04, 0x0a], "vpmaddubsw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x04, 0x4a, 0x01], "vpmaddubsw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x04, 0xca], "vpmaddubsw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x04, 0xca], "vpmaddubsw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x04, 0x0a], "vpmaddubsw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x04, 0x0a], "vpmaddubsw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x04, 0x4a, 0x01], "vpmaddubsw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x04, 0x4a, 0x01], "vpmaddubsw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x04, 0xca], "vpmaddubsw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x04, 0x0a], "vpmaddubsw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x04, 0x4a, 0x01], "vpmaddubsw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x04, 0xca], "vpmaddubsw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x04, 0xca], "vpmaddubsw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x04, 0x0a], "vpmaddubsw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x04, 0x0a], "vpmaddubsw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x04, 0x4a, 0x01], "vpmaddubsw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x04, 0x4a, 0x01], "vpmaddubsw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x04, 0xca], "vpmaddubsw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x04, 0x0a], "vpmaddubsw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x04, 0x4a, 0x01], "vpmaddubsw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x04, 0xca], "vpmaddubsw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x04, 0xca], "vpmaddubsw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x04, 0x0a], "vpmaddubsw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x04, 0x0a], "vpmaddubsw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x04, 0x4a, 0x01], "vpmaddubsw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x04, 0x4a, 0x01], "vpmaddubsw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x0b, 0xca], "vpmulhrsw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x0b, 0x0a], "vpmulhrsw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x0b, 0x4a, 0x01], "vpmulhrsw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x0b, 0xca], "vpmulhrsw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x0b, 0xca], "vpmulhrsw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x0b, 0x0a], "vpmulhrsw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x0b, 0x0a], "vpmulhrsw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x0b, 0x4a, 0x01], "vpmulhrsw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x0b, 0x4a, 0x01], "vpmulhrsw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x0b, 0xca], "vpmulhrsw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x0b, 0x0a], "vpmulhrsw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x0b, 0x4a, 0x01], "vpmulhrsw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x0b, 0xca], "vpmulhrsw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x0b, 0xca], "vpmulhrsw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x0b, 0x0a], "vpmulhrsw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x0b, 0x0a], "vpmulhrsw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x0b, 0x4a, 0x01], "vpmulhrsw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x0b, 0x4a, 0x01], "vpmulhrsw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x0b, 0xca], "vpmulhrsw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x0b, 0x0a], "vpmulhrsw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x0b, 0x4a, 0x01], "vpmulhrsw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x0b, 0xca], "vpmulhrsw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x0b, 0xca], "vpmulhrsw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x0b, 0x0a], "vpmulhrsw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x0b, 0x0a], "vpmulhrsw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x0b, 0x4a, 0x01], "vpmulhrsw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x0b, 0x4a, 0x01], "vpmulhrsw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x0c, 0x0a], "vpermilps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x0c, 0x4a, 0x01], "vpermilps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x0c, 0x0a], "vpermilps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x0c, 0x0a], "vpermilps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x0c, 0x4a, 0x01], "vpermilps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x0c, 0x4a, 0x01], "vpermilps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x0c, 0xca], "vpermilps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x0c, 0x0a], "vpermilps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x0c, 0x4a, 0x01], "vpermilps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x0c, 0xca], "vpermilps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x0c, 0xca], "vpermilps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x0c, 0x0a], "vpermilps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x0c, 0x0a], "vpermilps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x0c, 0x4a, 0x01], "vpermilps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x0c, 0x4a, 0x01], "vpermilps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x0c, 0x0a], "vpermilps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x0c, 0x4a, 0x01], "vpermilps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x0c, 0x0a], "vpermilps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x0c, 0x0a], "vpermilps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x0c, 0x4a, 0x01], "vpermilps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x0c, 0x4a, 0x01], "vpermilps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x0c, 0x0a], "vpermilps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x0c, 0x4a, 0x01], "vpermilps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x0c, 0x0a], "vpermilps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x0c, 0x0a], "vpermilps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x0c, 0x4a, 0x01], "vpermilps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x0c, 0x4a, 0x01], "vpermilps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x0c, 0xca], "vpermilps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x0c, 0x0a], "vpermilps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x0c, 0x4a, 0x01], "vpermilps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x0c, 0xca], "vpermilps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x0c, 0xca], "vpermilps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x0c, 0x0a], "vpermilps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x0c, 0x0a], "vpermilps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x0c, 0x4a, 0x01], "vpermilps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x0c, 0x4a, 0x01], "vpermilps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x0c, 0xca], "vpermilps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x0c, 0x0a], "vpermilps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x0c, 0x4a, 0x01], "vpermilps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x0c, 0xca], "vpermilps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x0c, 0xca], "vpermilps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x0c, 0x0a], "vpermilps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x0c, 0x0a], "vpermilps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x0c, 0x4a, 0x01], "vpermilps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x0c, 0x4a, 0x01], "vpermilps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x0d, 0x0a], "vpermilpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x0d, 0x4a, 0x01], "vpermilpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x0d, 0x0a], "vpermilpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x0d, 0x0a], "vpermilpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x0d, 0x4a, 0x01], "vpermilpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x0d, 0x4a, 0x01], "vpermilpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x0d, 0xca], "vpermilpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x0d, 0x0a], "vpermilpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x0d, 0x4a, 0x01], "vpermilpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x0d, 0xca], "vpermilpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x0d, 0xca], "vpermilpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x0d, 0x0a], "vpermilpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x0d, 0x0a], "vpermilpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x0d, 0x4a, 0x01], "vpermilpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x0d, 0x4a, 0x01], "vpermilpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x0d, 0x0a], "vpermilpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x0d, 0x4a, 0x01], "vpermilpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x0d, 0x0a], "vpermilpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x0d, 0x0a], "vpermilpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x0d, 0x4a, 0x01], "vpermilpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x0d, 0x4a, 0x01], "vpermilpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x0d, 0x0a], "vpermilpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x0d, 0x4a, 0x01], "vpermilpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x0d, 0x0a], "vpermilpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x0d, 0x0a], "vpermilpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x0d, 0x4a, 0x01], "vpermilpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x0d, 0x4a, 0x01], "vpermilpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x0d, 0xca], "vpermilpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x0d, 0x0a], "vpermilpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x0d, 0x4a, 0x01], "vpermilpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x0d, 0xca], "vpermilpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x0d, 0xca], "vpermilpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x0d, 0x0a], "vpermilpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x0d, 0x0a], "vpermilpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x0d, 0x4a, 0x01], "vpermilpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x0d, 0x4a, 0x01], "vpermilpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x0d, 0xca], "vpermilpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x0d, 0x0a], "vpermilpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x0d, 0x4a, 0x01], "vpermilpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x0d, 0xca], "vpermilpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x0d, 0xca], "vpermilpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x0d, 0x0a], "vpermilpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x0d, 0x0a], "vpermilpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x0d, 0x4a, 0x01], "vpermilpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x0d, 0x4a, 0x01], "vpermilpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x10, 0xca], "vpsrlvw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x10, 0x0a], "vpsrlvw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x10, 0x4a, 0x01], "vpsrlvw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x10, 0xca], "vpsrlvw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x10, 0xca], "vpsrlvw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x10, 0x0a], "vpsrlvw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x10, 0x0a], "vpsrlvw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x10, 0x4a, 0x01], "vpsrlvw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x10, 0x4a, 0x01], "vpsrlvw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x10, 0xca], "vpsrlvw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x10, 0x0a], "vpsrlvw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x10, 0x4a, 0x01], "vpsrlvw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x10, 0xca], "vpsrlvw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x10, 0xca], "vpsrlvw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x10, 0x0a], "vpsrlvw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x10, 0x0a], "vpsrlvw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x10, 0x4a, 0x01], "vpsrlvw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x10, 0x4a, 0x01], "vpsrlvw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x10, 0xca], "vpsrlvw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x10, 0x0a], "vpsrlvw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x10, 0x4a, 0x01], "vpsrlvw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x10, 0xca], "vpsrlvw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x10, 0xca], "vpsrlvw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x10, 0x0a], "vpsrlvw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x10, 0x0a], "vpsrlvw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x10, 0x4a, 0x01], "vpsrlvw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x10, 0x4a, 0x01], "vpsrlvw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x11, 0xca], "vpsravw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x11, 0x0a], "vpsravw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x11, 0x4a, 0x01], "vpsravw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x11, 0xca], "vpsravw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x11, 0xca], "vpsravw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x11, 0x0a], "vpsravw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x11, 0x0a], "vpsravw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x11, 0x4a, 0x01], "vpsravw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x11, 0x4a, 0x01], "vpsravw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x11, 0xca], "vpsravw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x11, 0x0a], "vpsravw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x11, 0x4a, 0x01], "vpsravw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x11, 0xca], "vpsravw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x11, 0xca], "vpsravw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x11, 0x0a], "vpsravw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x11, 0x0a], "vpsravw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x11, 0x4a, 0x01], "vpsravw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x11, 0x4a, 0x01], "vpsravw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x11, 0xca], "vpsravw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x11, 0x0a], "vpsravw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x11, 0x4a, 0x01], "vpsravw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x11, 0xca], "vpsravw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x11, 0xca], "vpsravw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x11, 0x0a], "vpsravw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x11, 0x0a], "vpsravw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x11, 0x4a, 0x01], "vpsravw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x11, 0x4a, 0x01], "vpsravw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x12, 0xca], "vpsllvw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x12, 0x0a], "vpsllvw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x12, 0x4a, 0x01], "vpsllvw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x12, 0xca], "vpsllvw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x12, 0xca], "vpsllvw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x12, 0x0a], "vpsllvw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x12, 0x0a], "vpsllvw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x12, 0x4a, 0x01], "vpsllvw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x12, 0x4a, 0x01], "vpsllvw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x12, 0xca], "vpsllvw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x12, 0x0a], "vpsllvw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x12, 0x4a, 0x01], "vpsllvw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x12, 0xca], "vpsllvw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x12, 0xca], "vpsllvw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x12, 0x0a], "vpsllvw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x12, 0x0a], "vpsllvw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x12, 0x4a, 0x01], "vpsllvw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x12, 0x4a, 0x01], "vpsllvw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x12, 0xca], "vpsllvw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x12, 0x0a], "vpsllvw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x12, 0x4a, 0x01], "vpsllvw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x12, 0xca], "vpsllvw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x12, 0xca], "vpsllvw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x12, 0x0a], "vpsllvw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x12, 0x0a], "vpsllvw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x12, 0x4a, 0x01], "vpsllvw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x12, 0x4a, 0x01], "vpsllvw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x13, 0xca], "vcvtph2ps zmm1{k5}{z}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x13, 0xca], "vcvtph2ps zmm1{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x13, 0xca], "vcvtph2ps zmm1{k5}{sae}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x13, 0xca], "vcvtph2ps ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x13, 0x0a], "vcvtph2ps ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x13, 0x4a, 0x01], "vcvtph2ps ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x13, 0xca], "vcvtph2ps ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x13, 0xca], "vcvtph2ps ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x13, 0x0a], "vcvtph2ps ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x13, 0x0a], "vcvtph2ps ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x13, 0x4a, 0x01], "vcvtph2ps ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x13, 0x4a, 0x01], "vcvtph2ps ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x13, 0xca], "vcvtph2ps zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x13, 0x0a], "vcvtph2ps zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x13, 0x4a, 0x01], "vcvtph2ps zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x13, 0xca], "vcvtph2ps zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x13, 0xca], "vcvtph2ps zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x13, 0x0a], "vcvtph2ps zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x13, 0x0a], "vcvtph2ps zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x13, 0x4a, 0x01], "vcvtph2ps zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x13, 0x4a, 0x01], "vcvtph2ps zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x13, 0xca], "vcvtph2ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x13, 0x0a], "vcvtph2ps xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x13, 0x4a, 0x01], "vcvtph2ps xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x13, 0xca], "vcvtph2ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x13, 0xca], "vcvtph2ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x13, 0x0a], "vcvtph2ps xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x13, 0x0a], "vcvtph2ps xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x13, 0x4a, 0x01], "vcvtph2ps xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x13, 0x4a, 0x01], "vcvtph2ps xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x14, 0x0a], "vprorvq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x14, 0x4a, 0x01], "vprorvq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x14, 0x0a], "vprorvq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x14, 0x0a], "vprorvq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x14, 0x4a, 0x01], "vprorvq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x14, 0x4a, 0x01], "vprorvq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x14, 0xca], "vprorvq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x14, 0x0a], "vprorvq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x14, 0x4a, 0x01], "vprorvq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x14, 0xca], "vprorvq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x14, 0xca], "vprorvq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x14, 0x0a], "vprorvq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x14, 0x0a], "vprorvq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x14, 0x4a, 0x01], "vprorvq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x14, 0x4a, 0x01], "vprorvq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x14, 0x0a], "vprorvd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x14, 0x4a, 0x01], "vprorvd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x14, 0x0a], "vprorvd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x14, 0x0a], "vprorvd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x14, 0x4a, 0x01], "vprorvd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x14, 0x4a, 0x01], "vprorvd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x14, 0xca], "vprorvd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x14, 0x0a], "vprorvd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x14, 0x4a, 0x01], "vprorvd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x14, 0xca], "vprorvd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x14, 0xca], "vprorvd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x14, 0x0a], "vprorvd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x14, 0x0a], "vprorvd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x14, 0x4a, 0x01], "vprorvd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x14, 0x4a, 0x01], "vprorvd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x14, 0x0a], "vprorvq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x14, 0x4a, 0x01], "vprorvq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x14, 0x0a], "vprorvq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x14, 0x0a], "vprorvq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x14, 0x4a, 0x01], "vprorvq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x14, 0x4a, 0x01], "vprorvq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x14, 0x0a], "vprorvq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x14, 0x4a, 0x01], "vprorvq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x14, 0x0a], "vprorvq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x14, 0x0a], "vprorvq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x14, 0x4a, 0x01], "vprorvq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x14, 0x4a, 0x01], "vprorvq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x14, 0xca], "vprorvq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x14, 0x0a], "vprorvq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x14, 0x4a, 0x01], "vprorvq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x14, 0xca], "vprorvq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x14, 0xca], "vprorvq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x14, 0x0a], "vprorvq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x14, 0x0a], "vprorvq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x14, 0x4a, 0x01], "vprorvq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x14, 0x4a, 0x01], "vprorvq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x14, 0xca], "vprorvq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x14, 0x0a], "vprorvq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x14, 0x4a, 0x01], "vprorvq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x14, 0xca], "vprorvq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x14, 0xca], "vprorvq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x14, 0x0a], "vprorvq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x14, 0x0a], "vprorvq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x14, 0x4a, 0x01], "vprorvq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x14, 0x4a, 0x01], "vprorvq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x14, 0x0a], "vprorvd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x14, 0x4a, 0x01], "vprorvd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x14, 0x0a], "vprorvd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x14, 0x0a], "vprorvd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x14, 0x4a, 0x01], "vprorvd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x14, 0x4a, 0x01], "vprorvd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x14, 0x0a], "vprorvd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x14, 0x4a, 0x01], "vprorvd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x14, 0x0a], "vprorvd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x14, 0x0a], "vprorvd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x14, 0x4a, 0x01], "vprorvd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x14, 0x4a, 0x01], "vprorvd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x14, 0xca], "vprorvd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x14, 0x0a], "vprorvd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x14, 0x4a, 0x01], "vprorvd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x14, 0xca], "vprorvd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x14, 0xca], "vprorvd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x14, 0x0a], "vprorvd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x14, 0x0a], "vprorvd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x14, 0x4a, 0x01], "vprorvd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x14, 0x4a, 0x01], "vprorvd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x14, 0xca], "vprorvd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x14, 0x0a], "vprorvd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x14, 0x4a, 0x01], "vprorvd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x14, 0xca], "vprorvd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x14, 0xca], "vprorvd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x14, 0x0a], "vprorvd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x14, 0x0a], "vprorvd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x14, 0x4a, 0x01], "vprorvd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x14, 0x4a, 0x01], "vprorvd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x15, 0x0a], "vprolvq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x15, 0x4a, 0x01], "vprolvq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x15, 0x0a], "vprolvq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x15, 0x0a], "vprolvq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x15, 0x4a, 0x01], "vprolvq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x15, 0x4a, 0x01], "vprolvq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x15, 0xca], "vprolvq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x15, 0x0a], "vprolvq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x15, 0x4a, 0x01], "vprolvq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x15, 0xca], "vprolvq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x15, 0xca], "vprolvq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x15, 0x0a], "vprolvq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x15, 0x0a], "vprolvq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x15, 0x4a, 0x01], "vprolvq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x15, 0x4a, 0x01], "vprolvq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x15, 0x0a], "vprolvd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x15, 0x4a, 0x01], "vprolvd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x15, 0x0a], "vprolvd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x15, 0x0a], "vprolvd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x15, 0x4a, 0x01], "vprolvd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x15, 0x4a, 0x01], "vprolvd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x15, 0xca], "vprolvd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x15, 0x0a], "vprolvd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x15, 0x4a, 0x01], "vprolvd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x15, 0xca], "vprolvd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x15, 0xca], "vprolvd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x15, 0x0a], "vprolvd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x15, 0x0a], "vprolvd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x15, 0x4a, 0x01], "vprolvd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x15, 0x4a, 0x01], "vprolvd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x15, 0x0a], "vprolvq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x15, 0x4a, 0x01], "vprolvq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x15, 0x0a], "vprolvq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x15, 0x0a], "vprolvq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x15, 0x4a, 0x01], "vprolvq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x15, 0x4a, 0x01], "vprolvq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x15, 0x0a], "vprolvq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x15, 0x4a, 0x01], "vprolvq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x15, 0x0a], "vprolvq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x15, 0x0a], "vprolvq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x15, 0x4a, 0x01], "vprolvq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x15, 0x4a, 0x01], "vprolvq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x15, 0xca], "vprolvq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x15, 0x0a], "vprolvq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x15, 0x4a, 0x01], "vprolvq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x15, 0xca], "vprolvq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x15, 0xca], "vprolvq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x15, 0x0a], "vprolvq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x15, 0x0a], "vprolvq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x15, 0x4a, 0x01], "vprolvq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x15, 0x4a, 0x01], "vprolvq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x15, 0xca], "vprolvq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x15, 0x0a], "vprolvq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x15, 0x4a, 0x01], "vprolvq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x15, 0xca], "vprolvq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x15, 0xca], "vprolvq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x15, 0x0a], "vprolvq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x15, 0x0a], "vprolvq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x15, 0x4a, 0x01], "vprolvq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x15, 0x4a, 0x01], "vprolvq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x15, 0x0a], "vprolvd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x15, 0x4a, 0x01], "vprolvd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x15, 0x0a], "vprolvd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x15, 0x0a], "vprolvd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x15, 0x4a, 0x01], "vprolvd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x15, 0x4a, 0x01], "vprolvd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x15, 0x0a], "vprolvd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x15, 0x4a, 0x01], "vprolvd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x15, 0x0a], "vprolvd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x15, 0x0a], "vprolvd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x15, 0x4a, 0x01], "vprolvd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x15, 0x4a, 0x01], "vprolvd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x15, 0xca], "vprolvd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x15, 0x0a], "vprolvd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x15, 0x4a, 0x01], "vprolvd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x15, 0xca], "vprolvd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x15, 0xca], "vprolvd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x15, 0x0a], "vprolvd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x15, 0x0a], "vprolvd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x15, 0x4a, 0x01], "vprolvd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x15, 0x4a, 0x01], "vprolvd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x15, 0xca], "vprolvd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x15, 0x0a], "vprolvd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x15, 0x4a, 0x01], "vprolvd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x15, 0xca], "vprolvd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x15, 0xca], "vprolvd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x15, 0x0a], "vprolvd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x15, 0x0a], "vprolvd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x15, 0x4a, 0x01], "vprolvd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x15, 0x4a, 0x01], "vprolvd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x16, 0x0a], "vpermpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x16, 0x4a, 0x01], "vpermpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x16, 0x0a], "vpermpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x16, 0x0a], "vpermpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x16, 0x4a, 0x01], "vpermpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x16, 0x4a, 0x01], "vpermpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x16, 0xca], "vpermpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x16, 0x0a], "vpermpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x16, 0x4a, 0x01], "vpermpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x16, 0xca], "vpermpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x16, 0xca], "vpermpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x16, 0x0a], "vpermpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x16, 0x0a], "vpermpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x16, 0x4a, 0x01], "vpermpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x16, 0x4a, 0x01], "vpermpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x16, 0x0a], "vpermps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x16, 0x4a, 0x01], "vpermps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x16, 0x0a], "vpermps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x16, 0x0a], "vpermps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x16, 0x4a, 0x01], "vpermps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x16, 0x4a, 0x01], "vpermps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x16, 0xca], "vpermps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x16, 0x0a], "vpermps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x16, 0x4a, 0x01], "vpermps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x16, 0xca], "vpermps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x16, 0xca], "vpermps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x16, 0x0a], "vpermps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x16, 0x0a], "vpermps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x16, 0x4a, 0x01], "vpermps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x16, 0x4a, 0x01], "vpermps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x16, 0x0a], "vpermpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x16, 0x4a, 0x01], "vpermpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x16, 0x0a], "vpermpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x16, 0x0a], "vpermpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x16, 0x4a, 0x01], "vpermpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x16, 0x4a, 0x01], "vpermpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x16, 0xca], "vpermpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x16, 0x0a], "vpermpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x16, 0x4a, 0x01], "vpermpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x16, 0xca], "vpermpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x16, 0xca], "vpermpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x16, 0x0a], "vpermpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x16, 0x0a], "vpermpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x16, 0x4a, 0x01], "vpermpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x16, 0x4a, 0x01], "vpermpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x16, 0x0a], "vpermps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x16, 0x4a, 0x01], "vpermps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x16, 0x0a], "vpermps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x16, 0x0a], "vpermps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x16, 0x4a, 0x01], "vpermps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x16, 0x4a, 0x01], "vpermps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x16, 0xca], "vpermps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x16, 0x0a], "vpermps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x16, 0x4a, 0x01], "vpermps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x16, 0xca], "vpermps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x16, 0xca], "vpermps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x16, 0x0a], "vpermps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x16, 0x0a], "vpermps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x16, 0x4a, 0x01], "vpermps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x16, 0x4a, 0x01], "vpermps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x18, 0xca], "vbroadcastss ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x18, 0x0a], "vbroadcastss ymm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x18, 0x4a, 0x01], "vbroadcastss ymm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x18, 0xca], "vbroadcastss ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x18, 0xca], "vbroadcastss ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x18, 0x0a], "vbroadcastss ymm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x18, 0x0a], "vbroadcastss ymm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x18, 0x4a, 0x01], "vbroadcastss ymm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x18, 0x4a, 0x01], "vbroadcastss ymm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x18, 0xca], "vbroadcastss zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x18, 0x0a], "vbroadcastss zmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x18, 0x4a, 0x01], "vbroadcastss zmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x18, 0xca], "vbroadcastss zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x18, 0xca], "vbroadcastss zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x18, 0x0a], "vbroadcastss zmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x18, 0x0a], "vbroadcastss zmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x18, 0x4a, 0x01], "vbroadcastss zmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x18, 0x4a, 0x01], "vbroadcastss zmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x18, 0xca], "vbroadcastss xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x18, 0x0a], "vbroadcastss xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x18, 0x4a, 0x01], "vbroadcastss xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x18, 0xca], "vbroadcastss xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x18, 0xca], "vbroadcastss xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x18, 0x0a], "vbroadcastss xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x18, 0x0a], "vbroadcastss xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x18, 0x4a, 0x01], "vbroadcastss xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x18, 0x4a, 0x01], "vbroadcastss xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x19, 0xca], "vbroadcastsd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x19, 0x0a], "vbroadcastsd ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x19, 0x4a, 0x01], "vbroadcastsd ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x19, 0xca], "vbroadcastsd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x19, 0xca], "vbroadcastsd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x19, 0x0a], "vbroadcastsd ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x19, 0x0a], "vbroadcastsd ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x19, 0x4a, 0x01], "vbroadcastsd ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x19, 0x4a, 0x01], "vbroadcastsd ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x19, 0xca], "vbroadcastf32x2 ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x19, 0x0a], "vbroadcastf32x2 ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x19, 0x4a, 0x01], "vbroadcastf32x2 ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x19, 0xca], "vbroadcastf32x2 ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x19, 0xca], "vbroadcastf32x2 ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x19, 0x0a], "vbroadcastf32x2 ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x19, 0x0a], "vbroadcastf32x2 ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x19, 0x4a, 0x01], "vbroadcastf32x2 ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x19, 0x4a, 0x01], "vbroadcastf32x2 ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x19, 0xca], "vbroadcastsd zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x19, 0x0a], "vbroadcastsd zmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x19, 0x4a, 0x01], "vbroadcastsd zmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x19, 0xca], "vbroadcastsd zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x19, 0xca], "vbroadcastsd zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x19, 0x0a], "vbroadcastsd zmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x19, 0x0a], "vbroadcastsd zmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x19, 0x4a, 0x01], "vbroadcastsd zmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x19, 0x4a, 0x01], "vbroadcastsd zmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x19, 0xca], "vbroadcastf32x2 zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x19, 0x0a], "vbroadcastf32x2 zmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x19, 0x4a, 0x01], "vbroadcastf32x2 zmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x19, 0xca], "vbroadcastf32x2 zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x19, 0xca], "vbroadcastf32x2 zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x19, 0x0a], "vbroadcastf32x2 zmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x19, 0x0a], "vbroadcastf32x2 zmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x19, 0x4a, 0x01], "vbroadcastf32x2 zmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x19, 0x4a, 0x01], "vbroadcastf32x2 zmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1a, 0x0a], "vbroadcastf64x2 ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1a, 0x4a, 0x01], "vbroadcastf64x2 ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1a, 0x0a], "vbroadcastf64x2 ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1a, 0x0a], "vbroadcastf64x2 ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1a, 0x4a, 0x01], "vbroadcastf64x2 ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1a, 0x4a, 0x01], "vbroadcastf64x2 ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x1a, 0x0a], "vbroadcastf32x4 ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x1a, 0x4a, 0x01], "vbroadcastf32x4 ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x1a, 0x0a], "vbroadcastf32x4 ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x1a, 0x0a], "vbroadcastf32x4 ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x1a, 0x4a, 0x01], "vbroadcastf32x4 ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x1a, 0x4a, 0x01], "vbroadcastf32x4 ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1a, 0x0a], "vbroadcastf64x2 zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1a, 0x4a, 0x01], "vbroadcastf64x2 zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1a, 0x0a], "vbroadcastf64x2 zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1a, 0x0a], "vbroadcastf64x2 zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1a, 0x4a, 0x01], "vbroadcastf64x2 zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1a, 0x4a, 0x01], "vbroadcastf64x2 zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1a, 0x0a], "vbroadcastf32x4 zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1a, 0x4a, 0x01], "vbroadcastf32x4 zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1a, 0x0a], "vbroadcastf32x4 zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1a, 0x0a], "vbroadcastf32x4 zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1a, 0x4a, 0x01], "vbroadcastf32x4 zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1a, 0x4a, 0x01], "vbroadcastf32x4 zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1b, 0x0a], "vbroadcastf64x4 zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1b, 0x4a, 0x01], "vbroadcastf64x4 zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1b, 0x0a], "vbroadcastf64x4 zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1b, 0x0a], "vbroadcastf64x4 zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1b, 0x4a, 0x01], "vbroadcastf64x4 zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1b, 0x4a, 0x01], "vbroadcastf64x4 zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1b, 0x0a], "vbroadcastf32x8 zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1b, 0x4a, 0x01], "vbroadcastf32x8 zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1b, 0x0a], "vbroadcastf32x8 zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1b, 0x0a], "vbroadcastf32x8 zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1b, 0x4a, 0x01], "vbroadcastf32x8 zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1b, 0x4a, 0x01], "vbroadcastf32x8 zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1c, 0xca], "vpabsb ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1c, 0x0a], "vpabsb ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1c, 0x4a, 0x01], "vpabsb ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1c, 0xca], "vpabsb ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1c, 0xca], "vpabsb ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1c, 0x0a], "vpabsb ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1c, 0x0a], "vpabsb ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1c, 0x4a, 0x01], "vpabsb ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1c, 0x4a, 0x01], "vpabsb ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1c, 0xca], "vpabsb zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1c, 0x0a], "vpabsb zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1c, 0x4a, 0x01], "vpabsb zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1c, 0xca], "vpabsb zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1c, 0xca], "vpabsb zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1c, 0x0a], "vpabsb zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1c, 0x0a], "vpabsb zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1c, 0x4a, 0x01], "vpabsb zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1c, 0x4a, 0x01], "vpabsb zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1c, 0xca], "vpabsb xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1c, 0x0a], "vpabsb xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1c, 0x4a, 0x01], "vpabsb xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1c, 0xca], "vpabsb xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1c, 0xca], "vpabsb xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1c, 0x0a], "vpabsb xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1c, 0x0a], "vpabsb xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1c, 0x4a, 0x01], "vpabsb xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1c, 0x4a, 0x01], "vpabsb xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1d, 0xca], "vpabsw ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1d, 0x0a], "vpabsw ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1d, 0x4a, 0x01], "vpabsw ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1d, 0xca], "vpabsw ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1d, 0xca], "vpabsw ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1d, 0x0a], "vpabsw ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1d, 0x0a], "vpabsw ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1d, 0x4a, 0x01], "vpabsw ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1d, 0x4a, 0x01], "vpabsw ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1d, 0xca], "vpabsw zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1d, 0x0a], "vpabsw zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1d, 0x4a, 0x01], "vpabsw zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1d, 0xca], "vpabsw zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1d, 0xca], "vpabsw zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1d, 0x0a], "vpabsw zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1d, 0x0a], "vpabsw zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1d, 0x4a, 0x01], "vpabsw zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1d, 0x4a, 0x01], "vpabsw zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1d, 0xca], "vpabsw xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1d, 0x0a], "vpabsw xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1d, 0x4a, 0x01], "vpabsw xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1d, 0xca], "vpabsw xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1d, 0xca], "vpabsw xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1d, 0x0a], "vpabsw xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1d, 0x0a], "vpabsw xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1d, 0x4a, 0x01], "vpabsw xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1d, 0x4a, 0x01], "vpabsw xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x1e, 0x0a], "vpabsd ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x1e, 0x4a, 0x01], "vpabsd ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x1e, 0x0a], "vpabsd ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x1e, 0x0a], "vpabsd ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x1e, 0x4a, 0x01], "vpabsd ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x1e, 0x4a, 0x01], "vpabsd ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x1e, 0xca], "vpabsd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x1e, 0x0a], "vpabsd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x1e, 0x4a, 0x01], "vpabsd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x1e, 0xca], "vpabsd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x1e, 0xca], "vpabsd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x1e, 0x0a], "vpabsd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x1e, 0x0a], "vpabsd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x1e, 0x4a, 0x01], "vpabsd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x1e, 0x4a, 0x01], "vpabsd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x1e, 0x0a], "vpabsd zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x1e, 0x4a, 0x01], "vpabsd zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x1e, 0x0a], "vpabsd zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x1e, 0x0a], "vpabsd zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x1e, 0x4a, 0x01], "vpabsd zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x1e, 0x4a, 0x01], "vpabsd zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x1e, 0x0a], "vpabsd xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x1e, 0x4a, 0x01], "vpabsd xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x1e, 0x0a], "vpabsd xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x1e, 0x0a], "vpabsd xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x1e, 0x4a, 0x01], "vpabsd xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x1e, 0x4a, 0x01], "vpabsd xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1e, 0xca], "vpabsd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1e, 0x0a], "vpabsd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x1e, 0x4a, 0x01], "vpabsd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1e, 0xca], "vpabsd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1e, 0xca], "vpabsd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1e, 0x0a], "vpabsd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1e, 0x0a], "vpabsd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x1e, 0x4a, 0x01], "vpabsd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x1e, 0x4a, 0x01], "vpabsd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x1e, 0xca], "vpabsd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x1e, 0x0a], "vpabsd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x1e, 0x4a, 0x01], "vpabsd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x1e, 0xca], "vpabsd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x1e, 0xca], "vpabsd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x1e, 0x0a], "vpabsd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x1e, 0x0a], "vpabsd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x1e, 0x4a, 0x01], "vpabsd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x1e, 0x4a, 0x01], "vpabsd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x1f, 0x0a], "vpabsq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x1f, 0x4a, 0x01], "vpabsq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x1f, 0x0a], "vpabsq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x1f, 0x0a], "vpabsq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x1f, 0x4a, 0x01], "vpabsq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x1f, 0x4a, 0x01], "vpabsq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1f, 0xca], "vpabsq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1f, 0x0a], "vpabsq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x1f, 0x4a, 0x01], "vpabsq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1f, 0xca], "vpabsq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1f, 0xca], "vpabsq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1f, 0x0a], "vpabsq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1f, 0x0a], "vpabsq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x1f, 0x4a, 0x01], "vpabsq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x1f, 0x4a, 0x01], "vpabsq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x1f, 0x0a], "vpabsq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x1f, 0x4a, 0x01], "vpabsq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x1f, 0x0a], "vpabsq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x1f, 0x0a], "vpabsq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x1f, 0x4a, 0x01], "vpabsq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x1f, 0x4a, 0x01], "vpabsq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x1f, 0x0a], "vpabsq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x1f, 0x4a, 0x01], "vpabsq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x1f, 0x0a], "vpabsq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x1f, 0x0a], "vpabsq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x1f, 0x4a, 0x01], "vpabsq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x1f, 0x4a, 0x01], "vpabsq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1f, 0xca], "vpabsq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1f, 0x0a], "vpabsq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x1f, 0x4a, 0x01], "vpabsq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1f, 0xca], "vpabsq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1f, 0xca], "vpabsq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1f, 0x0a], "vpabsq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1f, 0x0a], "vpabsq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x1f, 0x4a, 0x01], "vpabsq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x1f, 0x4a, 0x01], "vpabsq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1f, 0xca], "vpabsq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1f, 0x0a], "vpabsq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x1f, 0x4a, 0x01], "vpabsq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1f, 0xca], "vpabsq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1f, 0xca], "vpabsq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1f, 0x0a], "vpabsq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1f, 0x0a], "vpabsq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x1f, 0x4a, 0x01], "vpabsq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x1f, 0x4a, 0x01], "vpabsq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x20, 0xca], "vpmovsxbw ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x20, 0x0a], "vpmovsxbw ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x20, 0x4a, 0x01], "vpmovsxbw ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x20, 0xca], "vpmovsxbw ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x20, 0xca], "vpmovsxbw ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x20, 0x0a], "vpmovsxbw ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x20, 0x0a], "vpmovsxbw ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x20, 0x4a, 0x01], "vpmovsxbw ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x20, 0x4a, 0x01], "vpmovsxbw ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x20, 0xca], "vpmovsxbw zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x20, 0x0a], "vpmovsxbw zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x20, 0x4a, 0x01], "vpmovsxbw zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x20, 0xca], "vpmovsxbw zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x20, 0xca], "vpmovsxbw zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x20, 0x0a], "vpmovsxbw zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x20, 0x0a], "vpmovsxbw zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x20, 0x4a, 0x01], "vpmovsxbw zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x20, 0x4a, 0x01], "vpmovsxbw zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x20, 0xca], "vpmovsxbw xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x20, 0x0a], "vpmovsxbw xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x20, 0x4a, 0x01], "vpmovsxbw xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x20, 0xca], "vpmovsxbw xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x20, 0xca], "vpmovsxbw xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x20, 0x0a], "vpmovsxbw xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x20, 0x0a], "vpmovsxbw xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x20, 0x4a, 0x01], "vpmovsxbw xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x20, 0x4a, 0x01], "vpmovsxbw xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x21, 0xca], "vpmovsxbd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x21, 0x0a], "vpmovsxbd ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x21, 0x4a, 0x01], "vpmovsxbd ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x21, 0xca], "vpmovsxbd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x21, 0xca], "vpmovsxbd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x21, 0x0a], "vpmovsxbd ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x21, 0x0a], "vpmovsxbd ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x21, 0x4a, 0x01], "vpmovsxbd ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x21, 0x4a, 0x01], "vpmovsxbd ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x21, 0xca], "vpmovsxbd zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x21, 0x0a], "vpmovsxbd zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x21, 0x4a, 0x01], "vpmovsxbd zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x21, 0xca], "vpmovsxbd zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x21, 0xca], "vpmovsxbd zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x21, 0x0a], "vpmovsxbd zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x21, 0x0a], "vpmovsxbd zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x21, 0x4a, 0x01], "vpmovsxbd zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x21, 0x4a, 0x01], "vpmovsxbd zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x21, 0xca], "vpmovsxbd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x21, 0x0a], "vpmovsxbd xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x21, 0x4a, 0x01], "vpmovsxbd xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x21, 0xca], "vpmovsxbd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x21, 0xca], "vpmovsxbd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x21, 0x0a], "vpmovsxbd xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x21, 0x0a], "vpmovsxbd xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x21, 0x4a, 0x01], "vpmovsxbd xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x21, 0x4a, 0x01], "vpmovsxbd xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x22, 0xca], "vpmovsxbq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x22, 0x0a], "vpmovsxbq ymm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x22, 0x4a, 0x01], "vpmovsxbq ymm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x22, 0xca], "vpmovsxbq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x22, 0xca], "vpmovsxbq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x22, 0x0a], "vpmovsxbq ymm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x22, 0x0a], "vpmovsxbq ymm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x22, 0x4a, 0x01], "vpmovsxbq ymm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x22, 0x4a, 0x01], "vpmovsxbq ymm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x22, 0xca], "vpmovsxbq zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x22, 0x0a], "vpmovsxbq zmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x22, 0x4a, 0x01], "vpmovsxbq zmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x22, 0xca], "vpmovsxbq zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x22, 0xca], "vpmovsxbq zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x22, 0x0a], "vpmovsxbq zmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x22, 0x0a], "vpmovsxbq zmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x22, 0x4a, 0x01], "vpmovsxbq zmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x22, 0x4a, 0x01], "vpmovsxbq zmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x22, 0xca], "vpmovsxbq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x22, 0x0a], "vpmovsxbq xmm1{k5}{z}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x22, 0x4a, 0x01], "vpmovsxbq xmm1{k5}{z}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x22, 0xca], "vpmovsxbq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x22, 0xca], "vpmovsxbq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x22, 0x0a], "vpmovsxbq xmm1, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x22, 0x0a], "vpmovsxbq xmm1{k5}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x22, 0x4a, 0x01], "vpmovsxbq xmm1, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x22, 0x4a, 0x01], "vpmovsxbq xmm1{k5}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x23, 0xca], "vpmovsxwd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x23, 0x0a], "vpmovsxwd ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x23, 0x4a, 0x01], "vpmovsxwd ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x23, 0xca], "vpmovsxwd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x23, 0xca], "vpmovsxwd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x23, 0x0a], "vpmovsxwd ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x23, 0x0a], "vpmovsxwd ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x23, 0x4a, 0x01], "vpmovsxwd ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x23, 0x4a, 0x01], "vpmovsxwd ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x23, 0xca], "vpmovsxwd zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x23, 0x0a], "vpmovsxwd zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x23, 0x4a, 0x01], "vpmovsxwd zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x23, 0xca], "vpmovsxwd zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x23, 0xca], "vpmovsxwd zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x23, 0x0a], "vpmovsxwd zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x23, 0x0a], "vpmovsxwd zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x23, 0x4a, 0x01], "vpmovsxwd zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x23, 0x4a, 0x01], "vpmovsxwd zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x23, 0xca], "vpmovsxwd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x23, 0x0a], "vpmovsxwd xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x23, 0x4a, 0x01], "vpmovsxwd xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x23, 0xca], "vpmovsxwd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x23, 0xca], "vpmovsxwd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x23, 0x0a], "vpmovsxwd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x23, 0x0a], "vpmovsxwd xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x23, 0x4a, 0x01], "vpmovsxwd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x23, 0x4a, 0x01], "vpmovsxwd xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x24, 0xca], "vpmovsxwq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x24, 0x0a], "vpmovsxwq ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x24, 0x4a, 0x01], "vpmovsxwq ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x24, 0xca], "vpmovsxwq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x24, 0xca], "vpmovsxwq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x24, 0x0a], "vpmovsxwq ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x24, 0x0a], "vpmovsxwq ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x24, 0x4a, 0x01], "vpmovsxwq ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x24, 0x4a, 0x01], "vpmovsxwq ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x24, 0xca], "vpmovsxwq zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x24, 0x0a], "vpmovsxwq zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x24, 0x4a, 0x01], "vpmovsxwq zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x24, 0xca], "vpmovsxwq zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x24, 0xca], "vpmovsxwq zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x24, 0x0a], "vpmovsxwq zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x24, 0x0a], "vpmovsxwq zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x24, 0x4a, 0x01], "vpmovsxwq zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x24, 0x4a, 0x01], "vpmovsxwq zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x24, 0xca], "vpmovsxwq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x24, 0x0a], "vpmovsxwq xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x24, 0x4a, 0x01], "vpmovsxwq xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x24, 0xca], "vpmovsxwq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x24, 0xca], "vpmovsxwq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x24, 0x0a], "vpmovsxwq xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x24, 0x0a], "vpmovsxwq xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x24, 0x4a, 0x01], "vpmovsxwq xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x24, 0x4a, 0x01], "vpmovsxwq xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x25, 0xca], "vpmovsxdq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x25, 0x0a], "vpmovsxdq ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x25, 0x4a, 0x01], "vpmovsxdq ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x25, 0xca], "vpmovsxdq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x25, 0xca], "vpmovsxdq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x25, 0x0a], "vpmovsxdq ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x25, 0x0a], "vpmovsxdq ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x25, 0x4a, 0x01], "vpmovsxdq ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x25, 0x4a, 0x01], "vpmovsxdq ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x25, 0xca], "vpmovsxdq zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x25, 0x0a], "vpmovsxdq zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x25, 0x4a, 0x01], "vpmovsxdq zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x25, 0xca], "vpmovsxdq zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x25, 0xca], "vpmovsxdq zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x25, 0x0a], "vpmovsxdq zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x25, 0x0a], "vpmovsxdq zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x25, 0x4a, 0x01], "vpmovsxdq zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x25, 0x4a, 0x01], "vpmovsxdq zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x25, 0xca], "vpmovsxdq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x25, 0x0a], "vpmovsxdq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x25, 0x4a, 0x01], "vpmovsxdq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x25, 0xca], "vpmovsxdq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x25, 0xca], "vpmovsxdq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x25, 0x0a], "vpmovsxdq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x25, 0x0a], "vpmovsxdq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x25, 0x4a, 0x01], "vpmovsxdq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x25, 0x4a, 0x01], "vpmovsxdq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x26, 0xca], "vptestmw k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x26, 0xca], "vptestmw k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x26, 0x0a], "vptestmw k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x26, 0x0a], "vptestmw k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x26, 0x4a, 0x01], "vptestmw k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x26, 0x4a, 0x01], "vptestmw k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x26, 0xca], "vptestmb k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x26, 0xca], "vptestmb k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x26, 0x0a], "vptestmb k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x26, 0x0a], "vptestmb k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x26, 0x4a, 0x01], "vptestmb k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x26, 0x4a, 0x01], "vptestmb k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x26, 0xca], "vptestmw k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x26, 0xca], "vptestmw k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x26, 0x0a], "vptestmw k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x26, 0x0a], "vptestmw k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x26, 0x4a, 0x01], "vptestmw k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x26, 0x4a, 0x01], "vptestmw k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x26, 0xca], "vptestmw k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x26, 0xca], "vptestmw k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x26, 0x0a], "vptestmw k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x26, 0x0a], "vptestmw k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x26, 0x4a, 0x01], "vptestmw k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x26, 0x4a, 0x01], "vptestmw k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x26, 0xca], "vptestmb k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x26, 0xca], "vptestmb k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x26, 0x0a], "vptestmb k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x26, 0x0a], "vptestmb k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x26, 0x4a, 0x01], "vptestmb k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x26, 0x4a, 0x01], "vptestmb k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x26, 0xca], "vptestmb k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x26, 0xca], "vptestmb k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x26, 0x0a], "vptestmb k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x26, 0x0a], "vptestmb k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x26, 0x4a, 0x01], "vptestmb k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x26, 0x4a, 0x01], "vptestmb k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x27, 0x0a], "vptestmq k1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x27, 0x0a], "vptestmq k1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x27, 0x4a, 0x01], "vptestmq k1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x27, 0x4a, 0x01], "vptestmq k1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x27, 0xca], "vptestmq k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x27, 0xca], "vptestmq k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x27, 0x0a], "vptestmq k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x27, 0x0a], "vptestmq k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x27, 0x4a, 0x01], "vptestmq k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x27, 0x4a, 0x01], "vptestmq k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x27, 0x0a], "vptestmd k1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x27, 0x0a], "vptestmd k1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x27, 0x4a, 0x01], "vptestmd k1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x27, 0x4a, 0x01], "vptestmd k1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x27, 0xca], "vptestmd k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x27, 0xca], "vptestmd k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x27, 0x0a], "vptestmd k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x27, 0x0a], "vptestmd k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x27, 0x4a, 0x01], "vptestmd k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x27, 0x4a, 0x01], "vptestmd k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x27, 0x0a], "vptestmq k1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x27, 0x0a], "vptestmq k1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x27, 0x4a, 0x01], "vptestmq k1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x27, 0x4a, 0x01], "vptestmq k1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x27, 0x0a], "vptestmq k1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x27, 0x0a], "vptestmq k1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x27, 0x4a, 0x01], "vptestmq k1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x27, 0x4a, 0x01], "vptestmq k1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x27, 0xca], "vptestmq k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x27, 0xca], "vptestmq k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x27, 0x0a], "vptestmq k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x27, 0x0a], "vptestmq k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x27, 0x4a, 0x01], "vptestmq k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x27, 0x4a, 0x01], "vptestmq k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x27, 0xca], "vptestmq k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x27, 0xca], "vptestmq k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x27, 0x0a], "vptestmq k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x27, 0x0a], "vptestmq k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x27, 0x4a, 0x01], "vptestmq k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x27, 0x4a, 0x01], "vptestmq k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x27, 0x0a], "vptestmd k1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x27, 0x0a], "vptestmd k1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x27, 0x4a, 0x01], "vptestmd k1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x27, 0x4a, 0x01], "vptestmd k1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x27, 0x0a], "vptestmd k1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x27, 0x0a], "vptestmd k1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x27, 0x4a, 0x01], "vptestmd k1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x27, 0x4a, 0x01], "vptestmd k1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x27, 0xca], "vptestmd k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x27, 0xca], "vptestmd k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x27, 0x0a], "vptestmd k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x27, 0x0a], "vptestmd k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x27, 0x4a, 0x01], "vptestmd k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x27, 0x4a, 0x01], "vptestmd k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x27, 0xca], "vptestmd k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x27, 0xca], "vptestmd k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x27, 0x0a], "vptestmd k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x27, 0x0a], "vptestmd k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x27, 0x4a, 0x01], "vptestmd k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x27, 0x4a, 0x01], "vptestmd k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x28, 0x0a], "vpmuldq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x28, 0x4a, 0x01], "vpmuldq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x28, 0x0a], "vpmuldq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x28, 0x0a], "vpmuldq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x28, 0x4a, 0x01], "vpmuldq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x28, 0x4a, 0x01], "vpmuldq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x28, 0xca], "vpmuldq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x28, 0x0a], "vpmuldq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x28, 0x4a, 0x01], "vpmuldq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x28, 0xca], "vpmuldq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x28, 0xca], "vpmuldq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x28, 0x0a], "vpmuldq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x28, 0x0a], "vpmuldq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x28, 0x4a, 0x01], "vpmuldq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x28, 0x4a, 0x01], "vpmuldq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x28, 0x0a], "vpmuldq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x28, 0x4a, 0x01], "vpmuldq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x28, 0x0a], "vpmuldq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x28, 0x0a], "vpmuldq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x28, 0x4a, 0x01], "vpmuldq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x28, 0x4a, 0x01], "vpmuldq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x28, 0x0a], "vpmuldq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x28, 0x4a, 0x01], "vpmuldq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x28, 0x0a], "vpmuldq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x28, 0x0a], "vpmuldq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x28, 0x4a, 0x01], "vpmuldq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x28, 0x4a, 0x01], "vpmuldq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x28, 0xca], "vpmuldq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x28, 0x0a], "vpmuldq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x28, 0x4a, 0x01], "vpmuldq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x28, 0xca], "vpmuldq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x28, 0xca], "vpmuldq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x28, 0x0a], "vpmuldq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x28, 0x0a], "vpmuldq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x28, 0x4a, 0x01], "vpmuldq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x28, 0x4a, 0x01], "vpmuldq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x28, 0xca], "vpmuldq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x28, 0x0a], "vpmuldq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x28, 0x4a, 0x01], "vpmuldq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x28, 0xca], "vpmuldq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x28, 0xca], "vpmuldq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x28, 0x0a], "vpmuldq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x28, 0x0a], "vpmuldq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x28, 0x4a, 0x01], "vpmuldq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x28, 0x4a, 0x01], "vpmuldq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x29, 0x0a], "vpcmpeqq k1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x29, 0x0a], "vpcmpeqq k1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x29, 0x4a, 0x01], "vpcmpeqq k1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x29, 0x4a, 0x01], "vpcmpeqq k1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x29, 0xca], "vpcmpeqq k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x29, 0xca], "vpcmpeqq k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x29, 0x0a], "vpcmpeqq k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x29, 0x0a], "vpcmpeqq k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x29, 0x4a, 0x01], "vpcmpeqq k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x29, 0x4a, 0x01], "vpcmpeqq k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x29, 0x0a], "vpcmpeqq k1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x29, 0x0a], "vpcmpeqq k1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x29, 0x4a, 0x01], "vpcmpeqq k1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x29, 0x4a, 0x01], "vpcmpeqq k1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x29, 0x0a], "vpcmpeqq k1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x29, 0x0a], "vpcmpeqq k1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x29, 0x4a, 0x01], "vpcmpeqq k1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x29, 0x4a, 0x01], "vpcmpeqq k1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x29, 0xca], "vpcmpeqq k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x29, 0xca], "vpcmpeqq k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x29, 0x0a], "vpcmpeqq k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x29, 0x0a], "vpcmpeqq k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x29, 0x4a, 0x01], "vpcmpeqq k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x29, 0x4a, 0x01], "vpcmpeqq k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x29, 0xca], "vpcmpeqq k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x29, 0xca], "vpcmpeqq k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x29, 0x0a], "vpcmpeqq k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x29, 0x0a], "vpcmpeqq k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x29, 0x4a, 0x01], "vpcmpeqq k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x29, 0x4a, 0x01], "vpcmpeqq k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2a, 0x0a], "vmovntdqa ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2a, 0x4a, 0x01], "vmovntdqa ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2a, 0x0a], "vmovntdqa zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2a, 0x4a, 0x01], "vmovntdqa zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2a, 0x0a], "vmovntdqa xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2a, 0x4a, 0x01], "vmovntdqa xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x2b, 0x0a], "vpackusdw ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x2b, 0x4a, 0x01], "vpackusdw ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x2b, 0x0a], "vpackusdw ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x2b, 0x0a], "vpackusdw ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x2b, 0x4a, 0x01], "vpackusdw ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x2b, 0x4a, 0x01], "vpackusdw ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2b, 0xca], "vpackusdw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2b, 0x0a], "vpackusdw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2b, 0x4a, 0x01], "vpackusdw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2b, 0xca], "vpackusdw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2b, 0xca], "vpackusdw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2b, 0x0a], "vpackusdw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2b, 0x0a], "vpackusdw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2b, 0x4a, 0x01], "vpackusdw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2b, 0x4a, 0x01], "vpackusdw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x2b, 0x0a], "vpackusdw zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x2b, 0x4a, 0x01], "vpackusdw zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x2b, 0x0a], "vpackusdw zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x2b, 0x0a], "vpackusdw zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x2b, 0x4a, 0x01], "vpackusdw zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x2b, 0x4a, 0x01], "vpackusdw zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x2b, 0x0a], "vpackusdw xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x2b, 0x4a, 0x01], "vpackusdw xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x2b, 0x0a], "vpackusdw xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x2b, 0x0a], "vpackusdw xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x2b, 0x4a, 0x01], "vpackusdw xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x2b, 0x4a, 0x01], "vpackusdw xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x2b, 0xca], "vpackusdw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x2b, 0x0a], "vpackusdw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x2b, 0x4a, 0x01], "vpackusdw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2b, 0xca], "vpackusdw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x2b, 0xca], "vpackusdw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2b, 0x0a], "vpackusdw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x2b, 0x0a], "vpackusdw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2b, 0x4a, 0x01], "vpackusdw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x2b, 0x4a, 0x01], "vpackusdw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x2b, 0xca], "vpackusdw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x2b, 0x0a], "vpackusdw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x2b, 0x4a, 0x01], "vpackusdw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2b, 0xca], "vpackusdw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x2b, 0xca], "vpackusdw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2b, 0x0a], "vpackusdw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x2b, 0x0a], "vpackusdw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2b, 0x4a, 0x01], "vpackusdw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x2b, 0x4a, 0x01], "vpackusdw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x2c, 0xca], "vscalefpd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x2c, 0xca], "vscalefpd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x2c, 0xca], "vscalefpd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x2c, 0xca], "vscalefpd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x2c, 0x0a], "vscalefpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x2c, 0x4a, 0x01], "vscalefpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x2c, 0xca], "vscalefpd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x2c, 0xca], "vscalefpd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x2c, 0x0a], "vscalefpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x2c, 0x0a], "vscalefpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x2c, 0x4a, 0x01], "vscalefpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x2c, 0x4a, 0x01], "vscalefpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x2c, 0xca], "vscalefpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x2c, 0x0a], "vscalefpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x2c, 0x4a, 0x01], "vscalefpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x2c, 0xca], "vscalefpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x2c, 0xca], "vscalefpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x2c, 0x0a], "vscalefpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x2c, 0x0a], "vscalefpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x2c, 0x4a, 0x01], "vscalefpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x2c, 0x4a, 0x01], "vscalefpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x2c, 0xca], "vscalefps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x2c, 0xca], "vscalefps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x2c, 0xca], "vscalefps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x2c, 0xca], "vscalefps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x2c, 0x0a], "vscalefps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x2c, 0x4a, 0x01], "vscalefps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x2c, 0xca], "vscalefps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x2c, 0xca], "vscalefps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x2c, 0x0a], "vscalefps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x2c, 0x0a], "vscalefps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x2c, 0x4a, 0x01], "vscalefps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x2c, 0x4a, 0x01], "vscalefps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2c, 0xca], "vscalefps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2c, 0x0a], "vscalefps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2c, 0x4a, 0x01], "vscalefps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2c, 0xca], "vscalefps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2c, 0xca], "vscalefps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2c, 0x0a], "vscalefps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2c, 0x0a], "vscalefps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2c, 0x4a, 0x01], "vscalefps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2c, 0x4a, 0x01], "vscalefps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x2c, 0xca], "vscalefpd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x2c, 0x0a], "vscalefpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x2c, 0x4a, 0x01], "vscalefpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x2c, 0xca], "vscalefpd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x2c, 0xca], "vscalefpd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x2c, 0x0a], "vscalefpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x2c, 0x0a], "vscalefpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x2c, 0x4a, 0x01], "vscalefpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x2c, 0x4a, 0x01], "vscalefpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x2c, 0xca], "vscalefpd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x2c, 0x0a], "vscalefpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x2c, 0x4a, 0x01], "vscalefpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x2c, 0xca], "vscalefpd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x2c, 0xca], "vscalefpd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x2c, 0x0a], "vscalefpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x2c, 0x0a], "vscalefpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x2c, 0x4a, 0x01], "vscalefpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x2c, 0x4a, 0x01], "vscalefpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x2c, 0xca], "vscalefpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x2c, 0x0a], "vscalefpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x2c, 0x4a, 0x01], "vscalefpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x2c, 0xca], "vscalefpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x2c, 0xca], "vscalefpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x2c, 0x0a], "vscalefpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x2c, 0x0a], "vscalefpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x2c, 0x4a, 0x01], "vscalefpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x2c, 0x4a, 0x01], "vscalefpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x2c, 0xca], "vscalefpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x2c, 0x0a], "vscalefpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x2c, 0x4a, 0x01], "vscalefpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x2c, 0xca], "vscalefpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x2c, 0xca], "vscalefpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x2c, 0x0a], "vscalefpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x2c, 0x0a], "vscalefpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x2c, 0x4a, 0x01], "vscalefpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x2c, 0x4a, 0x01], "vscalefpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x2c, 0xca], "vscalefps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x2c, 0x0a], "vscalefps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x2c, 0x4a, 0x01], "vscalefps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x2c, 0xca], "vscalefps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x2c, 0xca], "vscalefps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x2c, 0x0a], "vscalefps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x2c, 0x0a], "vscalefps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x2c, 0x4a, 0x01], "vscalefps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x2c, 0x4a, 0x01], "vscalefps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x2c, 0xca], "vscalefps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x2c, 0x0a], "vscalefps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x2c, 0x4a, 0x01], "vscalefps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x2c, 0xca], "vscalefps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x2c, 0xca], "vscalefps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x2c, 0x0a], "vscalefps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x2c, 0x0a], "vscalefps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x2c, 0x4a, 0x01], "vscalefps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x2c, 0x4a, 0x01], "vscalefps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x2c, 0xca], "vscalefps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x2c, 0x0a], "vscalefps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x2c, 0x4a, 0x01], "vscalefps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2c, 0xca], "vscalefps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x2c, 0xca], "vscalefps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2c, 0x0a], "vscalefps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x2c, 0x0a], "vscalefps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x2c, 0x4a, 0x01], "vscalefps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x2c, 0x4a, 0x01], "vscalefps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x2c, 0xca], "vscalefps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x2c, 0x0a], "vscalefps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x2c, 0x4a, 0x01], "vscalefps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2c, 0xca], "vscalefps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x2c, 0xca], "vscalefps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2c, 0x0a], "vscalefps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x2c, 0x0a], "vscalefps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x2c, 0x4a, 0x01], "vscalefps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x2c, 0x4a, 0x01], "vscalefps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x2d, 0xca], "vscalefsd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x2d, 0xca], "vscalefsd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x2d, 0xca], "vscalefsd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x2d, 0xca], "vscalefsd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x2d, 0xca], "vscalefsd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x2d, 0xca], "vscalefsd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x2d, 0xca], "vscalefsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x2d, 0x0a], "vscalefsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x2d, 0x4a, 0x01], "vscalefsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x2d, 0xca], "vscalefsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x2d, 0xca], "vscalefsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x2d, 0x0a], "vscalefsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x2d, 0x0a], "vscalefsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x2d, 0x4a, 0x01], "vscalefsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x2d, 0x4a, 0x01], "vscalefsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x2d, 0xca], "vscalefss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x2d, 0xca], "vscalefss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x2d, 0xca], "vscalefss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x2d, 0xca], "vscalefss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x2d, 0xca], "vscalefss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x2d, 0xca], "vscalefss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2d, 0xca], "vscalefss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2d, 0x0a], "vscalefss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x2d, 0x4a, 0x01], "vscalefss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2d, 0xca], "vscalefss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2d, 0xca], "vscalefss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2d, 0x0a], "vscalefss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2d, 0x0a], "vscalefss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x2d, 0x4a, 0x01], "vscalefss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x2d, 0x4a, 0x01], "vscalefss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x2d, 0xca], "vscalefsd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x2d, 0xca], "vscalefsd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x2d, 0xca], "vscalefsd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x2d, 0xca], "vscalefsd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x2d, 0xca], "vscalefsd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x2d, 0xca], "vscalefsd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x2d, 0xca], "vscalefss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x2d, 0xca], "vscalefss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x2d, 0xca], "vscalefss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x2d, 0xca], "vscalefss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x2d, 0xca], "vscalefss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x2d, 0xca], "vscalefss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x30, 0xca], "vpmovzxbw ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x30, 0x0a], "vpmovzxbw ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x30, 0x4a, 0x01], "vpmovzxbw ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x30, 0xca], "vpmovzxbw ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x30, 0xca], "vpmovzxbw ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x30, 0x0a], "vpmovzxbw ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x30, 0x0a], "vpmovzxbw ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x30, 0x4a, 0x01], "vpmovzxbw ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x30, 0x4a, 0x01], "vpmovzxbw ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x30, 0xca], "vpmovzxbw zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x30, 0x0a], "vpmovzxbw zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x30, 0x4a, 0x01], "vpmovzxbw zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x30, 0xca], "vpmovzxbw zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x30, 0xca], "vpmovzxbw zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x30, 0x0a], "vpmovzxbw zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x30, 0x0a], "vpmovzxbw zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x30, 0x4a, 0x01], "vpmovzxbw zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x30, 0x4a, 0x01], "vpmovzxbw zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x30, 0xca], "vpmovzxbw xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x30, 0x0a], "vpmovzxbw xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x30, 0x4a, 0x01], "vpmovzxbw xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x30, 0xca], "vpmovzxbw xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x30, 0xca], "vpmovzxbw xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x30, 0x0a], "vpmovzxbw xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x30, 0x0a], "vpmovzxbw xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x30, 0x4a, 0x01], "vpmovzxbw xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x30, 0x4a, 0x01], "vpmovzxbw xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x31, 0xca], "vpmovzxbd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x31, 0x0a], "vpmovzxbd ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x31, 0x4a, 0x01], "vpmovzxbd ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x31, 0xca], "vpmovzxbd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x31, 0xca], "vpmovzxbd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x31, 0x0a], "vpmovzxbd ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x31, 0x0a], "vpmovzxbd ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x31, 0x4a, 0x01], "vpmovzxbd ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x31, 0x4a, 0x01], "vpmovzxbd ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x31, 0xca], "vpmovzxbd zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x31, 0x0a], "vpmovzxbd zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x31, 0x4a, 0x01], "vpmovzxbd zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x31, 0xca], "vpmovzxbd zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x31, 0xca], "vpmovzxbd zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x31, 0x0a], "vpmovzxbd zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x31, 0x0a], "vpmovzxbd zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x31, 0x4a, 0x01], "vpmovzxbd zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x31, 0x4a, 0x01], "vpmovzxbd zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x31, 0xca], "vpmovzxbd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x31, 0x0a], "vpmovzxbd xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x31, 0x4a, 0x01], "vpmovzxbd xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x31, 0xca], "vpmovzxbd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x31, 0xca], "vpmovzxbd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x31, 0x0a], "vpmovzxbd xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x31, 0x0a], "vpmovzxbd xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x31, 0x4a, 0x01], "vpmovzxbd xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x31, 0x4a, 0x01], "vpmovzxbd xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x32, 0xca], "vpmovzxbq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x32, 0x0a], "vpmovzxbq ymm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x32, 0x4a, 0x01], "vpmovzxbq ymm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x32, 0xca], "vpmovzxbq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x32, 0xca], "vpmovzxbq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x32, 0x0a], "vpmovzxbq ymm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x32, 0x0a], "vpmovzxbq ymm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x32, 0x4a, 0x01], "vpmovzxbq ymm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x32, 0x4a, 0x01], "vpmovzxbq ymm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x32, 0xca], "vpmovzxbq zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x32, 0x0a], "vpmovzxbq zmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x32, 0x4a, 0x01], "vpmovzxbq zmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x32, 0xca], "vpmovzxbq zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x32, 0xca], "vpmovzxbq zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x32, 0x0a], "vpmovzxbq zmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x32, 0x0a], "vpmovzxbq zmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x32, 0x4a, 0x01], "vpmovzxbq zmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x32, 0x4a, 0x01], "vpmovzxbq zmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x32, 0xca], "vpmovzxbq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x32, 0x0a], "vpmovzxbq xmm1{k5}{z}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x32, 0x4a, 0x01], "vpmovzxbq xmm1{k5}{z}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x32, 0xca], "vpmovzxbq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x32, 0xca], "vpmovzxbq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x32, 0x0a], "vpmovzxbq xmm1, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x32, 0x0a], "vpmovzxbq xmm1{k5}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x32, 0x4a, 0x01], "vpmovzxbq xmm1, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x32, 0x4a, 0x01], "vpmovzxbq xmm1{k5}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x33, 0xca], "vpmovzxwd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x33, 0x0a], "vpmovzxwd ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x33, 0x4a, 0x01], "vpmovzxwd ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x33, 0xca], "vpmovzxwd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x33, 0xca], "vpmovzxwd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x33, 0x0a], "vpmovzxwd ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x33, 0x0a], "vpmovzxwd ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x33, 0x4a, 0x01], "vpmovzxwd ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x33, 0x4a, 0x01], "vpmovzxwd ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x33, 0xca], "vpmovzxwd zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x33, 0x0a], "vpmovzxwd zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x33, 0x4a, 0x01], "vpmovzxwd zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x33, 0xca], "vpmovzxwd zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x33, 0xca], "vpmovzxwd zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x33, 0x0a], "vpmovzxwd zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x33, 0x0a], "vpmovzxwd zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x33, 0x4a, 0x01], "vpmovzxwd zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x33, 0x4a, 0x01], "vpmovzxwd zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x33, 0xca], "vpmovzxwd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x33, 0x0a], "vpmovzxwd xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x33, 0x4a, 0x01], "vpmovzxwd xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x33, 0xca], "vpmovzxwd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x33, 0xca], "vpmovzxwd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x33, 0x0a], "vpmovzxwd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x33, 0x0a], "vpmovzxwd xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x33, 0x4a, 0x01], "vpmovzxwd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x33, 0x4a, 0x01], "vpmovzxwd xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x34, 0xca], "vpmovzxwq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x34, 0x0a], "vpmovzxwq ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x34, 0x4a, 0x01], "vpmovzxwq ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x34, 0xca], "vpmovzxwq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x34, 0xca], "vpmovzxwq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x34, 0x0a], "vpmovzxwq ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x34, 0x0a], "vpmovzxwq ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x34, 0x4a, 0x01], "vpmovzxwq ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x34, 0x4a, 0x01], "vpmovzxwq ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x34, 0xca], "vpmovzxwq zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x34, 0x0a], "vpmovzxwq zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x34, 0x4a, 0x01], "vpmovzxwq zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x34, 0xca], "vpmovzxwq zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x34, 0xca], "vpmovzxwq zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x34, 0x0a], "vpmovzxwq zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x34, 0x0a], "vpmovzxwq zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x34, 0x4a, 0x01], "vpmovzxwq zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x34, 0x4a, 0x01], "vpmovzxwq zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x34, 0xca], "vpmovzxwq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x34, 0x0a], "vpmovzxwq xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x34, 0x4a, 0x01], "vpmovzxwq xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x34, 0xca], "vpmovzxwq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x34, 0xca], "vpmovzxwq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x34, 0x0a], "vpmovzxwq xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x34, 0x0a], "vpmovzxwq xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x34, 0x4a, 0x01], "vpmovzxwq xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x34, 0x4a, 0x01], "vpmovzxwq xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x35, 0xca], "vpmovzxdq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x35, 0x0a], "vpmovzxdq ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x35, 0x4a, 0x01], "vpmovzxdq ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x35, 0xca], "vpmovzxdq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x35, 0xca], "vpmovzxdq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x35, 0x0a], "vpmovzxdq ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x35, 0x0a], "vpmovzxdq ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x35, 0x4a, 0x01], "vpmovzxdq ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x35, 0x4a, 0x01], "vpmovzxdq ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x35, 0xca], "vpmovzxdq zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x35, 0x0a], "vpmovzxdq zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x35, 0x4a, 0x01], "vpmovzxdq zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x35, 0xca], "vpmovzxdq zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x35, 0xca], "vpmovzxdq zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x35, 0x0a], "vpmovzxdq zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x35, 0x0a], "vpmovzxdq zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x35, 0x4a, 0x01], "vpmovzxdq zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x35, 0x4a, 0x01], "vpmovzxdq zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x35, 0xca], "vpmovzxdq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x35, 0x0a], "vpmovzxdq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x35, 0x4a, 0x01], "vpmovzxdq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x35, 0xca], "vpmovzxdq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x35, 0xca], "vpmovzxdq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x35, 0x0a], "vpmovzxdq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x35, 0x0a], "vpmovzxdq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x35, 0x4a, 0x01], "vpmovzxdq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x35, 0x4a, 0x01], "vpmovzxdq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x36, 0x0a], "vpermq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x36, 0x4a, 0x01], "vpermq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x36, 0x0a], "vpermq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x36, 0x0a], "vpermq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x36, 0x4a, 0x01], "vpermq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x36, 0x4a, 0x01], "vpermq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x36, 0xca], "vpermq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x36, 0x0a], "vpermq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x36, 0x4a, 0x01], "vpermq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x36, 0xca], "vpermq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x36, 0xca], "vpermq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x36, 0x0a], "vpermq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x36, 0x0a], "vpermq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x36, 0x4a, 0x01], "vpermq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x36, 0x4a, 0x01], "vpermq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x36, 0x0a], "vpermd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x36, 0x4a, 0x01], "vpermd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x36, 0x0a], "vpermd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x36, 0x0a], "vpermd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x36, 0x4a, 0x01], "vpermd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x36, 0x4a, 0x01], "vpermd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x36, 0xca], "vpermd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x36, 0x0a], "vpermd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x36, 0x4a, 0x01], "vpermd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x36, 0xca], "vpermd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x36, 0xca], "vpermd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x36, 0x0a], "vpermd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x36, 0x0a], "vpermd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x36, 0x4a, 0x01], "vpermd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x36, 0x4a, 0x01], "vpermd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x36, 0x0a], "vpermq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x36, 0x4a, 0x01], "vpermq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x36, 0x0a], "vpermq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x36, 0x0a], "vpermq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x36, 0x4a, 0x01], "vpermq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x36, 0x4a, 0x01], "vpermq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x36, 0xca], "vpermq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x36, 0x0a], "vpermq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x36, 0x4a, 0x01], "vpermq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x36, 0xca], "vpermq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x36, 0xca], "vpermq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x36, 0x0a], "vpermq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x36, 0x0a], "vpermq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x36, 0x4a, 0x01], "vpermq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x36, 0x4a, 0x01], "vpermq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x36, 0x0a], "vpermd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x36, 0x4a, 0x01], "vpermd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x36, 0x0a], "vpermd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x36, 0x0a], "vpermd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x36, 0x4a, 0x01], "vpermd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x36, 0x4a, 0x01], "vpermd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x36, 0xca], "vpermd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x36, 0x0a], "vpermd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x36, 0x4a, 0x01], "vpermd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x36, 0xca], "vpermd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x36, 0xca], "vpermd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x36, 0x0a], "vpermd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x36, 0x0a], "vpermd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x36, 0x4a, 0x01], "vpermd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x36, 0x4a, 0x01], "vpermd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x37, 0x0a], "vpcmpgtq k1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x37, 0x0a], "vpcmpgtq k1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x37, 0x4a, 0x01], "vpcmpgtq k1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x37, 0x4a, 0x01], "vpcmpgtq k1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x37, 0xca], "vpcmpgtq k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x37, 0xca], "vpcmpgtq k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x37, 0x0a], "vpcmpgtq k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x37, 0x0a], "vpcmpgtq k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x37, 0x4a, 0x01], "vpcmpgtq k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x37, 0x4a, 0x01], "vpcmpgtq k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x37, 0x0a], "vpcmpgtq k1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x37, 0x0a], "vpcmpgtq k1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x37, 0x4a, 0x01], "vpcmpgtq k1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x37, 0x4a, 0x01], "vpcmpgtq k1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x37, 0x0a], "vpcmpgtq k1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x37, 0x0a], "vpcmpgtq k1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x37, 0x4a, 0x01], "vpcmpgtq k1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x37, 0x4a, 0x01], "vpcmpgtq k1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x37, 0xca], "vpcmpgtq k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x37, 0xca], "vpcmpgtq k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x37, 0x0a], "vpcmpgtq k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x37, 0x0a], "vpcmpgtq k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x37, 0x4a, 0x01], "vpcmpgtq k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x37, 0x4a, 0x01], "vpcmpgtq k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x37, 0xca], "vpcmpgtq k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x37, 0xca], "vpcmpgtq k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x37, 0x0a], "vpcmpgtq k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x37, 0x0a], "vpcmpgtq k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x37, 0x4a, 0x01], "vpcmpgtq k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x37, 0x4a, 0x01], "vpcmpgtq k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x38, 0xca], "vpminsb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x38, 0x0a], "vpminsb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x38, 0x4a, 0x01], "vpminsb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x38, 0xca], "vpminsb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x38, 0xca], "vpminsb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x38, 0x0a], "vpminsb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x38, 0x0a], "vpminsb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x38, 0x4a, 0x01], "vpminsb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x38, 0x4a, 0x01], "vpminsb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x38, 0xca], "vpminsb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x38, 0x0a], "vpminsb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x38, 0x4a, 0x01], "vpminsb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x38, 0xca], "vpminsb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x38, 0xca], "vpminsb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x38, 0x0a], "vpminsb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x38, 0x0a], "vpminsb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x38, 0x4a, 0x01], "vpminsb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x38, 0x4a, 0x01], "vpminsb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x38, 0xca], "vpminsb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x38, 0x0a], "vpminsb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x38, 0x4a, 0x01], "vpminsb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x38, 0xca], "vpminsb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x38, 0xca], "vpminsb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x38, 0x0a], "vpminsb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x38, 0x0a], "vpminsb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x38, 0x4a, 0x01], "vpminsb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x38, 0x4a, 0x01], "vpminsb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x39, 0x0a], "vpminsq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x39, 0x4a, 0x01], "vpminsq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x39, 0x0a], "vpminsq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x39, 0x0a], "vpminsq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x39, 0x4a, 0x01], "vpminsq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x39, 0x4a, 0x01], "vpminsq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x39, 0xca], "vpminsq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x39, 0x0a], "vpminsq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x39, 0x4a, 0x01], "vpminsq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x39, 0xca], "vpminsq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x39, 0xca], "vpminsq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x39, 0x0a], "vpminsq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x39, 0x0a], "vpminsq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x39, 0x4a, 0x01], "vpminsq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x39, 0x4a, 0x01], "vpminsq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x39, 0x0a], "vpminsd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x39, 0x4a, 0x01], "vpminsd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x39, 0x0a], "vpminsd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x39, 0x0a], "vpminsd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x39, 0x4a, 0x01], "vpminsd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x39, 0x4a, 0x01], "vpminsd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x39, 0xca], "vpminsd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x39, 0x0a], "vpminsd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x39, 0x4a, 0x01], "vpminsd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x39, 0xca], "vpminsd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x39, 0xca], "vpminsd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x39, 0x0a], "vpminsd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x39, 0x0a], "vpminsd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x39, 0x4a, 0x01], "vpminsd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x39, 0x4a, 0x01], "vpminsd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x39, 0x0a], "vpminsq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x39, 0x4a, 0x01], "vpminsq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x39, 0x0a], "vpminsq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x39, 0x0a], "vpminsq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x39, 0x4a, 0x01], "vpminsq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x39, 0x4a, 0x01], "vpminsq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x39, 0x0a], "vpminsq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x39, 0x4a, 0x01], "vpminsq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x39, 0x0a], "vpminsq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x39, 0x0a], "vpminsq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x39, 0x4a, 0x01], "vpminsq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x39, 0x4a, 0x01], "vpminsq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x39, 0xca], "vpminsq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x39, 0x0a], "vpminsq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x39, 0x4a, 0x01], "vpminsq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x39, 0xca], "vpminsq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x39, 0xca], "vpminsq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x39, 0x0a], "vpminsq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x39, 0x0a], "vpminsq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x39, 0x4a, 0x01], "vpminsq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x39, 0x4a, 0x01], "vpminsq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x39, 0xca], "vpminsq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x39, 0x0a], "vpminsq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x39, 0x4a, 0x01], "vpminsq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x39, 0xca], "vpminsq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x39, 0xca], "vpminsq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x39, 0x0a], "vpminsq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x39, 0x0a], "vpminsq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x39, 0x4a, 0x01], "vpminsq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x39, 0x4a, 0x01], "vpminsq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x39, 0x0a], "vpminsd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x39, 0x4a, 0x01], "vpminsd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x39, 0x0a], "vpminsd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x39, 0x0a], "vpminsd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x39, 0x4a, 0x01], "vpminsd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x39, 0x4a, 0x01], "vpminsd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x39, 0x0a], "vpminsd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x39, 0x4a, 0x01], "vpminsd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x39, 0x0a], "vpminsd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x39, 0x0a], "vpminsd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x39, 0x4a, 0x01], "vpminsd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x39, 0x4a, 0x01], "vpminsd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x39, 0xca], "vpminsd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x39, 0x0a], "vpminsd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x39, 0x4a, 0x01], "vpminsd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x39, 0xca], "vpminsd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x39, 0xca], "vpminsd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x39, 0x0a], "vpminsd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x39, 0x0a], "vpminsd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x39, 0x4a, 0x01], "vpminsd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x39, 0x4a, 0x01], "vpminsd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x39, 0xca], "vpminsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x39, 0x0a], "vpminsd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x39, 0x4a, 0x01], "vpminsd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x39, 0xca], "vpminsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x39, 0xca], "vpminsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x39, 0x0a], "vpminsd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x39, 0x0a], "vpminsd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x39, 0x4a, 0x01], "vpminsd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x39, 0x4a, 0x01], "vpminsd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3a, 0xca], "vpminuw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3a, 0x0a], "vpminuw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3a, 0x4a, 0x01], "vpminuw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3a, 0xca], "vpminuw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3a, 0xca], "vpminuw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3a, 0x0a], "vpminuw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3a, 0x0a], "vpminuw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3a, 0x4a, 0x01], "vpminuw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3a, 0x4a, 0x01], "vpminuw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3a, 0xca], "vpminuw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3a, 0x0a], "vpminuw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3a, 0x4a, 0x01], "vpminuw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3a, 0xca], "vpminuw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3a, 0xca], "vpminuw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3a, 0x0a], "vpminuw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3a, 0x0a], "vpminuw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3a, 0x4a, 0x01], "vpminuw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3a, 0x4a, 0x01], "vpminuw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3a, 0xca], "vpminuw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3a, 0x0a], "vpminuw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3a, 0x4a, 0x01], "vpminuw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3a, 0xca], "vpminuw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3a, 0xca], "vpminuw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3a, 0x0a], "vpminuw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3a, 0x0a], "vpminuw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3a, 0x4a, 0x01], "vpminuw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3a, 0x4a, 0x01], "vpminuw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x3b, 0x0a], "vpminuq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x3b, 0x4a, 0x01], "vpminuq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x3b, 0x0a], "vpminuq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x3b, 0x0a], "vpminuq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x3b, 0x4a, 0x01], "vpminuq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x3b, 0x4a, 0x01], "vpminuq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3b, 0xca], "vpminuq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3b, 0x0a], "vpminuq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3b, 0x4a, 0x01], "vpminuq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3b, 0xca], "vpminuq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3b, 0xca], "vpminuq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3b, 0x0a], "vpminuq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3b, 0x0a], "vpminuq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3b, 0x4a, 0x01], "vpminuq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3b, 0x4a, 0x01], "vpminuq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x3b, 0x0a], "vpminud ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x3b, 0x4a, 0x01], "vpminud ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x3b, 0x0a], "vpminud ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x3b, 0x0a], "vpminud ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x3b, 0x4a, 0x01], "vpminud ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x3b, 0x4a, 0x01], "vpminud ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3b, 0xca], "vpminud ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3b, 0x0a], "vpminud ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3b, 0x4a, 0x01], "vpminud ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3b, 0xca], "vpminud ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3b, 0xca], "vpminud ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3b, 0x0a], "vpminud ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3b, 0x0a], "vpminud ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3b, 0x4a, 0x01], "vpminud ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3b, 0x4a, 0x01], "vpminud ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x3b, 0x0a], "vpminuq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x3b, 0x4a, 0x01], "vpminuq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x3b, 0x0a], "vpminuq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x3b, 0x0a], "vpminuq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x3b, 0x4a, 0x01], "vpminuq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x3b, 0x4a, 0x01], "vpminuq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x3b, 0x0a], "vpminuq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x3b, 0x4a, 0x01], "vpminuq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x3b, 0x0a], "vpminuq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x3b, 0x0a], "vpminuq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x3b, 0x4a, 0x01], "vpminuq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x3b, 0x4a, 0x01], "vpminuq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3b, 0xca], "vpminuq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3b, 0x0a], "vpminuq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3b, 0x4a, 0x01], "vpminuq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3b, 0xca], "vpminuq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3b, 0xca], "vpminuq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3b, 0x0a], "vpminuq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3b, 0x0a], "vpminuq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3b, 0x4a, 0x01], "vpminuq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3b, 0x4a, 0x01], "vpminuq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3b, 0xca], "vpminuq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3b, 0x0a], "vpminuq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3b, 0x4a, 0x01], "vpminuq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3b, 0xca], "vpminuq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3b, 0xca], "vpminuq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3b, 0x0a], "vpminuq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3b, 0x0a], "vpminuq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3b, 0x4a, 0x01], "vpminuq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3b, 0x4a, 0x01], "vpminuq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x3b, 0x0a], "vpminud zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x3b, 0x4a, 0x01], "vpminud zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x3b, 0x0a], "vpminud zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x3b, 0x0a], "vpminud zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x3b, 0x4a, 0x01], "vpminud zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x3b, 0x4a, 0x01], "vpminud zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x3b, 0x0a], "vpminud xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x3b, 0x4a, 0x01], "vpminud xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x3b, 0x0a], "vpminud xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x3b, 0x0a], "vpminud xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x3b, 0x4a, 0x01], "vpminud xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x3b, 0x4a, 0x01], "vpminud xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3b, 0xca], "vpminud zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3b, 0x0a], "vpminud zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3b, 0x4a, 0x01], "vpminud zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3b, 0xca], "vpminud zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3b, 0xca], "vpminud zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3b, 0x0a], "vpminud zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3b, 0x0a], "vpminud zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3b, 0x4a, 0x01], "vpminud zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3b, 0x4a, 0x01], "vpminud zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3b, 0xca], "vpminud xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3b, 0x0a], "vpminud xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3b, 0x4a, 0x01], "vpminud xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3b, 0xca], "vpminud xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3b, 0xca], "vpminud xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3b, 0x0a], "vpminud xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3b, 0x0a], "vpminud xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3b, 0x4a, 0x01], "vpminud xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3b, 0x4a, 0x01], "vpminud xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3c, 0xca], "vpmaxsb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3c, 0x0a], "vpmaxsb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3c, 0x4a, 0x01], "vpmaxsb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3c, 0xca], "vpmaxsb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3c, 0xca], "vpmaxsb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3c, 0x0a], "vpmaxsb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3c, 0x0a], "vpmaxsb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3c, 0x4a, 0x01], "vpmaxsb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3c, 0x4a, 0x01], "vpmaxsb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3c, 0xca], "vpmaxsb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3c, 0x0a], "vpmaxsb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3c, 0x4a, 0x01], "vpmaxsb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3c, 0xca], "vpmaxsb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3c, 0xca], "vpmaxsb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3c, 0x0a], "vpmaxsb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3c, 0x0a], "vpmaxsb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3c, 0x4a, 0x01], "vpmaxsb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3c, 0x4a, 0x01], "vpmaxsb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3c, 0xca], "vpmaxsb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3c, 0x0a], "vpmaxsb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3c, 0x4a, 0x01], "vpmaxsb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3c, 0xca], "vpmaxsb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3c, 0xca], "vpmaxsb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3c, 0x0a], "vpmaxsb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3c, 0x0a], "vpmaxsb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3c, 0x4a, 0x01], "vpmaxsb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3c, 0x4a, 0x01], "vpmaxsb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x3d, 0x0a], "vpmaxsq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x3d, 0x4a, 0x01], "vpmaxsq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x3d, 0x0a], "vpmaxsq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x3d, 0x0a], "vpmaxsq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x3d, 0x4a, 0x01], "vpmaxsq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x3d, 0x4a, 0x01], "vpmaxsq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3d, 0xca], "vpmaxsq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3d, 0x0a], "vpmaxsq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3d, 0x4a, 0x01], "vpmaxsq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3d, 0xca], "vpmaxsq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3d, 0xca], "vpmaxsq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3d, 0x0a], "vpmaxsq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3d, 0x0a], "vpmaxsq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3d, 0x4a, 0x01], "vpmaxsq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3d, 0x4a, 0x01], "vpmaxsq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x3d, 0x0a], "vpmaxsd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x3d, 0x4a, 0x01], "vpmaxsd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x3d, 0x0a], "vpmaxsd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x3d, 0x0a], "vpmaxsd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x3d, 0x4a, 0x01], "vpmaxsd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x3d, 0x4a, 0x01], "vpmaxsd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3d, 0xca], "vpmaxsd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3d, 0x0a], "vpmaxsd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3d, 0x4a, 0x01], "vpmaxsd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3d, 0xca], "vpmaxsd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3d, 0xca], "vpmaxsd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3d, 0x0a], "vpmaxsd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3d, 0x0a], "vpmaxsd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3d, 0x4a, 0x01], "vpmaxsd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3d, 0x4a, 0x01], "vpmaxsd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x3d, 0x0a], "vpmaxsq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x3d, 0x4a, 0x01], "vpmaxsq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x3d, 0x0a], "vpmaxsq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x3d, 0x0a], "vpmaxsq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x3d, 0x4a, 0x01], "vpmaxsq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x3d, 0x4a, 0x01], "vpmaxsq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x3d, 0x0a], "vpmaxsq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x3d, 0x4a, 0x01], "vpmaxsq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x3d, 0x0a], "vpmaxsq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x3d, 0x0a], "vpmaxsq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x3d, 0x4a, 0x01], "vpmaxsq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x3d, 0x4a, 0x01], "vpmaxsq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3d, 0xca], "vpmaxsq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3d, 0x0a], "vpmaxsq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3d, 0x4a, 0x01], "vpmaxsq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3d, 0xca], "vpmaxsq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3d, 0xca], "vpmaxsq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3d, 0x0a], "vpmaxsq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3d, 0x0a], "vpmaxsq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3d, 0x4a, 0x01], "vpmaxsq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3d, 0x4a, 0x01], "vpmaxsq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3d, 0xca], "vpmaxsq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3d, 0x0a], "vpmaxsq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3d, 0x4a, 0x01], "vpmaxsq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3d, 0xca], "vpmaxsq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3d, 0xca], "vpmaxsq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3d, 0x0a], "vpmaxsq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3d, 0x0a], "vpmaxsq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3d, 0x4a, 0x01], "vpmaxsq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3d, 0x4a, 0x01], "vpmaxsq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x3d, 0x0a], "vpmaxsd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x3d, 0x4a, 0x01], "vpmaxsd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x3d, 0x0a], "vpmaxsd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x3d, 0x0a], "vpmaxsd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x3d, 0x4a, 0x01], "vpmaxsd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x3d, 0x4a, 0x01], "vpmaxsd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x3d, 0x0a], "vpmaxsd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x3d, 0x4a, 0x01], "vpmaxsd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x3d, 0x0a], "vpmaxsd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x3d, 0x0a], "vpmaxsd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x3d, 0x4a, 0x01], "vpmaxsd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x3d, 0x4a, 0x01], "vpmaxsd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3d, 0xca], "vpmaxsd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3d, 0x0a], "vpmaxsd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3d, 0x4a, 0x01], "vpmaxsd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3d, 0xca], "vpmaxsd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3d, 0xca], "vpmaxsd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3d, 0x0a], "vpmaxsd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3d, 0x0a], "vpmaxsd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3d, 0x4a, 0x01], "vpmaxsd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3d, 0x4a, 0x01], "vpmaxsd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3d, 0xca], "vpmaxsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3d, 0x0a], "vpmaxsd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3d, 0x4a, 0x01], "vpmaxsd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3d, 0xca], "vpmaxsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3d, 0xca], "vpmaxsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3d, 0x0a], "vpmaxsd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3d, 0x0a], "vpmaxsd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3d, 0x4a, 0x01], "vpmaxsd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3d, 0x4a, 0x01], "vpmaxsd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3e, 0xca], "vpmaxuw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3e, 0x0a], "vpmaxuw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3e, 0x4a, 0x01], "vpmaxuw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3e, 0xca], "vpmaxuw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3e, 0xca], "vpmaxuw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3e, 0x0a], "vpmaxuw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3e, 0x0a], "vpmaxuw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3e, 0x4a, 0x01], "vpmaxuw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3e, 0x4a, 0x01], "vpmaxuw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3e, 0xca], "vpmaxuw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3e, 0x0a], "vpmaxuw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3e, 0x4a, 0x01], "vpmaxuw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3e, 0xca], "vpmaxuw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3e, 0xca], "vpmaxuw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3e, 0x0a], "vpmaxuw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3e, 0x0a], "vpmaxuw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3e, 0x4a, 0x01], "vpmaxuw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3e, 0x4a, 0x01], "vpmaxuw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3e, 0xca], "vpmaxuw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3e, 0x0a], "vpmaxuw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3e, 0x4a, 0x01], "vpmaxuw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3e, 0xca], "vpmaxuw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3e, 0xca], "vpmaxuw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3e, 0x0a], "vpmaxuw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3e, 0x0a], "vpmaxuw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3e, 0x4a, 0x01], "vpmaxuw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3e, 0x4a, 0x01], "vpmaxuw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x3f, 0x0a], "vpmaxuq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x3f, 0x4a, 0x01], "vpmaxuq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x3f, 0x0a], "vpmaxuq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x3f, 0x0a], "vpmaxuq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x3f, 0x4a, 0x01], "vpmaxuq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x3f, 0x4a, 0x01], "vpmaxuq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3f, 0xca], "vpmaxuq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3f, 0x0a], "vpmaxuq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x3f, 0x4a, 0x01], "vpmaxuq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3f, 0xca], "vpmaxuq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3f, 0xca], "vpmaxuq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3f, 0x0a], "vpmaxuq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3f, 0x0a], "vpmaxuq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x3f, 0x4a, 0x01], "vpmaxuq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x3f, 0x4a, 0x01], "vpmaxuq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x3f, 0x0a], "vpmaxud ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x3f, 0x4a, 0x01], "vpmaxud ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x3f, 0x0a], "vpmaxud ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x3f, 0x0a], "vpmaxud ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x3f, 0x4a, 0x01], "vpmaxud ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x3f, 0x4a, 0x01], "vpmaxud ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3f, 0xca], "vpmaxud ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3f, 0x0a], "vpmaxud ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x3f, 0x4a, 0x01], "vpmaxud ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3f, 0xca], "vpmaxud ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3f, 0xca], "vpmaxud ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3f, 0x0a], "vpmaxud ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3f, 0x0a], "vpmaxud ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x3f, 0x4a, 0x01], "vpmaxud ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x3f, 0x4a, 0x01], "vpmaxud ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x3f, 0x0a], "vpmaxuq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x3f, 0x4a, 0x01], "vpmaxuq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x3f, 0x0a], "vpmaxuq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x3f, 0x0a], "vpmaxuq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x3f, 0x4a, 0x01], "vpmaxuq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x3f, 0x4a, 0x01], "vpmaxuq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x3f, 0x0a], "vpmaxuq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x3f, 0x4a, 0x01], "vpmaxuq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x3f, 0x0a], "vpmaxuq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x3f, 0x0a], "vpmaxuq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x3f, 0x4a, 0x01], "vpmaxuq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x3f, 0x4a, 0x01], "vpmaxuq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3f, 0xca], "vpmaxuq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3f, 0x0a], "vpmaxuq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x3f, 0x4a, 0x01], "vpmaxuq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3f, 0xca], "vpmaxuq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3f, 0xca], "vpmaxuq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3f, 0x0a], "vpmaxuq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3f, 0x0a], "vpmaxuq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x3f, 0x4a, 0x01], "vpmaxuq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x3f, 0x4a, 0x01], "vpmaxuq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3f, 0xca], "vpmaxuq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3f, 0x0a], "vpmaxuq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x3f, 0x4a, 0x01], "vpmaxuq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3f, 0xca], "vpmaxuq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3f, 0xca], "vpmaxuq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3f, 0x0a], "vpmaxuq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3f, 0x0a], "vpmaxuq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x3f, 0x4a, 0x01], "vpmaxuq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x3f, 0x4a, 0x01], "vpmaxuq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x3f, 0x0a], "vpmaxud zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x3f, 0x4a, 0x01], "vpmaxud zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x3f, 0x0a], "vpmaxud zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x3f, 0x0a], "vpmaxud zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x3f, 0x4a, 0x01], "vpmaxud zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x3f, 0x4a, 0x01], "vpmaxud zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x3f, 0x0a], "vpmaxud xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x3f, 0x4a, 0x01], "vpmaxud xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x3f, 0x0a], "vpmaxud xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x3f, 0x0a], "vpmaxud xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x3f, 0x4a, 0x01], "vpmaxud xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x3f, 0x4a, 0x01], "vpmaxud xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3f, 0xca], "vpmaxud zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3f, 0x0a], "vpmaxud zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x3f, 0x4a, 0x01], "vpmaxud zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3f, 0xca], "vpmaxud zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3f, 0xca], "vpmaxud zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3f, 0x0a], "vpmaxud zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3f, 0x0a], "vpmaxud zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x3f, 0x4a, 0x01], "vpmaxud zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x3f, 0x4a, 0x01], "vpmaxud zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3f, 0xca], "vpmaxud xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3f, 0x0a], "vpmaxud xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x3f, 0x4a, 0x01], "vpmaxud xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3f, 0xca], "vpmaxud xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3f, 0xca], "vpmaxud xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3f, 0x0a], "vpmaxud xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3f, 0x0a], "vpmaxud xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x3f, 0x4a, 0x01], "vpmaxud xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x3f, 0x4a, 0x01], "vpmaxud xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x40, 0x0a], "vpmullq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x40, 0x4a, 0x01], "vpmullq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x40, 0x0a], "vpmullq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x40, 0x0a], "vpmullq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x40, 0x4a, 0x01], "vpmullq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x40, 0x4a, 0x01], "vpmullq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x40, 0xca], "vpmullq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x40, 0x0a], "vpmullq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x40, 0x4a, 0x01], "vpmullq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x40, 0xca], "vpmullq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x40, 0xca], "vpmullq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x40, 0x0a], "vpmullq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x40, 0x0a], "vpmullq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x40, 0x4a, 0x01], "vpmullq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x40, 0x4a, 0x01], "vpmullq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x40, 0x0a], "vpmulld ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x40, 0x4a, 0x01], "vpmulld ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x40, 0x0a], "vpmulld ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x40, 0x0a], "vpmulld ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x40, 0x4a, 0x01], "vpmulld ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x40, 0x4a, 0x01], "vpmulld ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x40, 0xca], "vpmulld ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x40, 0x0a], "vpmulld ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x40, 0x4a, 0x01], "vpmulld ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x40, 0xca], "vpmulld ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x40, 0xca], "vpmulld ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x40, 0x0a], "vpmulld ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x40, 0x0a], "vpmulld ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x40, 0x4a, 0x01], "vpmulld ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x40, 0x4a, 0x01], "vpmulld ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x40, 0x0a], "vpmullq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x40, 0x4a, 0x01], "vpmullq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x40, 0x0a], "vpmullq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x40, 0x0a], "vpmullq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x40, 0x4a, 0x01], "vpmullq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x40, 0x4a, 0x01], "vpmullq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x40, 0x0a], "vpmullq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x40, 0x4a, 0x01], "vpmullq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x40, 0x0a], "vpmullq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x40, 0x0a], "vpmullq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x40, 0x4a, 0x01], "vpmullq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x40, 0x4a, 0x01], "vpmullq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x40, 0xca], "vpmullq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x40, 0x0a], "vpmullq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x40, 0x4a, 0x01], "vpmullq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x40, 0xca], "vpmullq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x40, 0xca], "vpmullq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x40, 0x0a], "vpmullq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x40, 0x0a], "vpmullq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x40, 0x4a, 0x01], "vpmullq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x40, 0x4a, 0x01], "vpmullq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x40, 0xca], "vpmullq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x40, 0x0a], "vpmullq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x40, 0x4a, 0x01], "vpmullq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x40, 0xca], "vpmullq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x40, 0xca], "vpmullq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x40, 0x0a], "vpmullq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x40, 0x0a], "vpmullq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x40, 0x4a, 0x01], "vpmullq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x40, 0x4a, 0x01], "vpmullq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x40, 0x0a], "vpmulld zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x40, 0x4a, 0x01], "vpmulld zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x40, 0x0a], "vpmulld zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x40, 0x0a], "vpmulld zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x40, 0x4a, 0x01], "vpmulld zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x40, 0x4a, 0x01], "vpmulld zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x40, 0x0a], "vpmulld xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x40, 0x4a, 0x01], "vpmulld xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x40, 0x0a], "vpmulld xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x40, 0x0a], "vpmulld xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x40, 0x4a, 0x01], "vpmulld xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x40, 0x4a, 0x01], "vpmulld xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x40, 0xca], "vpmulld zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x40, 0x0a], "vpmulld zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x40, 0x4a, 0x01], "vpmulld zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x40, 0xca], "vpmulld zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x40, 0xca], "vpmulld zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x40, 0x0a], "vpmulld zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x40, 0x0a], "vpmulld zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x40, 0x4a, 0x01], "vpmulld zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x40, 0x4a, 0x01], "vpmulld zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x40, 0xca], "vpmulld xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x40, 0x0a], "vpmulld xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x40, 0x4a, 0x01], "vpmulld xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x40, 0xca], "vpmulld xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x40, 0xca], "vpmulld xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x40, 0x0a], "vpmulld xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x40, 0x0a], "vpmulld xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x40, 0x4a, 0x01], "vpmulld xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x40, 0x4a, 0x01], "vpmulld xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x42, 0xca], "vgetexppd zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x42, 0xca], "vgetexppd zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x42, 0xca], "vgetexppd zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x42, 0x0a], "vgetexppd ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x42, 0x4a, 0x01], "vgetexppd ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x42, 0x0a], "vgetexppd ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x42, 0x0a], "vgetexppd ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x42, 0x4a, 0x01], "vgetexppd ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x42, 0x4a, 0x01], "vgetexppd ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x42, 0xca], "vgetexppd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x42, 0x0a], "vgetexppd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x42, 0x4a, 0x01], "vgetexppd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x42, 0xca], "vgetexppd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x42, 0xca], "vgetexppd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x42, 0x0a], "vgetexppd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x42, 0x0a], "vgetexppd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x42, 0x4a, 0x01], "vgetexppd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x42, 0x4a, 0x01], "vgetexppd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x42, 0xca], "vgetexpps zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x42, 0xca], "vgetexpps zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x42, 0xca], "vgetexpps zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x42, 0x0a], "vgetexpps ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x42, 0x4a, 0x01], "vgetexpps ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x42, 0x0a], "vgetexpps ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x42, 0x0a], "vgetexpps ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x42, 0x4a, 0x01], "vgetexpps ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x42, 0x4a, 0x01], "vgetexpps ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x42, 0xca], "vgetexpps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x42, 0x0a], "vgetexpps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x42, 0x4a, 0x01], "vgetexpps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x42, 0xca], "vgetexpps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x42, 0xca], "vgetexpps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x42, 0x0a], "vgetexpps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x42, 0x0a], "vgetexpps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x42, 0x4a, 0x01], "vgetexpps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x42, 0x4a, 0x01], "vgetexpps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x42, 0x0a], "vgetexppd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x42, 0x4a, 0x01], "vgetexppd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x42, 0x0a], "vgetexppd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x42, 0x0a], "vgetexppd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x42, 0x4a, 0x01], "vgetexppd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x42, 0x4a, 0x01], "vgetexppd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x42, 0x0a], "vgetexppd xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x42, 0x4a, 0x01], "vgetexppd xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x42, 0x0a], "vgetexppd xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x42, 0x0a], "vgetexppd xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x42, 0x4a, 0x01], "vgetexppd xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x42, 0x4a, 0x01], "vgetexppd xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x42, 0xca], "vgetexppd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x42, 0x0a], "vgetexppd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x42, 0x4a, 0x01], "vgetexppd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x42, 0xca], "vgetexppd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x42, 0xca], "vgetexppd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x42, 0x0a], "vgetexppd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x42, 0x0a], "vgetexppd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x42, 0x4a, 0x01], "vgetexppd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x42, 0x4a, 0x01], "vgetexppd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x42, 0xca], "vgetexppd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x42, 0x0a], "vgetexppd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x42, 0x4a, 0x01], "vgetexppd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x42, 0xca], "vgetexppd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x42, 0xca], "vgetexppd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x42, 0x0a], "vgetexppd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x42, 0x0a], "vgetexppd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x42, 0x4a, 0x01], "vgetexppd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x42, 0x4a, 0x01], "vgetexppd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x42, 0x0a], "vgetexpps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x42, 0x4a, 0x01], "vgetexpps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x42, 0x0a], "vgetexpps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x42, 0x0a], "vgetexpps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x42, 0x4a, 0x01], "vgetexpps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x42, 0x4a, 0x01], "vgetexpps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x42, 0x0a], "vgetexpps xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x42, 0x4a, 0x01], "vgetexpps xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x42, 0x0a], "vgetexpps xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x42, 0x0a], "vgetexpps xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x42, 0x4a, 0x01], "vgetexpps xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x42, 0x4a, 0x01], "vgetexpps xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x42, 0xca], "vgetexpps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x42, 0x0a], "vgetexpps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x42, 0x4a, 0x01], "vgetexpps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x42, 0xca], "vgetexpps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x42, 0xca], "vgetexpps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x42, 0x0a], "vgetexpps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x42, 0x0a], "vgetexpps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x42, 0x4a, 0x01], "vgetexpps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x42, 0x4a, 0x01], "vgetexpps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x42, 0xca], "vgetexpps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x42, 0x0a], "vgetexpps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x42, 0x4a, 0x01], "vgetexpps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x42, 0xca], "vgetexpps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x42, 0xca], "vgetexpps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x42, 0x0a], "vgetexpps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x42, 0x0a], "vgetexpps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x42, 0x4a, 0x01], "vgetexpps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x42, 0x4a, 0x01], "vgetexpps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x43, 0xca], "vgetexpsd xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x43, 0xca], "vgetexpsd xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x43, 0xca], "vgetexpsd xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x43, 0xca], "vgetexpsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x43, 0x0a], "vgetexpsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x43, 0x4a, 0x01], "vgetexpsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x43, 0xca], "vgetexpsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x43, 0xca], "vgetexpsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x43, 0x0a], "vgetexpsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x43, 0x0a], "vgetexpsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x43, 0x4a, 0x01], "vgetexpsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x43, 0x4a, 0x01], "vgetexpsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x43, 0xca], "vgetexpss xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x43, 0xca], "vgetexpss xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x43, 0xca], "vgetexpss xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x43, 0xca], "vgetexpss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x43, 0x0a], "vgetexpss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x43, 0x4a, 0x01], "vgetexpss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x43, 0xca], "vgetexpss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x43, 0xca], "vgetexpss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x43, 0x0a], "vgetexpss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x43, 0x0a], "vgetexpss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x43, 0x4a, 0x01], "vgetexpss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x43, 0x4a, 0x01], "vgetexpss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x44, 0x0a], "vplzcntq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x44, 0x4a, 0x01], "vplzcntq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x44, 0x0a], "vplzcntq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x44, 0x0a], "vplzcntq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x44, 0x4a, 0x01], "vplzcntq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x44, 0x4a, 0x01], "vplzcntq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x44, 0xca], "vplzcntq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x44, 0x0a], "vplzcntq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x44, 0x4a, 0x01], "vplzcntq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x44, 0xca], "vplzcntq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x44, 0xca], "vplzcntq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x44, 0x0a], "vplzcntq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x44, 0x0a], "vplzcntq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x44, 0x4a, 0x01], "vplzcntq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x44, 0x4a, 0x01], "vplzcntq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x44, 0x0a], "vplzcntd ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x44, 0x4a, 0x01], "vplzcntd ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x44, 0x0a], "vplzcntd ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x44, 0x0a], "vplzcntd ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x44, 0x4a, 0x01], "vplzcntd ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x44, 0x4a, 0x01], "vplzcntd ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x44, 0xca], "vplzcntd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x44, 0x0a], "vplzcntd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x44, 0x4a, 0x01], "vplzcntd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x44, 0xca], "vplzcntd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x44, 0xca], "vplzcntd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x44, 0x0a], "vplzcntd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x44, 0x0a], "vplzcntd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x44, 0x4a, 0x01], "vplzcntd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x44, 0x4a, 0x01], "vplzcntd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x44, 0x0a], "vplzcntq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x44, 0x4a, 0x01], "vplzcntq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x44, 0x0a], "vplzcntq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x44, 0x0a], "vplzcntq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x44, 0x4a, 0x01], "vplzcntq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x44, 0x4a, 0x01], "vplzcntq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x44, 0x0a], "vplzcntq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x44, 0x4a, 0x01], "vplzcntq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x44, 0x0a], "vplzcntq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x44, 0x0a], "vplzcntq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x44, 0x4a, 0x01], "vplzcntq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x44, 0x4a, 0x01], "vplzcntq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x44, 0xca], "vplzcntq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x44, 0x0a], "vplzcntq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x44, 0x4a, 0x01], "vplzcntq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x44, 0xca], "vplzcntq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x44, 0xca], "vplzcntq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x44, 0x0a], "vplzcntq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x44, 0x0a], "vplzcntq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x44, 0x4a, 0x01], "vplzcntq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x44, 0x4a, 0x01], "vplzcntq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x44, 0xca], "vplzcntq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x44, 0x0a], "vplzcntq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x44, 0x4a, 0x01], "vplzcntq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x44, 0xca], "vplzcntq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x44, 0xca], "vplzcntq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x44, 0x0a], "vplzcntq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x44, 0x0a], "vplzcntq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x44, 0x4a, 0x01], "vplzcntq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x44, 0x4a, 0x01], "vplzcntq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x44, 0x0a], "vplzcntd zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x44, 0x4a, 0x01], "vplzcntd zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x44, 0x0a], "vplzcntd zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x44, 0x0a], "vplzcntd zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x44, 0x4a, 0x01], "vplzcntd zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x44, 0x4a, 0x01], "vplzcntd zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x44, 0x0a], "vplzcntd xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x44, 0x4a, 0x01], "vplzcntd xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x44, 0x0a], "vplzcntd xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x44, 0x0a], "vplzcntd xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x44, 0x4a, 0x01], "vplzcntd xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x44, 0x4a, 0x01], "vplzcntd xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x44, 0xca], "vplzcntd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x44, 0x0a], "vplzcntd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x44, 0x4a, 0x01], "vplzcntd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x44, 0xca], "vplzcntd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x44, 0xca], "vplzcntd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x44, 0x0a], "vplzcntd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x44, 0x0a], "vplzcntd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x44, 0x4a, 0x01], "vplzcntd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x44, 0x4a, 0x01], "vplzcntd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x44, 0xca], "vplzcntd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x44, 0x0a], "vplzcntd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x44, 0x4a, 0x01], "vplzcntd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x44, 0xca], "vplzcntd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x44, 0xca], "vplzcntd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x44, 0x0a], "vplzcntd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x44, 0x0a], "vplzcntd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x44, 0x4a, 0x01], "vplzcntd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x44, 0x4a, 0x01], "vplzcntd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x45, 0x0a], "vpsrlvq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x45, 0x4a, 0x01], "vpsrlvq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x45, 0x0a], "vpsrlvq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x45, 0x0a], "vpsrlvq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x45, 0x4a, 0x01], "vpsrlvq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x45, 0x4a, 0x01], "vpsrlvq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x45, 0xca], "vpsrlvq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x45, 0x0a], "vpsrlvq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x45, 0x4a, 0x01], "vpsrlvq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x45, 0xca], "vpsrlvq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x45, 0xca], "vpsrlvq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x45, 0x0a], "vpsrlvq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x45, 0x0a], "vpsrlvq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x45, 0x4a, 0x01], "vpsrlvq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x45, 0x4a, 0x01], "vpsrlvq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x45, 0x0a], "vpsrlvd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x45, 0x4a, 0x01], "vpsrlvd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x45, 0x0a], "vpsrlvd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x45, 0x0a], "vpsrlvd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x45, 0x4a, 0x01], "vpsrlvd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x45, 0x4a, 0x01], "vpsrlvd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x45, 0xca], "vpsrlvd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x45, 0x0a], "vpsrlvd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x45, 0x4a, 0x01], "vpsrlvd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x45, 0xca], "vpsrlvd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x45, 0xca], "vpsrlvd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x45, 0x0a], "vpsrlvd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x45, 0x0a], "vpsrlvd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x45, 0x4a, 0x01], "vpsrlvd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x45, 0x4a, 0x01], "vpsrlvd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x45, 0x0a], "vpsrlvq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x45, 0x4a, 0x01], "vpsrlvq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x45, 0x0a], "vpsrlvq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x45, 0x0a], "vpsrlvq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x45, 0x4a, 0x01], "vpsrlvq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x45, 0x4a, 0x01], "vpsrlvq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x45, 0x0a], "vpsrlvq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x45, 0x4a, 0x01], "vpsrlvq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x45, 0x0a], "vpsrlvq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x45, 0x0a], "vpsrlvq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x45, 0x4a, 0x01], "vpsrlvq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x45, 0x4a, 0x01], "vpsrlvq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x45, 0xca], "vpsrlvq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x45, 0x0a], "vpsrlvq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x45, 0x4a, 0x01], "vpsrlvq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x45, 0xca], "vpsrlvq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x45, 0xca], "vpsrlvq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x45, 0x0a], "vpsrlvq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x45, 0x0a], "vpsrlvq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x45, 0x4a, 0x01], "vpsrlvq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x45, 0x4a, 0x01], "vpsrlvq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x45, 0xca], "vpsrlvq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x45, 0x0a], "vpsrlvq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x45, 0x4a, 0x01], "vpsrlvq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x45, 0xca], "vpsrlvq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x45, 0xca], "vpsrlvq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x45, 0x0a], "vpsrlvq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x45, 0x0a], "vpsrlvq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x45, 0x4a, 0x01], "vpsrlvq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x45, 0x4a, 0x01], "vpsrlvq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x45, 0x0a], "vpsrlvd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x45, 0x4a, 0x01], "vpsrlvd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x45, 0x0a], "vpsrlvd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x45, 0x0a], "vpsrlvd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x45, 0x4a, 0x01], "vpsrlvd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x45, 0x4a, 0x01], "vpsrlvd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x45, 0x0a], "vpsrlvd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x45, 0x4a, 0x01], "vpsrlvd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x45, 0x0a], "vpsrlvd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x45, 0x0a], "vpsrlvd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x45, 0x4a, 0x01], "vpsrlvd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x45, 0x4a, 0x01], "vpsrlvd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x45, 0xca], "vpsrlvd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x45, 0x0a], "vpsrlvd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x45, 0x4a, 0x01], "vpsrlvd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x45, 0xca], "vpsrlvd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x45, 0xca], "vpsrlvd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x45, 0x0a], "vpsrlvd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x45, 0x0a], "vpsrlvd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x45, 0x4a, 0x01], "vpsrlvd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x45, 0x4a, 0x01], "vpsrlvd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x45, 0xca], "vpsrlvd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x45, 0x0a], "vpsrlvd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x45, 0x4a, 0x01], "vpsrlvd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x45, 0xca], "vpsrlvd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x45, 0xca], "vpsrlvd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x45, 0x0a], "vpsrlvd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x45, 0x0a], "vpsrlvd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x45, 0x4a, 0x01], "vpsrlvd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x45, 0x4a, 0x01], "vpsrlvd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x46, 0x0a], "vpsravq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x46, 0x4a, 0x01], "vpsravq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x46, 0x0a], "vpsravq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x46, 0x0a], "vpsravq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x46, 0x4a, 0x01], "vpsravq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x46, 0x4a, 0x01], "vpsravq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x46, 0xca], "vpsravq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x46, 0x0a], "vpsravq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x46, 0x4a, 0x01], "vpsravq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x46, 0xca], "vpsravq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x46, 0xca], "vpsravq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x46, 0x0a], "vpsravq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x46, 0x0a], "vpsravq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x46, 0x4a, 0x01], "vpsravq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x46, 0x4a, 0x01], "vpsravq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x46, 0x0a], "vpsravd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x46, 0x4a, 0x01], "vpsravd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x46, 0x0a], "vpsravd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x46, 0x0a], "vpsravd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x46, 0x4a, 0x01], "vpsravd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x46, 0x4a, 0x01], "vpsravd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x46, 0xca], "vpsravd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x46, 0x0a], "vpsravd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x46, 0x4a, 0x01], "vpsravd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x46, 0xca], "vpsravd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x46, 0xca], "vpsravd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x46, 0x0a], "vpsravd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x46, 0x0a], "vpsravd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x46, 0x4a, 0x01], "vpsravd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x46, 0x4a, 0x01], "vpsravd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x46, 0x0a], "vpsravq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x46, 0x4a, 0x01], "vpsravq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x46, 0x0a], "vpsravq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x46, 0x0a], "vpsravq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x46, 0x4a, 0x01], "vpsravq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x46, 0x4a, 0x01], "vpsravq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x46, 0x0a], "vpsravq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x46, 0x4a, 0x01], "vpsravq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x46, 0x0a], "vpsravq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x46, 0x0a], "vpsravq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x46, 0x4a, 0x01], "vpsravq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x46, 0x4a, 0x01], "vpsravq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x46, 0xca], "vpsravq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x46, 0x0a], "vpsravq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x46, 0x4a, 0x01], "vpsravq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x46, 0xca], "vpsravq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x46, 0xca], "vpsravq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x46, 0x0a], "vpsravq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x46, 0x0a], "vpsravq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x46, 0x4a, 0x01], "vpsravq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x46, 0x4a, 0x01], "vpsravq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x46, 0xca], "vpsravq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x46, 0x0a], "vpsravq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x46, 0x4a, 0x01], "vpsravq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x46, 0xca], "vpsravq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x46, 0xca], "vpsravq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x46, 0x0a], "vpsravq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x46, 0x0a], "vpsravq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x46, 0x4a, 0x01], "vpsravq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x46, 0x4a, 0x01], "vpsravq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x46, 0x0a], "vpsravd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x46, 0x4a, 0x01], "vpsravd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x46, 0x0a], "vpsravd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x46, 0x0a], "vpsravd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x46, 0x4a, 0x01], "vpsravd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x46, 0x4a, 0x01], "vpsravd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x46, 0x0a], "vpsravd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x46, 0x4a, 0x01], "vpsravd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x46, 0x0a], "vpsravd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x46, 0x0a], "vpsravd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x46, 0x4a, 0x01], "vpsravd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x46, 0x4a, 0x01], "vpsravd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x46, 0xca], "vpsravd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x46, 0x0a], "vpsravd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x46, 0x4a, 0x01], "vpsravd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x46, 0xca], "vpsravd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x46, 0xca], "vpsravd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x46, 0x0a], "vpsravd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x46, 0x0a], "vpsravd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x46, 0x4a, 0x01], "vpsravd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x46, 0x4a, 0x01], "vpsravd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x46, 0xca], "vpsravd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x46, 0x0a], "vpsravd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x46, 0x4a, 0x01], "vpsravd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x46, 0xca], "vpsravd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x46, 0xca], "vpsravd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x46, 0x0a], "vpsravd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x46, 0x0a], "vpsravd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x46, 0x4a, 0x01], "vpsravd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x46, 0x4a, 0x01], "vpsravd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x47, 0x0a], "vpsllvq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x47, 0x4a, 0x01], "vpsllvq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x47, 0x0a], "vpsllvq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x47, 0x0a], "vpsllvq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x47, 0x4a, 0x01], "vpsllvq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x47, 0x4a, 0x01], "vpsllvq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x47, 0xca], "vpsllvq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x47, 0x0a], "vpsllvq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x47, 0x4a, 0x01], "vpsllvq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x47, 0xca], "vpsllvq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x47, 0xca], "vpsllvq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x47, 0x0a], "vpsllvq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x47, 0x0a], "vpsllvq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x47, 0x4a, 0x01], "vpsllvq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x47, 0x4a, 0x01], "vpsllvq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x47, 0x0a], "vpsllvd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x47, 0x4a, 0x01], "vpsllvd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x47, 0x0a], "vpsllvd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x47, 0x0a], "vpsllvd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x47, 0x4a, 0x01], "vpsllvd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x47, 0x4a, 0x01], "vpsllvd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x47, 0xca], "vpsllvd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x47, 0x0a], "vpsllvd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x47, 0x4a, 0x01], "vpsllvd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x47, 0xca], "vpsllvd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x47, 0xca], "vpsllvd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x47, 0x0a], "vpsllvd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x47, 0x0a], "vpsllvd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x47, 0x4a, 0x01], "vpsllvd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x47, 0x4a, 0x01], "vpsllvd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x47, 0x0a], "vpsllvq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x47, 0x4a, 0x01], "vpsllvq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x47, 0x0a], "vpsllvq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x47, 0x0a], "vpsllvq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x47, 0x4a, 0x01], "vpsllvq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x47, 0x4a, 0x01], "vpsllvq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x47, 0x0a], "vpsllvq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x47, 0x4a, 0x01], "vpsllvq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x47, 0x0a], "vpsllvq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x47, 0x0a], "vpsllvq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x47, 0x4a, 0x01], "vpsllvq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x47, 0x4a, 0x01], "vpsllvq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x47, 0xca], "vpsllvq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x47, 0x0a], "vpsllvq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x47, 0x4a, 0x01], "vpsllvq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x47, 0xca], "vpsllvq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x47, 0xca], "vpsllvq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x47, 0x0a], "vpsllvq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x47, 0x0a], "vpsllvq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x47, 0x4a, 0x01], "vpsllvq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x47, 0x4a, 0x01], "vpsllvq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x47, 0xca], "vpsllvq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x47, 0x0a], "vpsllvq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x47, 0x4a, 0x01], "vpsllvq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x47, 0xca], "vpsllvq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x47, 0xca], "vpsllvq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x47, 0x0a], "vpsllvq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x47, 0x0a], "vpsllvq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x47, 0x4a, 0x01], "vpsllvq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x47, 0x4a, 0x01], "vpsllvq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x47, 0x0a], "vpsllvd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x47, 0x4a, 0x01], "vpsllvd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x47, 0x0a], "vpsllvd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x47, 0x0a], "vpsllvd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x47, 0x4a, 0x01], "vpsllvd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x47, 0x4a, 0x01], "vpsllvd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x47, 0x0a], "vpsllvd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x47, 0x4a, 0x01], "vpsllvd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x47, 0x0a], "vpsllvd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x47, 0x0a], "vpsllvd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x47, 0x4a, 0x01], "vpsllvd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x47, 0x4a, 0x01], "vpsllvd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x47, 0xca], "vpsllvd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x47, 0x0a], "vpsllvd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x47, 0x4a, 0x01], "vpsllvd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x47, 0xca], "vpsllvd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x47, 0xca], "vpsllvd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x47, 0x0a], "vpsllvd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x47, 0x0a], "vpsllvd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x47, 0x4a, 0x01], "vpsllvd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x47, 0x4a, 0x01], "vpsllvd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x47, 0xca], "vpsllvd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x47, 0x0a], "vpsllvd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x47, 0x4a, 0x01], "vpsllvd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x47, 0xca], "vpsllvd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x47, 0xca], "vpsllvd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x47, 0x0a], "vpsllvd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x47, 0x0a], "vpsllvd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x47, 0x4a, 0x01], "vpsllvd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x47, 0x4a, 0x01], "vpsllvd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x4c, 0x0a], "vrcp14pd ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x4c, 0x4a, 0x01], "vrcp14pd ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x4c, 0x0a], "vrcp14pd ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x4c, 0x0a], "vrcp14pd ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x4c, 0x4a, 0x01], "vrcp14pd ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x4c, 0x4a, 0x01], "vrcp14pd ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4c, 0xca], "vrcp14pd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4c, 0x0a], "vrcp14pd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4c, 0x4a, 0x01], "vrcp14pd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4c, 0xca], "vrcp14pd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4c, 0xca], "vrcp14pd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4c, 0x0a], "vrcp14pd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4c, 0x0a], "vrcp14pd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4c, 0x4a, 0x01], "vrcp14pd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4c, 0x4a, 0x01], "vrcp14pd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x4c, 0x0a], "vrcp14ps ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x4c, 0x4a, 0x01], "vrcp14ps ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x4c, 0x0a], "vrcp14ps ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x4c, 0x0a], "vrcp14ps ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x4c, 0x4a, 0x01], "vrcp14ps ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x4c, 0x4a, 0x01], "vrcp14ps ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4c, 0xca], "vrcp14ps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4c, 0x0a], "vrcp14ps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4c, 0x4a, 0x01], "vrcp14ps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4c, 0xca], "vrcp14ps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4c, 0xca], "vrcp14ps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4c, 0x0a], "vrcp14ps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4c, 0x0a], "vrcp14ps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4c, 0x4a, 0x01], "vrcp14ps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4c, 0x4a, 0x01], "vrcp14ps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x4c, 0x0a], "vrcp14pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x4c, 0x4a, 0x01], "vrcp14pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x4c, 0x0a], "vrcp14pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x4c, 0x0a], "vrcp14pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x4c, 0x4a, 0x01], "vrcp14pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x4c, 0x4a, 0x01], "vrcp14pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x4c, 0x0a], "vrcp14pd xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x4c, 0x4a, 0x01], "vrcp14pd xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x4c, 0x0a], "vrcp14pd xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x4c, 0x0a], "vrcp14pd xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x4c, 0x4a, 0x01], "vrcp14pd xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x4c, 0x4a, 0x01], "vrcp14pd xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x4c, 0xca], "vrcp14pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x4c, 0x0a], "vrcp14pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x4c, 0x4a, 0x01], "vrcp14pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x4c, 0xca], "vrcp14pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x4c, 0xca], "vrcp14pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x4c, 0x0a], "vrcp14pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x4c, 0x0a], "vrcp14pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x4c, 0x4a, 0x01], "vrcp14pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x4c, 0x4a, 0x01], "vrcp14pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x4c, 0xca], "vrcp14pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x4c, 0x0a], "vrcp14pd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x4c, 0x4a, 0x01], "vrcp14pd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x4c, 0xca], "vrcp14pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x4c, 0xca], "vrcp14pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x4c, 0x0a], "vrcp14pd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x4c, 0x0a], "vrcp14pd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x4c, 0x4a, 0x01], "vrcp14pd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x4c, 0x4a, 0x01], "vrcp14pd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x4c, 0x0a], "vrcp14ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x4c, 0x4a, 0x01], "vrcp14ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x4c, 0x0a], "vrcp14ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x4c, 0x0a], "vrcp14ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x4c, 0x4a, 0x01], "vrcp14ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x4c, 0x4a, 0x01], "vrcp14ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x4c, 0x0a], "vrcp14ps xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x4c, 0x4a, 0x01], "vrcp14ps xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x4c, 0x0a], "vrcp14ps xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x4c, 0x0a], "vrcp14ps xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x4c, 0x4a, 0x01], "vrcp14ps xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x4c, 0x4a, 0x01], "vrcp14ps xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x4c, 0xca], "vrcp14ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x4c, 0x0a], "vrcp14ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x4c, 0x4a, 0x01], "vrcp14ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x4c, 0xca], "vrcp14ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x4c, 0xca], "vrcp14ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x4c, 0x0a], "vrcp14ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x4c, 0x0a], "vrcp14ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x4c, 0x4a, 0x01], "vrcp14ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x4c, 0x4a, 0x01], "vrcp14ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x4c, 0xca], "vrcp14ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x4c, 0x0a], "vrcp14ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x4c, 0x4a, 0x01], "vrcp14ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x4c, 0xca], "vrcp14ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x4c, 0xca], "vrcp14ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x4c, 0x0a], "vrcp14ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x4c, 0x0a], "vrcp14ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x4c, 0x4a, 0x01], "vrcp14ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x4c, 0x4a, 0x01], "vrcp14ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4d, 0xca], "vrcp14sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4d, 0x0a], "vrcp14sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4d, 0x4a, 0x01], "vrcp14sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4d, 0xca], "vrcp14sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4d, 0xca], "vrcp14sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4d, 0x0a], "vrcp14sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4d, 0x0a], "vrcp14sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4d, 0x4a, 0x01], "vrcp14sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4d, 0x4a, 0x01], "vrcp14sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4d, 0xca], "vrcp14ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4d, 0x0a], "vrcp14ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4d, 0x4a, 0x01], "vrcp14ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4d, 0xca], "vrcp14ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4d, 0xca], "vrcp14ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4d, 0x0a], "vrcp14ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4d, 0x0a], "vrcp14ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4d, 0x4a, 0x01], "vrcp14ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4d, 0x4a, 0x01], "vrcp14ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x4e, 0x0a], "vrsqrt14pd ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x4e, 0x4a, 0x01], "vrsqrt14pd ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x4e, 0x0a], "vrsqrt14pd ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x4e, 0x0a], "vrsqrt14pd ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x4e, 0x4a, 0x01], "vrsqrt14pd ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x4e, 0x4a, 0x01], "vrsqrt14pd ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4e, 0xca], "vrsqrt14pd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4e, 0x0a], "vrsqrt14pd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4e, 0x4a, 0x01], "vrsqrt14pd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4e, 0xca], "vrsqrt14pd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4e, 0xca], "vrsqrt14pd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4e, 0x0a], "vrsqrt14pd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4e, 0x0a], "vrsqrt14pd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4e, 0x4a, 0x01], "vrsqrt14pd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4e, 0x4a, 0x01], "vrsqrt14pd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x4e, 0x0a], "vrsqrt14ps ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x4e, 0x4a, 0x01], "vrsqrt14ps ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x4e, 0x0a], "vrsqrt14ps ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x4e, 0x0a], "vrsqrt14ps ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x4e, 0x4a, 0x01], "vrsqrt14ps ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x4e, 0x4a, 0x01], "vrsqrt14ps ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4e, 0xca], "vrsqrt14ps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4e, 0x0a], "vrsqrt14ps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4e, 0x4a, 0x01], "vrsqrt14ps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4e, 0xca], "vrsqrt14ps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4e, 0xca], "vrsqrt14ps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4e, 0x0a], "vrsqrt14ps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4e, 0x0a], "vrsqrt14ps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4e, 0x4a, 0x01], "vrsqrt14ps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4e, 0x4a, 0x01], "vrsqrt14ps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x4e, 0x0a], "vrsqrt14pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x4e, 0x4a, 0x01], "vrsqrt14pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x4e, 0x0a], "vrsqrt14pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x4e, 0x0a], "vrsqrt14pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x4e, 0x4a, 0x01], "vrsqrt14pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x4e, 0x4a, 0x01], "vrsqrt14pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x4e, 0x0a], "vrsqrt14pd xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x4e, 0x4a, 0x01], "vrsqrt14pd xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x4e, 0x0a], "vrsqrt14pd xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x4e, 0x0a], "vrsqrt14pd xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x4e, 0x4a, 0x01], "vrsqrt14pd xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x4e, 0x4a, 0x01], "vrsqrt14pd xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x4e, 0xca], "vrsqrt14pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x4e, 0x0a], "vrsqrt14pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x4e, 0x4a, 0x01], "vrsqrt14pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x4e, 0xca], "vrsqrt14pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x4e, 0xca], "vrsqrt14pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x4e, 0x0a], "vrsqrt14pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x4e, 0x0a], "vrsqrt14pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x4e, 0x4a, 0x01], "vrsqrt14pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x4e, 0x4a, 0x01], "vrsqrt14pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x4e, 0xca], "vrsqrt14pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x4e, 0x0a], "vrsqrt14pd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x4e, 0x4a, 0x01], "vrsqrt14pd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x4e, 0xca], "vrsqrt14pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x4e, 0xca], "vrsqrt14pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x4e, 0x0a], "vrsqrt14pd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x4e, 0x0a], "vrsqrt14pd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x4e, 0x4a, 0x01], "vrsqrt14pd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x4e, 0x4a, 0x01], "vrsqrt14pd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x4e, 0x0a], "vrsqrt14ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x4e, 0x4a, 0x01], "vrsqrt14ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x4e, 0x0a], "vrsqrt14ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x4e, 0x0a], "vrsqrt14ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x4e, 0x4a, 0x01], "vrsqrt14ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x4e, 0x4a, 0x01], "vrsqrt14ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x4e, 0x0a], "vrsqrt14ps xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x4e, 0x4a, 0x01], "vrsqrt14ps xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x4e, 0x0a], "vrsqrt14ps xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x4e, 0x0a], "vrsqrt14ps xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x4e, 0x4a, 0x01], "vrsqrt14ps xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x4e, 0x4a, 0x01], "vrsqrt14ps xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x4e, 0xca], "vrsqrt14ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x4e, 0x0a], "vrsqrt14ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x4e, 0x4a, 0x01], "vrsqrt14ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x4e, 0xca], "vrsqrt14ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x4e, 0xca], "vrsqrt14ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x4e, 0x0a], "vrsqrt14ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x4e, 0x0a], "vrsqrt14ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x4e, 0x4a, 0x01], "vrsqrt14ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x4e, 0x4a, 0x01], "vrsqrt14ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x4e, 0xca], "vrsqrt14ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x4e, 0x0a], "vrsqrt14ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x4e, 0x4a, 0x01], "vrsqrt14ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x4e, 0xca], "vrsqrt14ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x4e, 0xca], "vrsqrt14ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x4e, 0x0a], "vrsqrt14ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x4e, 0x0a], "vrsqrt14ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x4e, 0x4a, 0x01], "vrsqrt14ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x4e, 0x4a, 0x01], "vrsqrt14ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4f, 0xca], "vrsqrt14sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4f, 0x0a], "vrsqrt14sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x4f, 0x4a, 0x01], "vrsqrt14sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4f, 0xca], "vrsqrt14sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4f, 0xca], "vrsqrt14sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4f, 0x0a], "vrsqrt14sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4f, 0x0a], "vrsqrt14sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x4f, 0x4a, 0x01], "vrsqrt14sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x4f, 0x4a, 0x01], "vrsqrt14sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4f, 0xca], "vrsqrt14ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4f, 0x0a], "vrsqrt14ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x4f, 0x4a, 0x01], "vrsqrt14ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4f, 0xca], "vrsqrt14ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4f, 0xca], "vrsqrt14ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4f, 0x0a], "vrsqrt14ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4f, 0x0a], "vrsqrt14ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x4f, 0x4a, 0x01], "vrsqrt14ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x4f, 0x4a, 0x01], "vrsqrt14ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x50, 0x0a], "vpdpbusd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x50, 0x4a, 0x01], "vpdpbusd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x50, 0x0a], "vpdpbusd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x50, 0x0a], "vpdpbusd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x50, 0x4a, 0x01], "vpdpbusd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x50, 0x4a, 0x01], "vpdpbusd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x50, 0xca], "vpdpbusd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x50, 0x0a], "vpdpbusd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x50, 0x4a, 0x01], "vpdpbusd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x50, 0xca], "vpdpbusd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x50, 0xca], "vpdpbusd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x50, 0x0a], "vpdpbusd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x50, 0x0a], "vpdpbusd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x50, 0x4a, 0x01], "vpdpbusd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x50, 0x4a, 0x01], "vpdpbusd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x50, 0x0a], "vpdpbusd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x50, 0x4a, 0x01], "vpdpbusd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x50, 0x0a], "vpdpbusd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x50, 0x0a], "vpdpbusd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x50, 0x4a, 0x01], "vpdpbusd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x50, 0x4a, 0x01], "vpdpbusd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x50, 0x0a], "vpdpbusd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x50, 0x4a, 0x01], "vpdpbusd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x50, 0x0a], "vpdpbusd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x50, 0x0a], "vpdpbusd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x50, 0x4a, 0x01], "vpdpbusd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x50, 0x4a, 0x01], "vpdpbusd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x50, 0xca], "vpdpbusd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x50, 0x0a], "vpdpbusd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x50, 0x4a, 0x01], "vpdpbusd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x50, 0xca], "vpdpbusd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x50, 0xca], "vpdpbusd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x50, 0x0a], "vpdpbusd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x50, 0x0a], "vpdpbusd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x50, 0x4a, 0x01], "vpdpbusd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x50, 0x4a, 0x01], "vpdpbusd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x50, 0xca], "vpdpbusd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x50, 0x0a], "vpdpbusd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x50, 0x4a, 0x01], "vpdpbusd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x50, 0xca], "vpdpbusd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x50, 0xca], "vpdpbusd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x50, 0x0a], "vpdpbusd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x50, 0x0a], "vpdpbusd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x50, 0x4a, 0x01], "vpdpbusd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x50, 0x4a, 0x01], "vpdpbusd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x51, 0x0a], "vpdpbusds ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x51, 0x4a, 0x01], "vpdpbusds ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x51, 0x0a], "vpdpbusds ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x51, 0x0a], "vpdpbusds ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x51, 0x4a, 0x01], "vpdpbusds ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x51, 0x4a, 0x01], "vpdpbusds ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x51, 0xca], "vpdpbusds ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x51, 0x0a], "vpdpbusds ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x51, 0x4a, 0x01], "vpdpbusds ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x51, 0xca], "vpdpbusds ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x51, 0xca], "vpdpbusds ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x51, 0x0a], "vpdpbusds ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x51, 0x0a], "vpdpbusds ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x51, 0x4a, 0x01], "vpdpbusds ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x51, 0x4a, 0x01], "vpdpbusds ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x51, 0x0a], "vpdpbusds zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x51, 0x4a, 0x01], "vpdpbusds zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x51, 0x0a], "vpdpbusds zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x51, 0x0a], "vpdpbusds zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x51, 0x4a, 0x01], "vpdpbusds zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x51, 0x4a, 0x01], "vpdpbusds zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x51, 0x0a], "vpdpbusds xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x51, 0x4a, 0x01], "vpdpbusds xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x51, 0x0a], "vpdpbusds xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x51, 0x0a], "vpdpbusds xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x51, 0x4a, 0x01], "vpdpbusds xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x51, 0x4a, 0x01], "vpdpbusds xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x51, 0xca], "vpdpbusds zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x51, 0x0a], "vpdpbusds zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x51, 0x4a, 0x01], "vpdpbusds zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x51, 0xca], "vpdpbusds zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x51, 0xca], "vpdpbusds zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x51, 0x0a], "vpdpbusds zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x51, 0x0a], "vpdpbusds zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x51, 0x4a, 0x01], "vpdpbusds zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x51, 0x4a, 0x01], "vpdpbusds zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x51, 0xca], "vpdpbusds xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x51, 0x0a], "vpdpbusds xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x51, 0x4a, 0x01], "vpdpbusds xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x51, 0xca], "vpdpbusds xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x51, 0xca], "vpdpbusds xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x51, 0x0a], "vpdpbusds xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x51, 0x0a], "vpdpbusds xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x51, 0x4a, 0x01], "vpdpbusds xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x51, 0x4a, 0x01], "vpdpbusds xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x52, 0x0a], "vpdpwssd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x52, 0x4a, 0x01], "vpdpwssd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x52, 0x0a], "vpdpwssd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x52, 0x0a], "vpdpwssd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x52, 0x4a, 0x01], "vpdpwssd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x52, 0x4a, 0x01], "vpdpwssd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x52, 0xca], "vpdpwssd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x52, 0x0a], "vpdpwssd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x52, 0x4a, 0x01], "vpdpwssd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x52, 0xca], "vpdpwssd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x52, 0xca], "vpdpwssd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x52, 0x0a], "vpdpwssd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x52, 0x0a], "vpdpwssd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x52, 0x4a, 0x01], "vpdpwssd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x52, 0x4a, 0x01], "vpdpwssd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x52, 0x0a], "vpdpwssd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x52, 0x4a, 0x01], "vpdpwssd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x52, 0x0a], "vpdpwssd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x52, 0x0a], "vpdpwssd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x52, 0x4a, 0x01], "vpdpwssd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x52, 0x4a, 0x01], "vpdpwssd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x52, 0x0a], "vpdpwssd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x52, 0x4a, 0x01], "vpdpwssd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x52, 0x0a], "vpdpwssd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x52, 0x0a], "vpdpwssd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x52, 0x4a, 0x01], "vpdpwssd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x52, 0x4a, 0x01], "vpdpwssd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x52, 0xca], "vpdpwssd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x52, 0x0a], "vpdpwssd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x52, 0x4a, 0x01], "vpdpwssd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x52, 0xca], "vpdpwssd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x52, 0xca], "vpdpwssd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x52, 0x0a], "vpdpwssd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x52, 0x0a], "vpdpwssd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x52, 0x4a, 0x01], "vpdpwssd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x52, 0x4a, 0x01], "vpdpwssd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x52, 0xca], "vpdpwssd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x52, 0x0a], "vpdpwssd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x52, 0x4a, 0x01], "vpdpwssd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x52, 0xca], "vpdpwssd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x52, 0xca], "vpdpwssd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x52, 0x0a], "vpdpwssd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x52, 0x0a], "vpdpwssd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x52, 0x4a, 0x01], "vpdpwssd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x52, 0x4a, 0x01], "vpdpwssd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x53, 0x0a], "vpdpwssds ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x53, 0x4a, 0x01], "vpdpwssds ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x53, 0x0a], "vpdpwssds ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x53, 0x0a], "vpdpwssds ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x53, 0x4a, 0x01], "vpdpwssds ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x53, 0x4a, 0x01], "vpdpwssds ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x53, 0xca], "vpdpwssds ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x53, 0x0a], "vpdpwssds ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x53, 0x4a, 0x01], "vpdpwssds ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x53, 0xca], "vpdpwssds ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x53, 0xca], "vpdpwssds ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x53, 0x0a], "vpdpwssds ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x53, 0x0a], "vpdpwssds ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x53, 0x4a, 0x01], "vpdpwssds ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x53, 0x4a, 0x01], "vpdpwssds ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x53, 0x0a], "vpdpwssds zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x53, 0x4a, 0x01], "vpdpwssds zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x53, 0x0a], "vpdpwssds zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x53, 0x0a], "vpdpwssds zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x53, 0x4a, 0x01], "vpdpwssds zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x53, 0x4a, 0x01], "vpdpwssds zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x53, 0x0a], "vpdpwssds xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x53, 0x4a, 0x01], "vpdpwssds xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x53, 0x0a], "vpdpwssds xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x53, 0x0a], "vpdpwssds xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x53, 0x4a, 0x01], "vpdpwssds xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x53, 0x4a, 0x01], "vpdpwssds xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x53, 0xca], "vpdpwssds zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x53, 0x0a], "vpdpwssds zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x53, 0x4a, 0x01], "vpdpwssds zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x53, 0xca], "vpdpwssds zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x53, 0xca], "vpdpwssds zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x53, 0x0a], "vpdpwssds zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x53, 0x0a], "vpdpwssds zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x53, 0x4a, 0x01], "vpdpwssds zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x53, 0x4a, 0x01], "vpdpwssds zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x53, 0xca], "vpdpwssds xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x53, 0x0a], "vpdpwssds xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x53, 0x4a, 0x01], "vpdpwssds xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x53, 0xca], "vpdpwssds xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x53, 0xca], "vpdpwssds xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x53, 0x0a], "vpdpwssds xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x53, 0x0a], "vpdpwssds xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x53, 0x4a, 0x01], "vpdpwssds xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x53, 0x4a, 0x01], "vpdpwssds xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x54, 0xca], "vpopcntw ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x54, 0x0a], "vpopcntw ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x54, 0x4a, 0x01], "vpopcntw ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x54, 0xca], "vpopcntw ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x54, 0xca], "vpopcntw ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x54, 0x0a], "vpopcntw ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x54, 0x0a], "vpopcntw ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x54, 0x4a, 0x01], "vpopcntw ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x54, 0x4a, 0x01], "vpopcntw ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x54, 0xca], "vpopcntb ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x54, 0x0a], "vpopcntb ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x54, 0x4a, 0x01], "vpopcntb ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x54, 0xca], "vpopcntb ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x54, 0xca], "vpopcntb ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x54, 0x0a], "vpopcntb ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x54, 0x0a], "vpopcntb ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x54, 0x4a, 0x01], "vpopcntb ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x54, 0x4a, 0x01], "vpopcntb ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x54, 0xca], "vpopcntw zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x54, 0x0a], "vpopcntw zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x54, 0x4a, 0x01], "vpopcntw zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x54, 0xca], "vpopcntw zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x54, 0xca], "vpopcntw zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x54, 0x0a], "vpopcntw zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x54, 0x0a], "vpopcntw zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x54, 0x4a, 0x01], "vpopcntw zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x54, 0x4a, 0x01], "vpopcntw zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x54, 0xca], "vpopcntw xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x54, 0x0a], "vpopcntw xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x54, 0x4a, 0x01], "vpopcntw xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x54, 0xca], "vpopcntw xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x54, 0xca], "vpopcntw xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x54, 0x0a], "vpopcntw xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x54, 0x0a], "vpopcntw xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x54, 0x4a, 0x01], "vpopcntw xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x54, 0x4a, 0x01], "vpopcntw xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x54, 0xca], "vpopcntb zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x54, 0x0a], "vpopcntb zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x54, 0x4a, 0x01], "vpopcntb zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x54, 0xca], "vpopcntb zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x54, 0xca], "vpopcntb zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x54, 0x0a], "vpopcntb zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x54, 0x0a], "vpopcntb zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x54, 0x4a, 0x01], "vpopcntb zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x54, 0x4a, 0x01], "vpopcntb zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x54, 0xca], "vpopcntb xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x54, 0x0a], "vpopcntb xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x54, 0x4a, 0x01], "vpopcntb xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x54, 0xca], "vpopcntb xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x54, 0xca], "vpopcntb xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x54, 0x0a], "vpopcntb xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x54, 0x0a], "vpopcntb xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x54, 0x4a, 0x01], "vpopcntb xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x54, 0x4a, 0x01], "vpopcntb xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x55, 0x0a], "vpopcntq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x55, 0x4a, 0x01], "vpopcntq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x55, 0x0a], "vpopcntq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x55, 0x0a], "vpopcntq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x55, 0x4a, 0x01], "vpopcntq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x55, 0x4a, 0x01], "vpopcntq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x55, 0xca], "vpopcntq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x55, 0x0a], "vpopcntq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x55, 0x4a, 0x01], "vpopcntq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x55, 0xca], "vpopcntq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x55, 0xca], "vpopcntq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x55, 0x0a], "vpopcntq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x55, 0x0a], "vpopcntq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x55, 0x4a, 0x01], "vpopcntq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x55, 0x4a, 0x01], "vpopcntq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x55, 0x0a], "vpopcntd ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x55, 0x4a, 0x01], "vpopcntd ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x55, 0x0a], "vpopcntd ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x55, 0x0a], "vpopcntd ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x55, 0x4a, 0x01], "vpopcntd ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x55, 0x4a, 0x01], "vpopcntd ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x55, 0xca], "vpopcntd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x55, 0x0a], "vpopcntd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x55, 0x4a, 0x01], "vpopcntd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x55, 0xca], "vpopcntd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x55, 0xca], "vpopcntd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x55, 0x0a], "vpopcntd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x55, 0x0a], "vpopcntd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x55, 0x4a, 0x01], "vpopcntd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x55, 0x4a, 0x01], "vpopcntd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x55, 0x0a], "vpopcntq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x55, 0x4a, 0x01], "vpopcntq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x55, 0x0a], "vpopcntq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x55, 0x0a], "vpopcntq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x55, 0x4a, 0x01], "vpopcntq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x55, 0x4a, 0x01], "vpopcntq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x55, 0x0a], "vpopcntq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x55, 0x4a, 0x01], "vpopcntq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x55, 0x0a], "vpopcntq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x55, 0x0a], "vpopcntq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x55, 0x4a, 0x01], "vpopcntq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x55, 0x4a, 0x01], "vpopcntq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x55, 0xca], "vpopcntq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x55, 0x0a], "vpopcntq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x55, 0x4a, 0x01], "vpopcntq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x55, 0xca], "vpopcntq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x55, 0xca], "vpopcntq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x55, 0x0a], "vpopcntq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x55, 0x0a], "vpopcntq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x55, 0x4a, 0x01], "vpopcntq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x55, 0x4a, 0x01], "vpopcntq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x55, 0xca], "vpopcntq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x55, 0x0a], "vpopcntq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x55, 0x4a, 0x01], "vpopcntq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x55, 0xca], "vpopcntq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x55, 0xca], "vpopcntq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x55, 0x0a], "vpopcntq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x55, 0x0a], "vpopcntq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x55, 0x4a, 0x01], "vpopcntq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x55, 0x4a, 0x01], "vpopcntq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x55, 0x0a], "vpopcntd zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x55, 0x4a, 0x01], "vpopcntd zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x55, 0x0a], "vpopcntd zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x55, 0x0a], "vpopcntd zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x55, 0x4a, 0x01], "vpopcntd zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x55, 0x4a, 0x01], "vpopcntd zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x55, 0x0a], "vpopcntd xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x55, 0x4a, 0x01], "vpopcntd xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x55, 0x0a], "vpopcntd xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x55, 0x0a], "vpopcntd xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x55, 0x4a, 0x01], "vpopcntd xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x55, 0x4a, 0x01], "vpopcntd xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x55, 0xca], "vpopcntd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x55, 0x0a], "vpopcntd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x55, 0x4a, 0x01], "vpopcntd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x55, 0xca], "vpopcntd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x55, 0xca], "vpopcntd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x55, 0x0a], "vpopcntd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x55, 0x0a], "vpopcntd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x55, 0x4a, 0x01], "vpopcntd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x55, 0x4a, 0x01], "vpopcntd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x55, 0xca], "vpopcntd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x55, 0x0a], "vpopcntd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x55, 0x4a, 0x01], "vpopcntd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x55, 0xca], "vpopcntd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x55, 0xca], "vpopcntd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x55, 0x0a], "vpopcntd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x55, 0x0a], "vpopcntd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x55, 0x4a, 0x01], "vpopcntd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x55, 0x4a, 0x01], "vpopcntd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x58, 0xca], "vpbroadcastd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x58, 0x0a], "vpbroadcastd ymm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x58, 0x4a, 0x01], "vpbroadcastd ymm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x58, 0xca], "vpbroadcastd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x58, 0xca], "vpbroadcastd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x58, 0x0a], "vpbroadcastd ymm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x58, 0x0a], "vpbroadcastd ymm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x58, 0x4a, 0x01], "vpbroadcastd ymm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x58, 0x4a, 0x01], "vpbroadcastd ymm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x58, 0xca], "vpbroadcastd zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x58, 0x0a], "vpbroadcastd zmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x58, 0x4a, 0x01], "vpbroadcastd zmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x58, 0xca], "vpbroadcastd zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x58, 0xca], "vpbroadcastd zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x58, 0x0a], "vpbroadcastd zmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x58, 0x0a], "vpbroadcastd zmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x58, 0x4a, 0x01], "vpbroadcastd zmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x58, 0x4a, 0x01], "vpbroadcastd zmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x58, 0xca], "vpbroadcastd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x58, 0x0a], "vpbroadcastd xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x58, 0x4a, 0x01], "vpbroadcastd xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x58, 0xca], "vpbroadcastd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x58, 0xca], "vpbroadcastd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x58, 0x0a], "vpbroadcastd xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x58, 0x0a], "vpbroadcastd xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x58, 0x4a, 0x01], "vpbroadcastd xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x58, 0x4a, 0x01], "vpbroadcastd xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x59, 0xca], "vpbroadcastq ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x59, 0x0a], "vpbroadcastq ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x59, 0x4a, 0x01], "vpbroadcastq ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x59, 0xca], "vpbroadcastq ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x59, 0xca], "vpbroadcastq ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x59, 0x0a], "vpbroadcastq ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x59, 0x0a], "vpbroadcastq ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x59, 0x4a, 0x01], "vpbroadcastq ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x59, 0x4a, 0x01], "vpbroadcastq ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x59, 0xca], "vbroadcasti32x2 ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x59, 0x0a], "vbroadcasti32x2 ymm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x59, 0x4a, 0x01], "vbroadcasti32x2 ymm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x59, 0xca], "vbroadcasti32x2 ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x59, 0xca], "vbroadcasti32x2 ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x59, 0x0a], "vbroadcasti32x2 ymm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x59, 0x0a], "vbroadcasti32x2 ymm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x59, 0x4a, 0x01], "vbroadcasti32x2 ymm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x59, 0x4a, 0x01], "vbroadcasti32x2 ymm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x59, 0xca], "vpbroadcastq zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x59, 0x0a], "vpbroadcastq zmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x59, 0x4a, 0x01], "vpbroadcastq zmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x59, 0xca], "vpbroadcastq zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x59, 0xca], "vpbroadcastq zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x59, 0x0a], "vpbroadcastq zmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x59, 0x0a], "vpbroadcastq zmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x59, 0x4a, 0x01], "vpbroadcastq zmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x59, 0x4a, 0x01], "vpbroadcastq zmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x59, 0xca], "vpbroadcastq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x59, 0x0a], "vpbroadcastq xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x59, 0x4a, 0x01], "vpbroadcastq xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x59, 0xca], "vpbroadcastq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x59, 0xca], "vpbroadcastq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x59, 0x0a], "vpbroadcastq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x59, 0x0a], "vpbroadcastq xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x59, 0x4a, 0x01], "vpbroadcastq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x59, 0x4a, 0x01], "vpbroadcastq xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x59, 0xca], "vbroadcasti32x2 zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x59, 0x0a], "vbroadcasti32x2 zmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x59, 0x4a, 0x01], "vbroadcasti32x2 zmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x59, 0xca], "vbroadcasti32x2 zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x59, 0xca], "vbroadcasti32x2 zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x59, 0x0a], "vbroadcasti32x2 zmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x59, 0x0a], "vbroadcasti32x2 zmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x59, 0x4a, 0x01], "vbroadcasti32x2 zmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x59, 0x4a, 0x01], "vbroadcasti32x2 zmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x59, 0xca], "vbroadcasti32x2 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x59, 0x0a], "vbroadcasti32x2 xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x59, 0x4a, 0x01], "vbroadcasti32x2 xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x59, 0xca], "vbroadcasti32x2 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x59, 0xca], "vbroadcasti32x2 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x59, 0x0a], "vbroadcasti32x2 xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x59, 0x0a], "vbroadcasti32x2 xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x59, 0x4a, 0x01], "vbroadcasti32x2 xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x59, 0x4a, 0x01], "vbroadcasti32x2 xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x5a, 0x0a], "vbroadcasti64x2 ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x5a, 0x4a, 0x01], "vbroadcasti64x2 ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x5a, 0x0a], "vbroadcasti64x2 ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x5a, 0x0a], "vbroadcasti64x2 ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x5a, 0x4a, 0x01], "vbroadcasti64x2 ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x5a, 0x4a, 0x01], "vbroadcasti64x2 ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x5a, 0x0a], "vbroadcasti32x4 ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x5a, 0x4a, 0x01], "vbroadcasti32x4 ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x5a, 0x0a], "vbroadcasti32x4 ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x5a, 0x0a], "vbroadcasti32x4 ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x5a, 0x4a, 0x01], "vbroadcasti32x4 ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x5a, 0x4a, 0x01], "vbroadcasti32x4 ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x5a, 0x0a], "vbroadcasti64x2 zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x5a, 0x4a, 0x01], "vbroadcasti64x2 zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x5a, 0x0a], "vbroadcasti64x2 zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x5a, 0x0a], "vbroadcasti64x2 zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x5a, 0x4a, 0x01], "vbroadcasti64x2 zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x5a, 0x4a, 0x01], "vbroadcasti64x2 zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x5a, 0x0a], "vbroadcasti32x4 zmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x5a, 0x4a, 0x01], "vbroadcasti32x4 zmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x5a, 0x0a], "vbroadcasti32x4 zmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x5a, 0x0a], "vbroadcasti32x4 zmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x5a, 0x4a, 0x01], "vbroadcasti32x4 zmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x5a, 0x4a, 0x01], "vbroadcasti32x4 zmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x5b, 0x0a], "vbroadcasti64x4 zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x5b, 0x4a, 0x01], "vbroadcasti64x4 zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x5b, 0x0a], "vbroadcasti64x4 zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x5b, 0x0a], "vbroadcasti64x4 zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x5b, 0x4a, 0x01], "vbroadcasti64x4 zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x5b, 0x4a, 0x01], "vbroadcasti64x4 zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x5b, 0x0a], "vbroadcasti32x8 zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x5b, 0x4a, 0x01], "vbroadcasti32x8 zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x5b, 0x0a], "vbroadcasti32x8 zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x5b, 0x0a], "vbroadcasti32x8 zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x5b, 0x4a, 0x01], "vbroadcasti32x8 zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x5b, 0x4a, 0x01], "vbroadcasti32x8 zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x62, 0xca], "vpexpandw ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x62, 0x0a], "vpexpandw ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x62, 0x4a, 0x01], "vpexpandw ymm1{k5}{z}, ymmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x62, 0xca], "vpexpandw ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x62, 0xca], "vpexpandw ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x62, 0x0a], "vpexpandw ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x62, 0x0a], "vpexpandw ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x62, 0x4a, 0x01], "vpexpandw ymm1, ymmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x62, 0x4a, 0x01], "vpexpandw ymm1{k5}, ymmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x62, 0xca], "vpexpandb ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x62, 0x0a], "vpexpandb ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x62, 0x4a, 0x01], "vpexpandb ymm1{k5}{z}, ymmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x62, 0xca], "vpexpandb ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x62, 0xca], "vpexpandb ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x62, 0x0a], "vpexpandb ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x62, 0x0a], "vpexpandb ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x62, 0x4a, 0x01], "vpexpandb ymm1, ymmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x62, 0x4a, 0x01], "vpexpandb ymm1{k5}, ymmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x62, 0xca], "vpexpandw zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x62, 0x0a], "vpexpandw zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x62, 0x4a, 0x01], "vpexpandw zmm1{k5}{z}, zmmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x62, 0xca], "vpexpandw zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x62, 0xca], "vpexpandw zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x62, 0x0a], "vpexpandw zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x62, 0x0a], "vpexpandw zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x62, 0x4a, 0x01], "vpexpandw zmm1, zmmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x62, 0x4a, 0x01], "vpexpandw zmm1{k5}, zmmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x62, 0xca], "vpexpandw xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x62, 0x0a], "vpexpandw xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x62, 0x4a, 0x01], "vpexpandw xmm1{k5}{z}, xmmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x62, 0xca], "vpexpandw xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x62, 0xca], "vpexpandw xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x62, 0x0a], "vpexpandw xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x62, 0x0a], "vpexpandw xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x62, 0x4a, 0x01], "vpexpandw xmm1, xmmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x62, 0x4a, 0x01], "vpexpandw xmm1{k5}, xmmword [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x62, 0xca], "vpexpandb zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x62, 0x0a], "vpexpandb zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x62, 0x4a, 0x01], "vpexpandb zmm1{k5}{z}, zmmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x62, 0xca], "vpexpandb zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x62, 0xca], "vpexpandb zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x62, 0x0a], "vpexpandb zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x62, 0x0a], "vpexpandb zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x62, 0x4a, 0x01], "vpexpandb zmm1, zmmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x62, 0x4a, 0x01], "vpexpandb zmm1{k5}, zmmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x62, 0xca], "vpexpandb xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x62, 0x0a], "vpexpandb xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x62, 0x4a, 0x01], "vpexpandb xmm1{k5}{z}, xmmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x62, 0xca], "vpexpandb xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x62, 0xca], "vpexpandb xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x62, 0x0a], "vpexpandb xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x62, 0x0a], "vpexpandb xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x62, 0x4a, 0x01], "vpexpandb xmm1, xmmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x62, 0x4a, 0x01], "vpexpandb xmm1{k5}, xmmword [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x63, 0xca], "vpcompressw ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x63, 0xca], "vpcompressw ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x63, 0xca], "vpcompressw ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x63, 0x0a], "vpcompressw ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x63, 0x0a], "vpcompressw ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x63, 0x4a, 0x01], "vpcompressw ymmword [edx + 0x2], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x63, 0x4a, 0x01], "vpcompressw ymmword [edx + 0x2]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x63, 0xca], "vpcompressb ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x63, 0xca], "vpcompressb ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x63, 0xca], "vpcompressb ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x63, 0x0a], "vpcompressb ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x63, 0x0a], "vpcompressb ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x63, 0x4a, 0x01], "vpcompressb ymmword [edx + 0x1], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x63, 0x4a, 0x01], "vpcompressb ymmword [edx + 0x1]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x63, 0xca], "vpcompressw zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x63, 0xca], "vpcompressw zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x63, 0xca], "vpcompressw zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x63, 0x0a], "vpcompressw zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x63, 0x0a], "vpcompressw zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x63, 0x4a, 0x01], "vpcompressw zmmword [edx + 0x2], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x63, 0x4a, 0x01], "vpcompressw zmmword [edx + 0x2]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x63, 0xca], "vpcompressw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x63, 0xca], "vpcompressw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x63, 0xca], "vpcompressw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x63, 0x0a], "vpcompressw xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x63, 0x0a], "vpcompressw xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x63, 0x4a, 0x01], "vpcompressw xmmword [edx + 0x2], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x63, 0x4a, 0x01], "vpcompressw xmmword [edx + 0x2]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x63, 0xca], "vpcompressb zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x63, 0xca], "vpcompressb zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x63, 0xca], "vpcompressb zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x63, 0x0a], "vpcompressb zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x63, 0x0a], "vpcompressb zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x63, 0x4a, 0x01], "vpcompressb zmmword [edx + 0x1], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x63, 0x4a, 0x01], "vpcompressb zmmword [edx + 0x1]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x63, 0xca], "vpcompressb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x63, 0xca], "vpcompressb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x63, 0xca], "vpcompressb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x63, 0x0a], "vpcompressb xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x63, 0x0a], "vpcompressb xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x63, 0x4a, 0x01], "vpcompressb xmmword [edx + 0x1], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x63, 0x4a, 0x01], "vpcompressb xmmword [edx + 0x1]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x64, 0x0a], "vpblendmq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x64, 0x4a, 0x01], "vpblendmq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x64, 0x0a], "vpblendmq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x64, 0x0a], "vpblendmq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x64, 0x4a, 0x01], "vpblendmq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x64, 0x4a, 0x01], "vpblendmq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x64, 0xca], "vpblendmq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x64, 0x0a], "vpblendmq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x64, 0x4a, 0x01], "vpblendmq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x64, 0xca], "vpblendmq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x64, 0xca], "vpblendmq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x64, 0x0a], "vpblendmq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x64, 0x0a], "vpblendmq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x64, 0x4a, 0x01], "vpblendmq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x64, 0x4a, 0x01], "vpblendmq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x64, 0x0a], "vpblendmd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x64, 0x4a, 0x01], "vpblendmd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x64, 0x0a], "vpblendmd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x64, 0x0a], "vpblendmd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x64, 0x4a, 0x01], "vpblendmd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x64, 0x4a, 0x01], "vpblendmd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x64, 0xca], "vpblendmd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x64, 0x0a], "vpblendmd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x64, 0x4a, 0x01], "vpblendmd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x64, 0xca], "vpblendmd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x64, 0xca], "vpblendmd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x64, 0x0a], "vpblendmd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x64, 0x0a], "vpblendmd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x64, 0x4a, 0x01], "vpblendmd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x64, 0x4a, 0x01], "vpblendmd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x64, 0x0a], "vpblendmq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x64, 0x4a, 0x01], "vpblendmq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x64, 0x0a], "vpblendmq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x64, 0x0a], "vpblendmq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x64, 0x4a, 0x01], "vpblendmq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x64, 0x4a, 0x01], "vpblendmq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x64, 0x0a], "vpblendmq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x64, 0x4a, 0x01], "vpblendmq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x64, 0x0a], "vpblendmq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x64, 0x0a], "vpblendmq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x64, 0x4a, 0x01], "vpblendmq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x64, 0x4a, 0x01], "vpblendmq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x64, 0xca], "vpblendmq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x64, 0x0a], "vpblendmq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x64, 0x4a, 0x01], "vpblendmq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x64, 0xca], "vpblendmq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x64, 0xca], "vpblendmq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x64, 0x0a], "vpblendmq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x64, 0x0a], "vpblendmq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x64, 0x4a, 0x01], "vpblendmq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x64, 0x4a, 0x01], "vpblendmq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x64, 0xca], "vpblendmq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x64, 0x0a], "vpblendmq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x64, 0x4a, 0x01], "vpblendmq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x64, 0xca], "vpblendmq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x64, 0xca], "vpblendmq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x64, 0x0a], "vpblendmq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x64, 0x0a], "vpblendmq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x64, 0x4a, 0x01], "vpblendmq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x64, 0x4a, 0x01], "vpblendmq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x64, 0x0a], "vpblendmd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x64, 0x4a, 0x01], "vpblendmd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x64, 0x0a], "vpblendmd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x64, 0x0a], "vpblendmd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x64, 0x4a, 0x01], "vpblendmd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x64, 0x4a, 0x01], "vpblendmd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x64, 0x0a], "vpblendmd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x64, 0x4a, 0x01], "vpblendmd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x64, 0x0a], "vpblendmd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x64, 0x0a], "vpblendmd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x64, 0x4a, 0x01], "vpblendmd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x64, 0x4a, 0x01], "vpblendmd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x64, 0xca], "vpblendmd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x64, 0x0a], "vpblendmd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x64, 0x4a, 0x01], "vpblendmd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x64, 0xca], "vpblendmd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x64, 0xca], "vpblendmd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x64, 0x0a], "vpblendmd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x64, 0x0a], "vpblendmd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x64, 0x4a, 0x01], "vpblendmd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x64, 0x4a, 0x01], "vpblendmd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x64, 0xca], "vpblendmd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x64, 0x0a], "vpblendmd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x64, 0x4a, 0x01], "vpblendmd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x64, 0xca], "vpblendmd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x64, 0xca], "vpblendmd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x64, 0x0a], "vpblendmd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x64, 0x0a], "vpblendmd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x64, 0x4a, 0x01], "vpblendmd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x64, 0x4a, 0x01], "vpblendmd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x65, 0x0a], "vblendmpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x65, 0x4a, 0x01], "vblendmpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x65, 0x0a], "vblendmpd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x65, 0x0a], "vblendmpd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x65, 0x4a, 0x01], "vblendmpd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x65, 0x4a, 0x01], "vblendmpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x65, 0xca], "vblendmpd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x65, 0x0a], "vblendmpd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x65, 0x4a, 0x01], "vblendmpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x65, 0xca], "vblendmpd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x65, 0xca], "vblendmpd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x65, 0x0a], "vblendmpd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x65, 0x0a], "vblendmpd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x65, 0x4a, 0x01], "vblendmpd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x65, 0x4a, 0x01], "vblendmpd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x65, 0x0a], "vblendmps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x65, 0x4a, 0x01], "vblendmps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x65, 0x0a], "vblendmps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x65, 0x0a], "vblendmps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x65, 0x4a, 0x01], "vblendmps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x65, 0x4a, 0x01], "vblendmps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x65, 0xca], "vblendmps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x65, 0x0a], "vblendmps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x65, 0x4a, 0x01], "vblendmps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x65, 0xca], "vblendmps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x65, 0xca], "vblendmps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x65, 0x0a], "vblendmps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x65, 0x0a], "vblendmps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x65, 0x4a, 0x01], "vblendmps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x65, 0x4a, 0x01], "vblendmps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x65, 0x0a], "vblendmpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x65, 0x4a, 0x01], "vblendmpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x65, 0x0a], "vblendmpd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x65, 0x0a], "vblendmpd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x65, 0x4a, 0x01], "vblendmpd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x65, 0x4a, 0x01], "vblendmpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x65, 0x0a], "vblendmpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x65, 0x4a, 0x01], "vblendmpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x65, 0x0a], "vblendmpd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x65, 0x0a], "vblendmpd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x65, 0x4a, 0x01], "vblendmpd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x65, 0x4a, 0x01], "vblendmpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x65, 0xca], "vblendmpd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x65, 0x0a], "vblendmpd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x65, 0x4a, 0x01], "vblendmpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x65, 0xca], "vblendmpd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x65, 0xca], "vblendmpd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x65, 0x0a], "vblendmpd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x65, 0x0a], "vblendmpd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x65, 0x4a, 0x01], "vblendmpd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x65, 0x4a, 0x01], "vblendmpd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x65, 0xca], "vblendmpd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x65, 0x0a], "vblendmpd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x65, 0x4a, 0x01], "vblendmpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x65, 0xca], "vblendmpd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x65, 0xca], "vblendmpd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x65, 0x0a], "vblendmpd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x65, 0x0a], "vblendmpd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x65, 0x4a, 0x01], "vblendmpd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x65, 0x4a, 0x01], "vblendmpd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x65, 0x0a], "vblendmps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x65, 0x4a, 0x01], "vblendmps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x65, 0x0a], "vblendmps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x65, 0x0a], "vblendmps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x65, 0x4a, 0x01], "vblendmps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x65, 0x4a, 0x01], "vblendmps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x65, 0x0a], "vblendmps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x65, 0x4a, 0x01], "vblendmps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x65, 0x0a], "vblendmps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x65, 0x0a], "vblendmps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x65, 0x4a, 0x01], "vblendmps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x65, 0x4a, 0x01], "vblendmps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x65, 0xca], "vblendmps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x65, 0x0a], "vblendmps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x65, 0x4a, 0x01], "vblendmps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x65, 0xca], "vblendmps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x65, 0xca], "vblendmps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x65, 0x0a], "vblendmps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x65, 0x0a], "vblendmps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x65, 0x4a, 0x01], "vblendmps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x65, 0x4a, 0x01], "vblendmps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x65, 0xca], "vblendmps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x65, 0x0a], "vblendmps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x65, 0x4a, 0x01], "vblendmps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x65, 0xca], "vblendmps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x65, 0xca], "vblendmps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x65, 0x0a], "vblendmps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x65, 0x0a], "vblendmps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x65, 0x4a, 0x01], "vblendmps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x65, 0x4a, 0x01], "vblendmps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x66, 0xca], "vpblendmw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x66, 0x0a], "vpblendmw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x66, 0x4a, 0x01], "vpblendmw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x66, 0xca], "vpblendmw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x66, 0xca], "vpblendmw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x66, 0x0a], "vpblendmw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x66, 0x0a], "vpblendmw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x66, 0x4a, 0x01], "vpblendmw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x66, 0x4a, 0x01], "vpblendmw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x66, 0xca], "vpblendmb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x66, 0x0a], "vpblendmb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x66, 0x4a, 0x01], "vpblendmb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x66, 0xca], "vpblendmb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x66, 0xca], "vpblendmb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x66, 0x0a], "vpblendmb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x66, 0x0a], "vpblendmb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x66, 0x4a, 0x01], "vpblendmb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x66, 0x4a, 0x01], "vpblendmb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x66, 0xca], "vpblendmw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x66, 0x0a], "vpblendmw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x66, 0x4a, 0x01], "vpblendmw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x66, 0xca], "vpblendmw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x66, 0xca], "vpblendmw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x66, 0x0a], "vpblendmw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x66, 0x0a], "vpblendmw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x66, 0x4a, 0x01], "vpblendmw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x66, 0x4a, 0x01], "vpblendmw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x66, 0xca], "vpblendmw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x66, 0x0a], "vpblendmw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x66, 0x4a, 0x01], "vpblendmw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x66, 0xca], "vpblendmw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x66, 0xca], "vpblendmw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x66, 0x0a], "vpblendmw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x66, 0x0a], "vpblendmw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x66, 0x4a, 0x01], "vpblendmw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x66, 0x4a, 0x01], "vpblendmw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x66, 0xca], "vpblendmb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x66, 0x0a], "vpblendmb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x66, 0x4a, 0x01], "vpblendmb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x66, 0xca], "vpblendmb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x66, 0xca], "vpblendmb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x66, 0x0a], "vpblendmb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x66, 0x0a], "vpblendmb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x66, 0x4a, 0x01], "vpblendmb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x66, 0x4a, 0x01], "vpblendmb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x66, 0xca], "vpblendmb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x66, 0x0a], "vpblendmb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x66, 0x4a, 0x01], "vpblendmb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x66, 0xca], "vpblendmb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x66, 0xca], "vpblendmb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x66, 0x0a], "vpblendmb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x66, 0x0a], "vpblendmb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x66, 0x4a, 0x01], "vpblendmb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x66, 0x4a, 0x01], "vpblendmb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x70, 0xca], "vpshldvw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x70, 0x0a], "vpshldvw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x70, 0x4a, 0x01], "vpshldvw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x70, 0xca], "vpshldvw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x70, 0xca], "vpshldvw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x70, 0x0a], "vpshldvw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x70, 0x0a], "vpshldvw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x70, 0x4a, 0x01], "vpshldvw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x70, 0x4a, 0x01], "vpshldvw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x70, 0xca], "vpshldvw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x70, 0x0a], "vpshldvw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x70, 0x4a, 0x01], "vpshldvw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x70, 0xca], "vpshldvw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x70, 0xca], "vpshldvw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x70, 0x0a], "vpshldvw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x70, 0x0a], "vpshldvw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x70, 0x4a, 0x01], "vpshldvw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x70, 0x4a, 0x01], "vpshldvw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x70, 0xca], "vpshldvw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x70, 0x0a], "vpshldvw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x70, 0x4a, 0x01], "vpshldvw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x70, 0xca], "vpshldvw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x70, 0xca], "vpshldvw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x70, 0x0a], "vpshldvw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x70, 0x0a], "vpshldvw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x70, 0x4a, 0x01], "vpshldvw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x70, 0x4a, 0x01], "vpshldvw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x71, 0x0a], "vpshldvq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x71, 0x4a, 0x01], "vpshldvq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x71, 0x0a], "vpshldvq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x71, 0x0a], "vpshldvq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x71, 0x4a, 0x01], "vpshldvq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x71, 0x4a, 0x01], "vpshldvq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x71, 0xca], "vpshldvq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x71, 0x0a], "vpshldvq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x71, 0x4a, 0x01], "vpshldvq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x71, 0xca], "vpshldvq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x71, 0xca], "vpshldvq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x71, 0x0a], "vpshldvq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x71, 0x0a], "vpshldvq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x71, 0x4a, 0x01], "vpshldvq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x71, 0x4a, 0x01], "vpshldvq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x71, 0x0a], "vpshldvd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x71, 0x4a, 0x01], "vpshldvd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x71, 0x0a], "vpshldvd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x71, 0x0a], "vpshldvd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x71, 0x4a, 0x01], "vpshldvd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x71, 0x4a, 0x01], "vpshldvd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x71, 0xca], "vpshldvd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x71, 0x0a], "vpshldvd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x71, 0x4a, 0x01], "vpshldvd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x71, 0xca], "vpshldvd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x71, 0xca], "vpshldvd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x71, 0x0a], "vpshldvd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x71, 0x0a], "vpshldvd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x71, 0x4a, 0x01], "vpshldvd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x71, 0x4a, 0x01], "vpshldvd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x71, 0x0a], "vpshldvq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x71, 0x4a, 0x01], "vpshldvq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x71, 0x0a], "vpshldvq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x71, 0x0a], "vpshldvq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x71, 0x4a, 0x01], "vpshldvq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x71, 0x4a, 0x01], "vpshldvq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x71, 0x0a], "vpshldvq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x71, 0x4a, 0x01], "vpshldvq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x71, 0x0a], "vpshldvq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x71, 0x0a], "vpshldvq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x71, 0x4a, 0x01], "vpshldvq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x71, 0x4a, 0x01], "vpshldvq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x71, 0xca], "vpshldvq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x71, 0x0a], "vpshldvq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x71, 0x4a, 0x01], "vpshldvq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x71, 0xca], "vpshldvq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x71, 0xca], "vpshldvq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x71, 0x0a], "vpshldvq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x71, 0x0a], "vpshldvq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x71, 0x4a, 0x01], "vpshldvq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x71, 0x4a, 0x01], "vpshldvq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x71, 0xca], "vpshldvq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x71, 0x0a], "vpshldvq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x71, 0x4a, 0x01], "vpshldvq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x71, 0xca], "vpshldvq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x71, 0xca], "vpshldvq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x71, 0x0a], "vpshldvq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x71, 0x0a], "vpshldvq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x71, 0x4a, 0x01], "vpshldvq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x71, 0x4a, 0x01], "vpshldvq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x71, 0x0a], "vpshldvd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x71, 0x4a, 0x01], "vpshldvd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x71, 0x0a], "vpshldvd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x71, 0x0a], "vpshldvd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x71, 0x4a, 0x01], "vpshldvd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x71, 0x4a, 0x01], "vpshldvd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x71, 0x0a], "vpshldvd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x71, 0x4a, 0x01], "vpshldvd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x71, 0x0a], "vpshldvd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x71, 0x0a], "vpshldvd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x71, 0x4a, 0x01], "vpshldvd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x71, 0x4a, 0x01], "vpshldvd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x71, 0xca], "vpshldvd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x71, 0x0a], "vpshldvd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x71, 0x4a, 0x01], "vpshldvd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x71, 0xca], "vpshldvd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x71, 0xca], "vpshldvd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x71, 0x0a], "vpshldvd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x71, 0x0a], "vpshldvd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x71, 0x4a, 0x01], "vpshldvd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x71, 0x4a, 0x01], "vpshldvd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x71, 0xca], "vpshldvd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x71, 0x0a], "vpshldvd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x71, 0x4a, 0x01], "vpshldvd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x71, 0xca], "vpshldvd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x71, 0xca], "vpshldvd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x71, 0x0a], "vpshldvd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x71, 0x0a], "vpshldvd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x71, 0x4a, 0x01], "vpshldvd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x71, 0x4a, 0x01], "vpshldvd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x72, 0xca], "vpshrdvw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x72, 0x0a], "vpshrdvw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x72, 0x4a, 0x01], "vpshrdvw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x72, 0xca], "vpshrdvw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x72, 0xca], "vpshrdvw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x72, 0x0a], "vpshrdvw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x72, 0x0a], "vpshrdvw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x72, 0x4a, 0x01], "vpshrdvw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x72, 0x4a, 0x01], "vpshrdvw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x72, 0xca], "vpshrdvw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x72, 0x0a], "vpshrdvw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x72, 0x4a, 0x01], "vpshrdvw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x72, 0xca], "vpshrdvw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x72, 0xca], "vpshrdvw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x72, 0x0a], "vpshrdvw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x72, 0x0a], "vpshrdvw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x72, 0x4a, 0x01], "vpshrdvw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x72, 0x4a, 0x01], "vpshrdvw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x72, 0xca], "vpshrdvw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x72, 0x0a], "vpshrdvw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x72, 0x4a, 0x01], "vpshrdvw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x72, 0xca], "vpshrdvw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x72, 0xca], "vpshrdvw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x72, 0x0a], "vpshrdvw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x72, 0x0a], "vpshrdvw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x72, 0x4a, 0x01], "vpshrdvw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x72, 0x4a, 0x01], "vpshrdvw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x73, 0x0a], "vpshrdvq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x73, 0x4a, 0x01], "vpshrdvq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x73, 0x0a], "vpshrdvq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x73, 0x0a], "vpshrdvq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x73, 0x4a, 0x01], "vpshrdvq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x73, 0x4a, 0x01], "vpshrdvq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x73, 0xca], "vpshrdvq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x73, 0x0a], "vpshrdvq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x73, 0x4a, 0x01], "vpshrdvq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x73, 0xca], "vpshrdvq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x73, 0xca], "vpshrdvq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x73, 0x0a], "vpshrdvq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x73, 0x0a], "vpshrdvq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x73, 0x4a, 0x01], "vpshrdvq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x73, 0x4a, 0x01], "vpshrdvq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x73, 0x0a], "vpshrdvd ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x73, 0x4a, 0x01], "vpshrdvd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x73, 0x0a], "vpshrdvd ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x73, 0x0a], "vpshrdvd ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x73, 0x4a, 0x01], "vpshrdvd ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x73, 0x4a, 0x01], "vpshrdvd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x73, 0xca], "vpshrdvd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x73, 0x0a], "vpshrdvd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x73, 0x4a, 0x01], "vpshrdvd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x73, 0xca], "vpshrdvd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x73, 0xca], "vpshrdvd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x73, 0x0a], "vpshrdvd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x73, 0x0a], "vpshrdvd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x73, 0x4a, 0x01], "vpshrdvd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x73, 0x4a, 0x01], "vpshrdvd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x73, 0x0a], "vpshrdvq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x73, 0x4a, 0x01], "vpshrdvq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x73, 0x0a], "vpshrdvq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x73, 0x0a], "vpshrdvq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x73, 0x4a, 0x01], "vpshrdvq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x73, 0x4a, 0x01], "vpshrdvq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x73, 0x0a], "vpshrdvq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x73, 0x4a, 0x01], "vpshrdvq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x73, 0x0a], "vpshrdvq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x73, 0x0a], "vpshrdvq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x73, 0x4a, 0x01], "vpshrdvq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x73, 0x4a, 0x01], "vpshrdvq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x73, 0xca], "vpshrdvq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x73, 0x0a], "vpshrdvq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x73, 0x4a, 0x01], "vpshrdvq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x73, 0xca], "vpshrdvq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x73, 0xca], "vpshrdvq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x73, 0x0a], "vpshrdvq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x73, 0x0a], "vpshrdvq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x73, 0x4a, 0x01], "vpshrdvq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x73, 0x4a, 0x01], "vpshrdvq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x73, 0xca], "vpshrdvq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x73, 0x0a], "vpshrdvq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x73, 0x4a, 0x01], "vpshrdvq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x73, 0xca], "vpshrdvq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x73, 0xca], "vpshrdvq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x73, 0x0a], "vpshrdvq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x73, 0x0a], "vpshrdvq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x73, 0x4a, 0x01], "vpshrdvq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x73, 0x4a, 0x01], "vpshrdvq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x73, 0x0a], "vpshrdvd zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x73, 0x4a, 0x01], "vpshrdvd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x73, 0x0a], "vpshrdvd zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x73, 0x0a], "vpshrdvd zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x73, 0x4a, 0x01], "vpshrdvd zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x73, 0x4a, 0x01], "vpshrdvd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x73, 0x0a], "vpshrdvd xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x73, 0x4a, 0x01], "vpshrdvd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x73, 0x0a], "vpshrdvd xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x73, 0x0a], "vpshrdvd xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x73, 0x4a, 0x01], "vpshrdvd xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x73, 0x4a, 0x01], "vpshrdvd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x73, 0xca], "vpshrdvd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x73, 0x0a], "vpshrdvd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x73, 0x4a, 0x01], "vpshrdvd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x73, 0xca], "vpshrdvd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x73, 0xca], "vpshrdvd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x73, 0x0a], "vpshrdvd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x73, 0x0a], "vpshrdvd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x73, 0x4a, 0x01], "vpshrdvd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x73, 0x4a, 0x01], "vpshrdvd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x73, 0xca], "vpshrdvd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x73, 0x0a], "vpshrdvd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x73, 0x4a, 0x01], "vpshrdvd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x73, 0xca], "vpshrdvd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x73, 0xca], "vpshrdvd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x73, 0x0a], "vpshrdvd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x73, 0x0a], "vpshrdvd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x73, 0x4a, 0x01], "vpshrdvd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x73, 0x4a, 0x01], "vpshrdvd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x75, 0xca], "vpermi2w ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x75, 0x0a], "vpermi2w ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x75, 0x4a, 0x01], "vpermi2w ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x75, 0xca], "vpermi2w ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x75, 0xca], "vpermi2w ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x75, 0x0a], "vpermi2w ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x75, 0x0a], "vpermi2w ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x75, 0x4a, 0x01], "vpermi2w ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x75, 0x4a, 0x01], "vpermi2w ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x75, 0xca], "vpermi2b ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x75, 0x0a], "vpermi2b ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x75, 0x4a, 0x01], "vpermi2b ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x75, 0xca], "vpermi2b ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x75, 0xca], "vpermi2b ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x75, 0x0a], "vpermi2b ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x75, 0x0a], "vpermi2b ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x75, 0x4a, 0x01], "vpermi2b ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x75, 0x4a, 0x01], "vpermi2b ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x75, 0xca], "vpermi2w zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x75, 0x0a], "vpermi2w zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x75, 0x4a, 0x01], "vpermi2w zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x75, 0xca], "vpermi2w zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x75, 0xca], "vpermi2w zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x75, 0x0a], "vpermi2w zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x75, 0x0a], "vpermi2w zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x75, 0x4a, 0x01], "vpermi2w zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x75, 0x4a, 0x01], "vpermi2w zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x75, 0xca], "vpermi2w xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x75, 0x0a], "vpermi2w xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x75, 0x4a, 0x01], "vpermi2w xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x75, 0xca], "vpermi2w xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x75, 0xca], "vpermi2w xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x75, 0x0a], "vpermi2w xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x75, 0x0a], "vpermi2w xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x75, 0x4a, 0x01], "vpermi2w xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x75, 0x4a, 0x01], "vpermi2w xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x75, 0xca], "vpermi2b zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x75, 0x0a], "vpermi2b zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x75, 0x4a, 0x01], "vpermi2b zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x75, 0xca], "vpermi2b zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x75, 0xca], "vpermi2b zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x75, 0x0a], "vpermi2b zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x75, 0x0a], "vpermi2b zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x75, 0x4a, 0x01], "vpermi2b zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x75, 0x4a, 0x01], "vpermi2b zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x75, 0xca], "vpermi2b xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x75, 0x0a], "vpermi2b xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x75, 0x4a, 0x01], "vpermi2b xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x75, 0xca], "vpermi2b xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x75, 0xca], "vpermi2b xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x75, 0x0a], "vpermi2b xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x75, 0x0a], "vpermi2b xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x75, 0x4a, 0x01], "vpermi2b xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x75, 0x4a, 0x01], "vpermi2b xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x76, 0x0a], "vpermi2q ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x76, 0x4a, 0x01], "vpermi2q ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x76, 0x0a], "vpermi2q ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x76, 0x0a], "vpermi2q ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x76, 0x4a, 0x01], "vpermi2q ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x76, 0x4a, 0x01], "vpermi2q ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x76, 0xca], "vpermi2q ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x76, 0x0a], "vpermi2q ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x76, 0x4a, 0x01], "vpermi2q ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x76, 0xca], "vpermi2q ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x76, 0xca], "vpermi2q ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x76, 0x0a], "vpermi2q ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x76, 0x0a], "vpermi2q ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x76, 0x4a, 0x01], "vpermi2q ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x76, 0x4a, 0x01], "vpermi2q ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x76, 0x0a], "vpermi2d ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x76, 0x4a, 0x01], "vpermi2d ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x76, 0x0a], "vpermi2d ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x76, 0x0a], "vpermi2d ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x76, 0x4a, 0x01], "vpermi2d ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x76, 0x4a, 0x01], "vpermi2d ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x76, 0xca], "vpermi2d ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x76, 0x0a], "vpermi2d ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x76, 0x4a, 0x01], "vpermi2d ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x76, 0xca], "vpermi2d ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x76, 0xca], "vpermi2d ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x76, 0x0a], "vpermi2d ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x76, 0x0a], "vpermi2d ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x76, 0x4a, 0x01], "vpermi2d ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x76, 0x4a, 0x01], "vpermi2d ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x76, 0x0a], "vpermi2q zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x76, 0x4a, 0x01], "vpermi2q zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x76, 0x0a], "vpermi2q zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x76, 0x0a], "vpermi2q zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x76, 0x4a, 0x01], "vpermi2q zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x76, 0x4a, 0x01], "vpermi2q zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x76, 0x0a], "vpermi2q xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x76, 0x4a, 0x01], "vpermi2q xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x76, 0x0a], "vpermi2q xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x76, 0x0a], "vpermi2q xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x76, 0x4a, 0x01], "vpermi2q xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x76, 0x4a, 0x01], "vpermi2q xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x76, 0xca], "vpermi2q zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x76, 0x0a], "vpermi2q zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x76, 0x4a, 0x01], "vpermi2q zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x76, 0xca], "vpermi2q zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x76, 0xca], "vpermi2q zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x76, 0x0a], "vpermi2q zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x76, 0x0a], "vpermi2q zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x76, 0x4a, 0x01], "vpermi2q zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x76, 0x4a, 0x01], "vpermi2q zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x76, 0xca], "vpermi2q xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x76, 0x0a], "vpermi2q xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x76, 0x4a, 0x01], "vpermi2q xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x76, 0xca], "vpermi2q xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x76, 0xca], "vpermi2q xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x76, 0x0a], "vpermi2q xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x76, 0x0a], "vpermi2q xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x76, 0x4a, 0x01], "vpermi2q xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x76, 0x4a, 0x01], "vpermi2q xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x76, 0x0a], "vpermi2d zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x76, 0x4a, 0x01], "vpermi2d zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x76, 0x0a], "vpermi2d zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x76, 0x0a], "vpermi2d zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x76, 0x4a, 0x01], "vpermi2d zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x76, 0x4a, 0x01], "vpermi2d zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x76, 0x0a], "vpermi2d xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x76, 0x4a, 0x01], "vpermi2d xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x76, 0x0a], "vpermi2d xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x76, 0x0a], "vpermi2d xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x76, 0x4a, 0x01], "vpermi2d xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x76, 0x4a, 0x01], "vpermi2d xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x76, 0xca], "vpermi2d zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x76, 0x0a], "vpermi2d zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x76, 0x4a, 0x01], "vpermi2d zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x76, 0xca], "vpermi2d zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x76, 0xca], "vpermi2d zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x76, 0x0a], "vpermi2d zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x76, 0x0a], "vpermi2d zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x76, 0x4a, 0x01], "vpermi2d zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x76, 0x4a, 0x01], "vpermi2d zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x76, 0xca], "vpermi2d xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x76, 0x0a], "vpermi2d xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x76, 0x4a, 0x01], "vpermi2d xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x76, 0xca], "vpermi2d xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x76, 0xca], "vpermi2d xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x76, 0x0a], "vpermi2d xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x76, 0x0a], "vpermi2d xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x76, 0x4a, 0x01], "vpermi2d xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x76, 0x4a, 0x01], "vpermi2d xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x77, 0x0a], "vpermi2pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x77, 0x4a, 0x01], "vpermi2pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x77, 0x0a], "vpermi2pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x77, 0x0a], "vpermi2pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x77, 0x4a, 0x01], "vpermi2pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x77, 0x4a, 0x01], "vpermi2pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x77, 0xca], "vpermi2pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x77, 0x0a], "vpermi2pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x77, 0x4a, 0x01], "vpermi2pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x77, 0xca], "vpermi2pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x77, 0xca], "vpermi2pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x77, 0x0a], "vpermi2pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x77, 0x0a], "vpermi2pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x77, 0x4a, 0x01], "vpermi2pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x77, 0x4a, 0x01], "vpermi2pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x77, 0x0a], "vpermi2ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x77, 0x4a, 0x01], "vpermi2ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x77, 0x0a], "vpermi2ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x77, 0x0a], "vpermi2ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x77, 0x4a, 0x01], "vpermi2ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x77, 0x4a, 0x01], "vpermi2ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x77, 0xca], "vpermi2ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x77, 0x0a], "vpermi2ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x77, 0x4a, 0x01], "vpermi2ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x77, 0xca], "vpermi2ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x77, 0xca], "vpermi2ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x77, 0x0a], "vpermi2ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x77, 0x0a], "vpermi2ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x77, 0x4a, 0x01], "vpermi2ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x77, 0x4a, 0x01], "vpermi2ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x77, 0x0a], "vpermi2pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x77, 0x4a, 0x01], "vpermi2pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x77, 0x0a], "vpermi2pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x77, 0x0a], "vpermi2pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x77, 0x4a, 0x01], "vpermi2pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x77, 0x4a, 0x01], "vpermi2pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x77, 0x0a], "vpermi2pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x77, 0x4a, 0x01], "vpermi2pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x77, 0x0a], "vpermi2pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x77, 0x0a], "vpermi2pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x77, 0x4a, 0x01], "vpermi2pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x77, 0x4a, 0x01], "vpermi2pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x77, 0xca], "vpermi2pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x77, 0x0a], "vpermi2pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x77, 0x4a, 0x01], "vpermi2pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x77, 0xca], "vpermi2pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x77, 0xca], "vpermi2pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x77, 0x0a], "vpermi2pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x77, 0x0a], "vpermi2pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x77, 0x4a, 0x01], "vpermi2pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x77, 0x4a, 0x01], "vpermi2pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x77, 0xca], "vpermi2pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x77, 0x0a], "vpermi2pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x77, 0x4a, 0x01], "vpermi2pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x77, 0xca], "vpermi2pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x77, 0xca], "vpermi2pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x77, 0x0a], "vpermi2pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x77, 0x0a], "vpermi2pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x77, 0x4a, 0x01], "vpermi2pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x77, 0x4a, 0x01], "vpermi2pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x77, 0x0a], "vpermi2ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x77, 0x4a, 0x01], "vpermi2ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x77, 0x0a], "vpermi2ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x77, 0x0a], "vpermi2ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x77, 0x4a, 0x01], "vpermi2ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x77, 0x4a, 0x01], "vpermi2ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x77, 0x0a], "vpermi2ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x77, 0x4a, 0x01], "vpermi2ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x77, 0x0a], "vpermi2ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x77, 0x0a], "vpermi2ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x77, 0x4a, 0x01], "vpermi2ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x77, 0x4a, 0x01], "vpermi2ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x77, 0xca], "vpermi2ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x77, 0x0a], "vpermi2ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x77, 0x4a, 0x01], "vpermi2ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x77, 0xca], "vpermi2ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x77, 0xca], "vpermi2ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x77, 0x0a], "vpermi2ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x77, 0x0a], "vpermi2ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x77, 0x4a, 0x01], "vpermi2ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x77, 0x4a, 0x01], "vpermi2ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x77, 0xca], "vpermi2ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x77, 0x0a], "vpermi2ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x77, 0x4a, 0x01], "vpermi2ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x77, 0xca], "vpermi2ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x77, 0xca], "vpermi2ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x77, 0x0a], "vpermi2ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x77, 0x0a], "vpermi2ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x77, 0x4a, 0x01], "vpermi2ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x77, 0x4a, 0x01], "vpermi2ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x78, 0xca], "vpbroadcastb ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x78, 0x0a], "vpbroadcastb ymm1{k5}{z}, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x78, 0x4a, 0x01], "vpbroadcastb ymm1{k5}{z}, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x78, 0xca], "vpbroadcastb ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x78, 0xca], "vpbroadcastb ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x78, 0x0a], "vpbroadcastb ymm1, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x78, 0x0a], "vpbroadcastb ymm1{k5}, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x78, 0x4a, 0x01], "vpbroadcastb ymm1, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x78, 0x4a, 0x01], "vpbroadcastb ymm1{k5}, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x78, 0xca], "vpbroadcastb zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x78, 0x0a], "vpbroadcastb zmm1{k5}{z}, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x78, 0x4a, 0x01], "vpbroadcastb zmm1{k5}{z}, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x78, 0xca], "vpbroadcastb zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x78, 0xca], "vpbroadcastb zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x78, 0x0a], "vpbroadcastb zmm1, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x78, 0x0a], "vpbroadcastb zmm1{k5}, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x78, 0x4a, 0x01], "vpbroadcastb zmm1, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x78, 0x4a, 0x01], "vpbroadcastb zmm1{k5}, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x78, 0xca], "vpbroadcastb xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x78, 0x0a], "vpbroadcastb xmm1{k5}{z}, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x78, 0x4a, 0x01], "vpbroadcastb xmm1{k5}{z}, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x78, 0xca], "vpbroadcastb xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x78, 0xca], "vpbroadcastb xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x78, 0x0a], "vpbroadcastb xmm1, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x78, 0x0a], "vpbroadcastb xmm1{k5}, byte [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x78, 0x4a, 0x01], "vpbroadcastb xmm1, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x78, 0x4a, 0x01], "vpbroadcastb xmm1{k5}, byte [edx + 0x1]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x79, 0xca], "vpbroadcastw ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x79, 0x0a], "vpbroadcastw ymm1{k5}{z}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x79, 0x4a, 0x01], "vpbroadcastw ymm1{k5}{z}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x79, 0xca], "vpbroadcastw ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x79, 0xca], "vpbroadcastw ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x79, 0x0a], "vpbroadcastw ymm1, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x79, 0x0a], "vpbroadcastw ymm1{k5}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x79, 0x4a, 0x01], "vpbroadcastw ymm1, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x79, 0x4a, 0x01], "vpbroadcastw ymm1{k5}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x79, 0xca], "vpbroadcastw zmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x79, 0x0a], "vpbroadcastw zmm1{k5}{z}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x79, 0x4a, 0x01], "vpbroadcastw zmm1{k5}{z}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x79, 0xca], "vpbroadcastw zmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x79, 0xca], "vpbroadcastw zmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x79, 0x0a], "vpbroadcastw zmm1, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x79, 0x0a], "vpbroadcastw zmm1{k5}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x79, 0x4a, 0x01], "vpbroadcastw zmm1, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x79, 0x4a, 0x01], "vpbroadcastw zmm1{k5}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x79, 0xca], "vpbroadcastw xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x79, 0x0a], "vpbroadcastw xmm1{k5}{z}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x79, 0x4a, 0x01], "vpbroadcastw xmm1{k5}{z}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x79, 0xca], "vpbroadcastw xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x79, 0xca], "vpbroadcastw xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x79, 0x0a], "vpbroadcastw xmm1, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x79, 0x0a], "vpbroadcastw xmm1{k5}, word [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x79, 0x4a, 0x01], "vpbroadcastw xmm1, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x79, 0x4a, 0x01], "vpbroadcastw xmm1{k5}, word [edx + 0x2]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7a, 0xca], "vpbroadcastb ymm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7a, 0xca], "vpbroadcastb ymm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7a, 0xca], "vpbroadcastb ymm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7a, 0xca], "vpbroadcastb zmm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7a, 0xca], "vpbroadcastb zmm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7a, 0xca], "vpbroadcastb zmm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7a, 0xca], "vpbroadcastb xmm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7a, 0xca], "vpbroadcastb xmm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7a, 0xca], "vpbroadcastb xmm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7b, 0xca], "vpbroadcastw ymm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7b, 0xca], "vpbroadcastw ymm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7b, 0xca], "vpbroadcastw ymm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7b, 0xca], "vpbroadcastw zmm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7b, 0xca], "vpbroadcastw zmm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7b, 0xca], "vpbroadcastw zmm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7b, 0xca], "vpbroadcastw xmm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7b, 0xca], "vpbroadcastw xmm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7b, 0xca], "vpbroadcastw xmm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7c, 0xca], "vpbroadcastd ymm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7c, 0xca], "vpbroadcastd ymm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7c, 0xca], "vpbroadcastd ymm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7c, 0xca], "vpbroadcastd zmm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7c, 0xca], "vpbroadcastd zmm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7c, 0xca], "vpbroadcastd zmm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7c, 0xca], "vpbroadcastd xmm1{k5}{z}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7c, 0xca], "vpbroadcastd xmm1, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7c, 0xca], "vpbroadcastd xmm1{k5}, edx"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7d, 0xca], "vpermt2w ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7d, 0x0a], "vpermt2w ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7d, 0x4a, 0x01], "vpermt2w ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7d, 0xca], "vpermt2w ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7d, 0xca], "vpermt2w ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7d, 0x0a], "vpermt2w ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7d, 0x0a], "vpermt2w ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7d, 0x4a, 0x01], "vpermt2w ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7d, 0x4a, 0x01], "vpermt2w ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7d, 0xca], "vpermt2b ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7d, 0x0a], "vpermt2b ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7d, 0x4a, 0x01], "vpermt2b ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7d, 0xca], "vpermt2b ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7d, 0xca], "vpermt2b ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7d, 0x0a], "vpermt2b ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7d, 0x0a], "vpermt2b ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7d, 0x4a, 0x01], "vpermt2b ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7d, 0x4a, 0x01], "vpermt2b ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7d, 0xca], "vpermt2w zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7d, 0x0a], "vpermt2w zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7d, 0x4a, 0x01], "vpermt2w zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7d, 0xca], "vpermt2w zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7d, 0xca], "vpermt2w zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7d, 0x0a], "vpermt2w zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7d, 0x0a], "vpermt2w zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7d, 0x4a, 0x01], "vpermt2w zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7d, 0x4a, 0x01], "vpermt2w zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7d, 0xca], "vpermt2w xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7d, 0x0a], "vpermt2w xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7d, 0x4a, 0x01], "vpermt2w xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7d, 0xca], "vpermt2w xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7d, 0xca], "vpermt2w xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7d, 0x0a], "vpermt2w xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7d, 0x0a], "vpermt2w xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7d, 0x4a, 0x01], "vpermt2w xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7d, 0x4a, 0x01], "vpermt2w xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7d, 0xca], "vpermt2b zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7d, 0x0a], "vpermt2b zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7d, 0x4a, 0x01], "vpermt2b zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7d, 0xca], "vpermt2b zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7d, 0xca], "vpermt2b zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7d, 0x0a], "vpermt2b zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7d, 0x0a], "vpermt2b zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7d, 0x4a, 0x01], "vpermt2b zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7d, 0x4a, 0x01], "vpermt2b zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7d, 0xca], "vpermt2b xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7d, 0x0a], "vpermt2b xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7d, 0x4a, 0x01], "vpermt2b xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7d, 0xca], "vpermt2b xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7d, 0xca], "vpermt2b xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7d, 0x0a], "vpermt2b xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7d, 0x0a], "vpermt2b xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7d, 0x4a, 0x01], "vpermt2b xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7d, 0x4a, 0x01], "vpermt2b xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x7e, 0x0a], "vpermt2q ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x7e, 0x4a, 0x01], "vpermt2q ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x7e, 0x0a], "vpermt2q ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x7e, 0x0a], "vpermt2q ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x7e, 0x4a, 0x01], "vpermt2q ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x7e, 0x4a, 0x01], "vpermt2q ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7e, 0xca], "vpermt2q ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7e, 0x0a], "vpermt2q ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7e, 0x4a, 0x01], "vpermt2q ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7e, 0xca], "vpermt2q ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7e, 0xca], "vpermt2q ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7e, 0x0a], "vpermt2q ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7e, 0x0a], "vpermt2q ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7e, 0x4a, 0x01], "vpermt2q ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7e, 0x4a, 0x01], "vpermt2q ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x7e, 0x0a], "vpermt2d ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x7e, 0x4a, 0x01], "vpermt2d ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x7e, 0x0a], "vpermt2d ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x7e, 0x0a], "vpermt2d ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x7e, 0x4a, 0x01], "vpermt2d ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x7e, 0x4a, 0x01], "vpermt2d ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7e, 0xca], "vpermt2d ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7e, 0x0a], "vpermt2d ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7e, 0x4a, 0x01], "vpermt2d ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7e, 0xca], "vpermt2d ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7e, 0xca], "vpermt2d ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7e, 0x0a], "vpermt2d ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7e, 0x0a], "vpermt2d ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7e, 0x4a, 0x01], "vpermt2d ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7e, 0x4a, 0x01], "vpermt2d ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x7e, 0x0a], "vpermt2q zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x7e, 0x4a, 0x01], "vpermt2q zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x7e, 0x0a], "vpermt2q zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x7e, 0x0a], "vpermt2q zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x7e, 0x4a, 0x01], "vpermt2q zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x7e, 0x4a, 0x01], "vpermt2q zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x7e, 0x0a], "vpermt2q xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x7e, 0x4a, 0x01], "vpermt2q xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x7e, 0x0a], "vpermt2q xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x7e, 0x0a], "vpermt2q xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x7e, 0x4a, 0x01], "vpermt2q xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x7e, 0x4a, 0x01], "vpermt2q xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7e, 0xca], "vpermt2q zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7e, 0x0a], "vpermt2q zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7e, 0x4a, 0x01], "vpermt2q zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7e, 0xca], "vpermt2q zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7e, 0xca], "vpermt2q zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7e, 0x0a], "vpermt2q zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7e, 0x0a], "vpermt2q zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7e, 0x4a, 0x01], "vpermt2q zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7e, 0x4a, 0x01], "vpermt2q zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7e, 0xca], "vpermt2q xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7e, 0x0a], "vpermt2q xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7e, 0x4a, 0x01], "vpermt2q xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7e, 0xca], "vpermt2q xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7e, 0xca], "vpermt2q xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7e, 0x0a], "vpermt2q xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7e, 0x0a], "vpermt2q xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7e, 0x4a, 0x01], "vpermt2q xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7e, 0x4a, 0x01], "vpermt2q xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x7e, 0x0a], "vpermt2d zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x7e, 0x4a, 0x01], "vpermt2d zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x7e, 0x0a], "vpermt2d zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x7e, 0x0a], "vpermt2d zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x7e, 0x4a, 0x01], "vpermt2d zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x7e, 0x4a, 0x01], "vpermt2d zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x7e, 0x0a], "vpermt2d xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x7e, 0x4a, 0x01], "vpermt2d xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x7e, 0x0a], "vpermt2d xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x7e, 0x0a], "vpermt2d xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x7e, 0x4a, 0x01], "vpermt2d xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x7e, 0x4a, 0x01], "vpermt2d xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7e, 0xca], "vpermt2d zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7e, 0x0a], "vpermt2d zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7e, 0x4a, 0x01], "vpermt2d zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7e, 0xca], "vpermt2d zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7e, 0xca], "vpermt2d zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7e, 0x0a], "vpermt2d zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7e, 0x0a], "vpermt2d zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7e, 0x4a, 0x01], "vpermt2d zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7e, 0x4a, 0x01], "vpermt2d zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7e, 0xca], "vpermt2d xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7e, 0x0a], "vpermt2d xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7e, 0x4a, 0x01], "vpermt2d xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7e, 0xca], "vpermt2d xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7e, 0xca], "vpermt2d xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7e, 0x0a], "vpermt2d xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7e, 0x0a], "vpermt2d xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7e, 0x4a, 0x01], "vpermt2d xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7e, 0x4a, 0x01], "vpermt2d xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x7f, 0x0a], "vpermt2pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x7f, 0x4a, 0x01], "vpermt2pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x7f, 0x0a], "vpermt2pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x7f, 0x0a], "vpermt2pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x7f, 0x4a, 0x01], "vpermt2pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x7f, 0x4a, 0x01], "vpermt2pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7f, 0xca], "vpermt2pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7f, 0x0a], "vpermt2pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x7f, 0x4a, 0x01], "vpermt2pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7f, 0xca], "vpermt2pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7f, 0xca], "vpermt2pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7f, 0x0a], "vpermt2pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7f, 0x0a], "vpermt2pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x7f, 0x4a, 0x01], "vpermt2pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x7f, 0x4a, 0x01], "vpermt2pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x7f, 0x0a], "vpermt2ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x7f, 0x4a, 0x01], "vpermt2ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x7f, 0x0a], "vpermt2ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x7f, 0x0a], "vpermt2ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x7f, 0x4a, 0x01], "vpermt2ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x7f, 0x4a, 0x01], "vpermt2ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7f, 0xca], "vpermt2ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7f, 0x0a], "vpermt2ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x7f, 0x4a, 0x01], "vpermt2ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7f, 0xca], "vpermt2ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7f, 0xca], "vpermt2ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7f, 0x0a], "vpermt2ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7f, 0x0a], "vpermt2ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x7f, 0x4a, 0x01], "vpermt2ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x7f, 0x4a, 0x01], "vpermt2ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x7f, 0x0a], "vpermt2pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x7f, 0x4a, 0x01], "vpermt2pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x7f, 0x0a], "vpermt2pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x7f, 0x0a], "vpermt2pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x7f, 0x4a, 0x01], "vpermt2pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x7f, 0x4a, 0x01], "vpermt2pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x7f, 0x0a], "vpermt2pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x7f, 0x4a, 0x01], "vpermt2pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x7f, 0x0a], "vpermt2pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x7f, 0x0a], "vpermt2pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x7f, 0x4a, 0x01], "vpermt2pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x7f, 0x4a, 0x01], "vpermt2pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7f, 0xca], "vpermt2pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7f, 0x0a], "vpermt2pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x7f, 0x4a, 0x01], "vpermt2pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7f, 0xca], "vpermt2pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7f, 0xca], "vpermt2pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7f, 0x0a], "vpermt2pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7f, 0x0a], "vpermt2pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x7f, 0x4a, 0x01], "vpermt2pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x7f, 0x4a, 0x01], "vpermt2pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7f, 0xca], "vpermt2pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7f, 0x0a], "vpermt2pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x7f, 0x4a, 0x01], "vpermt2pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7f, 0xca], "vpermt2pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7f, 0xca], "vpermt2pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7f, 0x0a], "vpermt2pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7f, 0x0a], "vpermt2pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x7f, 0x4a, 0x01], "vpermt2pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x7f, 0x4a, 0x01], "vpermt2pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x7f, 0x0a], "vpermt2ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x7f, 0x4a, 0x01], "vpermt2ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x7f, 0x0a], "vpermt2ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x7f, 0x0a], "vpermt2ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x7f, 0x4a, 0x01], "vpermt2ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x7f, 0x4a, 0x01], "vpermt2ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x7f, 0x0a], "vpermt2ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x7f, 0x4a, 0x01], "vpermt2ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x7f, 0x0a], "vpermt2ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x7f, 0x0a], "vpermt2ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x7f, 0x4a, 0x01], "vpermt2ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x7f, 0x4a, 0x01], "vpermt2ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7f, 0xca], "vpermt2ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7f, 0x0a], "vpermt2ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x7f, 0x4a, 0x01], "vpermt2ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7f, 0xca], "vpermt2ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7f, 0xca], "vpermt2ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7f, 0x0a], "vpermt2ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7f, 0x0a], "vpermt2ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x7f, 0x4a, 0x01], "vpermt2ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x7f, 0x4a, 0x01], "vpermt2ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7f, 0xca], "vpermt2ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7f, 0x0a], "vpermt2ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x7f, 0x4a, 0x01], "vpermt2ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7f, 0xca], "vpermt2ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7f, 0xca], "vpermt2ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7f, 0x0a], "vpermt2ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7f, 0x0a], "vpermt2ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x7f, 0x4a, 0x01], "vpermt2ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x7f, 0x4a, 0x01], "vpermt2ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x83, 0x0a], "vpmultishiftqb ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x83, 0x4a, 0x01], "vpmultishiftqb ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x83, 0x0a], "vpmultishiftqb ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x83, 0x0a], "vpmultishiftqb ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x83, 0x4a, 0x01], "vpmultishiftqb ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x83, 0x4a, 0x01], "vpmultishiftqb ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x83, 0xca], "vpmultishiftqb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x83, 0x0a], "vpmultishiftqb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x83, 0x4a, 0x01], "vpmultishiftqb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x83, 0xca], "vpmultishiftqb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x83, 0xca], "vpmultishiftqb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x83, 0x0a], "vpmultishiftqb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x83, 0x0a], "vpmultishiftqb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x83, 0x4a, 0x01], "vpmultishiftqb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x83, 0x4a, 0x01], "vpmultishiftqb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x83, 0x0a], "vpmultishiftqb zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x83, 0x4a, 0x01], "vpmultishiftqb zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x83, 0x0a], "vpmultishiftqb zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x83, 0x0a], "vpmultishiftqb zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x83, 0x4a, 0x01], "vpmultishiftqb zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x83, 0x4a, 0x01], "vpmultishiftqb zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x83, 0x0a], "vpmultishiftqb xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x83, 0x4a, 0x01], "vpmultishiftqb xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x83, 0x0a], "vpmultishiftqb xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x83, 0x0a], "vpmultishiftqb xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x83, 0x4a, 0x01], "vpmultishiftqb xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x83, 0x4a, 0x01], "vpmultishiftqb xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x83, 0xca], "vpmultishiftqb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x83, 0x0a], "vpmultishiftqb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x83, 0x4a, 0x01], "vpmultishiftqb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x83, 0xca], "vpmultishiftqb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x83, 0xca], "vpmultishiftqb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x83, 0x0a], "vpmultishiftqb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x83, 0x0a], "vpmultishiftqb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x83, 0x4a, 0x01], "vpmultishiftqb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x83, 0x4a, 0x01], "vpmultishiftqb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x83, 0xca], "vpmultishiftqb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x83, 0x0a], "vpmultishiftqb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x83, 0x4a, 0x01], "vpmultishiftqb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x83, 0xca], "vpmultishiftqb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x83, 0xca], "vpmultishiftqb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x83, 0x0a], "vpmultishiftqb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x83, 0x0a], "vpmultishiftqb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x83, 0x4a, 0x01], "vpmultishiftqb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x83, 0x4a, 0x01], "vpmultishiftqb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x88, 0xca], "vexpandpd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x88, 0x0a], "vexpandpd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x88, 0x4a, 0x01], "vexpandpd ymm1{k5}{z}, ymmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x88, 0xca], "vexpandpd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x88, 0xca], "vexpandpd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x88, 0x0a], "vexpandpd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x88, 0x0a], "vexpandpd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x88, 0x4a, 0x01], "vexpandpd ymm1, ymmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x88, 0x4a, 0x01], "vexpandpd ymm1{k5}, ymmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x88, 0xca], "vexpandps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x88, 0x0a], "vexpandps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x88, 0x4a, 0x01], "vexpandps ymm1{k5}{z}, ymmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x88, 0xca], "vexpandps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x88, 0xca], "vexpandps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x88, 0x0a], "vexpandps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x88, 0x0a], "vexpandps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x88, 0x4a, 0x01], "vexpandps ymm1, ymmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x88, 0x4a, 0x01], "vexpandps ymm1{k5}, ymmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x88, 0xca], "vexpandpd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x88, 0x0a], "vexpandpd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x88, 0x4a, 0x01], "vexpandpd zmm1{k5}{z}, zmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x88, 0xca], "vexpandpd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x88, 0xca], "vexpandpd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x88, 0x0a], "vexpandpd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x88, 0x0a], "vexpandpd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x88, 0x4a, 0x01], "vexpandpd zmm1, zmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x88, 0x4a, 0x01], "vexpandpd zmm1{k5}, zmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x88, 0xca], "vexpandpd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x88, 0x0a], "vexpandpd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x88, 0x4a, 0x01], "vexpandpd xmm1{k5}{z}, xmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x88, 0xca], "vexpandpd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x88, 0xca], "vexpandpd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x88, 0x0a], "vexpandpd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x88, 0x0a], "vexpandpd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x88, 0x4a, 0x01], "vexpandpd xmm1, xmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x88, 0x4a, 0x01], "vexpandpd xmm1{k5}, xmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x88, 0xca], "vexpandps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x88, 0x0a], "vexpandps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x88, 0x4a, 0x01], "vexpandps zmm1{k5}{z}, zmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x88, 0xca], "vexpandps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x88, 0xca], "vexpandps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x88, 0x0a], "vexpandps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x88, 0x0a], "vexpandps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x88, 0x4a, 0x01], "vexpandps zmm1, zmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x88, 0x4a, 0x01], "vexpandps zmm1{k5}, zmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x88, 0xca], "vexpandps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x88, 0x0a], "vexpandps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x88, 0x4a, 0x01], "vexpandps xmm1{k5}{z}, xmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x88, 0xca], "vexpandps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x88, 0xca], "vexpandps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x88, 0x0a], "vexpandps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x88, 0x0a], "vexpandps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x88, 0x4a, 0x01], "vexpandps xmm1, xmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x88, 0x4a, 0x01], "vexpandps xmm1{k5}, xmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x89, 0xca], "vpexpandq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x89, 0x0a], "vpexpandq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x89, 0x4a, 0x01], "vpexpandq ymm1{k5}{z}, ymmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x89, 0xca], "vpexpandq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x89, 0xca], "vpexpandq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x89, 0x0a], "vpexpandq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x89, 0x0a], "vpexpandq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x89, 0x4a, 0x01], "vpexpandq ymm1, ymmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x89, 0x4a, 0x01], "vpexpandq ymm1{k5}, ymmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x89, 0xca], "vpexpandd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x89, 0x0a], "vpexpandd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x89, 0x4a, 0x01], "vpexpandd ymm1{k5}{z}, ymmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x89, 0xca], "vpexpandd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x89, 0xca], "vpexpandd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x89, 0x0a], "vpexpandd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x89, 0x0a], "vpexpandd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x89, 0x4a, 0x01], "vpexpandd ymm1, ymmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x89, 0x4a, 0x01], "vpexpandd ymm1{k5}, ymmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x89, 0xca], "vpexpandq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x89, 0x0a], "vpexpandq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x89, 0x4a, 0x01], "vpexpandq zmm1{k5}{z}, zmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x89, 0xca], "vpexpandq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x89, 0xca], "vpexpandq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x89, 0x0a], "vpexpandq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x89, 0x0a], "vpexpandq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x89, 0x4a, 0x01], "vpexpandq zmm1, zmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x89, 0x4a, 0x01], "vpexpandq zmm1{k5}, zmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x89, 0xca], "vpexpandq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x89, 0x0a], "vpexpandq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x89, 0x4a, 0x01], "vpexpandq xmm1{k5}{z}, xmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x89, 0xca], "vpexpandq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x89, 0xca], "vpexpandq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x89, 0x0a], "vpexpandq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x89, 0x0a], "vpexpandq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x89, 0x4a, 0x01], "vpexpandq xmm1, xmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x89, 0x4a, 0x01], "vpexpandq xmm1{k5}, xmmword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x89, 0xca], "vpexpandd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x89, 0x0a], "vpexpandd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x89, 0x4a, 0x01], "vpexpandd zmm1{k5}{z}, zmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x89, 0xca], "vpexpandd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x89, 0xca], "vpexpandd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x89, 0x0a], "vpexpandd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x89, 0x0a], "vpexpandd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x89, 0x4a, 0x01], "vpexpandd zmm1, zmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x89, 0x4a, 0x01], "vpexpandd zmm1{k5}, zmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x89, 0xca], "vpexpandd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x89, 0x0a], "vpexpandd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x89, 0x4a, 0x01], "vpexpandd xmm1{k5}{z}, xmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x89, 0xca], "vpexpandd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x89, 0xca], "vpexpandd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x89, 0x0a], "vpexpandd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x89, 0x0a], "vpexpandd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x89, 0x4a, 0x01], "vpexpandd xmm1, xmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x89, 0x4a, 0x01], "vpexpandd xmm1{k5}, xmmword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x8a, 0xca], "vcompresspd ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8a, 0xca], "vcompresspd ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8a, 0xca], "vcompresspd ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8a, 0x0a], "vcompresspd ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8a, 0x0a], "vcompresspd ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8a, 0x4a, 0x01], "vcompresspd ymmword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8a, 0x4a, 0x01], "vcompresspd ymmword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x8a, 0xca], "vcompressps ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8a, 0xca], "vcompressps ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8a, 0xca], "vcompressps ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8a, 0x0a], "vcompressps ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8a, 0x0a], "vcompressps ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8a, 0x4a, 0x01], "vcompressps ymmword [edx + 0x4], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8a, 0x4a, 0x01], "vcompressps ymmword [edx + 0x4]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x8a, 0xca], "vcompresspd zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8a, 0xca], "vcompresspd zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8a, 0xca], "vcompresspd zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8a, 0x0a], "vcompresspd zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8a, 0x0a], "vcompresspd zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8a, 0x4a, 0x01], "vcompresspd zmmword [edx + 0x8], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8a, 0x4a, 0x01], "vcompresspd zmmword [edx + 0x8]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x8a, 0xca], "vcompresspd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8a, 0xca], "vcompresspd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8a, 0xca], "vcompresspd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8a, 0x0a], "vcompresspd xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8a, 0x0a], "vcompresspd xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8a, 0x4a, 0x01], "vcompresspd xmmword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8a, 0x4a, 0x01], "vcompresspd xmmword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x8a, 0xca], "vcompressps zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8a, 0xca], "vcompressps zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8a, 0xca], "vcompressps zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8a, 0x0a], "vcompressps zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8a, 0x0a], "vcompressps zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8a, 0x4a, 0x01], "vcompressps zmmword [edx + 0x4], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8a, 0x4a, 0x01], "vcompressps zmmword [edx + 0x4]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x8a, 0xca], "vcompressps xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8a, 0xca], "vcompressps xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8a, 0xca], "vcompressps xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8a, 0x0a], "vcompressps xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8a, 0x0a], "vcompressps xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8a, 0x4a, 0x01], "vcompressps xmmword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8a, 0x4a, 0x01], "vcompressps xmmword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x8b, 0xca], "vpcompressq ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8b, 0xca], "vpcompressq ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8b, 0xca], "vpcompressq ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8b, 0x0a], "vpcompressq ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8b, 0x0a], "vpcompressq ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8b, 0x4a, 0x01], "vpcompressq ymmword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8b, 0x4a, 0x01], "vpcompressq ymmword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x8b, 0xca], "vpcompressd ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8b, 0xca], "vpcompressd ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8b, 0xca], "vpcompressd ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8b, 0x0a], "vpcompressd ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8b, 0x0a], "vpcompressd ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8b, 0x4a, 0x01], "vpcompressd ymmword [edx + 0x4], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8b, 0x4a, 0x01], "vpcompressd ymmword [edx + 0x4]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x8b, 0xca], "vpcompressq zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8b, 0xca], "vpcompressq zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8b, 0xca], "vpcompressq zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8b, 0x0a], "vpcompressq zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8b, 0x0a], "vpcompressq zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8b, 0x4a, 0x01], "vpcompressq zmmword [edx + 0x8], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8b, 0x4a, 0x01], "vpcompressq zmmword [edx + 0x8]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x8b, 0xca], "vpcompressq xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8b, 0xca], "vpcompressq xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8b, 0xca], "vpcompressq xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8b, 0x0a], "vpcompressq xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8b, 0x0a], "vpcompressq xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8b, 0x4a, 0x01], "vpcompressq xmmword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8b, 0x4a, 0x01], "vpcompressq xmmword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x8b, 0xca], "vpcompressd zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8b, 0xca], "vpcompressd zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8b, 0xca], "vpcompressd zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8b, 0x0a], "vpcompressd zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8b, 0x0a], "vpcompressd zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8b, 0x4a, 0x01], "vpcompressd zmmword [edx + 0x4], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8b, 0x4a, 0x01], "vpcompressd zmmword [edx + 0x4]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x8b, 0xca], "vpcompressd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8b, 0xca], "vpcompressd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8b, 0xca], "vpcompressd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8b, 0x0a], "vpcompressd xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8b, 0x0a], "vpcompressd xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8b, 0x4a, 0x01], "vpcompressd xmmword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8b, 0x4a, 0x01], "vpcompressd xmmword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x8d, 0xca], "vpermw ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x8d, 0x0a], "vpermw ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x8d, 0x4a, 0x01], "vpermw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8d, 0xca], "vpermw ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8d, 0xca], "vpermw ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8d, 0x0a], "vpermw ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8d, 0x0a], "vpermw ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x8d, 0x4a, 0x01], "vpermw ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x8d, 0x4a, 0x01], "vpermw ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x8d, 0xca], "vpermb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x8d, 0x0a], "vpermb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x8d, 0x4a, 0x01], "vpermb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8d, 0xca], "vpermb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8d, 0xca], "vpermb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8d, 0x0a], "vpermb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8d, 0x0a], "vpermb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8d, 0x4a, 0x01], "vpermb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8d, 0x4a, 0x01], "vpermb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x8d, 0xca], "vpermw zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x8d, 0x0a], "vpermw zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x8d, 0x4a, 0x01], "vpermw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8d, 0xca], "vpermw zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8d, 0xca], "vpermw zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8d, 0x0a], "vpermw zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8d, 0x0a], "vpermw zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x8d, 0x4a, 0x01], "vpermw zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x8d, 0x4a, 0x01], "vpermw zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x8d, 0xca], "vpermw xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x8d, 0x0a], "vpermw xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x8d, 0x4a, 0x01], "vpermw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8d, 0xca], "vpermw xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8d, 0xca], "vpermw xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8d, 0x0a], "vpermw xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8d, 0x0a], "vpermw xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x8d, 0x4a, 0x01], "vpermw xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x8d, 0x4a, 0x01], "vpermw xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x8d, 0xca], "vpermb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x8d, 0x0a], "vpermb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x8d, 0x4a, 0x01], "vpermb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8d, 0xca], "vpermb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8d, 0xca], "vpermb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8d, 0x0a], "vpermb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8d, 0x0a], "vpermb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8d, 0x4a, 0x01], "vpermb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8d, 0x4a, 0x01], "vpermb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x8d, 0xca], "vpermb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x8d, 0x0a], "vpermb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x8d, 0x4a, 0x01], "vpermb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8d, 0xca], "vpermb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8d, 0xca], "vpermb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8d, 0x0a], "vpermb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8d, 0x0a], "vpermb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8d, 0x4a, 0x01], "vpermb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8d, 0x4a, 0x01], "vpermb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8f, 0xca], "vpshufbitqmb k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8f, 0xca], "vpshufbitqmb k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8f, 0x0a], "vpshufbitqmb k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8f, 0x0a], "vpshufbitqmb k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x8f, 0x4a, 0x01], "vpshufbitqmb k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x8f, 0x4a, 0x01], "vpshufbitqmb k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8f, 0xca], "vpshufbitqmb k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8f, 0xca], "vpshufbitqmb k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8f, 0x0a], "vpshufbitqmb k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8f, 0x0a], "vpshufbitqmb k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x8f, 0x4a, 0x01], "vpshufbitqmb k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x8f, 0x4a, 0x01], "vpshufbitqmb k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8f, 0xca], "vpshufbitqmb k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8f, 0xca], "vpshufbitqmb k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8f, 0x0a], "vpshufbitqmb k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8f, 0x0a], "vpshufbitqmb k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x8f, 0x4a, 0x01], "vpshufbitqmb k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x8f, 0x4a, 0x01], "vpshufbitqmb k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x96, 0xca], "vfmaddsub132pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x96, 0x0a], "vfmaddsub132pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x96, 0x4a, 0x01], "vfmaddsub132pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x96, 0xca], "vfmaddsub132pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x96, 0x0a], "vfmaddsub132pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x96, 0x0a], "vfmaddsub132pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x96, 0x4a, 0x01], "vfmaddsub132pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x96, 0x4a, 0x01], "vfmaddsub132pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x96, 0xca], "vfmaddsub132pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x96, 0x0a], "vfmaddsub132pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x96, 0x4a, 0x01], "vfmaddsub132pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x96, 0xca], "vfmaddsub132pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x96, 0xca], "vfmaddsub132pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x96, 0x0a], "vfmaddsub132pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x96, 0x0a], "vfmaddsub132pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x96, 0x4a, 0x01], "vfmaddsub132pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x96, 0x4a, 0x01], "vfmaddsub132pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x96, 0xca], "vfmaddsub132ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x96, 0x0a], "vfmaddsub132ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x96, 0x4a, 0x01], "vfmaddsub132ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x96, 0xca], "vfmaddsub132ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x96, 0x0a], "vfmaddsub132ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x96, 0x0a], "vfmaddsub132ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x96, 0x4a, 0x01], "vfmaddsub132ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x96, 0x4a, 0x01], "vfmaddsub132ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x96, 0xca], "vfmaddsub132ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x96, 0x0a], "vfmaddsub132ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x96, 0x4a, 0x01], "vfmaddsub132ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x96, 0xca], "vfmaddsub132ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x96, 0xca], "vfmaddsub132ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x96, 0x0a], "vfmaddsub132ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x96, 0x0a], "vfmaddsub132ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x96, 0x4a, 0x01], "vfmaddsub132ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x96, 0x4a, 0x01], "vfmaddsub132ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x96, 0x0a], "vfmaddsub132pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x96, 0x4a, 0x01], "vfmaddsub132pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x96, 0xca], "vfmaddsub132pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x96, 0x0a], "vfmaddsub132pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x96, 0x0a], "vfmaddsub132pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x96, 0x4a, 0x01], "vfmaddsub132pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x96, 0x4a, 0x01], "vfmaddsub132pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x96, 0x0a], "vfmaddsub132pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x96, 0x4a, 0x01], "vfmaddsub132pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x96, 0xca], "vfmaddsub132pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x96, 0x0a], "vfmaddsub132pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x96, 0x0a], "vfmaddsub132pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x96, 0x4a, 0x01], "vfmaddsub132pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x96, 0x4a, 0x01], "vfmaddsub132pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x96, 0x0a], "vfmaddsub132pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x96, 0x4a, 0x01], "vfmaddsub132pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x96, 0xca], "vfmaddsub132pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x96, 0xca], "vfmaddsub132pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x96, 0x0a], "vfmaddsub132pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x96, 0x0a], "vfmaddsub132pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x96, 0x4a, 0x01], "vfmaddsub132pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x96, 0x4a, 0x01], "vfmaddsub132pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x96, 0xca], "vfmaddsub132pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x96, 0x0a], "vfmaddsub132pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x96, 0x4a, 0x01], "vfmaddsub132pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x96, 0xca], "vfmaddsub132pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x96, 0xca], "vfmaddsub132pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x96, 0x0a], "vfmaddsub132pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x96, 0x0a], "vfmaddsub132pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x96, 0x4a, 0x01], "vfmaddsub132pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x96, 0x4a, 0x01], "vfmaddsub132pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x96, 0x0a], "vfmaddsub132ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x96, 0x4a, 0x01], "vfmaddsub132ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x96, 0xca], "vfmaddsub132ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x96, 0x0a], "vfmaddsub132ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x96, 0x0a], "vfmaddsub132ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x96, 0x4a, 0x01], "vfmaddsub132ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x96, 0x4a, 0x01], "vfmaddsub132ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x96, 0x0a], "vfmaddsub132ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x96, 0x4a, 0x01], "vfmaddsub132ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x96, 0xca], "vfmaddsub132ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x96, 0x0a], "vfmaddsub132ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x96, 0x0a], "vfmaddsub132ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x96, 0x4a, 0x01], "vfmaddsub132ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x96, 0x4a, 0x01], "vfmaddsub132ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x96, 0x0a], "vfmaddsub132ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x96, 0x4a, 0x01], "vfmaddsub132ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x96, 0xca], "vfmaddsub132ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x96, 0xca], "vfmaddsub132ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x96, 0x0a], "vfmaddsub132ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x96, 0x0a], "vfmaddsub132ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x96, 0x4a, 0x01], "vfmaddsub132ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x96, 0x4a, 0x01], "vfmaddsub132ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x96, 0xca], "vfmaddsub132ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x96, 0x0a], "vfmaddsub132ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x96, 0x4a, 0x01], "vfmaddsub132ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x96, 0xca], "vfmaddsub132ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x96, 0xca], "vfmaddsub132ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x96, 0x0a], "vfmaddsub132ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x96, 0x0a], "vfmaddsub132ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x96, 0x4a, 0x01], "vfmaddsub132ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x96, 0x4a, 0x01], "vfmaddsub132ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x97, 0xca], "vfmsubadd132pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x97, 0x0a], "vfmsubadd132pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x97, 0x4a, 0x01], "vfmsubadd132pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x97, 0xca], "vfmsubadd132pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x97, 0x0a], "vfmsubadd132pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x97, 0x0a], "vfmsubadd132pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x97, 0x4a, 0x01], "vfmsubadd132pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x97, 0x4a, 0x01], "vfmsubadd132pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x97, 0xca], "vfmsubadd132pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x97, 0x0a], "vfmsubadd132pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x97, 0x4a, 0x01], "vfmsubadd132pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x97, 0xca], "vfmsubadd132pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x97, 0xca], "vfmsubadd132pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x97, 0x0a], "vfmsubadd132pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x97, 0x0a], "vfmsubadd132pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x97, 0x4a, 0x01], "vfmsubadd132pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x97, 0x4a, 0x01], "vfmsubadd132pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x97, 0xca], "vfmsubadd132ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x97, 0x0a], "vfmsubadd132ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x97, 0x4a, 0x01], "vfmsubadd132ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x97, 0xca], "vfmsubadd132ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x97, 0x0a], "vfmsubadd132ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x97, 0x0a], "vfmsubadd132ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x97, 0x4a, 0x01], "vfmsubadd132ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x97, 0x4a, 0x01], "vfmsubadd132ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x97, 0xca], "vfmsubadd132ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x97, 0x0a], "vfmsubadd132ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x97, 0x4a, 0x01], "vfmsubadd132ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x97, 0xca], "vfmsubadd132ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x97, 0xca], "vfmsubadd132ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x97, 0x0a], "vfmsubadd132ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x97, 0x0a], "vfmsubadd132ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x97, 0x4a, 0x01], "vfmsubadd132ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x97, 0x4a, 0x01], "vfmsubadd132ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x97, 0x0a], "vfmsubadd132pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x97, 0x4a, 0x01], "vfmsubadd132pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x97, 0xca], "vfmsubadd132pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x97, 0x0a], "vfmsubadd132pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x97, 0x0a], "vfmsubadd132pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x97, 0x4a, 0x01], "vfmsubadd132pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x97, 0x4a, 0x01], "vfmsubadd132pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x97, 0x0a], "vfmsubadd132pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x97, 0x4a, 0x01], "vfmsubadd132pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x97, 0xca], "vfmsubadd132pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x97, 0x0a], "vfmsubadd132pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x97, 0x0a], "vfmsubadd132pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x97, 0x4a, 0x01], "vfmsubadd132pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x97, 0x4a, 0x01], "vfmsubadd132pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x97, 0x0a], "vfmsubadd132pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x97, 0x4a, 0x01], "vfmsubadd132pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x97, 0xca], "vfmsubadd132pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x97, 0xca], "vfmsubadd132pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x97, 0x0a], "vfmsubadd132pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x97, 0x0a], "vfmsubadd132pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x97, 0x4a, 0x01], "vfmsubadd132pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x97, 0x4a, 0x01], "vfmsubadd132pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x97, 0xca], "vfmsubadd132pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x97, 0x0a], "vfmsubadd132pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x97, 0x4a, 0x01], "vfmsubadd132pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x97, 0xca], "vfmsubadd132pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x97, 0xca], "vfmsubadd132pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x97, 0x0a], "vfmsubadd132pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x97, 0x0a], "vfmsubadd132pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x97, 0x4a, 0x01], "vfmsubadd132pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x97, 0x4a, 0x01], "vfmsubadd132pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x97, 0x0a], "vfmsubadd132ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x97, 0x4a, 0x01], "vfmsubadd132ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x97, 0xca], "vfmsubadd132ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x97, 0x0a], "vfmsubadd132ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x97, 0x0a], "vfmsubadd132ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x97, 0x4a, 0x01], "vfmsubadd132ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x97, 0x4a, 0x01], "vfmsubadd132ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x97, 0x0a], "vfmsubadd132ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x97, 0x4a, 0x01], "vfmsubadd132ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x97, 0xca], "vfmsubadd132ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x97, 0x0a], "vfmsubadd132ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x97, 0x0a], "vfmsubadd132ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x97, 0x4a, 0x01], "vfmsubadd132ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x97, 0x4a, 0x01], "vfmsubadd132ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x97, 0x0a], "vfmsubadd132ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x97, 0x4a, 0x01], "vfmsubadd132ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x97, 0xca], "vfmsubadd132ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x97, 0xca], "vfmsubadd132ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x97, 0x0a], "vfmsubadd132ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x97, 0x0a], "vfmsubadd132ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x97, 0x4a, 0x01], "vfmsubadd132ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x97, 0x4a, 0x01], "vfmsubadd132ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x97, 0xca], "vfmsubadd132ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x97, 0x0a], "vfmsubadd132ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x97, 0x4a, 0x01], "vfmsubadd132ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x97, 0xca], "vfmsubadd132ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x97, 0xca], "vfmsubadd132ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x97, 0x0a], "vfmsubadd132ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x97, 0x0a], "vfmsubadd132ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x97, 0x4a, 0x01], "vfmsubadd132ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x97, 0x4a, 0x01], "vfmsubadd132ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x98, 0xca], "vfmadd132pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x98, 0xca], "vfmadd132pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x98, 0xca], "vfmadd132pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x98, 0xca], "vfmadd132pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x98, 0x0a], "vfmadd132pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x98, 0x4a, 0x01], "vfmadd132pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x98, 0xca], "vfmadd132pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x98, 0xca], "vfmadd132pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x98, 0x0a], "vfmadd132pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x98, 0x0a], "vfmadd132pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x98, 0x4a, 0x01], "vfmadd132pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x98, 0x4a, 0x01], "vfmadd132pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x98, 0xca], "vfmadd132pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x98, 0x0a], "vfmadd132pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x98, 0x4a, 0x01], "vfmadd132pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x98, 0xca], "vfmadd132pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x98, 0xca], "vfmadd132pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x98, 0x0a], "vfmadd132pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x98, 0x0a], "vfmadd132pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x98, 0x4a, 0x01], "vfmadd132pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x98, 0x4a, 0x01], "vfmadd132pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x98, 0xca], "vfmadd132ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x98, 0xca], "vfmadd132ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x98, 0xca], "vfmadd132ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x98, 0xca], "vfmadd132ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x98, 0x0a], "vfmadd132ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x98, 0x4a, 0x01], "vfmadd132ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x98, 0xca], "vfmadd132ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x98, 0xca], "vfmadd132ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x98, 0x0a], "vfmadd132ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x98, 0x0a], "vfmadd132ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x98, 0x4a, 0x01], "vfmadd132ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x98, 0x4a, 0x01], "vfmadd132ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x98, 0xca], "vfmadd132ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x98, 0x0a], "vfmadd132ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x98, 0x4a, 0x01], "vfmadd132ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x98, 0xca], "vfmadd132ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x98, 0xca], "vfmadd132ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x98, 0x0a], "vfmadd132ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x98, 0x0a], "vfmadd132ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x98, 0x4a, 0x01], "vfmadd132ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x98, 0x4a, 0x01], "vfmadd132ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x98, 0xca], "vfmadd132pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x98, 0x0a], "vfmadd132pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x98, 0x4a, 0x01], "vfmadd132pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x98, 0xca], "vfmadd132pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x98, 0xca], "vfmadd132pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x98, 0x0a], "vfmadd132pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x98, 0x0a], "vfmadd132pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x98, 0x4a, 0x01], "vfmadd132pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x98, 0x4a, 0x01], "vfmadd132pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x98, 0xca], "vfmadd132pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x98, 0x0a], "vfmadd132pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x98, 0x4a, 0x01], "vfmadd132pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x98, 0xca], "vfmadd132pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x98, 0xca], "vfmadd132pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x98, 0x0a], "vfmadd132pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x98, 0x0a], "vfmadd132pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x98, 0x4a, 0x01], "vfmadd132pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x98, 0x4a, 0x01], "vfmadd132pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x98, 0xca], "vfmadd132pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x98, 0x0a], "vfmadd132pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x98, 0x4a, 0x01], "vfmadd132pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x98, 0xca], "vfmadd132pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x98, 0xca], "vfmadd132pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x98, 0x0a], "vfmadd132pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x98, 0x0a], "vfmadd132pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x98, 0x4a, 0x01], "vfmadd132pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x98, 0x4a, 0x01], "vfmadd132pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x98, 0xca], "vfmadd132pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x98, 0x0a], "vfmadd132pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x98, 0x4a, 0x01], "vfmadd132pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x98, 0xca], "vfmadd132pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x98, 0xca], "vfmadd132pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x98, 0x0a], "vfmadd132pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x98, 0x0a], "vfmadd132pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x98, 0x4a, 0x01], "vfmadd132pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x98, 0x4a, 0x01], "vfmadd132pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x98, 0xca], "vfmadd132ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x98, 0x0a], "vfmadd132ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x98, 0x4a, 0x01], "vfmadd132ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x98, 0xca], "vfmadd132ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x98, 0xca], "vfmadd132ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x98, 0x0a], "vfmadd132ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x98, 0x0a], "vfmadd132ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x98, 0x4a, 0x01], "vfmadd132ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x98, 0x4a, 0x01], "vfmadd132ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x98, 0xca], "vfmadd132ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x98, 0x0a], "vfmadd132ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x98, 0x4a, 0x01], "vfmadd132ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x98, 0xca], "vfmadd132ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x98, 0xca], "vfmadd132ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x98, 0x0a], "vfmadd132ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x98, 0x0a], "vfmadd132ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x98, 0x4a, 0x01], "vfmadd132ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x98, 0x4a, 0x01], "vfmadd132ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x98, 0xca], "vfmadd132ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x98, 0x0a], "vfmadd132ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x98, 0x4a, 0x01], "vfmadd132ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x98, 0xca], "vfmadd132ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x98, 0xca], "vfmadd132ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x98, 0x0a], "vfmadd132ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x98, 0x0a], "vfmadd132ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x98, 0x4a, 0x01], "vfmadd132ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x98, 0x4a, 0x01], "vfmadd132ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x98, 0xca], "vfmadd132ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x98, 0x0a], "vfmadd132ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x98, 0x4a, 0x01], "vfmadd132ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x98, 0xca], "vfmadd132ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x98, 0xca], "vfmadd132ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x98, 0x0a], "vfmadd132ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x98, 0x0a], "vfmadd132ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x98, 0x4a, 0x01], "vfmadd132ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x98, 0x4a, 0x01], "vfmadd132ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x99, 0xca], "vfmadd132sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x99, 0xca], "vfmadd132sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x99, 0xca], "vfmadd132sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x99, 0xca], "vfmadd132sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x99, 0xca], "vfmadd132sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x99, 0xca], "vfmadd132sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x99, 0xca], "vfmadd132sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x99, 0x0a], "vfmadd132sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x99, 0x4a, 0x01], "vfmadd132sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x99, 0xca], "vfmadd132sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x99, 0xca], "vfmadd132sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x99, 0x0a], "vfmadd132sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x99, 0x0a], "vfmadd132sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x99, 0x4a, 0x01], "vfmadd132sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x99, 0x4a, 0x01], "vfmadd132sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x99, 0xca], "vfmadd132ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x99, 0xca], "vfmadd132ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x99, 0xca], "vfmadd132ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x99, 0xca], "vfmadd132ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x99, 0xca], "vfmadd132ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x99, 0xca], "vfmadd132ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x99, 0xca], "vfmadd132ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x99, 0x0a], "vfmadd132ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x99, 0x4a, 0x01], "vfmadd132ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x99, 0xca], "vfmadd132ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x99, 0xca], "vfmadd132ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x99, 0x0a], "vfmadd132ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x99, 0x0a], "vfmadd132ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x99, 0x4a, 0x01], "vfmadd132ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x99, 0x4a, 0x01], "vfmadd132ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x99, 0xca], "vfmadd132sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x99, 0xca], "vfmadd132sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x99, 0xca], "vfmadd132sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x99, 0xca], "vfmadd132sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x99, 0xca], "vfmadd132sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x99, 0xca], "vfmadd132sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x99, 0xca], "vfmadd132ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x99, 0xca], "vfmadd132ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x99, 0xca], "vfmadd132ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x99, 0xca], "vfmadd132ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x99, 0xca], "vfmadd132ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x99, 0xca], "vfmadd132ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x9a, 0xca], "vfmsub132pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9a, 0x0a], "vfmsub132pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9a, 0x4a, 0x01], "vfmsub132pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9a, 0xca], "vfmsub132pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9a, 0x0a], "vfmsub132pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9a, 0x0a], "vfmsub132pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9a, 0x4a, 0x01], "vfmsub132pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9a, 0x4a, 0x01], "vfmsub132pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9a, 0xca], "vfmsub132pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9a, 0x0a], "vfmsub132pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9a, 0x4a, 0x01], "vfmsub132pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9a, 0xca], "vfmsub132pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9a, 0xca], "vfmsub132pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9a, 0x0a], "vfmsub132pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9a, 0x0a], "vfmsub132pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9a, 0x4a, 0x01], "vfmsub132pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9a, 0x4a, 0x01], "vfmsub132pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x9a, 0xca], "vfmsub132ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9a, 0x0a], "vfmsub132ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9a, 0x4a, 0x01], "vfmsub132ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9a, 0xca], "vfmsub132ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9a, 0x0a], "vfmsub132ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9a, 0x0a], "vfmsub132ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9a, 0x4a, 0x01], "vfmsub132ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9a, 0x4a, 0x01], "vfmsub132ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9a, 0xca], "vfmsub132ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9a, 0x0a], "vfmsub132ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9a, 0x4a, 0x01], "vfmsub132ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9a, 0xca], "vfmsub132ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9a, 0xca], "vfmsub132ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9a, 0x0a], "vfmsub132ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9a, 0x0a], "vfmsub132ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9a, 0x4a, 0x01], "vfmsub132ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9a, 0x4a, 0x01], "vfmsub132ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9a, 0x0a], "vfmsub132pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9a, 0x4a, 0x01], "vfmsub132pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9a, 0xca], "vfmsub132pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9a, 0x0a], "vfmsub132pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9a, 0x0a], "vfmsub132pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9a, 0x4a, 0x01], "vfmsub132pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9a, 0x4a, 0x01], "vfmsub132pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9a, 0x0a], "vfmsub132pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9a, 0x4a, 0x01], "vfmsub132pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9a, 0xca], "vfmsub132pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9a, 0x0a], "vfmsub132pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9a, 0x0a], "vfmsub132pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9a, 0x4a, 0x01], "vfmsub132pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9a, 0x4a, 0x01], "vfmsub132pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9a, 0xca], "vfmsub132pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9a, 0x0a], "vfmsub132pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9a, 0x4a, 0x01], "vfmsub132pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9a, 0xca], "vfmsub132pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9a, 0xca], "vfmsub132pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9a, 0x0a], "vfmsub132pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9a, 0x0a], "vfmsub132pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9a, 0x4a, 0x01], "vfmsub132pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9a, 0x4a, 0x01], "vfmsub132pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9a, 0xca], "vfmsub132pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9a, 0x0a], "vfmsub132pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9a, 0x4a, 0x01], "vfmsub132pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9a, 0xca], "vfmsub132pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9a, 0xca], "vfmsub132pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9a, 0x0a], "vfmsub132pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9a, 0x0a], "vfmsub132pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9a, 0x4a, 0x01], "vfmsub132pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9a, 0x4a, 0x01], "vfmsub132pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9a, 0x0a], "vfmsub132ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9a, 0x4a, 0x01], "vfmsub132ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9a, 0xca], "vfmsub132ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9a, 0x0a], "vfmsub132ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9a, 0x0a], "vfmsub132ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9a, 0x4a, 0x01], "vfmsub132ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9a, 0x4a, 0x01], "vfmsub132ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9a, 0x0a], "vfmsub132ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9a, 0x4a, 0x01], "vfmsub132ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9a, 0xca], "vfmsub132ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9a, 0x0a], "vfmsub132ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9a, 0x0a], "vfmsub132ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9a, 0x4a, 0x01], "vfmsub132ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9a, 0x4a, 0x01], "vfmsub132ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9a, 0xca], "vfmsub132ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9a, 0x0a], "vfmsub132ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9a, 0x4a, 0x01], "vfmsub132ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9a, 0xca], "vfmsub132ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9a, 0xca], "vfmsub132ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9a, 0x0a], "vfmsub132ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9a, 0x0a], "vfmsub132ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9a, 0x4a, 0x01], "vfmsub132ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9a, 0x4a, 0x01], "vfmsub132ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9a, 0xca], "vfmsub132ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9a, 0x0a], "vfmsub132ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9a, 0x4a, 0x01], "vfmsub132ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9a, 0xca], "vfmsub132ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9a, 0xca], "vfmsub132ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9a, 0x0a], "vfmsub132ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9a, 0x0a], "vfmsub132ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9a, 0x4a, 0x01], "vfmsub132ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9a, 0x4a, 0x01], "vfmsub132ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x9b, 0xca], "vfmsub132sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9b, 0xca], "vfmsub132sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9b, 0x0a], "vfmsub132sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9b, 0x4a, 0x01], "vfmsub132sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9b, 0xca], "vfmsub132sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9b, 0xca], "vfmsub132sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9b, 0x0a], "vfmsub132sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9b, 0x0a], "vfmsub132sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9b, 0x4a, 0x01], "vfmsub132sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9b, 0x4a, 0x01], "vfmsub132sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x9b, 0xca], "vfmsub132ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9b, 0xca], "vfmsub132ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9b, 0x0a], "vfmsub132ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9b, 0x4a, 0x01], "vfmsub132ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9b, 0xca], "vfmsub132ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9b, 0xca], "vfmsub132ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9b, 0x0a], "vfmsub132ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9b, 0x0a], "vfmsub132ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9b, 0x4a, 0x01], "vfmsub132ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9b, 0x4a, 0x01], "vfmsub132ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9b, 0xca], "vfmsub132sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9b, 0xca], "vfmsub132sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9b, 0xca], "vfmsub132sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9b, 0xca], "vfmsub132ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9b, 0xca], "vfmsub132ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9b, 0xca], "vfmsub132ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x9c, 0xca], "vfnmadd132pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9c, 0x0a], "vfnmadd132pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9c, 0x4a, 0x01], "vfnmadd132pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9c, 0xca], "vfnmadd132pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9c, 0x0a], "vfnmadd132pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9c, 0x0a], "vfnmadd132pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9c, 0x4a, 0x01], "vfnmadd132pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9c, 0x4a, 0x01], "vfnmadd132pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9c, 0xca], "vfnmadd132pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9c, 0x0a], "vfnmadd132pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9c, 0x4a, 0x01], "vfnmadd132pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9c, 0xca], "vfnmadd132pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9c, 0xca], "vfnmadd132pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9c, 0x0a], "vfnmadd132pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9c, 0x0a], "vfnmadd132pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9c, 0x4a, 0x01], "vfnmadd132pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9c, 0x4a, 0x01], "vfnmadd132pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x9c, 0xca], "vfnmadd132ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9c, 0x0a], "vfnmadd132ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9c, 0x4a, 0x01], "vfnmadd132ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9c, 0xca], "vfnmadd132ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9c, 0x0a], "vfnmadd132ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9c, 0x0a], "vfnmadd132ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9c, 0x4a, 0x01], "vfnmadd132ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9c, 0x4a, 0x01], "vfnmadd132ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9c, 0xca], "vfnmadd132ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9c, 0x0a], "vfnmadd132ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9c, 0x4a, 0x01], "vfnmadd132ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9c, 0xca], "vfnmadd132ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9c, 0xca], "vfnmadd132ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9c, 0x0a], "vfnmadd132ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9c, 0x0a], "vfnmadd132ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9c, 0x4a, 0x01], "vfnmadd132ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9c, 0x4a, 0x01], "vfnmadd132ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9c, 0x0a], "vfnmadd132pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9c, 0x4a, 0x01], "vfnmadd132pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9c, 0xca], "vfnmadd132pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9c, 0x0a], "vfnmadd132pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9c, 0x0a], "vfnmadd132pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9c, 0x4a, 0x01], "vfnmadd132pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9c, 0x4a, 0x01], "vfnmadd132pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9c, 0x0a], "vfnmadd132pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9c, 0x4a, 0x01], "vfnmadd132pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9c, 0xca], "vfnmadd132pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9c, 0x0a], "vfnmadd132pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9c, 0x0a], "vfnmadd132pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9c, 0x4a, 0x01], "vfnmadd132pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9c, 0x4a, 0x01], "vfnmadd132pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9c, 0x0a], "vfnmadd132pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9c, 0x4a, 0x01], "vfnmadd132pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9c, 0xca], "vfnmadd132pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9c, 0xca], "vfnmadd132pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9c, 0x0a], "vfnmadd132pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9c, 0x0a], "vfnmadd132pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9c, 0x4a, 0x01], "vfnmadd132pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9c, 0x4a, 0x01], "vfnmadd132pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9c, 0xca], "vfnmadd132pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9c, 0x0a], "vfnmadd132pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9c, 0x4a, 0x01], "vfnmadd132pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9c, 0xca], "vfnmadd132pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9c, 0xca], "vfnmadd132pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9c, 0x0a], "vfnmadd132pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9c, 0x0a], "vfnmadd132pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9c, 0x4a, 0x01], "vfnmadd132pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9c, 0x4a, 0x01], "vfnmadd132pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9c, 0x0a], "vfnmadd132ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9c, 0x4a, 0x01], "vfnmadd132ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9c, 0xca], "vfnmadd132ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9c, 0x0a], "vfnmadd132ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9c, 0x0a], "vfnmadd132ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9c, 0x4a, 0x01], "vfnmadd132ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9c, 0x4a, 0x01], "vfnmadd132ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9c, 0x0a], "vfnmadd132ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9c, 0x4a, 0x01], "vfnmadd132ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9c, 0xca], "vfnmadd132ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9c, 0x0a], "vfnmadd132ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9c, 0x0a], "vfnmadd132ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9c, 0x4a, 0x01], "vfnmadd132ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9c, 0x4a, 0x01], "vfnmadd132ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9c, 0x0a], "vfnmadd132ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9c, 0x4a, 0x01], "vfnmadd132ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9c, 0xca], "vfnmadd132ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9c, 0xca], "vfnmadd132ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9c, 0x0a], "vfnmadd132ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9c, 0x0a], "vfnmadd132ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9c, 0x4a, 0x01], "vfnmadd132ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9c, 0x4a, 0x01], "vfnmadd132ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9c, 0xca], "vfnmadd132ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9c, 0x0a], "vfnmadd132ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9c, 0x4a, 0x01], "vfnmadd132ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9c, 0xca], "vfnmadd132ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9c, 0xca], "vfnmadd132ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9c, 0x0a], "vfnmadd132ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9c, 0x0a], "vfnmadd132ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9c, 0x4a, 0x01], "vfnmadd132ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9c, 0x4a, 0x01], "vfnmadd132ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x9d, 0xca], "vfnmadd132sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9d, 0xca], "vfnmadd132sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9d, 0x0a], "vfnmadd132sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9d, 0x4a, 0x01], "vfnmadd132sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9d, 0xca], "vfnmadd132sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9d, 0x0a], "vfnmadd132sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9d, 0x0a], "vfnmadd132sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9d, 0x4a, 0x01], "vfnmadd132sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9d, 0x4a, 0x01], "vfnmadd132sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x9d, 0xca], "vfnmadd132ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9d, 0xca], "vfnmadd132ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9d, 0x0a], "vfnmadd132ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9d, 0x4a, 0x01], "vfnmadd132ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9d, 0xca], "vfnmadd132ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9d, 0x0a], "vfnmadd132ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9d, 0x0a], "vfnmadd132ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9d, 0x4a, 0x01], "vfnmadd132ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9d, 0x4a, 0x01], "vfnmadd132ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9d, 0xca], "vfnmadd132sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9d, 0xca], "vfnmadd132sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9d, 0xca], "vfnmadd132sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9d, 0xca], "vfnmadd132ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9d, 0xca], "vfnmadd132ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9d, 0xca], "vfnmadd132ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x9e, 0xca], "vfnmsub132pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9e, 0x0a], "vfnmsub132pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9e, 0x4a, 0x01], "vfnmsub132pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9e, 0xca], "vfnmsub132pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9e, 0x0a], "vfnmsub132pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9e, 0x0a], "vfnmsub132pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9e, 0x4a, 0x01], "vfnmsub132pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9e, 0x4a, 0x01], "vfnmsub132pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9e, 0xca], "vfnmsub132pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9e, 0x0a], "vfnmsub132pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9e, 0x4a, 0x01], "vfnmsub132pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9e, 0xca], "vfnmsub132pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9e, 0xca], "vfnmsub132pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9e, 0x0a], "vfnmsub132pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9e, 0x0a], "vfnmsub132pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9e, 0x4a, 0x01], "vfnmsub132pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9e, 0x4a, 0x01], "vfnmsub132pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x9e, 0xca], "vfnmsub132ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9e, 0x0a], "vfnmsub132ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9e, 0x4a, 0x01], "vfnmsub132ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9e, 0xca], "vfnmsub132ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9e, 0x0a], "vfnmsub132ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9e, 0x0a], "vfnmsub132ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9e, 0x4a, 0x01], "vfnmsub132ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9e, 0x4a, 0x01], "vfnmsub132ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9e, 0xca], "vfnmsub132ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9e, 0x0a], "vfnmsub132ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9e, 0x4a, 0x01], "vfnmsub132ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9e, 0xca], "vfnmsub132ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9e, 0xca], "vfnmsub132ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9e, 0x0a], "vfnmsub132ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9e, 0x0a], "vfnmsub132ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9e, 0x4a, 0x01], "vfnmsub132ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9e, 0x4a, 0x01], "vfnmsub132ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9e, 0x0a], "vfnmsub132pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9e, 0x4a, 0x01], "vfnmsub132pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9e, 0xca], "vfnmsub132pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9e, 0x0a], "vfnmsub132pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9e, 0x0a], "vfnmsub132pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9e, 0x4a, 0x01], "vfnmsub132pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9e, 0x4a, 0x01], "vfnmsub132pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9e, 0x0a], "vfnmsub132pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9e, 0x4a, 0x01], "vfnmsub132pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9e, 0xca], "vfnmsub132pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9e, 0x0a], "vfnmsub132pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9e, 0x0a], "vfnmsub132pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9e, 0x4a, 0x01], "vfnmsub132pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9e, 0x4a, 0x01], "vfnmsub132pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9e, 0x0a], "vfnmsub132pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0x9e, 0x4a, 0x01], "vfnmsub132pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9e, 0xca], "vfnmsub132pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9e, 0xca], "vfnmsub132pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9e, 0x0a], "vfnmsub132pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9e, 0x0a], "vfnmsub132pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0x9e, 0x4a, 0x01], "vfnmsub132pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0x9e, 0x4a, 0x01], "vfnmsub132pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9e, 0xca], "vfnmsub132pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9e, 0x0a], "vfnmsub132pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0x9e, 0x4a, 0x01], "vfnmsub132pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9e, 0xca], "vfnmsub132pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9e, 0xca], "vfnmsub132pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9e, 0x0a], "vfnmsub132pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9e, 0x0a], "vfnmsub132pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0x9e, 0x4a, 0x01], "vfnmsub132pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0x9e, 0x4a, 0x01], "vfnmsub132pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9e, 0x0a], "vfnmsub132ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9e, 0x4a, 0x01], "vfnmsub132ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9e, 0xca], "vfnmsub132ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9e, 0x0a], "vfnmsub132ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9e, 0x0a], "vfnmsub132ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9e, 0x4a, 0x01], "vfnmsub132ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9e, 0x4a, 0x01], "vfnmsub132ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9e, 0x0a], "vfnmsub132ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9e, 0x4a, 0x01], "vfnmsub132ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9e, 0xca], "vfnmsub132ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9e, 0x0a], "vfnmsub132ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9e, 0x0a], "vfnmsub132ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9e, 0x4a, 0x01], "vfnmsub132ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9e, 0x4a, 0x01], "vfnmsub132ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9e, 0x0a], "vfnmsub132ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0x9e, 0x4a, 0x01], "vfnmsub132ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9e, 0xca], "vfnmsub132ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9e, 0xca], "vfnmsub132ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9e, 0x0a], "vfnmsub132ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9e, 0x0a], "vfnmsub132ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0x9e, 0x4a, 0x01], "vfnmsub132ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0x9e, 0x4a, 0x01], "vfnmsub132ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9e, 0xca], "vfnmsub132ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9e, 0x0a], "vfnmsub132ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0x9e, 0x4a, 0x01], "vfnmsub132ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9e, 0xca], "vfnmsub132ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9e, 0xca], "vfnmsub132ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9e, 0x0a], "vfnmsub132ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9e, 0x0a], "vfnmsub132ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0x9e, 0x4a, 0x01], "vfnmsub132ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0x9e, 0x4a, 0x01], "vfnmsub132ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0x9f, 0xca], "vfnmsub132sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0x9f, 0xca], "vfnmsub132sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9f, 0x0a], "vfnmsub132sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0x9f, 0x4a, 0x01], "vfnmsub132sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9f, 0xca], "vfnmsub132sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9f, 0x0a], "vfnmsub132sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9f, 0x0a], "vfnmsub132sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0x9f, 0x4a, 0x01], "vfnmsub132sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0x9f, 0x4a, 0x01], "vfnmsub132sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0x9f, 0xca], "vfnmsub132ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0x9f, 0xca], "vfnmsub132ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9f, 0x0a], "vfnmsub132ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0x9f, 0x4a, 0x01], "vfnmsub132ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9f, 0xca], "vfnmsub132ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9f, 0x0a], "vfnmsub132ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9f, 0x0a], "vfnmsub132ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0x9f, 0x4a, 0x01], "vfnmsub132ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0x9f, 0x4a, 0x01], "vfnmsub132ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0x9f, 0xca], "vfnmsub132sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0x9f, 0xca], "vfnmsub132sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0x9f, 0xca], "vfnmsub132sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0x9f, 0xca], "vfnmsub132ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0x9f, 0xca], "vfnmsub132ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0x9f, 0xca], "vfnmsub132ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xa6, 0xca], "vfmaddsub213pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa6, 0x0a], "vfmaddsub213pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa6, 0x4a, 0x01], "vfmaddsub213pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa6, 0xca], "vfmaddsub213pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa6, 0x0a], "vfmaddsub213pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa6, 0x0a], "vfmaddsub213pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa6, 0x4a, 0x01], "vfmaddsub213pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa6, 0xca], "vfmaddsub213pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa6, 0x0a], "vfmaddsub213pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa6, 0x4a, 0x01], "vfmaddsub213pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa6, 0xca], "vfmaddsub213pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa6, 0xca], "vfmaddsub213pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa6, 0x0a], "vfmaddsub213pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa6, 0x0a], "vfmaddsub213pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa6, 0x4a, 0x01], "vfmaddsub213pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xa6, 0xca], "vfmaddsub213ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa6, 0x0a], "vfmaddsub213ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa6, 0x4a, 0x01], "vfmaddsub213ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa6, 0xca], "vfmaddsub213ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa6, 0x0a], "vfmaddsub213ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa6, 0x0a], "vfmaddsub213ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa6, 0x4a, 0x01], "vfmaddsub213ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa6, 0xca], "vfmaddsub213ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa6, 0x0a], "vfmaddsub213ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa6, 0x4a, 0x01], "vfmaddsub213ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa6, 0xca], "vfmaddsub213ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa6, 0xca], "vfmaddsub213ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa6, 0x0a], "vfmaddsub213ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa6, 0x0a], "vfmaddsub213ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa6, 0x4a, 0x01], "vfmaddsub213ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa6, 0x0a], "vfmaddsub213pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa6, 0x4a, 0x01], "vfmaddsub213pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa6, 0xca], "vfmaddsub213pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa6, 0x0a], "vfmaddsub213pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa6, 0x0a], "vfmaddsub213pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa6, 0x4a, 0x01], "vfmaddsub213pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa6, 0x0a], "vfmaddsub213pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa6, 0xca], "vfmaddsub213pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa6, 0x0a], "vfmaddsub213pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa6, 0x0a], "vfmaddsub213pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa6, 0x4a, 0x01], "vfmaddsub213pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa6, 0x0a], "vfmaddsub213pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa6, 0x4a, 0x01], "vfmaddsub213pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa6, 0xca], "vfmaddsub213pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa6, 0xca], "vfmaddsub213pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa6, 0x0a], "vfmaddsub213pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa6, 0x0a], "vfmaddsub213pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa6, 0x4a, 0x01], "vfmaddsub213pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa6, 0xca], "vfmaddsub213pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa6, 0x0a], "vfmaddsub213pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa6, 0xca], "vfmaddsub213pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa6, 0xca], "vfmaddsub213pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa6, 0x0a], "vfmaddsub213pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa6, 0x0a], "vfmaddsub213pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa6, 0x4a, 0x01], "vfmaddsub213pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa6, 0x4a, 0x01], "vfmaddsub213pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa6, 0x0a], "vfmaddsub213ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa6, 0x4a, 0x01], "vfmaddsub213ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa6, 0xca], "vfmaddsub213ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa6, 0x0a], "vfmaddsub213ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa6, 0x0a], "vfmaddsub213ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa6, 0x4a, 0x01], "vfmaddsub213ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa6, 0x0a], "vfmaddsub213ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa6, 0xca], "vfmaddsub213ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa6, 0x0a], "vfmaddsub213ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa6, 0x0a], "vfmaddsub213ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa6, 0x4a, 0x01], "vfmaddsub213ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa6, 0x0a], "vfmaddsub213ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa6, 0x4a, 0x01], "vfmaddsub213ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa6, 0xca], "vfmaddsub213ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa6, 0xca], "vfmaddsub213ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa6, 0x0a], "vfmaddsub213ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa6, 0x0a], "vfmaddsub213ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa6, 0x4a, 0x01], "vfmaddsub213ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa6, 0xca], "vfmaddsub213ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa6, 0x0a], "vfmaddsub213ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa6, 0xca], "vfmaddsub213ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa6, 0xca], "vfmaddsub213ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa6, 0x0a], "vfmaddsub213ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa6, 0x0a], "vfmaddsub213ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa6, 0x4a, 0x01], "vfmaddsub213ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa6, 0x4a, 0x01], "vfmaddsub213ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xa7, 0xca], "vfmsubadd213pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa7, 0x0a], "vfmsubadd213pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa7, 0x4a, 0x01], "vfmsubadd213pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa7, 0xca], "vfmsubadd213pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa7, 0x0a], "vfmsubadd213pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa7, 0x0a], "vfmsubadd213pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa7, 0x4a, 0x01], "vfmsubadd213pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa7, 0xca], "vfmsubadd213pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa7, 0x0a], "vfmsubadd213pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa7, 0x4a, 0x01], "vfmsubadd213pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa7, 0xca], "vfmsubadd213pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa7, 0xca], "vfmsubadd213pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa7, 0x0a], "vfmsubadd213pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa7, 0x0a], "vfmsubadd213pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa7, 0x4a, 0x01], "vfmsubadd213pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xa7, 0xca], "vfmsubadd213ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa7, 0x0a], "vfmsubadd213ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa7, 0x4a, 0x01], "vfmsubadd213ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa7, 0xca], "vfmsubadd213ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa7, 0x0a], "vfmsubadd213ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa7, 0x0a], "vfmsubadd213ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa7, 0x4a, 0x01], "vfmsubadd213ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa7, 0xca], "vfmsubadd213ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa7, 0x0a], "vfmsubadd213ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa7, 0x4a, 0x01], "vfmsubadd213ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa7, 0xca], "vfmsubadd213ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa7, 0xca], "vfmsubadd213ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa7, 0x0a], "vfmsubadd213ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa7, 0x0a], "vfmsubadd213ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa7, 0x4a, 0x01], "vfmsubadd213ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa7, 0x0a], "vfmsubadd213pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa7, 0x4a, 0x01], "vfmsubadd213pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa7, 0xca], "vfmsubadd213pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa7, 0x0a], "vfmsubadd213pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa7, 0x0a], "vfmsubadd213pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa7, 0x4a, 0x01], "vfmsubadd213pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa7, 0x0a], "vfmsubadd213pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa7, 0xca], "vfmsubadd213pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa7, 0x0a], "vfmsubadd213pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa7, 0x0a], "vfmsubadd213pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa7, 0x4a, 0x01], "vfmsubadd213pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa7, 0x0a], "vfmsubadd213pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa7, 0x4a, 0x01], "vfmsubadd213pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa7, 0xca], "vfmsubadd213pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa7, 0xca], "vfmsubadd213pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa7, 0x0a], "vfmsubadd213pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa7, 0x0a], "vfmsubadd213pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa7, 0x4a, 0x01], "vfmsubadd213pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa7, 0xca], "vfmsubadd213pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa7, 0x0a], "vfmsubadd213pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa7, 0xca], "vfmsubadd213pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa7, 0xca], "vfmsubadd213pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa7, 0x0a], "vfmsubadd213pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa7, 0x0a], "vfmsubadd213pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa7, 0x4a, 0x01], "vfmsubadd213pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa7, 0x4a, 0x01], "vfmsubadd213pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa7, 0x0a], "vfmsubadd213ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa7, 0x4a, 0x01], "vfmsubadd213ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa7, 0xca], "vfmsubadd213ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa7, 0x0a], "vfmsubadd213ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa7, 0x0a], "vfmsubadd213ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa7, 0x4a, 0x01], "vfmsubadd213ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa7, 0x0a], "vfmsubadd213ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa7, 0xca], "vfmsubadd213ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa7, 0x0a], "vfmsubadd213ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa7, 0x0a], "vfmsubadd213ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa7, 0x4a, 0x01], "vfmsubadd213ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa7, 0x0a], "vfmsubadd213ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa7, 0x4a, 0x01], "vfmsubadd213ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa7, 0xca], "vfmsubadd213ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa7, 0xca], "vfmsubadd213ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa7, 0x0a], "vfmsubadd213ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa7, 0x0a], "vfmsubadd213ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa7, 0x4a, 0x01], "vfmsubadd213ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa7, 0xca], "vfmsubadd213ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa7, 0x0a], "vfmsubadd213ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa7, 0xca], "vfmsubadd213ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa7, 0xca], "vfmsubadd213ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa7, 0x0a], "vfmsubadd213ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa7, 0x0a], "vfmsubadd213ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa7, 0x4a, 0x01], "vfmsubadd213ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa7, 0x4a, 0x01], "vfmsubadd213ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xa8, 0xca], "vfmadd213pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa8, 0x0a], "vfmadd213pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa8, 0x4a, 0x01], "vfmadd213pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa8, 0xca], "vfmadd213pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa8, 0x0a], "vfmadd213pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa8, 0x0a], "vfmadd213pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa8, 0x4a, 0x01], "vfmadd213pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa8, 0x4a, 0x01], "vfmadd213pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa8, 0xca], "vfmadd213pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa8, 0x0a], "vfmadd213pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa8, 0x4a, 0x01], "vfmadd213pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa8, 0xca], "vfmadd213pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa8, 0xca], "vfmadd213pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa8, 0x0a], "vfmadd213pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa8, 0x0a], "vfmadd213pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa8, 0x4a, 0x01], "vfmadd213pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa8, 0x4a, 0x01], "vfmadd213pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xa8, 0xca], "vfmadd213ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa8, 0x0a], "vfmadd213ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa8, 0x4a, 0x01], "vfmadd213ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa8, 0xca], "vfmadd213ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa8, 0x0a], "vfmadd213ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa8, 0x0a], "vfmadd213ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa8, 0x4a, 0x01], "vfmadd213ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa8, 0x4a, 0x01], "vfmadd213ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa8, 0xca], "vfmadd213ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa8, 0x0a], "vfmadd213ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa8, 0x4a, 0x01], "vfmadd213ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa8, 0xca], "vfmadd213ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa8, 0xca], "vfmadd213ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa8, 0x0a], "vfmadd213ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa8, 0x0a], "vfmadd213ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa8, 0x4a, 0x01], "vfmadd213ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa8, 0x4a, 0x01], "vfmadd213ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa8, 0x0a], "vfmadd213pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa8, 0x4a, 0x01], "vfmadd213pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa8, 0xca], "vfmadd213pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa8, 0x0a], "vfmadd213pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa8, 0x0a], "vfmadd213pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa8, 0x4a, 0x01], "vfmadd213pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa8, 0x4a, 0x01], "vfmadd213pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa8, 0x0a], "vfmadd213pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa8, 0x4a, 0x01], "vfmadd213pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa8, 0xca], "vfmadd213pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa8, 0x0a], "vfmadd213pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa8, 0x0a], "vfmadd213pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa8, 0x4a, 0x01], "vfmadd213pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa8, 0x4a, 0x01], "vfmadd213pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa8, 0xca], "vfmadd213pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa8, 0x0a], "vfmadd213pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xa8, 0x4a, 0x01], "vfmadd213pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa8, 0xca], "vfmadd213pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa8, 0xca], "vfmadd213pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa8, 0x0a], "vfmadd213pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa8, 0x0a], "vfmadd213pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xa8, 0x4a, 0x01], "vfmadd213pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xa8, 0x4a, 0x01], "vfmadd213pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa8, 0xca], "vfmadd213pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa8, 0x0a], "vfmadd213pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xa8, 0x4a, 0x01], "vfmadd213pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa8, 0xca], "vfmadd213pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa8, 0xca], "vfmadd213pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa8, 0x0a], "vfmadd213pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa8, 0x0a], "vfmadd213pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xa8, 0x4a, 0x01], "vfmadd213pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xa8, 0x4a, 0x01], "vfmadd213pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa8, 0x0a], "vfmadd213ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa8, 0x4a, 0x01], "vfmadd213ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa8, 0xca], "vfmadd213ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa8, 0x0a], "vfmadd213ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa8, 0x0a], "vfmadd213ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa8, 0x4a, 0x01], "vfmadd213ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa8, 0x4a, 0x01], "vfmadd213ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa8, 0x0a], "vfmadd213ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa8, 0x4a, 0x01], "vfmadd213ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa8, 0xca], "vfmadd213ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa8, 0x0a], "vfmadd213ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa8, 0x0a], "vfmadd213ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa8, 0x4a, 0x01], "vfmadd213ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa8, 0x4a, 0x01], "vfmadd213ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa8, 0xca], "vfmadd213ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa8, 0x0a], "vfmadd213ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xa8, 0x4a, 0x01], "vfmadd213ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa8, 0xca], "vfmadd213ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa8, 0xca], "vfmadd213ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa8, 0x0a], "vfmadd213ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa8, 0x0a], "vfmadd213ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xa8, 0x4a, 0x01], "vfmadd213ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xa8, 0x4a, 0x01], "vfmadd213ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa8, 0xca], "vfmadd213ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa8, 0x0a], "vfmadd213ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xa8, 0x4a, 0x01], "vfmadd213ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa8, 0xca], "vfmadd213ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa8, 0xca], "vfmadd213ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa8, 0x0a], "vfmadd213ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa8, 0x0a], "vfmadd213ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xa8, 0x4a, 0x01], "vfmadd213ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xa8, 0x4a, 0x01], "vfmadd213ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xa9, 0xca], "vfmadd213sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xa9, 0xca], "vfmadd213sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa9, 0x0a], "vfmadd213sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xa9, 0x4a, 0x01], "vfmadd213sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa9, 0xca], "vfmadd213sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa9, 0xca], "vfmadd213sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa9, 0x0a], "vfmadd213sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa9, 0x0a], "vfmadd213sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xa9, 0x4a, 0x01], "vfmadd213sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xa9, 0x4a, 0x01], "vfmadd213sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xa9, 0xca], "vfmadd213ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xa9, 0xca], "vfmadd213ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa9, 0x0a], "vfmadd213ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xa9, 0x4a, 0x01], "vfmadd213ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa9, 0xca], "vfmadd213ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa9, 0xca], "vfmadd213ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa9, 0x0a], "vfmadd213ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa9, 0x0a], "vfmadd213ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xa9, 0x4a, 0x01], "vfmadd213ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xa9, 0x4a, 0x01], "vfmadd213ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xa9, 0xca], "vfmadd213sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xa9, 0xca], "vfmadd213sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xa9, 0xca], "vfmadd213sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xa9, 0xca], "vfmadd213ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xa9, 0xca], "vfmadd213ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xa9, 0xca], "vfmadd213ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xaa, 0xca], "vfmsub213pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xaa, 0x0a], "vfmsub213pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xaa, 0x4a, 0x01], "vfmsub213pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xaa, 0xca], "vfmsub213pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xaa, 0x0a], "vfmsub213pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xaa, 0x0a], "vfmsub213pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xaa, 0x4a, 0x01], "vfmsub213pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xaa, 0x4a, 0x01], "vfmsub213pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xaa, 0xca], "vfmsub213pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xaa, 0x0a], "vfmsub213pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xaa, 0x4a, 0x01], "vfmsub213pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xaa, 0xca], "vfmsub213pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xaa, 0xca], "vfmsub213pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xaa, 0x0a], "vfmsub213pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xaa, 0x0a], "vfmsub213pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xaa, 0x4a, 0x01], "vfmsub213pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xaa, 0x4a, 0x01], "vfmsub213pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xaa, 0xca], "vfmsub213ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xaa, 0x0a], "vfmsub213ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xaa, 0x4a, 0x01], "vfmsub213ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xaa, 0xca], "vfmsub213ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xaa, 0x0a], "vfmsub213ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xaa, 0x0a], "vfmsub213ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xaa, 0x4a, 0x01], "vfmsub213ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xaa, 0x4a, 0x01], "vfmsub213ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xaa, 0xca], "vfmsub213ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xaa, 0x0a], "vfmsub213ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xaa, 0x4a, 0x01], "vfmsub213ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xaa, 0xca], "vfmsub213ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xaa, 0xca], "vfmsub213ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xaa, 0x0a], "vfmsub213ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xaa, 0x0a], "vfmsub213ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xaa, 0x4a, 0x01], "vfmsub213ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xaa, 0x4a, 0x01], "vfmsub213ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xaa, 0x0a], "vfmsub213pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xaa, 0x4a, 0x01], "vfmsub213pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xaa, 0xca], "vfmsub213pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xaa, 0x0a], "vfmsub213pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xaa, 0x0a], "vfmsub213pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xaa, 0x4a, 0x01], "vfmsub213pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xaa, 0x4a, 0x01], "vfmsub213pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xaa, 0x0a], "vfmsub213pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xaa, 0x4a, 0x01], "vfmsub213pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xaa, 0xca], "vfmsub213pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xaa, 0x0a], "vfmsub213pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xaa, 0x0a], "vfmsub213pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xaa, 0x4a, 0x01], "vfmsub213pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xaa, 0x4a, 0x01], "vfmsub213pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xaa, 0xca], "vfmsub213pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xaa, 0x0a], "vfmsub213pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xaa, 0x4a, 0x01], "vfmsub213pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xaa, 0xca], "vfmsub213pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xaa, 0xca], "vfmsub213pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xaa, 0x0a], "vfmsub213pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xaa, 0x0a], "vfmsub213pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xaa, 0x4a, 0x01], "vfmsub213pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xaa, 0x4a, 0x01], "vfmsub213pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xaa, 0xca], "vfmsub213pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xaa, 0x0a], "vfmsub213pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xaa, 0x4a, 0x01], "vfmsub213pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xaa, 0xca], "vfmsub213pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xaa, 0xca], "vfmsub213pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xaa, 0x0a], "vfmsub213pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xaa, 0x0a], "vfmsub213pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xaa, 0x4a, 0x01], "vfmsub213pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xaa, 0x4a, 0x01], "vfmsub213pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xaa, 0x0a], "vfmsub213ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xaa, 0x4a, 0x01], "vfmsub213ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xaa, 0xca], "vfmsub213ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xaa, 0x0a], "vfmsub213ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xaa, 0x0a], "vfmsub213ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xaa, 0x4a, 0x01], "vfmsub213ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xaa, 0x4a, 0x01], "vfmsub213ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xaa, 0x0a], "vfmsub213ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xaa, 0x4a, 0x01], "vfmsub213ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xaa, 0xca], "vfmsub213ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xaa, 0x0a], "vfmsub213ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xaa, 0x0a], "vfmsub213ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xaa, 0x4a, 0x01], "vfmsub213ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xaa, 0x4a, 0x01], "vfmsub213ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xaa, 0xca], "vfmsub213ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xaa, 0x0a], "vfmsub213ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xaa, 0x4a, 0x01], "vfmsub213ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xaa, 0xca], "vfmsub213ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xaa, 0xca], "vfmsub213ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xaa, 0x0a], "vfmsub213ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xaa, 0x0a], "vfmsub213ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xaa, 0x4a, 0x01], "vfmsub213ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xaa, 0x4a, 0x01], "vfmsub213ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xaa, 0xca], "vfmsub213ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xaa, 0x0a], "vfmsub213ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xaa, 0x4a, 0x01], "vfmsub213ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xaa, 0xca], "vfmsub213ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xaa, 0xca], "vfmsub213ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xaa, 0x0a], "vfmsub213ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xaa, 0x0a], "vfmsub213ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xaa, 0x4a, 0x01], "vfmsub213ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xaa, 0x4a, 0x01], "vfmsub213ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xab, 0xca], "vfmsub213sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xab, 0xca], "vfmsub213sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xab, 0xca], "vfmsub213sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xab, 0xca], "vfmsub213sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xab, 0xca], "vfmsub213sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xab, 0xca], "vfmsub213sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xab, 0xca], "vfmsub213sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xab, 0x0a], "vfmsub213sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xab, 0x4a, 0x01], "vfmsub213sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xab, 0xca], "vfmsub213sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xab, 0xca], "vfmsub213sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xab, 0x0a], "vfmsub213sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xab, 0x0a], "vfmsub213sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xab, 0x4a, 0x01], "vfmsub213sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xab, 0x4a, 0x01], "vfmsub213sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xab, 0xca], "vfmsub213ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xab, 0xca], "vfmsub213ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xab, 0xca], "vfmsub213ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xab, 0xca], "vfmsub213ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xab, 0xca], "vfmsub213ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xab, 0xca], "vfmsub213ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xab, 0xca], "vfmsub213ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xab, 0x0a], "vfmsub213ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xab, 0x4a, 0x01], "vfmsub213ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xab, 0xca], "vfmsub213ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xab, 0xca], "vfmsub213ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xab, 0x0a], "vfmsub213ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xab, 0x0a], "vfmsub213ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xab, 0x4a, 0x01], "vfmsub213ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xab, 0x4a, 0x01], "vfmsub213ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xab, 0xca], "vfmsub213sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xab, 0xca], "vfmsub213sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xab, 0xca], "vfmsub213sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xab, 0xca], "vfmsub213sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xab, 0xca], "vfmsub213sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xab, 0xca], "vfmsub213sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xab, 0xca], "vfmsub213ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xab, 0xca], "vfmsub213ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xab, 0xca], "vfmsub213ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xab, 0xca], "vfmsub213ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xab, 0xca], "vfmsub213ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xab, 0xca], "vfmsub213ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xac, 0xca], "vfnmadd213pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xac, 0x0a], "vfnmadd213pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xac, 0x4a, 0x01], "vfnmadd213pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xac, 0xca], "vfnmadd213pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xac, 0x0a], "vfnmadd213pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xac, 0x0a], "vfnmadd213pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xac, 0x4a, 0x01], "vfnmadd213pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xac, 0x4a, 0x01], "vfnmadd213pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xac, 0xca], "vfnmadd213pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xac, 0x0a], "vfnmadd213pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xac, 0x4a, 0x01], "vfnmadd213pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xac, 0xca], "vfnmadd213pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xac, 0xca], "vfnmadd213pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xac, 0x0a], "vfnmadd213pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xac, 0x0a], "vfnmadd213pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xac, 0x4a, 0x01], "vfnmadd213pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xac, 0x4a, 0x01], "vfnmadd213pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xac, 0xca], "vfnmadd213ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xac, 0x0a], "vfnmadd213ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xac, 0x4a, 0x01], "vfnmadd213ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xac, 0xca], "vfnmadd213ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xac, 0x0a], "vfnmadd213ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xac, 0x0a], "vfnmadd213ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xac, 0x4a, 0x01], "vfnmadd213ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xac, 0x4a, 0x01], "vfnmadd213ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xac, 0xca], "vfnmadd213ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xac, 0x0a], "vfnmadd213ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xac, 0x4a, 0x01], "vfnmadd213ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xac, 0xca], "vfnmadd213ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xac, 0xca], "vfnmadd213ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xac, 0x0a], "vfnmadd213ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xac, 0x0a], "vfnmadd213ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xac, 0x4a, 0x01], "vfnmadd213ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xac, 0x4a, 0x01], "vfnmadd213ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xac, 0x0a], "vfnmadd213pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xac, 0x4a, 0x01], "vfnmadd213pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xac, 0xca], "vfnmadd213pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xac, 0x0a], "vfnmadd213pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xac, 0x0a], "vfnmadd213pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xac, 0x4a, 0x01], "vfnmadd213pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xac, 0x4a, 0x01], "vfnmadd213pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xac, 0x0a], "vfnmadd213pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xac, 0x4a, 0x01], "vfnmadd213pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xac, 0xca], "vfnmadd213pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xac, 0x0a], "vfnmadd213pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xac, 0x0a], "vfnmadd213pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xac, 0x4a, 0x01], "vfnmadd213pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xac, 0x4a, 0x01], "vfnmadd213pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xac, 0xca], "vfnmadd213pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xac, 0x0a], "vfnmadd213pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xac, 0x4a, 0x01], "vfnmadd213pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xac, 0xca], "vfnmadd213pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xac, 0xca], "vfnmadd213pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xac, 0x0a], "vfnmadd213pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xac, 0x0a], "vfnmadd213pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xac, 0x4a, 0x01], "vfnmadd213pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xac, 0x4a, 0x01], "vfnmadd213pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xac, 0xca], "vfnmadd213pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xac, 0x0a], "vfnmadd213pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xac, 0x4a, 0x01], "vfnmadd213pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xac, 0xca], "vfnmadd213pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xac, 0xca], "vfnmadd213pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xac, 0x0a], "vfnmadd213pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xac, 0x0a], "vfnmadd213pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xac, 0x4a, 0x01], "vfnmadd213pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xac, 0x4a, 0x01], "vfnmadd213pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xac, 0x0a], "vfnmadd213ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xac, 0x4a, 0x01], "vfnmadd213ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xac, 0xca], "vfnmadd213ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xac, 0x0a], "vfnmadd213ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xac, 0x0a], "vfnmadd213ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xac, 0x4a, 0x01], "vfnmadd213ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xac, 0x4a, 0x01], "vfnmadd213ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xac, 0x0a], "vfnmadd213ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xac, 0x4a, 0x01], "vfnmadd213ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xac, 0xca], "vfnmadd213ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xac, 0x0a], "vfnmadd213ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xac, 0x0a], "vfnmadd213ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xac, 0x4a, 0x01], "vfnmadd213ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xac, 0x4a, 0x01], "vfnmadd213ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xac, 0xca], "vfnmadd213ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xac, 0x0a], "vfnmadd213ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xac, 0x4a, 0x01], "vfnmadd213ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xac, 0xca], "vfnmadd213ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xac, 0xca], "vfnmadd213ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xac, 0x0a], "vfnmadd213ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xac, 0x0a], "vfnmadd213ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xac, 0x4a, 0x01], "vfnmadd213ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xac, 0x4a, 0x01], "vfnmadd213ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xac, 0xca], "vfnmadd213ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xac, 0x0a], "vfnmadd213ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xac, 0x4a, 0x01], "vfnmadd213ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xac, 0xca], "vfnmadd213ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xac, 0xca], "vfnmadd213ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xac, 0x0a], "vfnmadd213ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xac, 0x0a], "vfnmadd213ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xac, 0x4a, 0x01], "vfnmadd213ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xac, 0x4a, 0x01], "vfnmadd213ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xad, 0xca], "vfnmadd213sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xad, 0xca], "vfnmadd213sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xad, 0x0a], "vfnmadd213sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xad, 0x4a, 0x01], "vfnmadd213sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xad, 0xca], "vfnmadd213sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xad, 0xca], "vfnmadd213sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xad, 0x0a], "vfnmadd213sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xad, 0x0a], "vfnmadd213sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xad, 0x4a, 0x01], "vfnmadd213sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xad, 0x4a, 0x01], "vfnmadd213sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xad, 0xca], "vfnmadd213ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xad, 0xca], "vfnmadd213ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xad, 0x0a], "vfnmadd213ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xad, 0x4a, 0x01], "vfnmadd213ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xad, 0xca], "vfnmadd213ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xad, 0xca], "vfnmadd213ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xad, 0x0a], "vfnmadd213ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xad, 0x0a], "vfnmadd213ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xad, 0x4a, 0x01], "vfnmadd213ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xad, 0x4a, 0x01], "vfnmadd213ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xad, 0xca], "vfnmadd213sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xad, 0xca], "vfnmadd213sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xad, 0xca], "vfnmadd213sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xad, 0xca], "vfnmadd213ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xad, 0xca], "vfnmadd213ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xad, 0xca], "vfnmadd213ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xae, 0xca], "vfnmsub213pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xae, 0x0a], "vfnmsub213pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xae, 0x4a, 0x01], "vfnmsub213pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xae, 0xca], "vfnmsub213pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xae, 0x0a], "vfnmsub213pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xae, 0x0a], "vfnmsub213pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xae, 0x4a, 0x01], "vfnmsub213pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xae, 0x4a, 0x01], "vfnmsub213pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xae, 0xca], "vfnmsub213pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xae, 0x0a], "vfnmsub213pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xae, 0x4a, 0x01], "vfnmsub213pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xae, 0xca], "vfnmsub213pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xae, 0xca], "vfnmsub213pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xae, 0x0a], "vfnmsub213pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xae, 0x0a], "vfnmsub213pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xae, 0x4a, 0x01], "vfnmsub213pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xae, 0x4a, 0x01], "vfnmsub213pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xae, 0xca], "vfnmsub213ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xae, 0x0a], "vfnmsub213ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xae, 0x4a, 0x01], "vfnmsub213ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xae, 0xca], "vfnmsub213ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xae, 0x0a], "vfnmsub213ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xae, 0x0a], "vfnmsub213ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xae, 0x4a, 0x01], "vfnmsub213ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xae, 0x4a, 0x01], "vfnmsub213ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xae, 0xca], "vfnmsub213ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xae, 0x0a], "vfnmsub213ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xae, 0x4a, 0x01], "vfnmsub213ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xae, 0xca], "vfnmsub213ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xae, 0xca], "vfnmsub213ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xae, 0x0a], "vfnmsub213ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xae, 0x0a], "vfnmsub213ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xae, 0x4a, 0x01], "vfnmsub213ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xae, 0x4a, 0x01], "vfnmsub213ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xae, 0x0a], "vfnmsub213pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xae, 0x4a, 0x01], "vfnmsub213pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xae, 0xca], "vfnmsub213pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xae, 0x0a], "vfnmsub213pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xae, 0x0a], "vfnmsub213pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xae, 0x4a, 0x01], "vfnmsub213pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xae, 0x4a, 0x01], "vfnmsub213pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xae, 0x0a], "vfnmsub213pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xae, 0x4a, 0x01], "vfnmsub213pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xae, 0xca], "vfnmsub213pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xae, 0x0a], "vfnmsub213pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xae, 0x0a], "vfnmsub213pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xae, 0x4a, 0x01], "vfnmsub213pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xae, 0x4a, 0x01], "vfnmsub213pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xae, 0xca], "vfnmsub213pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xae, 0x0a], "vfnmsub213pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xae, 0x4a, 0x01], "vfnmsub213pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xae, 0xca], "vfnmsub213pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xae, 0xca], "vfnmsub213pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xae, 0x0a], "vfnmsub213pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xae, 0x0a], "vfnmsub213pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xae, 0x4a, 0x01], "vfnmsub213pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xae, 0x4a, 0x01], "vfnmsub213pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xae, 0xca], "vfnmsub213pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xae, 0x0a], "vfnmsub213pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xae, 0x4a, 0x01], "vfnmsub213pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xae, 0xca], "vfnmsub213pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xae, 0xca], "vfnmsub213pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xae, 0x0a], "vfnmsub213pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xae, 0x0a], "vfnmsub213pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xae, 0x4a, 0x01], "vfnmsub213pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xae, 0x4a, 0x01], "vfnmsub213pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xae, 0x0a], "vfnmsub213ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xae, 0x4a, 0x01], "vfnmsub213ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xae, 0xca], "vfnmsub213ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xae, 0x0a], "vfnmsub213ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xae, 0x0a], "vfnmsub213ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xae, 0x4a, 0x01], "vfnmsub213ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xae, 0x4a, 0x01], "vfnmsub213ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xae, 0x0a], "vfnmsub213ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xae, 0x4a, 0x01], "vfnmsub213ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xae, 0xca], "vfnmsub213ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xae, 0x0a], "vfnmsub213ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xae, 0x0a], "vfnmsub213ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xae, 0x4a, 0x01], "vfnmsub213ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xae, 0x4a, 0x01], "vfnmsub213ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xae, 0xca], "vfnmsub213ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xae, 0x0a], "vfnmsub213ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xae, 0x4a, 0x01], "vfnmsub213ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xae, 0xca], "vfnmsub213ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xae, 0xca], "vfnmsub213ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xae, 0x0a], "vfnmsub213ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xae, 0x0a], "vfnmsub213ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xae, 0x4a, 0x01], "vfnmsub213ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xae, 0x4a, 0x01], "vfnmsub213ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xae, 0xca], "vfnmsub213ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xae, 0x0a], "vfnmsub213ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xae, 0x4a, 0x01], "vfnmsub213ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xae, 0xca], "vfnmsub213ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xae, 0xca], "vfnmsub213ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xae, 0x0a], "vfnmsub213ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xae, 0x0a], "vfnmsub213ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xae, 0x4a, 0x01], "vfnmsub213ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xae, 0x4a, 0x01], "vfnmsub213ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xaf, 0xca], "vfnmsub213sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xaf, 0xca], "vfnmsub213sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xaf, 0x0a], "vfnmsub213sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xaf, 0x4a, 0x01], "vfnmsub213sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xaf, 0xca], "vfnmsub213sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xaf, 0x0a], "vfnmsub213sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xaf, 0x0a], "vfnmsub213sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xaf, 0x4a, 0x01], "vfnmsub213sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xaf, 0x4a, 0x01], "vfnmsub213sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xaf, 0xca], "vfnmsub213ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xaf, 0xca], "vfnmsub213ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xaf, 0x0a], "vfnmsub213ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xaf, 0x4a, 0x01], "vfnmsub213ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xaf, 0xca], "vfnmsub213ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xaf, 0x0a], "vfnmsub213ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xaf, 0x0a], "vfnmsub213ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xaf, 0x4a, 0x01], "vfnmsub213ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xaf, 0x4a, 0x01], "vfnmsub213ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xaf, 0xca], "vfnmsub213sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xaf, 0xca], "vfnmsub213sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xaf, 0xca], "vfnmsub213sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xaf, 0xca], "vfnmsub213ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xaf, 0xca], "vfnmsub213ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xaf, 0xca], "vfnmsub213ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb4, 0x0a], "vpmadd52luq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb4, 0x4a, 0x01], "vpmadd52luq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb4, 0x0a], "vpmadd52luq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb4, 0x0a], "vpmadd52luq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb4, 0x4a, 0x01], "vpmadd52luq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb4, 0x4a, 0x01], "vpmadd52luq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb4, 0xca], "vpmadd52luq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb4, 0x0a], "vpmadd52luq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb4, 0x4a, 0x01], "vpmadd52luq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb4, 0xca], "vpmadd52luq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb4, 0xca], "vpmadd52luq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb4, 0x0a], "vpmadd52luq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb4, 0x0a], "vpmadd52luq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb4, 0x4a, 0x01], "vpmadd52luq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb4, 0x4a, 0x01], "vpmadd52luq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb4, 0x0a], "vpmadd52luq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb4, 0x4a, 0x01], "vpmadd52luq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb4, 0x0a], "vpmadd52luq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb4, 0x0a], "vpmadd52luq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb4, 0x4a, 0x01], "vpmadd52luq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb4, 0x4a, 0x01], "vpmadd52luq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb4, 0x0a], "vpmadd52luq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb4, 0x4a, 0x01], "vpmadd52luq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb4, 0x0a], "vpmadd52luq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb4, 0x0a], "vpmadd52luq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb4, 0x4a, 0x01], "vpmadd52luq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb4, 0x4a, 0x01], "vpmadd52luq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb4, 0xca], "vpmadd52luq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb4, 0x0a], "vpmadd52luq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb4, 0x4a, 0x01], "vpmadd52luq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb4, 0xca], "vpmadd52luq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb4, 0xca], "vpmadd52luq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb4, 0x0a], "vpmadd52luq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb4, 0x0a], "vpmadd52luq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb4, 0x4a, 0x01], "vpmadd52luq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb4, 0x4a, 0x01], "vpmadd52luq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb4, 0xca], "vpmadd52luq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb4, 0x0a], "vpmadd52luq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb4, 0x4a, 0x01], "vpmadd52luq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb4, 0xca], "vpmadd52luq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb4, 0xca], "vpmadd52luq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb4, 0x0a], "vpmadd52luq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb4, 0x0a], "vpmadd52luq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb4, 0x4a, 0x01], "vpmadd52luq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb4, 0x4a, 0x01], "vpmadd52luq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb5, 0x0a], "vpmadd52huq ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb5, 0x4a, 0x01], "vpmadd52huq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb5, 0x0a], "vpmadd52huq ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb5, 0x0a], "vpmadd52huq ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb5, 0x4a, 0x01], "vpmadd52huq ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb5, 0x4a, 0x01], "vpmadd52huq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb5, 0xca], "vpmadd52huq ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb5, 0x0a], "vpmadd52huq ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb5, 0x4a, 0x01], "vpmadd52huq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb5, 0xca], "vpmadd52huq ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb5, 0xca], "vpmadd52huq ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb5, 0x0a], "vpmadd52huq ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb5, 0x0a], "vpmadd52huq ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb5, 0x4a, 0x01], "vpmadd52huq ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb5, 0x4a, 0x01], "vpmadd52huq ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb5, 0x0a], "vpmadd52huq zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb5, 0x4a, 0x01], "vpmadd52huq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb5, 0x0a], "vpmadd52huq zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb5, 0x0a], "vpmadd52huq zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb5, 0x4a, 0x01], "vpmadd52huq zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb5, 0x4a, 0x01], "vpmadd52huq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb5, 0x0a], "vpmadd52huq xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb5, 0x4a, 0x01], "vpmadd52huq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb5, 0x0a], "vpmadd52huq xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb5, 0x0a], "vpmadd52huq xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb5, 0x4a, 0x01], "vpmadd52huq xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb5, 0x4a, 0x01], "vpmadd52huq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb5, 0xca], "vpmadd52huq zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb5, 0x0a], "vpmadd52huq zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb5, 0x4a, 0x01], "vpmadd52huq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb5, 0xca], "vpmadd52huq zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb5, 0xca], "vpmadd52huq zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb5, 0x0a], "vpmadd52huq zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb5, 0x0a], "vpmadd52huq zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb5, 0x4a, 0x01], "vpmadd52huq zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb5, 0x4a, 0x01], "vpmadd52huq zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb5, 0xca], "vpmadd52huq xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb5, 0x0a], "vpmadd52huq xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb5, 0x4a, 0x01], "vpmadd52huq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb5, 0xca], "vpmadd52huq xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb5, 0xca], "vpmadd52huq xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb5, 0x0a], "vpmadd52huq xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb5, 0x0a], "vpmadd52huq xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb5, 0x4a, 0x01], "vpmadd52huq xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb5, 0x4a, 0x01], "vpmadd52huq xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xb6, 0xca], "vfmaddsub231pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb6, 0x0a], "vfmaddsub231pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb6, 0x4a, 0x01], "vfmaddsub231pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb6, 0xca], "vfmaddsub231pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb6, 0x0a], "vfmaddsub231pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb6, 0x0a], "vfmaddsub231pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb6, 0x4a, 0x01], "vfmaddsub231pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb6, 0xca], "vfmaddsub231pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb6, 0x0a], "vfmaddsub231pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb6, 0x4a, 0x01], "vfmaddsub231pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb6, 0xca], "vfmaddsub231pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb6, 0xca], "vfmaddsub231pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb6, 0x0a], "vfmaddsub231pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb6, 0x0a], "vfmaddsub231pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb6, 0x4a, 0x01], "vfmaddsub231pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xb6, 0xca], "vfmaddsub231ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb6, 0x0a], "vfmaddsub231ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb6, 0x4a, 0x01], "vfmaddsub231ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb6, 0xca], "vfmaddsub231ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb6, 0x0a], "vfmaddsub231ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb6, 0x0a], "vfmaddsub231ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb6, 0x4a, 0x01], "vfmaddsub231ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb6, 0xca], "vfmaddsub231ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb6, 0x0a], "vfmaddsub231ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb6, 0x4a, 0x01], "vfmaddsub231ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb6, 0xca], "vfmaddsub231ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb6, 0xca], "vfmaddsub231ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb6, 0x0a], "vfmaddsub231ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb6, 0x0a], "vfmaddsub231ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb6, 0x4a, 0x01], "vfmaddsub231ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb6, 0x0a], "vfmaddsub231pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb6, 0x4a, 0x01], "vfmaddsub231pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb6, 0xca], "vfmaddsub231pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb6, 0x0a], "vfmaddsub231pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb6, 0x0a], "vfmaddsub231pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb6, 0x4a, 0x01], "vfmaddsub231pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb6, 0x0a], "vfmaddsub231pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb6, 0xca], "vfmaddsub231pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb6, 0x0a], "vfmaddsub231pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb6, 0x0a], "vfmaddsub231pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb6, 0x4a, 0x01], "vfmaddsub231pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb6, 0x0a], "vfmaddsub231pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb6, 0x4a, 0x01], "vfmaddsub231pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb6, 0xca], "vfmaddsub231pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb6, 0xca], "vfmaddsub231pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb6, 0x0a], "vfmaddsub231pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb6, 0x0a], "vfmaddsub231pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb6, 0x4a, 0x01], "vfmaddsub231pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb6, 0xca], "vfmaddsub231pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb6, 0x0a], "vfmaddsub231pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb6, 0xca], "vfmaddsub231pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb6, 0xca], "vfmaddsub231pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb6, 0x0a], "vfmaddsub231pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb6, 0x0a], "vfmaddsub231pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb6, 0x4a, 0x01], "vfmaddsub231pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb6, 0x4a, 0x01], "vfmaddsub231pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb6, 0x0a], "vfmaddsub231ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb6, 0x4a, 0x01], "vfmaddsub231ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb6, 0xca], "vfmaddsub231ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb6, 0x0a], "vfmaddsub231ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb6, 0x0a], "vfmaddsub231ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb6, 0x4a, 0x01], "vfmaddsub231ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb6, 0x0a], "vfmaddsub231ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb6, 0xca], "vfmaddsub231ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb6, 0x0a], "vfmaddsub231ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb6, 0x0a], "vfmaddsub231ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb6, 0x4a, 0x01], "vfmaddsub231ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb6, 0x0a], "vfmaddsub231ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb6, 0x4a, 0x01], "vfmaddsub231ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb6, 0xca], "vfmaddsub231ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb6, 0xca], "vfmaddsub231ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb6, 0x0a], "vfmaddsub231ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb6, 0x0a], "vfmaddsub231ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb6, 0x4a, 0x01], "vfmaddsub231ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb6, 0xca], "vfmaddsub231ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb6, 0x0a], "vfmaddsub231ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb6, 0xca], "vfmaddsub231ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb6, 0xca], "vfmaddsub231ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb6, 0x0a], "vfmaddsub231ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb6, 0x0a], "vfmaddsub231ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb6, 0x4a, 0x01], "vfmaddsub231ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb6, 0x4a, 0x01], "vfmaddsub231ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xb7, 0xca], "vfmsubadd231pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb7, 0x0a], "vfmsubadd231pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb7, 0x4a, 0x01], "vfmsubadd231pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb7, 0xca], "vfmsubadd231pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb7, 0x0a], "vfmsubadd231pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb7, 0x0a], "vfmsubadd231pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb7, 0x4a, 0x01], "vfmsubadd231pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb7, 0xca], "vfmsubadd231pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb7, 0x0a], "vfmsubadd231pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb7, 0x4a, 0x01], "vfmsubadd231pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb7, 0xca], "vfmsubadd231pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb7, 0xca], "vfmsubadd231pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb7, 0x0a], "vfmsubadd231pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb7, 0x0a], "vfmsubadd231pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb7, 0x4a, 0x01], "vfmsubadd231pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xb7, 0xca], "vfmsubadd231ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb7, 0x0a], "vfmsubadd231ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb7, 0x4a, 0x01], "vfmsubadd231ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb7, 0xca], "vfmsubadd231ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb7, 0x0a], "vfmsubadd231ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb7, 0x0a], "vfmsubadd231ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb7, 0x4a, 0x01], "vfmsubadd231ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb7, 0xca], "vfmsubadd231ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb7, 0x0a], "vfmsubadd231ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb7, 0x4a, 0x01], "vfmsubadd231ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb7, 0xca], "vfmsubadd231ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb7, 0xca], "vfmsubadd231ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb7, 0x0a], "vfmsubadd231ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb7, 0x0a], "vfmsubadd231ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb7, 0x4a, 0x01], "vfmsubadd231ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb7, 0x0a], "vfmsubadd231pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb7, 0x4a, 0x01], "vfmsubadd231pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb7, 0xca], "vfmsubadd231pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb7, 0x0a], "vfmsubadd231pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb7, 0x0a], "vfmsubadd231pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb7, 0x4a, 0x01], "vfmsubadd231pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb7, 0x0a], "vfmsubadd231pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb7, 0xca], "vfmsubadd231pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb7, 0x0a], "vfmsubadd231pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb7, 0x0a], "vfmsubadd231pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb7, 0x4a, 0x01], "vfmsubadd231pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb7, 0x0a], "vfmsubadd231pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb7, 0x4a, 0x01], "vfmsubadd231pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb7, 0xca], "vfmsubadd231pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb7, 0xca], "vfmsubadd231pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb7, 0x0a], "vfmsubadd231pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb7, 0x0a], "vfmsubadd231pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb7, 0x4a, 0x01], "vfmsubadd231pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb7, 0xca], "vfmsubadd231pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb7, 0x0a], "vfmsubadd231pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb7, 0xca], "vfmsubadd231pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb7, 0xca], "vfmsubadd231pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb7, 0x0a], "vfmsubadd231pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb7, 0x0a], "vfmsubadd231pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb7, 0x4a, 0x01], "vfmsubadd231pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb7, 0x4a, 0x01], "vfmsubadd231pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb7, 0x0a], "vfmsubadd231ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb7, 0x4a, 0x01], "vfmsubadd231ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb7, 0xca], "vfmsubadd231ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb7, 0x0a], "vfmsubadd231ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb7, 0x0a], "vfmsubadd231ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb7, 0x4a, 0x01], "vfmsubadd231ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb7, 0x0a], "vfmsubadd231ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb7, 0xca], "vfmsubadd231ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb7, 0x0a], "vfmsubadd231ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb7, 0x0a], "vfmsubadd231ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb7, 0x4a, 0x01], "vfmsubadd231ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb7, 0x0a], "vfmsubadd231ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb7, 0x4a, 0x01], "vfmsubadd231ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb7, 0xca], "vfmsubadd231ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb7, 0xca], "vfmsubadd231ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb7, 0x0a], "vfmsubadd231ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb7, 0x0a], "vfmsubadd231ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb7, 0x4a, 0x01], "vfmsubadd231ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb7, 0xca], "vfmsubadd231ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb7, 0x0a], "vfmsubadd231ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb7, 0xca], "vfmsubadd231ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb7, 0xca], "vfmsubadd231ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb7, 0x0a], "vfmsubadd231ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb7, 0x0a], "vfmsubadd231ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb7, 0x4a, 0x01], "vfmsubadd231ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb7, 0x4a, 0x01], "vfmsubadd231ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xb8, 0xca], "vfmadd231pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb8, 0x0a], "vfmadd231pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb8, 0x4a, 0x01], "vfmadd231pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb8, 0xca], "vfmadd231pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb8, 0x0a], "vfmadd231pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb8, 0x0a], "vfmadd231pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb8, 0x4a, 0x01], "vfmadd231pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb8, 0x4a, 0x01], "vfmadd231pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb8, 0xca], "vfmadd231pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb8, 0x0a], "vfmadd231pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb8, 0x4a, 0x01], "vfmadd231pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb8, 0xca], "vfmadd231pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb8, 0xca], "vfmadd231pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb8, 0x0a], "vfmadd231pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb8, 0x0a], "vfmadd231pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb8, 0x4a, 0x01], "vfmadd231pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb8, 0x4a, 0x01], "vfmadd231pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xb8, 0xca], "vfmadd231ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb8, 0x0a], "vfmadd231ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb8, 0x4a, 0x01], "vfmadd231ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb8, 0xca], "vfmadd231ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb8, 0x0a], "vfmadd231ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb8, 0x0a], "vfmadd231ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb8, 0x4a, 0x01], "vfmadd231ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb8, 0x4a, 0x01], "vfmadd231ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb8, 0xca], "vfmadd231ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb8, 0x0a], "vfmadd231ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb8, 0x4a, 0x01], "vfmadd231ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb8, 0xca], "vfmadd231ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb8, 0xca], "vfmadd231ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb8, 0x0a], "vfmadd231ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb8, 0x0a], "vfmadd231ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb8, 0x4a, 0x01], "vfmadd231ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb8, 0x4a, 0x01], "vfmadd231ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb8, 0x0a], "vfmadd231pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb8, 0x4a, 0x01], "vfmadd231pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb8, 0xca], "vfmadd231pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb8, 0x0a], "vfmadd231pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb8, 0x0a], "vfmadd231pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb8, 0x4a, 0x01], "vfmadd231pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb8, 0x4a, 0x01], "vfmadd231pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb8, 0x0a], "vfmadd231pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb8, 0x4a, 0x01], "vfmadd231pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb8, 0xca], "vfmadd231pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb8, 0x0a], "vfmadd231pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb8, 0x0a], "vfmadd231pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb8, 0x4a, 0x01], "vfmadd231pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb8, 0x4a, 0x01], "vfmadd231pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb8, 0xca], "vfmadd231pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb8, 0x0a], "vfmadd231pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xb8, 0x4a, 0x01], "vfmadd231pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb8, 0xca], "vfmadd231pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb8, 0xca], "vfmadd231pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb8, 0x0a], "vfmadd231pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb8, 0x0a], "vfmadd231pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xb8, 0x4a, 0x01], "vfmadd231pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xb8, 0x4a, 0x01], "vfmadd231pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb8, 0xca], "vfmadd231pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb8, 0x0a], "vfmadd231pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xb8, 0x4a, 0x01], "vfmadd231pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb8, 0xca], "vfmadd231pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb8, 0xca], "vfmadd231pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb8, 0x0a], "vfmadd231pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb8, 0x0a], "vfmadd231pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xb8, 0x4a, 0x01], "vfmadd231pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xb8, 0x4a, 0x01], "vfmadd231pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb8, 0x0a], "vfmadd231ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb8, 0x4a, 0x01], "vfmadd231ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb8, 0xca], "vfmadd231ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb8, 0x0a], "vfmadd231ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb8, 0x0a], "vfmadd231ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb8, 0x4a, 0x01], "vfmadd231ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb8, 0x4a, 0x01], "vfmadd231ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb8, 0x0a], "vfmadd231ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb8, 0x4a, 0x01], "vfmadd231ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb8, 0xca], "vfmadd231ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb8, 0x0a], "vfmadd231ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb8, 0x0a], "vfmadd231ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb8, 0x4a, 0x01], "vfmadd231ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb8, 0x4a, 0x01], "vfmadd231ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb8, 0xca], "vfmadd231ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb8, 0x0a], "vfmadd231ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xb8, 0x4a, 0x01], "vfmadd231ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb8, 0xca], "vfmadd231ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb8, 0xca], "vfmadd231ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb8, 0x0a], "vfmadd231ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb8, 0x0a], "vfmadd231ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xb8, 0x4a, 0x01], "vfmadd231ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xb8, 0x4a, 0x01], "vfmadd231ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb8, 0xca], "vfmadd231ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb8, 0x0a], "vfmadd231ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xb8, 0x4a, 0x01], "vfmadd231ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb8, 0xca], "vfmadd231ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb8, 0xca], "vfmadd231ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb8, 0x0a], "vfmadd231ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb8, 0x0a], "vfmadd231ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xb8, 0x4a, 0x01], "vfmadd231ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xb8, 0x4a, 0x01], "vfmadd231ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xb9, 0xca], "vfmadd231sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xb9, 0xca], "vfmadd231sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb9, 0x0a], "vfmadd231sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xb9, 0x4a, 0x01], "vfmadd231sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb9, 0xca], "vfmadd231sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb9, 0xca], "vfmadd231sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb9, 0x0a], "vfmadd231sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb9, 0x0a], "vfmadd231sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xb9, 0x4a, 0x01], "vfmadd231sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xb9, 0x4a, 0x01], "vfmadd231sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xb9, 0xca], "vfmadd231ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xb9, 0xca], "vfmadd231ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb9, 0x0a], "vfmadd231ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xb9, 0x4a, 0x01], "vfmadd231ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb9, 0xca], "vfmadd231ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb9, 0xca], "vfmadd231ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb9, 0x0a], "vfmadd231ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb9, 0x0a], "vfmadd231ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xb9, 0x4a, 0x01], "vfmadd231ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xb9, 0x4a, 0x01], "vfmadd231ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xb9, 0xca], "vfmadd231sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xb9, 0xca], "vfmadd231sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xb9, 0xca], "vfmadd231sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xb9, 0xca], "vfmadd231ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xb9, 0xca], "vfmadd231ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xb9, 0xca], "vfmadd231ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xba, 0xca], "vfmsub231pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xba, 0xca], "vfmsub231pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xba, 0xca], "vfmsub231pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xba, 0xca], "vfmsub231pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xba, 0x0a], "vfmsub231pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xba, 0x4a, 0x01], "vfmsub231pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xba, 0xca], "vfmsub231pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xba, 0xca], "vfmsub231pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xba, 0x0a], "vfmsub231pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xba, 0x0a], "vfmsub231pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xba, 0x4a, 0x01], "vfmsub231pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xba, 0x4a, 0x01], "vfmsub231pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xba, 0xca], "vfmsub231pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xba, 0x0a], "vfmsub231pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xba, 0x4a, 0x01], "vfmsub231pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xba, 0xca], "vfmsub231pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xba, 0xca], "vfmsub231pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xba, 0x0a], "vfmsub231pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xba, 0x0a], "vfmsub231pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xba, 0x4a, 0x01], "vfmsub231pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xba, 0x4a, 0x01], "vfmsub231pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xba, 0xca], "vfmsub231ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xba, 0xca], "vfmsub231ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xba, 0xca], "vfmsub231ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xba, 0xca], "vfmsub231ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xba, 0x0a], "vfmsub231ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xba, 0x4a, 0x01], "vfmsub231ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xba, 0xca], "vfmsub231ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xba, 0xca], "vfmsub231ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xba, 0x0a], "vfmsub231ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xba, 0x0a], "vfmsub231ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xba, 0x4a, 0x01], "vfmsub231ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xba, 0x4a, 0x01], "vfmsub231ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xba, 0xca], "vfmsub231ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xba, 0x0a], "vfmsub231ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xba, 0x4a, 0x01], "vfmsub231ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xba, 0xca], "vfmsub231ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xba, 0xca], "vfmsub231ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xba, 0x0a], "vfmsub231ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xba, 0x0a], "vfmsub231ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xba, 0x4a, 0x01], "vfmsub231ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xba, 0x4a, 0x01], "vfmsub231ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xba, 0xca], "vfmsub231pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xba, 0x0a], "vfmsub231pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xba, 0x4a, 0x01], "vfmsub231pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xba, 0xca], "vfmsub231pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xba, 0xca], "vfmsub231pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xba, 0x0a], "vfmsub231pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xba, 0x0a], "vfmsub231pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xba, 0x4a, 0x01], "vfmsub231pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xba, 0x4a, 0x01], "vfmsub231pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xba, 0xca], "vfmsub231pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xba, 0x0a], "vfmsub231pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xba, 0x4a, 0x01], "vfmsub231pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xba, 0xca], "vfmsub231pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xba, 0xca], "vfmsub231pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xba, 0x0a], "vfmsub231pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xba, 0x0a], "vfmsub231pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xba, 0x4a, 0x01], "vfmsub231pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xba, 0x4a, 0x01], "vfmsub231pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xba, 0xca], "vfmsub231pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xba, 0x0a], "vfmsub231pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xba, 0x4a, 0x01], "vfmsub231pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xba, 0xca], "vfmsub231pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xba, 0xca], "vfmsub231pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xba, 0x0a], "vfmsub231pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xba, 0x0a], "vfmsub231pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xba, 0x4a, 0x01], "vfmsub231pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xba, 0x4a, 0x01], "vfmsub231pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xba, 0xca], "vfmsub231pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xba, 0x0a], "vfmsub231pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xba, 0x4a, 0x01], "vfmsub231pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xba, 0xca], "vfmsub231pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xba, 0xca], "vfmsub231pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xba, 0x0a], "vfmsub231pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xba, 0x0a], "vfmsub231pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xba, 0x4a, 0x01], "vfmsub231pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xba, 0x4a, 0x01], "vfmsub231pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xba, 0xca], "vfmsub231ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xba, 0x0a], "vfmsub231ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xba, 0x4a, 0x01], "vfmsub231ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xba, 0xca], "vfmsub231ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xba, 0xca], "vfmsub231ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xba, 0x0a], "vfmsub231ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xba, 0x0a], "vfmsub231ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xba, 0x4a, 0x01], "vfmsub231ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xba, 0x4a, 0x01], "vfmsub231ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xba, 0xca], "vfmsub231ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xba, 0x0a], "vfmsub231ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xba, 0x4a, 0x01], "vfmsub231ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xba, 0xca], "vfmsub231ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xba, 0xca], "vfmsub231ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xba, 0x0a], "vfmsub231ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xba, 0x0a], "vfmsub231ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xba, 0x4a, 0x01], "vfmsub231ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xba, 0x4a, 0x01], "vfmsub231ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xba, 0xca], "vfmsub231ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xba, 0x0a], "vfmsub231ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xba, 0x4a, 0x01], "vfmsub231ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xba, 0xca], "vfmsub231ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xba, 0xca], "vfmsub231ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xba, 0x0a], "vfmsub231ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xba, 0x0a], "vfmsub231ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xba, 0x4a, 0x01], "vfmsub231ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xba, 0x4a, 0x01], "vfmsub231ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xba, 0xca], "vfmsub231ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xba, 0x0a], "vfmsub231ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xba, 0x4a, 0x01], "vfmsub231ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xba, 0xca], "vfmsub231ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xba, 0xca], "vfmsub231ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xba, 0x0a], "vfmsub231ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xba, 0x0a], "vfmsub231ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xba, 0x4a, 0x01], "vfmsub231ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xba, 0x4a, 0x01], "vfmsub231ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xbb, 0xca], "vfmsub231sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbb, 0xca], "vfmsub231sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbb, 0x0a], "vfmsub231sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbb, 0x4a, 0x01], "vfmsub231sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbb, 0xca], "vfmsub231sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbb, 0xca], "vfmsub231sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbb, 0x0a], "vfmsub231sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbb, 0x0a], "vfmsub231sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbb, 0x4a, 0x01], "vfmsub231sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbb, 0x4a, 0x01], "vfmsub231sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xbb, 0xca], "vfmsub231ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbb, 0xca], "vfmsub231ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbb, 0x0a], "vfmsub231ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbb, 0x4a, 0x01], "vfmsub231ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbb, 0xca], "vfmsub231ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbb, 0xca], "vfmsub231ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbb, 0x0a], "vfmsub231ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbb, 0x0a], "vfmsub231ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbb, 0x4a, 0x01], "vfmsub231ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbb, 0x4a, 0x01], "vfmsub231ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbb, 0xca], "vfmsub231sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbb, 0xca], "vfmsub231sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbb, 0xca], "vfmsub231sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbb, 0xca], "vfmsub231ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbb, 0xca], "vfmsub231ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbb, 0xca], "vfmsub231ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xbc, 0xca], "vfnmadd231pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbc, 0x0a], "vfnmadd231pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbc, 0x4a, 0x01], "vfnmadd231pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbc, 0xca], "vfnmadd231pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbc, 0x0a], "vfnmadd231pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbc, 0x0a], "vfnmadd231pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbc, 0x4a, 0x01], "vfnmadd231pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbc, 0x4a, 0x01], "vfnmadd231pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbc, 0xca], "vfnmadd231pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbc, 0x0a], "vfnmadd231pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbc, 0x4a, 0x01], "vfnmadd231pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbc, 0xca], "vfnmadd231pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbc, 0xca], "vfnmadd231pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbc, 0x0a], "vfnmadd231pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbc, 0x0a], "vfnmadd231pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbc, 0x4a, 0x01], "vfnmadd231pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbc, 0x4a, 0x01], "vfnmadd231pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xbc, 0xca], "vfnmadd231ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbc, 0x0a], "vfnmadd231ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbc, 0x4a, 0x01], "vfnmadd231ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbc, 0xca], "vfnmadd231ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbc, 0x0a], "vfnmadd231ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbc, 0x0a], "vfnmadd231ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbc, 0x4a, 0x01], "vfnmadd231ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbc, 0x4a, 0x01], "vfnmadd231ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbc, 0xca], "vfnmadd231ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbc, 0x0a], "vfnmadd231ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbc, 0x4a, 0x01], "vfnmadd231ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbc, 0xca], "vfnmadd231ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbc, 0xca], "vfnmadd231ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbc, 0x0a], "vfnmadd231ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbc, 0x0a], "vfnmadd231ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbc, 0x4a, 0x01], "vfnmadd231ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbc, 0x4a, 0x01], "vfnmadd231ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbc, 0x0a], "vfnmadd231pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbc, 0x4a, 0x01], "vfnmadd231pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbc, 0xca], "vfnmadd231pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbc, 0x0a], "vfnmadd231pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbc, 0x0a], "vfnmadd231pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbc, 0x4a, 0x01], "vfnmadd231pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbc, 0x4a, 0x01], "vfnmadd231pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbc, 0x0a], "vfnmadd231pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbc, 0x4a, 0x01], "vfnmadd231pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbc, 0xca], "vfnmadd231pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbc, 0x0a], "vfnmadd231pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbc, 0x0a], "vfnmadd231pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbc, 0x4a, 0x01], "vfnmadd231pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbc, 0x4a, 0x01], "vfnmadd231pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xbc, 0x0a], "vfnmadd231pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xbc, 0x4a, 0x01], "vfnmadd231pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xbc, 0xca], "vfnmadd231pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xbc, 0xca], "vfnmadd231pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xbc, 0x0a], "vfnmadd231pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xbc, 0x0a], "vfnmadd231pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xbc, 0x4a, 0x01], "vfnmadd231pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xbc, 0x4a, 0x01], "vfnmadd231pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xbc, 0xca], "vfnmadd231pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xbc, 0x0a], "vfnmadd231pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xbc, 0x4a, 0x01], "vfnmadd231pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xbc, 0xca], "vfnmadd231pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xbc, 0xca], "vfnmadd231pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xbc, 0x0a], "vfnmadd231pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xbc, 0x0a], "vfnmadd231pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xbc, 0x4a, 0x01], "vfnmadd231pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xbc, 0x4a, 0x01], "vfnmadd231pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbc, 0x0a], "vfnmadd231ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbc, 0x4a, 0x01], "vfnmadd231ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbc, 0xca], "vfnmadd231ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbc, 0x0a], "vfnmadd231ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbc, 0x0a], "vfnmadd231ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbc, 0x4a, 0x01], "vfnmadd231ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbc, 0x4a, 0x01], "vfnmadd231ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbc, 0x0a], "vfnmadd231ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbc, 0x4a, 0x01], "vfnmadd231ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbc, 0xca], "vfnmadd231ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbc, 0x0a], "vfnmadd231ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbc, 0x0a], "vfnmadd231ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbc, 0x4a, 0x01], "vfnmadd231ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbc, 0x4a, 0x01], "vfnmadd231ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xbc, 0x0a], "vfnmadd231ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xbc, 0x4a, 0x01], "vfnmadd231ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xbc, 0xca], "vfnmadd231ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xbc, 0xca], "vfnmadd231ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xbc, 0x0a], "vfnmadd231ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xbc, 0x0a], "vfnmadd231ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xbc, 0x4a, 0x01], "vfnmadd231ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xbc, 0x4a, 0x01], "vfnmadd231ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xbc, 0xca], "vfnmadd231ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xbc, 0x0a], "vfnmadd231ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xbc, 0x4a, 0x01], "vfnmadd231ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xbc, 0xca], "vfnmadd231ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xbc, 0xca], "vfnmadd231ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xbc, 0x0a], "vfnmadd231ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xbc, 0x0a], "vfnmadd231ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xbc, 0x4a, 0x01], "vfnmadd231ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xbc, 0x4a, 0x01], "vfnmadd231ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xbd, 0xca], "vfnmadd231sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbd, 0xca], "vfnmadd231sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbd, 0x0a], "vfnmadd231sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbd, 0x4a, 0x01], "vfnmadd231sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbd, 0xca], "vfnmadd231sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbd, 0x0a], "vfnmadd231sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbd, 0x0a], "vfnmadd231sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbd, 0x4a, 0x01], "vfnmadd231sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbd, 0x4a, 0x01], "vfnmadd231sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xbd, 0xca], "vfnmadd231ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbd, 0xca], "vfnmadd231ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbd, 0x0a], "vfnmadd231ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbd, 0x4a, 0x01], "vfnmadd231ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbd, 0xca], "vfnmadd231ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbd, 0x0a], "vfnmadd231ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbd, 0x0a], "vfnmadd231ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbd, 0x4a, 0x01], "vfnmadd231ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbd, 0x4a, 0x01], "vfnmadd231ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbd, 0xca], "vfnmadd231sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbd, 0xca], "vfnmadd231sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbd, 0xca], "vfnmadd231sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbd, 0xca], "vfnmadd231ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbd, 0xca], "vfnmadd231ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbd, 0xca], "vfnmadd231ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xbe, 0xca], "vfnmsub231pd zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbe, 0x0a], "vfnmsub231pd ymm1{k5}{z}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbe, 0x4a, 0x01], "vfnmsub231pd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbe, 0xca], "vfnmsub231pd zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbe, 0x0a], "vfnmsub231pd ymm1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbe, 0x0a], "vfnmsub231pd ymm1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbe, 0x4a, 0x01], "vfnmsub231pd ymm1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbe, 0x4a, 0x01], "vfnmsub231pd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbe, 0xca], "vfnmsub231pd ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbe, 0x0a], "vfnmsub231pd ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbe, 0x4a, 0x01], "vfnmsub231pd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbe, 0xca], "vfnmsub231pd ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbe, 0xca], "vfnmsub231pd ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbe, 0x0a], "vfnmsub231pd ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbe, 0x0a], "vfnmsub231pd ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbe, 0x4a, 0x01], "vfnmsub231pd ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbe, 0x4a, 0x01], "vfnmsub231pd ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{z}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xbe, 0xca], "vfnmsub231ps zmm1{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{rz-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{z}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbe, 0x0a], "vfnmsub231ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbe, 0x4a, 0x01], "vfnmsub231ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbe, 0xca], "vfnmsub231ps zmm1{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{rd-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbe, 0x0a], "vfnmsub231ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbe, 0x0a], "vfnmsub231ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbe, 0x4a, 0x01], "vfnmsub231ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbe, 0x4a, 0x01], "vfnmsub231ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbe, 0xca], "vfnmsub231ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbe, 0x0a], "vfnmsub231ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbe, 0x4a, 0x01], "vfnmsub231ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbe, 0xca], "vfnmsub231ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbe, 0xca], "vfnmsub231ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbe, 0x0a], "vfnmsub231ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbe, 0x0a], "vfnmsub231ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbe, 0x4a, 0x01], "vfnmsub231ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbe, 0x4a, 0x01], "vfnmsub231ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbe, 0x0a], "vfnmsub231pd zmm1{k5}{z}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbe, 0x4a, 0x01], "vfnmsub231pd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbe, 0xca], "vfnmsub231pd zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbe, 0x0a], "vfnmsub231pd zmm1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbe, 0x0a], "vfnmsub231pd zmm1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbe, 0x4a, 0x01], "vfnmsub231pd zmm1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbe, 0x4a, 0x01], "vfnmsub231pd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbe, 0x0a], "vfnmsub231pd xmm1{k5}{z}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbe, 0x4a, 0x01], "vfnmsub231pd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbe, 0xca], "vfnmsub231pd zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbe, 0x0a], "vfnmsub231pd xmm1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbe, 0x0a], "vfnmsub231pd xmm1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbe, 0x4a, 0x01], "vfnmsub231pd xmm1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbe, 0x4a, 0x01], "vfnmsub231pd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xbe, 0x0a], "vfnmsub231pd zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xbe, 0x4a, 0x01], "vfnmsub231pd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xbe, 0xca], "vfnmsub231pd zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xbe, 0xca], "vfnmsub231pd zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xbe, 0x0a], "vfnmsub231pd zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xbe, 0x0a], "vfnmsub231pd zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xbe, 0x4a, 0x01], "vfnmsub231pd zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xbe, 0x4a, 0x01], "vfnmsub231pd zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xbe, 0xca], "vfnmsub231pd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xbe, 0x0a], "vfnmsub231pd xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xbe, 0x4a, 0x01], "vfnmsub231pd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xbe, 0xca], "vfnmsub231pd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xbe, 0xca], "vfnmsub231pd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xbe, 0x0a], "vfnmsub231pd xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xbe, 0x0a], "vfnmsub231pd xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xbe, 0x4a, 0x01], "vfnmsub231pd xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xbe, 0x4a, 0x01], "vfnmsub231pd xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{z}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbe, 0x0a], "vfnmsub231ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbe, 0x4a, 0x01], "vfnmsub231ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbe, 0xca], "vfnmsub231ps zmm1{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{ru-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbe, 0x0a], "vfnmsub231ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbe, 0x0a], "vfnmsub231ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbe, 0x4a, 0x01], "vfnmsub231ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbe, 0x4a, 0x01], "vfnmsub231ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{z}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbe, 0x0a], "vfnmsub231ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbe, 0x4a, 0x01], "vfnmsub231ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbe, 0xca], "vfnmsub231ps zmm1{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{rne-sae}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbe, 0x0a], "vfnmsub231ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbe, 0x0a], "vfnmsub231ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbe, 0x4a, 0x01], "vfnmsub231ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbe, 0x4a, 0x01], "vfnmsub231ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xbe, 0x0a], "vfnmsub231ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xbe, 0x4a, 0x01], "vfnmsub231ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xbe, 0xca], "vfnmsub231ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xbe, 0xca], "vfnmsub231ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xbe, 0x0a], "vfnmsub231ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xbe, 0x0a], "vfnmsub231ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xbe, 0x4a, 0x01], "vfnmsub231ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xbe, 0x4a, 0x01], "vfnmsub231ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xbe, 0xca], "vfnmsub231ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xbe, 0x0a], "vfnmsub231ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xbe, 0x4a, 0x01], "vfnmsub231ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xbe, 0xca], "vfnmsub231ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xbe, 0xca], "vfnmsub231ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xbe, 0x0a], "vfnmsub231ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xbe, 0x0a], "vfnmsub231ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xbe, 0x4a, 0x01], "vfnmsub231ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xbe, 0x4a, 0x01], "vfnmsub231ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xbf, 0xca], "vfnmsub231sd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xbf, 0xca], "vfnmsub231sd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbf, 0x0a], "vfnmsub231sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xbf, 0x4a, 0x01], "vfnmsub231sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbf, 0xca], "vfnmsub231sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbf, 0x0a], "vfnmsub231sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbf, 0x0a], "vfnmsub231sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xbf, 0x4a, 0x01], "vfnmsub231sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xbf, 0x4a, 0x01], "vfnmsub231sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xbf, 0xca], "vfnmsub231ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xbf, 0xca], "vfnmsub231ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbf, 0x0a], "vfnmsub231ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xbf, 0x4a, 0x01], "vfnmsub231ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbf, 0xca], "vfnmsub231ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbf, 0x0a], "vfnmsub231ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbf, 0x0a], "vfnmsub231ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xbf, 0x4a, 0x01], "vfnmsub231ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xbf, 0x4a, 0x01], "vfnmsub231ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xbf, 0xca], "vfnmsub231sd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xbf, 0xca], "vfnmsub231sd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xbf, 0xca], "vfnmsub231sd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xbf, 0xca], "vfnmsub231ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xbf, 0xca], "vfnmsub231ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xbf, 0xca], "vfnmsub231ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xc4, 0x0a], "vpconflictq ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xbd, 0xc4, 0x4a, 0x01], "vpconflictq ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xc4, 0x0a], "vpconflictq ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xc4, 0x0a], "vpconflictq ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x38, 0xc4, 0x4a, 0x01], "vpconflictq ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x3d, 0xc4, 0x4a, 0x01], "vpconflictq ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xc4, 0xca], "vpconflictq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xc4, 0x0a], "vpconflictq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xc4, 0x4a, 0x01], "vpconflictq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xc4, 0xca], "vpconflictq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xc4, 0xca], "vpconflictq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xc4, 0x0a], "vpconflictq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xc4, 0x0a], "vpconflictq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xc4, 0x4a, 0x01], "vpconflictq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xc4, 0x4a, 0x01], "vpconflictq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xc4, 0x0a], "vpconflictd ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xbd, 0xc4, 0x4a, 0x01], "vpconflictd ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xc4, 0x0a], "vpconflictd ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xc4, 0x0a], "vpconflictd ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x38, 0xc4, 0x4a, 0x01], "vpconflictd ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x3d, 0xc4, 0x4a, 0x01], "vpconflictd ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xc4, 0xca], "vpconflictd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xc4, 0x0a], "vpconflictd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xc4, 0x4a, 0x01], "vpconflictd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xc4, 0xca], "vpconflictd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xc4, 0xca], "vpconflictd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xc4, 0x0a], "vpconflictd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xc4, 0x0a], "vpconflictd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xc4, 0x4a, 0x01], "vpconflictd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xc4, 0x4a, 0x01], "vpconflictd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xc4, 0x0a], "vpconflictq zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xc4, 0x4a, 0x01], "vpconflictq zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xc4, 0x0a], "vpconflictq zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xc4, 0x0a], "vpconflictq zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xc4, 0x4a, 0x01], "vpconflictq zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xc4, 0x4a, 0x01], "vpconflictq zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xc4, 0x0a], "vpconflictq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x9d, 0xc4, 0x4a, 0x01], "vpconflictq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xc4, 0x0a], "vpconflictq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xc4, 0x0a], "vpconflictq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x18, 0xc4, 0x4a, 0x01], "vpconflictq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x1d, 0xc4, 0x4a, 0x01], "vpconflictq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xc4, 0xca], "vpconflictq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xc4, 0x0a], "vpconflictq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xc4, 0x4a, 0x01], "vpconflictq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xc4, 0xca], "vpconflictq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xc4, 0xca], "vpconflictq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xc4, 0x0a], "vpconflictq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xc4, 0x0a], "vpconflictq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xc4, 0x4a, 0x01], "vpconflictq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xc4, 0x4a, 0x01], "vpconflictq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xc4, 0xca], "vpconflictq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xc4, 0x0a], "vpconflictq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x8d, 0xc4, 0x4a, 0x01], "vpconflictq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xc4, 0xca], "vpconflictq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xc4, 0xca], "vpconflictq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xc4, 0x0a], "vpconflictq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xc4, 0x0a], "vpconflictq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xc4, 0x4a, 0x01], "vpconflictq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x0d, 0xc4, 0x4a, 0x01], "vpconflictq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xc4, 0x0a], "vpconflictd zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xc4, 0x4a, 0x01], "vpconflictd zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xc4, 0x0a], "vpconflictd zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xc4, 0x0a], "vpconflictd zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xc4, 0x4a, 0x01], "vpconflictd zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xc4, 0x4a, 0x01], "vpconflictd zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xc4, 0x0a], "vpconflictd xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x9d, 0xc4, 0x4a, 0x01], "vpconflictd xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xc4, 0x0a], "vpconflictd xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xc4, 0x0a], "vpconflictd xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x18, 0xc4, 0x4a, 0x01], "vpconflictd xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x1d, 0xc4, 0x4a, 0x01], "vpconflictd xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xc4, 0xca], "vpconflictd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xc4, 0x0a], "vpconflictd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xc4, 0x4a, 0x01], "vpconflictd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xc4, 0xca], "vpconflictd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xc4, 0xca], "vpconflictd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xc4, 0x0a], "vpconflictd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xc4, 0x0a], "vpconflictd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xc4, 0x4a, 0x01], "vpconflictd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xc4, 0x4a, 0x01], "vpconflictd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xc4, 0xca], "vpconflictd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xc4, 0x0a], "vpconflictd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xc4, 0x4a, 0x01], "vpconflictd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xc4, 0xca], "vpconflictd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xc4, 0xca], "vpconflictd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xc4, 0x0a], "vpconflictd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xc4, 0x0a], "vpconflictd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xc4, 0x4a, 0x01], "vpconflictd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xc4, 0x4a, 0x01], "vpconflictd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xc8, 0xca], "vexp2pd zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xc8, 0xca], "vexp2pd zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xc8, 0xca], "vexp2pd zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xc8, 0xca], "vexp2ps zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xc8, 0xca], "vexp2ps zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xc8, 0xca], "vexp2ps zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xc8, 0x0a], "vexp2pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xc8, 0x4a, 0x01], "vexp2pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xc8, 0x0a], "vexp2pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xc8, 0x0a], "vexp2pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xc8, 0x4a, 0x01], "vexp2pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xc8, 0x4a, 0x01], "vexp2pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xc8, 0xca], "vexp2pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xc8, 0x0a], "vexp2pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xc8, 0x4a, 0x01], "vexp2pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xc8, 0xca], "vexp2pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xc8, 0xca], "vexp2pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xc8, 0x0a], "vexp2pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xc8, 0x0a], "vexp2pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xc8, 0x4a, 0x01], "vexp2pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xc8, 0x4a, 0x01], "vexp2pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xc8, 0x0a], "vexp2ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xc8, 0x4a, 0x01], "vexp2ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xc8, 0x0a], "vexp2ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xc8, 0x0a], "vexp2ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xc8, 0x4a, 0x01], "vexp2ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xc8, 0x4a, 0x01], "vexp2ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xc8, 0xca], "vexp2ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xc8, 0x0a], "vexp2ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xc8, 0x4a, 0x01], "vexp2ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xc8, 0xca], "vexp2ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xc8, 0xca], "vexp2ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xc8, 0x0a], "vexp2ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xc8, 0x0a], "vexp2ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xc8, 0x4a, 0x01], "vexp2ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xc8, 0x4a, 0x01], "vexp2ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xca, 0xca], "vrcp28pd zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xca, 0xca], "vrcp28pd zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xca, 0xca], "vrcp28pd zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xca, 0xca], "vrcp28ps zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xca, 0xca], "vrcp28ps zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xca, 0xca], "vrcp28ps zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xca, 0x0a], "vrcp28pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xca, 0x4a, 0x01], "vrcp28pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xca, 0x0a], "vrcp28pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xca, 0x0a], "vrcp28pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xca, 0x4a, 0x01], "vrcp28pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xca, 0x4a, 0x01], "vrcp28pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xca, 0xca], "vrcp28pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xca, 0x0a], "vrcp28pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xca, 0x4a, 0x01], "vrcp28pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xca, 0xca], "vrcp28pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xca, 0xca], "vrcp28pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xca, 0x0a], "vrcp28pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xca, 0x0a], "vrcp28pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xca, 0x4a, 0x01], "vrcp28pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xca, 0x4a, 0x01], "vrcp28pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xca, 0x0a], "vrcp28ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xca, 0x4a, 0x01], "vrcp28ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xca, 0x0a], "vrcp28ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xca, 0x0a], "vrcp28ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xca, 0x4a, 0x01], "vrcp28ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xca, 0x4a, 0x01], "vrcp28ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xca, 0xca], "vrcp28ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xca, 0x0a], "vrcp28ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xca, 0x4a, 0x01], "vrcp28ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xca, 0xca], "vrcp28ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xca, 0xca], "vrcp28ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xca, 0x0a], "vrcp28ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xca, 0x0a], "vrcp28ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xca, 0x4a, 0x01], "vrcp28ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xca, 0x4a, 0x01], "vrcp28ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xcb, 0xca], "vrcp28sd xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xcb, 0xca], "vrcp28sd xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xcb, 0xca], "vrcp28sd xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xcb, 0xca], "vrcp28sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xcb, 0x0a], "vrcp28sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xcb, 0x4a, 0x01], "vrcp28sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xcb, 0xca], "vrcp28sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xcb, 0xca], "vrcp28sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xcb, 0x0a], "vrcp28sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xcb, 0x0a], "vrcp28sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xcb, 0x4a, 0x01], "vrcp28sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xcb, 0x4a, 0x01], "vrcp28sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xcb, 0xca], "vrcp28ss xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xcb, 0xca], "vrcp28ss xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xcb, 0xca], "vrcp28ss xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcb, 0xca], "vrcp28ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcb, 0x0a], "vrcp28ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcb, 0x4a, 0x01], "vrcp28ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcb, 0xca], "vrcp28ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcb, 0xca], "vrcp28ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcb, 0x0a], "vrcp28ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcb, 0x0a], "vrcp28ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcb, 0x4a, 0x01], "vrcp28ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcb, 0x4a, 0x01], "vrcp28ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xcc, 0xca], "vrsqrt28pd zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xcc, 0xca], "vrsqrt28pd zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xcc, 0xca], "vrsqrt28pd zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xcc, 0xca], "vrsqrt28ps zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xcc, 0xca], "vrsqrt28ps zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xcc, 0xca], "vrsqrt28ps zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xcc, 0x0a], "vrsqrt28pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xdd, 0xcc, 0x4a, 0x01], "vrsqrt28pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xcc, 0x0a], "vrsqrt28pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xcc, 0x0a], "vrsqrt28pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x58, 0xcc, 0x4a, 0x01], "vrsqrt28pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x5d, 0xcc, 0x4a, 0x01], "vrsqrt28pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xcc, 0xca], "vrsqrt28pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xcc, 0x0a], "vrsqrt28pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xcd, 0xcc, 0x4a, 0x01], "vrsqrt28pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xcc, 0xca], "vrsqrt28pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xcc, 0xca], "vrsqrt28pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xcc, 0x0a], "vrsqrt28pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xcc, 0x0a], "vrsqrt28pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xcc, 0x4a, 0x01], "vrsqrt28pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x4d, 0xcc, 0x4a, 0x01], "vrsqrt28pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xcc, 0x0a], "vrsqrt28ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xdd, 0xcc, 0x4a, 0x01], "vrsqrt28ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xcc, 0x0a], "vrsqrt28ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xcc, 0x0a], "vrsqrt28ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x58, 0xcc, 0x4a, 0x01], "vrsqrt28ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x5d, 0xcc, 0x4a, 0x01], "vrsqrt28ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xcc, 0xca], "vrsqrt28ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xcc, 0x0a], "vrsqrt28ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xcc, 0x4a, 0x01], "vrsqrt28ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xcc, 0xca], "vrsqrt28ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xcc, 0xca], "vrsqrt28ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xcc, 0x0a], "vrsqrt28ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xcc, 0x0a], "vrsqrt28ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xcc, 0x4a, 0x01], "vrsqrt28ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xcc, 0x4a, 0x01], "vrsqrt28ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xfd, 0xcd, 0xca], "vrsqrt28sd xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x78, 0xcd, 0xca], "vrsqrt28sd xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x7d, 0xcd, 0xca], "vrsqrt28sd xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xcd, 0xca], "vrsqrt28sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xcd, 0x0a], "vrsqrt28sd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0xad, 0xcd, 0x4a, 0x01], "vrsqrt28sd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xcd, 0xca], "vrsqrt28sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xcd, 0xca], "vrsqrt28sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xcd, 0x0a], "vrsqrt28sd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xcd, 0x0a], "vrsqrt28sd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xcd, 0x4a, 0x01], "vrsqrt28sd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x2d, 0xcd, 0x4a, 0x01], "vrsqrt28sd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xfd, 0xcd, 0xca], "vrsqrt28ss xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x78, 0xcd, 0xca], "vrsqrt28ss xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x7d, 0xcd, 0xca], "vrsqrt28ss xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcd, 0xca], "vrsqrt28ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcd, 0x0a], "vrsqrt28ss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcd, 0x4a, 0x01], "vrsqrt28ss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcd, 0xca], "vrsqrt28ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcd, 0xca], "vrsqrt28ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcd, 0x0a], "vrsqrt28ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcd, 0x0a], "vrsqrt28ss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcd, 0x4a, 0x01], "vrsqrt28ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcd, 0x4a, 0x01], "vrsqrt28ss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcf, 0xca], "vgf2p8mulb ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcf, 0x0a], "vgf2p8mulb ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xad, 0xcf, 0x4a, 0x01], "vgf2p8mulb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcf, 0xca], "vgf2p8mulb ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcf, 0xca], "vgf2p8mulb ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcf, 0x0a], "vgf2p8mulb ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcf, 0x0a], "vgf2p8mulb ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x28, 0xcf, 0x4a, 0x01], "vgf2p8mulb ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x2d, 0xcf, 0x4a, 0x01], "vgf2p8mulb ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xcf, 0xca], "vgf2p8mulb zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xcf, 0x0a], "vgf2p8mulb zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0xcd, 0xcf, 0x4a, 0x01], "vgf2p8mulb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xcf, 0xca], "vgf2p8mulb zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xcf, 0xca], "vgf2p8mulb zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xcf, 0x0a], "vgf2p8mulb zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xcf, 0x0a], "vgf2p8mulb zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x48, 0xcf, 0x4a, 0x01], "vgf2p8mulb zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x4d, 0xcf, 0x4a, 0x01], "vgf2p8mulb zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xcf, 0xca], "vgf2p8mulb xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xcf, 0x0a], "vgf2p8mulb xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x8d, 0xcf, 0x4a, 0x01], "vgf2p8mulb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xcf, 0xca], "vgf2p8mulb xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xcf, 0xca], "vgf2p8mulb xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xcf, 0x0a], "vgf2p8mulb xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xcf, 0x0a], "vgf2p8mulb xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x08, 0xcf, 0x4a, 0x01], "vgf2p8mulb xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7d, 0x0d, 0xcf, 0x4a, 0x01], "vgf2p8mulb xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdc, 0xca], "vaesenc ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdc, 0x0a], "vaesenc ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdc, 0x4a, 0x01], "vaesenc ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdc, 0xca], "vaesenc zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdc, 0x0a], "vaesenc zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdc, 0x4a, 0x01], "vaesenc zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdc, 0xca], "vaesenc xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdc, 0x0a], "vaesenc xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdc, 0x4a, 0x01], "vaesenc xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdd, 0xca], "vaesenclast ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdd, 0x0a], "vaesenclast ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdd, 0x4a, 0x01], "vaesenclast ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdd, 0xca], "vaesenclast zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdd, 0x0a], "vaesenclast zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdd, 0x4a, 0x01], "vaesenclast zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdd, 0xca], "vaesenclast xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdd, 0x0a], "vaesenclast xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdd, 0x4a, 0x01], "vaesenclast xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xde, 0xca], "vaesdec ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xde, 0x0a], "vaesdec ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xde, 0x4a, 0x01], "vaesdec ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xde, 0xca], "vaesdec zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xde, 0x0a], "vaesdec zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xde, 0x4a, 0x01], "vaesdec zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xde, 0xca], "vaesdec xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xde, 0x0a], "vaesdec xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xde, 0x4a, 0x01], "vaesdec xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdf, 0xca], "vaesdeclast ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdf, 0x0a], "vaesdeclast ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x28, 0xdf, 0x4a, 0x01], "vaesdeclast ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdf, 0xca], "vaesdeclast zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdf, 0x0a], "vaesdeclast zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x48, 0xdf, 0x4a, 0x01], "vaesdeclast zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdf, 0xca], "vaesdeclast xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdf, 0x0a], "vaesdeclast xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfd, 0x08, 0xdf, 0x4a, 0x01], "vaesdeclast xmm1, xmm0, xmmword [edx + 0x10]"); +} +#[test] +fn tests_66_0f3a() { +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x00, 0x0a, 0xcc], "vpermq ymm1{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x00, 0x4a, 0x01, 0xcc], "vpermq ymm1{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x00, 0x0a, 0xcc], "vpermq ymm1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x00, 0x0a, 0xcc], "vpermq ymm1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x00, 0x4a, 0x01, 0xcc], "vpermq ymm1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x00, 0x4a, 0x01, 0xcc], "vpermq ymm1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x00, 0xca, 0xcc], "vpermq ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x00, 0x0a, 0xcc], "vpermq ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x00, 0x4a, 0x01, 0xcc], "vpermq ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x00, 0xca, 0xcc], "vpermq ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x00, 0xca, 0xcc], "vpermq ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x00, 0x0a, 0xcc], "vpermq ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x00, 0x0a, 0xcc], "vpermq ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x00, 0x4a, 0x01, 0xcc], "vpermq ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x00, 0x4a, 0x01, 0xcc], "vpermq ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x00, 0x0a, 0xcc], "vpermq zmm1{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x00, 0x4a, 0x01, 0xcc], "vpermq zmm1{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x00, 0x0a, 0xcc], "vpermq zmm1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x00, 0x0a, 0xcc], "vpermq zmm1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x00, 0x4a, 0x01, 0xcc], "vpermq zmm1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x00, 0x4a, 0x01, 0xcc], "vpermq zmm1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x00, 0xca, 0xcc], "vpermq zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x00, 0x0a, 0xcc], "vpermq zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x00, 0x4a, 0x01, 0xcc], "vpermq zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x00, 0xca, 0xcc], "vpermq zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x00, 0xca, 0xcc], "vpermq zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x00, 0x0a, 0xcc], "vpermq zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x00, 0x0a, 0xcc], "vpermq zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x00, 0x4a, 0x01, 0xcc], "vpermq zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x00, 0x4a, 0x01, 0xcc], "vpermq zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x01, 0x0a, 0xcc], "vpermpd ymm1{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x01, 0x4a, 0x01, 0xcc], "vpermpd ymm1{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x01, 0x0a, 0xcc], "vpermpd ymm1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x01, 0x0a, 0xcc], "vpermpd ymm1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x01, 0x4a, 0x01, 0xcc], "vpermpd ymm1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x01, 0x4a, 0x01, 0xcc], "vpermpd ymm1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x01, 0xca, 0xcc], "vpermpd ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x01, 0x0a, 0xcc], "vpermpd ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x01, 0x4a, 0x01, 0xcc], "vpermpd ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x01, 0xca, 0xcc], "vpermpd ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x01, 0xca, 0xcc], "vpermpd ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x01, 0x0a, 0xcc], "vpermpd ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x01, 0x0a, 0xcc], "vpermpd ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x01, 0x4a, 0x01, 0xcc], "vpermpd ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x01, 0x4a, 0x01, 0xcc], "vpermpd ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x01, 0x0a, 0xcc], "vpermpd zmm1{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x01, 0x4a, 0x01, 0xcc], "vpermpd zmm1{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x01, 0x0a, 0xcc], "vpermpd zmm1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x01, 0x0a, 0xcc], "vpermpd zmm1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x01, 0x4a, 0x01, 0xcc], "vpermpd zmm1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x01, 0x4a, 0x01, 0xcc], "vpermpd zmm1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x01, 0xca, 0xcc], "vpermpd zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x01, 0x0a, 0xcc], "vpermpd zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x01, 0x4a, 0x01, 0xcc], "vpermpd zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x01, 0xca, 0xcc], "vpermpd zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x01, 0xca, 0xcc], "vpermpd zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x01, 0x0a, 0xcc], "vpermpd zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x01, 0x0a, 0xcc], "vpermpd zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x01, 0x4a, 0x01, 0xcc], "vpermpd zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x01, 0x4a, 0x01, 0xcc], "vpermpd zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x03, 0x0a, 0xcc], "valignq ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x03, 0x4a, 0x01, 0xcc], "valignq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x03, 0x0a, 0xcc], "valignq ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x03, 0x0a, 0xcc], "valignq ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x03, 0x4a, 0x01, 0xcc], "valignq ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x03, 0x4a, 0x01, 0xcc], "valignq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x03, 0xca, 0xcc], "valignq ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x03, 0x0a, 0xcc], "valignq ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x03, 0x4a, 0x01, 0xcc], "valignq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x03, 0xca, 0xcc], "valignq ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x03, 0xca, 0xcc], "valignq ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x03, 0x0a, 0xcc], "valignq ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x03, 0x0a, 0xcc], "valignq ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x03, 0x4a, 0x01, 0xcc], "valignq ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x03, 0x4a, 0x01, 0xcc], "valignq ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x03, 0x0a, 0xcc], "valignd ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x03, 0x4a, 0x01, 0xcc], "valignd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x03, 0x0a, 0xcc], "valignd ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x03, 0x0a, 0xcc], "valignd ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x03, 0x4a, 0x01, 0xcc], "valignd ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x03, 0x4a, 0x01, 0xcc], "valignd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x03, 0xca, 0xcc], "valignd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x03, 0x0a, 0xcc], "valignd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x03, 0x4a, 0x01, 0xcc], "valignd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x03, 0xca, 0xcc], "valignd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x03, 0xca, 0xcc], "valignd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x03, 0x0a, 0xcc], "valignd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x03, 0x0a, 0xcc], "valignd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x03, 0x4a, 0x01, 0xcc], "valignd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x03, 0x4a, 0x01, 0xcc], "valignd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x03, 0x0a, 0xcc], "valignq zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x03, 0x4a, 0x01, 0xcc], "valignq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x03, 0x0a, 0xcc], "valignq zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x03, 0x0a, 0xcc], "valignq zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x03, 0x4a, 0x01, 0xcc], "valignq zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x03, 0x4a, 0x01, 0xcc], "valignq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x03, 0x0a, 0xcc], "valignq xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x03, 0x4a, 0x01, 0xcc], "valignq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x03, 0x0a, 0xcc], "valignq xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x03, 0x0a, 0xcc], "valignq xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x03, 0x4a, 0x01, 0xcc], "valignq xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x03, 0x4a, 0x01, 0xcc], "valignq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x03, 0xca, 0xcc], "valignq zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x03, 0x0a, 0xcc], "valignq zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x03, 0x4a, 0x01, 0xcc], "valignq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x03, 0xca, 0xcc], "valignq zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x03, 0xca, 0xcc], "valignq zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x03, 0x0a, 0xcc], "valignq zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x03, 0x0a, 0xcc], "valignq zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x03, 0x4a, 0x01, 0xcc], "valignq zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x03, 0x4a, 0x01, 0xcc], "valignq zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x03, 0xca, 0xcc], "valignq xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x03, 0x0a, 0xcc], "valignq xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x03, 0x4a, 0x01, 0xcc], "valignq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x03, 0xca, 0xcc], "valignq xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x03, 0xca, 0xcc], "valignq xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x03, 0x0a, 0xcc], "valignq xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x03, 0x0a, 0xcc], "valignq xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x03, 0x4a, 0x01, 0xcc], "valignq xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x03, 0x4a, 0x01, 0xcc], "valignq xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x03, 0x0a, 0xcc], "valignd zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x03, 0x4a, 0x01, 0xcc], "valignd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x03, 0x0a, 0xcc], "valignd zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x03, 0x0a, 0xcc], "valignd zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x03, 0x4a, 0x01, 0xcc], "valignd zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x03, 0x4a, 0x01, 0xcc], "valignd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x03, 0x0a, 0xcc], "valignd xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x03, 0x4a, 0x01, 0xcc], "valignd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x03, 0x0a, 0xcc], "valignd xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x03, 0x0a, 0xcc], "valignd xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x03, 0x4a, 0x01, 0xcc], "valignd xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x03, 0x4a, 0x01, 0xcc], "valignd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x03, 0xca, 0xcc], "valignd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x03, 0x0a, 0xcc], "valignd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x03, 0x4a, 0x01, 0xcc], "valignd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x03, 0xca, 0xcc], "valignd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x03, 0xca, 0xcc], "valignd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x03, 0x0a, 0xcc], "valignd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x03, 0x0a, 0xcc], "valignd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x03, 0x4a, 0x01, 0xcc], "valignd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x03, 0x4a, 0x01, 0xcc], "valignd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x03, 0xca, 0xcc], "valignd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x03, 0x0a, 0xcc], "valignd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x03, 0x4a, 0x01, 0xcc], "valignd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x03, 0xca, 0xcc], "valignd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x03, 0xca, 0xcc], "valignd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x03, 0x0a, 0xcc], "valignd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x03, 0x0a, 0xcc], "valignd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x03, 0x4a, 0x01, 0xcc], "valignd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x03, 0x4a, 0x01, 0xcc], "valignd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x04, 0x0a, 0xcc], "vpermilps ymm1{k5}{z}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x04, 0x4a, 0x01, 0xcc], "vpermilps ymm1{k5}{z}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x04, 0x0a, 0xcc], "vpermilps ymm1, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x04, 0x0a, 0xcc], "vpermilps ymm1{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x04, 0x4a, 0x01, 0xcc], "vpermilps ymm1, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps ymm1{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x04, 0xca, 0xcc], "vpermilps ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x04, 0x0a, 0xcc], "vpermilps ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x04, 0x4a, 0x01, 0xcc], "vpermilps ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x04, 0xca, 0xcc], "vpermilps ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x04, 0xca, 0xcc], "vpermilps ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x04, 0x0a, 0xcc], "vpermilps ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x04, 0x0a, 0xcc], "vpermilps ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x04, 0x4a, 0x01, 0xcc], "vpermilps ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x04, 0x0a, 0xcc], "vpermilps zmm1{k5}{z}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x04, 0x4a, 0x01, 0xcc], "vpermilps zmm1{k5}{z}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x04, 0x0a, 0xcc], "vpermilps zmm1, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x04, 0x0a, 0xcc], "vpermilps zmm1{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x04, 0x4a, 0x01, 0xcc], "vpermilps zmm1, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps zmm1{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x04, 0x0a, 0xcc], "vpermilps xmm1{k5}{z}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps xmm1{k5}{z}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x04, 0x0a, 0xcc], "vpermilps xmm1, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x04, 0x0a, 0xcc], "vpermilps xmm1{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x04, 0x4a, 0x01, 0xcc], "vpermilps xmm1, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps xmm1{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x04, 0xca, 0xcc], "vpermilps zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x04, 0x0a, 0xcc], "vpermilps zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x04, 0x4a, 0x01, 0xcc], "vpermilps zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x04, 0xca, 0xcc], "vpermilps zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x04, 0xca, 0xcc], "vpermilps zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x04, 0x0a, 0xcc], "vpermilps zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x04, 0x0a, 0xcc], "vpermilps zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x04, 0x4a, 0x01, 0xcc], "vpermilps zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x04, 0xca, 0xcc], "vpermilps xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x04, 0x0a, 0xcc], "vpermilps xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x04, 0xca, 0xcc], "vpermilps xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x04, 0xca, 0xcc], "vpermilps xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x04, 0x0a, 0xcc], "vpermilps xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x04, 0x0a, 0xcc], "vpermilps xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x04, 0x4a, 0x01, 0xcc], "vpermilps xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x04, 0x4a, 0x01, 0xcc], "vpermilps xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x05, 0x0a, 0xcc], "vpermilpd ymm1{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd ymm1{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x05, 0x0a, 0xcc], "vpermilpd ymm1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x05, 0x0a, 0xcc], "vpermilpd ymm1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd ymm1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd ymm1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x05, 0xca, 0xcc], "vpermilpd ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x05, 0x0a, 0xcc], "vpermilpd ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x05, 0xca, 0xcc], "vpermilpd ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x05, 0xca, 0xcc], "vpermilpd ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x05, 0x0a, 0xcc], "vpermilpd ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x05, 0x0a, 0xcc], "vpermilpd ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x05, 0x0a, 0xcc], "vpermilpd zmm1{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd zmm1{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x05, 0x0a, 0xcc], "vpermilpd zmm1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x05, 0x0a, 0xcc], "vpermilpd zmm1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd zmm1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd zmm1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x05, 0x0a, 0xcc], "vpermilpd xmm1{k5}{z}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd xmm1{k5}{z}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x05, 0x0a, 0xcc], "vpermilpd xmm1, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x05, 0x0a, 0xcc], "vpermilpd xmm1{k5}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd xmm1, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd xmm1{k5}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x05, 0xca, 0xcc], "vpermilpd zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x05, 0x0a, 0xcc], "vpermilpd zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x05, 0xca, 0xcc], "vpermilpd zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x05, 0xca, 0xcc], "vpermilpd zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x05, 0x0a, 0xcc], "vpermilpd zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x05, 0x0a, 0xcc], "vpermilpd zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x05, 0xca, 0xcc], "vpermilpd xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x05, 0x0a, 0xcc], "vpermilpd xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x05, 0xca, 0xcc], "vpermilpd xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x05, 0xca, 0xcc], "vpermilpd xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x05, 0x0a, 0xcc], "vpermilpd xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x05, 0x0a, 0xcc], "vpermilpd xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x05, 0x4a, 0x01, 0xcc], "vpermilpd xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x08, 0xca, 0xcc], "vrndscaleps zmm1{k5}{z}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x08, 0xca, 0xcc], "vrndscaleps zmm1{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x08, 0xca, 0xcc], "vrndscaleps zmm1{k5}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x08, 0x0a, 0xcc], "vrndscaleps ymm1{k5}{z}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps ymm1{k5}{z}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x08, 0x0a, 0xcc], "vrndscaleps ymm1, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x08, 0x0a, 0xcc], "vrndscaleps ymm1{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps ymm1, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps ymm1{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x08, 0xca, 0xcc], "vrndscaleps ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x08, 0x0a, 0xcc], "vrndscaleps ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x08, 0xca, 0xcc], "vrndscaleps ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x08, 0xca, 0xcc], "vrndscaleps ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x08, 0x0a, 0xcc], "vrndscaleps ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x08, 0x0a, 0xcc], "vrndscaleps ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x08, 0x0a, 0xcc], "vrndscaleps zmm1{k5}{z}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps zmm1{k5}{z}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x08, 0x0a, 0xcc], "vrndscaleps zmm1, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x08, 0x0a, 0xcc], "vrndscaleps zmm1{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps zmm1, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps zmm1{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x08, 0x0a, 0xcc], "vrndscaleps xmm1{k5}{z}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps xmm1{k5}{z}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x08, 0x0a, 0xcc], "vrndscaleps xmm1, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x08, 0x0a, 0xcc], "vrndscaleps xmm1{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps xmm1, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps xmm1{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x08, 0xca, 0xcc], "vrndscaleps zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x08, 0x0a, 0xcc], "vrndscaleps zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x08, 0xca, 0xcc], "vrndscaleps zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x08, 0xca, 0xcc], "vrndscaleps zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x08, 0x0a, 0xcc], "vrndscaleps zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x08, 0x0a, 0xcc], "vrndscaleps zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x08, 0xca, 0xcc], "vrndscaleps xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x08, 0x0a, 0xcc], "vrndscaleps xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x08, 0xca, 0xcc], "vrndscaleps xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x08, 0xca, 0xcc], "vrndscaleps xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x08, 0x0a, 0xcc], "vrndscaleps xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x08, 0x0a, 0xcc], "vrndscaleps xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x08, 0x4a, 0x01, 0xcc], "vrndscaleps xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x09, 0xca, 0xcc], "vrndscalepd zmm1{k5}{z}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x09, 0xca, 0xcc], "vrndscalepd zmm1{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x09, 0xca, 0xcc], "vrndscalepd zmm1{k5}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x09, 0x0a, 0xcc], "vrndscalepd ymm1{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd ymm1{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x09, 0x0a, 0xcc], "vrndscalepd ymm1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x09, 0x0a, 0xcc], "vrndscalepd ymm1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd ymm1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd ymm1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x09, 0xca, 0xcc], "vrndscalepd ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x09, 0x0a, 0xcc], "vrndscalepd ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x09, 0xca, 0xcc], "vrndscalepd ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x09, 0xca, 0xcc], "vrndscalepd ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x09, 0x0a, 0xcc], "vrndscalepd ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x09, 0x0a, 0xcc], "vrndscalepd ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x09, 0x0a, 0xcc], "vrndscalepd zmm1{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd zmm1{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x09, 0x0a, 0xcc], "vrndscalepd zmm1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x09, 0x0a, 0xcc], "vrndscalepd zmm1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd zmm1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd zmm1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x09, 0x0a, 0xcc], "vrndscalepd xmm1{k5}{z}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd xmm1{k5}{z}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x09, 0x0a, 0xcc], "vrndscalepd xmm1, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x09, 0x0a, 0xcc], "vrndscalepd xmm1{k5}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd xmm1, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd xmm1{k5}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x09, 0xca, 0xcc], "vrndscalepd zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x09, 0x0a, 0xcc], "vrndscalepd zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x09, 0xca, 0xcc], "vrndscalepd zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x09, 0xca, 0xcc], "vrndscalepd zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x09, 0x0a, 0xcc], "vrndscalepd zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x09, 0x0a, 0xcc], "vrndscalepd zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x09, 0xca, 0xcc], "vrndscalepd xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x09, 0x0a, 0xcc], "vrndscalepd xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x09, 0xca, 0xcc], "vrndscalepd xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x09, 0xca, 0xcc], "vrndscalepd xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x09, 0x0a, 0xcc], "vrndscalepd xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x09, 0x0a, 0xcc], "vrndscalepd xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x09, 0x4a, 0x01, 0xcc], "vrndscalepd xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x0a, 0xca, 0xcc], "vrndscaless xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x0a, 0xca, 0xcc], "vrndscaless xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x0a, 0xca, 0xcc], "vrndscaless xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x0a, 0xca, 0xcc], "vrndscaless xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x0a, 0x0a, 0xcc], "vrndscaless xmm1{k5}{z}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x0a, 0x4a, 0x01, 0xcc], "vrndscaless xmm1{k5}{z}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x0a, 0xca, 0xcc], "vrndscaless xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x0a, 0xca, 0xcc], "vrndscaless xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x0a, 0x0a, 0xcc], "vrndscaless xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x0a, 0x0a, 0xcc], "vrndscaless xmm1{k5}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x0a, 0x4a, 0x01, 0xcc], "vrndscaless xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x0a, 0x4a, 0x01, 0xcc], "vrndscaless xmm1{k5}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x0b, 0xca, 0xcc], "vrndscalesd xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x0b, 0xca, 0xcc], "vrndscalesd xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x0b, 0xca, 0xcc], "vrndscalesd xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x0b, 0xca, 0xcc], "vrndscalesd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x0b, 0x0a, 0xcc], "vrndscalesd xmm1{k5}{z}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x0b, 0x4a, 0x01, 0xcc], "vrndscalesd xmm1{k5}{z}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x0b, 0xca, 0xcc], "vrndscalesd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x0b, 0xca, 0xcc], "vrndscalesd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x0b, 0x0a, 0xcc], "vrndscalesd xmm1, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x0b, 0x0a, 0xcc], "vrndscalesd xmm1{k5}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x0b, 0x4a, 0x01, 0xcc], "vrndscalesd xmm1, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x0b, 0x4a, 0x01, 0xcc], "vrndscalesd xmm1{k5}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x0f, 0xca, 0xcc], "vpalignr ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x0f, 0x0a, 0xcc], "vpalignr ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x0f, 0xca, 0xcc], "vpalignr ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x0f, 0xca, 0xcc], "vpalignr ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x0f, 0x0a, 0xcc], "vpalignr ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x0f, 0x0a, 0xcc], "vpalignr ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x0f, 0xca, 0xcc], "vpalignr zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x0f, 0x0a, 0xcc], "vpalignr zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x0f, 0xca, 0xcc], "vpalignr zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x0f, 0xca, 0xcc], "vpalignr zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x0f, 0x0a, 0xcc], "vpalignr zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x0f, 0x0a, 0xcc], "vpalignr zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x0f, 0xca, 0xcc], "vpalignr xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x0f, 0x0a, 0xcc], "vpalignr xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x0f, 0xca, 0xcc], "vpalignr xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x0f, 0xca, 0xcc], "vpalignr xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x0f, 0x0a, 0xcc], "vpalignr xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x0f, 0x0a, 0xcc], "vpalignr xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x0f, 0x4a, 0x01, 0xcc], "vpalignr xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x14, 0xca, 0xcc], "vpextrb edx, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x14, 0x0a, 0xcc], "vpextrb byte [edx], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x14, 0x4a, 0x01, 0xcc], "vpextrb byte [edx + 0x1], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x15, 0xca, 0xcc], "vpextrw edx, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x15, 0x0a, 0xcc], "vpextrw word [edx], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x15, 0x4a, 0x01, 0xcc], "vpextrw word [edx + 0x2], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x16, 0xca, 0xcc], "vpextrd edx, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x16, 0x0a, 0xcc], "vpextrd dword [edx], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x16, 0x4a, 0x01, 0xcc], "vpextrd dword [edx + 0x4], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x17, 0xca, 0xcc], "vextractps edx, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x17, 0x0a, 0xcc], "vextractps dword [edx], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x17, 0x4a, 0x01, 0xcc], "vextractps dword [edx + 0x4], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x18, 0xca, 0xcc], "vinsertf64x2 ymm1{k5}{z}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x18, 0x0a, 0xcc], "vinsertf64x2 ymm1{k5}{z}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x18, 0x4a, 0x01, 0xcc], "vinsertf64x2 ymm1{k5}{z}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x18, 0xca, 0xcc], "vinsertf64x2 ymm1, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x18, 0xca, 0xcc], "vinsertf64x2 ymm1{k5}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x18, 0x0a, 0xcc], "vinsertf64x2 ymm1, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x18, 0x0a, 0xcc], "vinsertf64x2 ymm1{k5}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x18, 0x4a, 0x01, 0xcc], "vinsertf64x2 ymm1, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x18, 0x4a, 0x01, 0xcc], "vinsertf64x2 ymm1{k5}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x18, 0xca, 0xcc], "vinsertf32x4 ymm1{k5}{z}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x18, 0x0a, 0xcc], "vinsertf32x4 ymm1{k5}{z}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x18, 0x4a, 0x01, 0xcc], "vinsertf32x4 ymm1{k5}{z}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x18, 0xca, 0xcc], "vinsertf32x4 ymm1, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x18, 0xca, 0xcc], "vinsertf32x4 ymm1{k5}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x18, 0x0a, 0xcc], "vinsertf32x4 ymm1, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x18, 0x0a, 0xcc], "vinsertf32x4 ymm1{k5}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x18, 0x4a, 0x01, 0xcc], "vinsertf32x4 ymm1, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x18, 0x4a, 0x01, 0xcc], "vinsertf32x4 ymm1{k5}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x18, 0xca, 0xcc], "vinsertf64x2 zmm1{k5}{z}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x18, 0x0a, 0xcc], "vinsertf64x2 zmm1{k5}{z}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x18, 0x4a, 0x01, 0xcc], "vinsertf64x2 zmm1{k5}{z}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x18, 0xca, 0xcc], "vinsertf64x2 zmm1, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x18, 0xca, 0xcc], "vinsertf64x2 zmm1{k5}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x18, 0x0a, 0xcc], "vinsertf64x2 zmm1, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x18, 0x0a, 0xcc], "vinsertf64x2 zmm1{k5}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x18, 0x4a, 0x01, 0xcc], "vinsertf64x2 zmm1, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x18, 0x4a, 0x01, 0xcc], "vinsertf64x2 zmm1{k5}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x18, 0xca, 0xcc], "vinsertf32x4 zmm1{k5}{z}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x18, 0x0a, 0xcc], "vinsertf32x4 zmm1{k5}{z}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x18, 0x4a, 0x01, 0xcc], "vinsertf32x4 zmm1{k5}{z}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x18, 0xca, 0xcc], "vinsertf32x4 zmm1, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x18, 0xca, 0xcc], "vinsertf32x4 zmm1{k5}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x18, 0x0a, 0xcc], "vinsertf32x4 zmm1, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x18, 0x0a, 0xcc], "vinsertf32x4 zmm1{k5}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x18, 0x4a, 0x01, 0xcc], "vinsertf32x4 zmm1, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x18, 0x4a, 0x01, 0xcc], "vinsertf32x4 zmm1{k5}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x19, 0xca, 0xcc], "vextractf64x2 xmm2{k5}{z}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x19, 0xca, 0xcc], "vextractf64x2 xmm2, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x19, 0xca, 0xcc], "vextractf64x2 xmm2{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x19, 0x0a, 0xcc], "vextractf64x2 xmmword [edx], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x19, 0x0a, 0xcc], "vextractf64x2 xmmword [edx]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x19, 0x4a, 0x01, 0xcc], "vextractf64x2 xmmword [edx + 0x10], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x19, 0x4a, 0x01, 0xcc], "vextractf64x2 xmmword [edx + 0x10]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x19, 0xca, 0xcc], "vextractf32x4 xmm2{k5}{z}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x19, 0xca, 0xcc], "vextractf32x4 xmm2, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x19, 0xca, 0xcc], "vextractf32x4 xmm2{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x19, 0x0a, 0xcc], "vextractf32x4 xmmword [edx], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x19, 0x0a, 0xcc], "vextractf32x4 xmmword [edx]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x19, 0x4a, 0x01, 0xcc], "vextractf32x4 xmmword [edx + 0x10], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x19, 0x4a, 0x01, 0xcc], "vextractf32x4 xmmword [edx + 0x10]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x19, 0xca, 0xcc], "vextractf64x2 xmm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x19, 0xca, 0xcc], "vextractf64x2 xmm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x19, 0xca, 0xcc], "vextractf64x2 xmm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x19, 0x0a, 0xcc], "vextractf64x2 xmmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x19, 0x0a, 0xcc], "vextractf64x2 xmmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x19, 0x4a, 0x01, 0xcc], "vextractf64x2 xmmword [edx + 0x10], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x19, 0x4a, 0x01, 0xcc], "vextractf64x2 xmmword [edx + 0x10]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x19, 0xca, 0xcc], "vextractf32x4 xmm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x19, 0xca, 0xcc], "vextractf32x4 xmm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x19, 0xca, 0xcc], "vextractf32x4 xmm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x19, 0x0a, 0xcc], "vextractf32x4 xmmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x19, 0x0a, 0xcc], "vextractf32x4 xmmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x19, 0x4a, 0x01, 0xcc], "vextractf32x4 xmmword [edx + 0x10], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x19, 0x4a, 0x01, 0xcc], "vextractf32x4 xmmword [edx + 0x10]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x1a, 0xca, 0xcc], "vinsertf64x4 zmm1{k5}{z}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x1a, 0x0a, 0xcc], "vinsertf64x4 zmm1{k5}{z}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x1a, 0x4a, 0x01, 0xcc], "vinsertf64x4 zmm1{k5}{z}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1a, 0xca, 0xcc], "vinsertf64x4 zmm1, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1a, 0xca, 0xcc], "vinsertf64x4 zmm1{k5}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1a, 0x0a, 0xcc], "vinsertf64x4 zmm1, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1a, 0x0a, 0xcc], "vinsertf64x4 zmm1{k5}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1a, 0x4a, 0x01, 0xcc], "vinsertf64x4 zmm1, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1a, 0x4a, 0x01, 0xcc], "vinsertf64x4 zmm1{k5}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x1a, 0xca, 0xcc], "vinsertf32x8 zmm1{k5}{z}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x1a, 0x0a, 0xcc], "vinsertf32x8 zmm1{k5}{z}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x1a, 0x4a, 0x01, 0xcc], "vinsertf32x8 zmm1{k5}{z}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1a, 0xca, 0xcc], "vinsertf32x8 zmm1, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1a, 0xca, 0xcc], "vinsertf32x8 zmm1{k5}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1a, 0x0a, 0xcc], "vinsertf32x8 zmm1, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1a, 0x0a, 0xcc], "vinsertf32x8 zmm1{k5}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1a, 0x4a, 0x01, 0xcc], "vinsertf32x8 zmm1, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1a, 0x4a, 0x01, 0xcc], "vinsertf32x8 zmm1{k5}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x1b, 0xca, 0xcc], "vextractf64x4 ymm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1b, 0xca, 0xcc], "vextractf64x4 ymm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1b, 0xca, 0xcc], "vextractf64x4 ymm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1b, 0x0a, 0xcc], "vextractf64x4 ymmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1b, 0x0a, 0xcc], "vextractf64x4 ymmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1b, 0x4a, 0x01, 0xcc], "vextractf64x4 ymmword [edx + 0x20], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1b, 0x4a, 0x01, 0xcc], "vextractf64x4 ymmword [edx + 0x20]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x1b, 0xca, 0xcc], "vextractf32x8 ymm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1b, 0xca, 0xcc], "vextractf32x8 ymm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1b, 0xca, 0xcc], "vextractf32x8 ymm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1b, 0x0a, 0xcc], "vextractf32x8 ymmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1b, 0x0a, 0xcc], "vextractf32x8 ymmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1b, 0x4a, 0x01, 0xcc], "vextractf32x8 ymmword [edx + 0x20], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1b, 0x4a, 0x01, 0xcc], "vextractf32x8 ymmword [edx + 0x20]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x1d, 0xca, 0xcc], "vcvtps2ph ymm2{k5}{z}{sae}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x1d, 0xca, 0xcc], "vcvtps2ph ymm2{sae}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x1d, 0xca, 0xcc], "vcvtps2ph ymm2{k5}{sae}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x1d, 0xca, 0xcc], "vcvtps2ph xmm2{k5}{z}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1d, 0xca, 0xcc], "vcvtps2ph xmm2, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1d, 0xca, 0xcc], "vcvtps2ph xmm2{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1d, 0x0a, 0xcc], "vcvtps2ph xmmword [edx], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1d, 0x0a, 0xcc], "vcvtps2ph xmmword [edx]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1d, 0x4a, 0x01, 0xcc], "vcvtps2ph xmmword [edx + 0x10], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1d, 0x4a, 0x01, 0xcc], "vcvtps2ph xmmword [edx + 0x10]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x1d, 0xca, 0xcc], "vcvtps2ph ymm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1d, 0xca, 0xcc], "vcvtps2ph ymm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1d, 0xca, 0xcc], "vcvtps2ph ymm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1d, 0x0a, 0xcc], "vcvtps2ph ymmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1d, 0x0a, 0xcc], "vcvtps2ph ymmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1d, 0x4a, 0x01, 0xcc], "vcvtps2ph ymmword [edx + 0x20], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1d, 0x4a, 0x01, 0xcc], "vcvtps2ph ymmword [edx + 0x20]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x1d, 0xca, 0xcc], "vcvtps2ph xmm2{k5}{z}, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1d, 0xca, 0xcc], "vcvtps2ph xmm2, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1d, 0xca, 0xcc], "vcvtps2ph xmm2{k5}, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1d, 0x0a, 0xcc], "vcvtps2ph qword [edx], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1d, 0x0a, 0xcc], "vcvtps2ph qword [edx]{k5}, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1d, 0x4a, 0x01, 0xcc], "vcvtps2ph qword [edx + 0x8], xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1d, 0x4a, 0x01, 0xcc], "vcvtps2ph qword [edx + 0x8]{k5}, xmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x1e, 0x0a, 0xcc], "vpcmpuq k1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x1e, 0x0a, 0xcc], "vpcmpuq k1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x1e, 0xca, 0xcc], "vpcmpuq k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x1e, 0xca, 0xcc], "vpcmpuq k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x1e, 0x0a, 0xcc], "vpcmpuq k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x1e, 0x0a, 0xcc], "vpcmpuq k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x1e, 0x0a, 0xcc], "vpcmpud k1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x1e, 0x0a, 0xcc], "vpcmpud k1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1e, 0xca, 0xcc], "vpcmpud k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1e, 0xca, 0xcc], "vpcmpud k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1e, 0x0a, 0xcc], "vpcmpud k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1e, 0x0a, 0xcc], "vpcmpud k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x1e, 0x0a, 0xcc], "vpcmpuq k1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x1e, 0x0a, 0xcc], "vpcmpuq k1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x1e, 0x0a, 0xcc], "vpcmpuq k1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x1e, 0x0a, 0xcc], "vpcmpuq k1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1e, 0xca, 0xcc], "vpcmpuq k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1e, 0xca, 0xcc], "vpcmpuq k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1e, 0x0a, 0xcc], "vpcmpuq k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1e, 0x0a, 0xcc], "vpcmpuq k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x1e, 0xca, 0xcc], "vpcmpuq k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x1e, 0xca, 0xcc], "vpcmpuq k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x1e, 0x0a, 0xcc], "vpcmpuq k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x1e, 0x0a, 0xcc], "vpcmpuq k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpuq k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x1e, 0x0a, 0xcc], "vpcmpud k1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x1e, 0x0a, 0xcc], "vpcmpud k1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x1e, 0x0a, 0xcc], "vpcmpud k1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x1e, 0x0a, 0xcc], "vpcmpud k1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1e, 0xca, 0xcc], "vpcmpud k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1e, 0xca, 0xcc], "vpcmpud k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1e, 0x0a, 0xcc], "vpcmpud k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1e, 0x0a, 0xcc], "vpcmpud k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1e, 0xca, 0xcc], "vpcmpud k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1e, 0xca, 0xcc], "vpcmpud k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1e, 0x0a, 0xcc], "vpcmpud k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1e, 0x0a, 0xcc], "vpcmpud k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1e, 0x4a, 0x01, 0xcc], "vpcmpud k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x1f, 0x0a, 0xcc], "vpcmpq k1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x1f, 0x0a, 0xcc], "vpcmpq k1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x1f, 0xca, 0xcc], "vpcmpq k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x1f, 0xca, 0xcc], "vpcmpq k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x1f, 0x0a, 0xcc], "vpcmpq k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x1f, 0x0a, 0xcc], "vpcmpq k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x1f, 0x0a, 0xcc], "vpcmpd k1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x1f, 0x0a, 0xcc], "vpcmpd k1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1f, 0xca, 0xcc], "vpcmpd k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1f, 0xca, 0xcc], "vpcmpd k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1f, 0x0a, 0xcc], "vpcmpd k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1f, 0x0a, 0xcc], "vpcmpd k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x1f, 0x0a, 0xcc], "vpcmpq k1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x1f, 0x0a, 0xcc], "vpcmpq k1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x1f, 0x0a, 0xcc], "vpcmpq k1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x1f, 0x0a, 0xcc], "vpcmpq k1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1f, 0xca, 0xcc], "vpcmpq k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1f, 0xca, 0xcc], "vpcmpq k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1f, 0x0a, 0xcc], "vpcmpq k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1f, 0x0a, 0xcc], "vpcmpq k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x1f, 0xca, 0xcc], "vpcmpq k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x1f, 0xca, 0xcc], "vpcmpq k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x1f, 0x0a, 0xcc], "vpcmpq k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x1f, 0x0a, 0xcc], "vpcmpq k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpq k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x1f, 0x0a, 0xcc], "vpcmpd k1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x1f, 0x0a, 0xcc], "vpcmpd k1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x1f, 0x0a, 0xcc], "vpcmpd k1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x1f, 0x0a, 0xcc], "vpcmpd k1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1f, 0xca, 0xcc], "vpcmpd k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1f, 0xca, 0xcc], "vpcmpd k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1f, 0x0a, 0xcc], "vpcmpd k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1f, 0x0a, 0xcc], "vpcmpd k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1f, 0xca, 0xcc], "vpcmpd k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1f, 0xca, 0xcc], "vpcmpd k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1f, 0x0a, 0xcc], "vpcmpd k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1f, 0x0a, 0xcc], "vpcmpd k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x1f, 0x4a, 0x01, 0xcc], "vpcmpd k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x20, 0xca, 0xcc], "vpinsrb xmm1, xmm0, edx, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x20, 0x0a, 0xcc], "vpinsrb xmm1, xmm0, byte [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x20, 0x4a, 0x01, 0xcc], "vpinsrb xmm1, xmm0, byte [edx + 0x1], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x21, 0xca, 0xcc], "vinsertps xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x21, 0x0a, 0xcc], "vinsertps xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x21, 0x4a, 0x01, 0xcc], "vinsertps xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x22, 0xca, 0xcc], "vpinsrd xmm1, xmm0, edx, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x22, 0x0a, 0xcc], "vpinsrd xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x22, 0x4a, 0x01, 0xcc], "vpinsrd xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x23, 0x0a, 0xcc], "vshuff64x2 ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x23, 0x0a, 0xcc], "vshuff64x2 ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x23, 0x0a, 0xcc], "vshuff64x2 ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x23, 0xca, 0xcc], "vshuff64x2 ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x23, 0x0a, 0xcc], "vshuff64x2 ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x23, 0xca, 0xcc], "vshuff64x2 ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x23, 0xca, 0xcc], "vshuff64x2 ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x23, 0x0a, 0xcc], "vshuff64x2 ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x23, 0x0a, 0xcc], "vshuff64x2 ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x23, 0x0a, 0xcc], "vshuff32x4 ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x23, 0x0a, 0xcc], "vshuff32x4 ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x23, 0x0a, 0xcc], "vshuff32x4 ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x23, 0xca, 0xcc], "vshuff32x4 ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x23, 0x0a, 0xcc], "vshuff32x4 ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x23, 0xca, 0xcc], "vshuff32x4 ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x23, 0xca, 0xcc], "vshuff32x4 ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x23, 0x0a, 0xcc], "vshuff32x4 ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x23, 0x0a, 0xcc], "vshuff32x4 ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x23, 0x0a, 0xcc], "vshuff64x2 zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x23, 0x0a, 0xcc], "vshuff64x2 zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x23, 0x0a, 0xcc], "vshuff64x2 zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x23, 0xca, 0xcc], "vshuff64x2 zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x23, 0x0a, 0xcc], "vshuff64x2 zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x23, 0xca, 0xcc], "vshuff64x2 zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x23, 0xca, 0xcc], "vshuff64x2 zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x23, 0x0a, 0xcc], "vshuff64x2 zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x23, 0x0a, 0xcc], "vshuff64x2 zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x23, 0x4a, 0x01, 0xcc], "vshuff64x2 zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x23, 0x0a, 0xcc], "vshuff32x4 zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x23, 0x0a, 0xcc], "vshuff32x4 zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x23, 0x0a, 0xcc], "vshuff32x4 zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x23, 0xca, 0xcc], "vshuff32x4 zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x23, 0x0a, 0xcc], "vshuff32x4 zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x23, 0xca, 0xcc], "vshuff32x4 zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x23, 0xca, 0xcc], "vshuff32x4 zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x23, 0x0a, 0xcc], "vshuff32x4 zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x23, 0x0a, 0xcc], "vshuff32x4 zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x23, 0x4a, 0x01, 0xcc], "vshuff32x4 zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x25, 0x0a, 0xcc], "vpternlogq ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x25, 0x0a, 0xcc], "vpternlogq ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x25, 0x0a, 0xcc], "vpternlogq ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x25, 0xca, 0xcc], "vpternlogq ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x25, 0x0a, 0xcc], "vpternlogq ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x25, 0xca, 0xcc], "vpternlogq ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x25, 0xca, 0xcc], "vpternlogq ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x25, 0x0a, 0xcc], "vpternlogq ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x25, 0x0a, 0xcc], "vpternlogq ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x25, 0x0a, 0xcc], "vpternlogd ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x25, 0x0a, 0xcc], "vpternlogd ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x25, 0x0a, 0xcc], "vpternlogd ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x25, 0xca, 0xcc], "vpternlogd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x25, 0x0a, 0xcc], "vpternlogd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x25, 0xca, 0xcc], "vpternlogd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x25, 0xca, 0xcc], "vpternlogd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x25, 0x0a, 0xcc], "vpternlogd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x25, 0x0a, 0xcc], "vpternlogd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x25, 0x0a, 0xcc], "vpternlogq zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x25, 0x0a, 0xcc], "vpternlogq zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x25, 0x0a, 0xcc], "vpternlogq zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x25, 0x0a, 0xcc], "vpternlogq xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x25, 0x0a, 0xcc], "vpternlogq xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x25, 0x0a, 0xcc], "vpternlogq xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x25, 0xca, 0xcc], "vpternlogq zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x25, 0x0a, 0xcc], "vpternlogq zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x25, 0xca, 0xcc], "vpternlogq zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x25, 0xca, 0xcc], "vpternlogq zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x25, 0x0a, 0xcc], "vpternlogq zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x25, 0x0a, 0xcc], "vpternlogq zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x25, 0xca, 0xcc], "vpternlogq xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x25, 0x0a, 0xcc], "vpternlogq xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x25, 0xca, 0xcc], "vpternlogq xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x25, 0xca, 0xcc], "vpternlogq xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x25, 0x0a, 0xcc], "vpternlogq xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x25, 0x0a, 0xcc], "vpternlogq xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogq xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x25, 0x0a, 0xcc], "vpternlogd zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x25, 0x0a, 0xcc], "vpternlogd zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x25, 0x0a, 0xcc], "vpternlogd zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x25, 0x0a, 0xcc], "vpternlogd xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x25, 0x0a, 0xcc], "vpternlogd xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x25, 0x0a, 0xcc], "vpternlogd xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x25, 0xca, 0xcc], "vpternlogd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x25, 0x0a, 0xcc], "vpternlogd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x25, 0xca, 0xcc], "vpternlogd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x25, 0xca, 0xcc], "vpternlogd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x25, 0x0a, 0xcc], "vpternlogd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x25, 0x0a, 0xcc], "vpternlogd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x25, 0xca, 0xcc], "vpternlogd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x25, 0x0a, 0xcc], "vpternlogd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x25, 0xca, 0xcc], "vpternlogd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x25, 0xca, 0xcc], "vpternlogd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x25, 0x0a, 0xcc], "vpternlogd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x25, 0x0a, 0xcc], "vpternlogd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x25, 0x4a, 0x01, 0xcc], "vpternlogd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x26, 0xca, 0xcc], "vgetmantpd zmm1{k5}{z}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x26, 0xca, 0xcc], "vgetmantpd zmm1{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x26, 0xca, 0xcc], "vgetmantpd zmm1{k5}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x26, 0x0a, 0xcc], "vgetmantpd ymm1{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd ymm1{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x26, 0x0a, 0xcc], "vgetmantpd ymm1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x26, 0x0a, 0xcc], "vgetmantpd ymm1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd ymm1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd ymm1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x26, 0xca, 0xcc], "vgetmantpd ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x26, 0x0a, 0xcc], "vgetmantpd ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x26, 0xca, 0xcc], "vgetmantpd ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x26, 0xca, 0xcc], "vgetmantpd ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x26, 0x0a, 0xcc], "vgetmantpd ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x26, 0x0a, 0xcc], "vgetmantpd ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x26, 0xca, 0xcc], "vgetmantps zmm1{k5}{z}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x26, 0xca, 0xcc], "vgetmantps zmm1{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x26, 0xca, 0xcc], "vgetmantps zmm1{k5}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x26, 0x0a, 0xcc], "vgetmantps ymm1{k5}{z}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps ymm1{k5}{z}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x26, 0x0a, 0xcc], "vgetmantps ymm1, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x26, 0x0a, 0xcc], "vgetmantps ymm1{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps ymm1, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps ymm1{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x26, 0xca, 0xcc], "vgetmantps ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x26, 0x0a, 0xcc], "vgetmantps ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x26, 0xca, 0xcc], "vgetmantps ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x26, 0xca, 0xcc], "vgetmantps ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x26, 0x0a, 0xcc], "vgetmantps ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x26, 0x0a, 0xcc], "vgetmantps ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x26, 0x0a, 0xcc], "vgetmantpd zmm1{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd zmm1{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x26, 0x0a, 0xcc], "vgetmantpd zmm1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x26, 0x0a, 0xcc], "vgetmantpd zmm1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd zmm1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd zmm1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x26, 0x0a, 0xcc], "vgetmantpd xmm1{k5}{z}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd xmm1{k5}{z}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x26, 0x0a, 0xcc], "vgetmantpd xmm1, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x26, 0x0a, 0xcc], "vgetmantpd xmm1{k5}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd xmm1, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd xmm1{k5}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x26, 0xca, 0xcc], "vgetmantpd zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x26, 0x0a, 0xcc], "vgetmantpd zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x26, 0xca, 0xcc], "vgetmantpd zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x26, 0xca, 0xcc], "vgetmantpd zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x26, 0x0a, 0xcc], "vgetmantpd zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x26, 0x0a, 0xcc], "vgetmantpd zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x26, 0xca, 0xcc], "vgetmantpd xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x26, 0x0a, 0xcc], "vgetmantpd xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x26, 0xca, 0xcc], "vgetmantpd xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x26, 0xca, 0xcc], "vgetmantpd xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x26, 0x0a, 0xcc], "vgetmantpd xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x26, 0x0a, 0xcc], "vgetmantpd xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantpd xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x26, 0x0a, 0xcc], "vgetmantps zmm1{k5}{z}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps zmm1{k5}{z}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x26, 0x0a, 0xcc], "vgetmantps zmm1, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x26, 0x0a, 0xcc], "vgetmantps zmm1{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps zmm1, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps zmm1{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x26, 0x0a, 0xcc], "vgetmantps xmm1{k5}{z}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps xmm1{k5}{z}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x26, 0x0a, 0xcc], "vgetmantps xmm1, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x26, 0x0a, 0xcc], "vgetmantps xmm1{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps xmm1, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps xmm1{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x26, 0xca, 0xcc], "vgetmantps zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x26, 0x0a, 0xcc], "vgetmantps zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x26, 0xca, 0xcc], "vgetmantps zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x26, 0xca, 0xcc], "vgetmantps zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x26, 0x0a, 0xcc], "vgetmantps zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x26, 0x0a, 0xcc], "vgetmantps zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x26, 0xca, 0xcc], "vgetmantps xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x26, 0x0a, 0xcc], "vgetmantps xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x26, 0xca, 0xcc], "vgetmantps xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x26, 0xca, 0xcc], "vgetmantps xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x26, 0x0a, 0xcc], "vgetmantps xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x26, 0x0a, 0xcc], "vgetmantps xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x26, 0x4a, 0x01, 0xcc], "vgetmantps xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x27, 0xca, 0xcc], "vgetmantsd xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x27, 0xca, 0xcc], "vgetmantsd xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x27, 0xca, 0xcc], "vgetmantsd xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x27, 0xca, 0xcc], "vgetmantsd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x27, 0x0a, 0xcc], "vgetmantsd xmm1{k5}{z}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x27, 0x4a, 0x01, 0xcc], "vgetmantsd xmm1{k5}{z}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x27, 0xca, 0xcc], "vgetmantsd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x27, 0xca, 0xcc], "vgetmantsd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x27, 0x0a, 0xcc], "vgetmantsd xmm1, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x27, 0x0a, 0xcc], "vgetmantsd xmm1{k5}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x27, 0x4a, 0x01, 0xcc], "vgetmantsd xmm1, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x27, 0x4a, 0x01, 0xcc], "vgetmantsd xmm1{k5}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x27, 0xca, 0xcc], "vgetmantss xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x27, 0xca, 0xcc], "vgetmantss xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x27, 0xca, 0xcc], "vgetmantss xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x27, 0xca, 0xcc], "vgetmantss xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x27, 0x0a, 0xcc], "vgetmantss xmm1{k5}{z}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x27, 0x4a, 0x01, 0xcc], "vgetmantss xmm1{k5}{z}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x27, 0xca, 0xcc], "vgetmantss xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x27, 0xca, 0xcc], "vgetmantss xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x27, 0x0a, 0xcc], "vgetmantss xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x27, 0x0a, 0xcc], "vgetmantss xmm1{k5}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x27, 0x4a, 0x01, 0xcc], "vgetmantss xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x27, 0x4a, 0x01, 0xcc], "vgetmantss xmm1{k5}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x38, 0xca, 0xcc], "vinserti64x2 ymm1{k5}{z}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x38, 0x0a, 0xcc], "vinserti64x2 ymm1{k5}{z}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x38, 0x4a, 0x01, 0xcc], "vinserti64x2 ymm1{k5}{z}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x38, 0xca, 0xcc], "vinserti64x2 ymm1, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x38, 0xca, 0xcc], "vinserti64x2 ymm1{k5}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x38, 0x0a, 0xcc], "vinserti64x2 ymm1, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x38, 0x0a, 0xcc], "vinserti64x2 ymm1{k5}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x38, 0x4a, 0x01, 0xcc], "vinserti64x2 ymm1, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x38, 0x4a, 0x01, 0xcc], "vinserti64x2 ymm1{k5}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x38, 0xca, 0xcc], "vinserti32x4 ymm1{k5}{z}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x38, 0x0a, 0xcc], "vinserti32x4 ymm1{k5}{z}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x38, 0x4a, 0x01, 0xcc], "vinserti32x4 ymm1{k5}{z}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x38, 0xca, 0xcc], "vinserti32x4 ymm1, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x38, 0xca, 0xcc], "vinserti32x4 ymm1{k5}, ymm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x38, 0x0a, 0xcc], "vinserti32x4 ymm1, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x38, 0x0a, 0xcc], "vinserti32x4 ymm1{k5}, ymm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x38, 0x4a, 0x01, 0xcc], "vinserti32x4 ymm1, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x38, 0x4a, 0x01, 0xcc], "vinserti32x4 ymm1{k5}, ymm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x38, 0xca, 0xcc], "vinserti64x2 zmm1{k5}{z}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x38, 0x0a, 0xcc], "vinserti64x2 zmm1{k5}{z}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x38, 0x4a, 0x01, 0xcc], "vinserti64x2 zmm1{k5}{z}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x38, 0xca, 0xcc], "vinserti64x2 zmm1, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x38, 0xca, 0xcc], "vinserti64x2 zmm1{k5}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x38, 0x0a, 0xcc], "vinserti64x2 zmm1, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x38, 0x0a, 0xcc], "vinserti64x2 zmm1{k5}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x38, 0x4a, 0x01, 0xcc], "vinserti64x2 zmm1, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x38, 0x4a, 0x01, 0xcc], "vinserti64x2 zmm1{k5}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x38, 0xca, 0xcc], "vinserti32x4 zmm1{k5}{z}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x38, 0x0a, 0xcc], "vinserti32x4 zmm1{k5}{z}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x38, 0x4a, 0x01, 0xcc], "vinserti32x4 zmm1{k5}{z}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x38, 0xca, 0xcc], "vinserti32x4 zmm1, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x38, 0xca, 0xcc], "vinserti32x4 zmm1{k5}, zmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x38, 0x0a, 0xcc], "vinserti32x4 zmm1, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x38, 0x0a, 0xcc], "vinserti32x4 zmm1{k5}, zmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x38, 0x4a, 0x01, 0xcc], "vinserti32x4 zmm1, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x38, 0x4a, 0x01, 0xcc], "vinserti32x4 zmm1{k5}, zmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x39, 0xca, 0xcc], "vextracti64x2 xmm2{k5}{z}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x39, 0xca, 0xcc], "vextracti64x2 xmm2, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x39, 0xca, 0xcc], "vextracti64x2 xmm2{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x39, 0x0a, 0xcc], "vextracti64x2 xmmword [edx], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x39, 0x0a, 0xcc], "vextracti64x2 xmmword [edx]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x39, 0x4a, 0x01, 0xcc], "vextracti64x2 xmmword [edx + 0x10], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x39, 0x4a, 0x01, 0xcc], "vextracti64x2 xmmword [edx + 0x10]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x39, 0xca, 0xcc], "vextracti32x4 xmm2{k5}{z}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x39, 0xca, 0xcc], "vextracti32x4 xmm2, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x39, 0xca, 0xcc], "vextracti32x4 xmm2{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x39, 0x0a, 0xcc], "vextracti32x4 xmmword [edx], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x39, 0x0a, 0xcc], "vextracti32x4 xmmword [edx]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x39, 0x4a, 0x01, 0xcc], "vextracti32x4 xmmword [edx + 0x10], ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x39, 0x4a, 0x01, 0xcc], "vextracti32x4 xmmword [edx + 0x10]{k5}, ymm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x39, 0xca, 0xcc], "vextracti64x2 xmm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x39, 0xca, 0xcc], "vextracti64x2 xmm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x39, 0xca, 0xcc], "vextracti64x2 xmm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x39, 0x0a, 0xcc], "vextracti64x2 xmmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x39, 0x0a, 0xcc], "vextracti64x2 xmmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x39, 0x4a, 0x01, 0xcc], "vextracti64x2 xmmword [edx + 0x10], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x39, 0x4a, 0x01, 0xcc], "vextracti64x2 xmmword [edx + 0x10]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x39, 0xca, 0xcc], "vextracti32x4 xmm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x39, 0xca, 0xcc], "vextracti32x4 xmm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x39, 0xca, 0xcc], "vextracti32x4 xmm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x39, 0x0a, 0xcc], "vextracti32x4 xmmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x39, 0x0a, 0xcc], "vextracti32x4 xmmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x39, 0x4a, 0x01, 0xcc], "vextracti32x4 xmmword [edx + 0x10], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x39, 0x4a, 0x01, 0xcc], "vextracti32x4 xmmword [edx + 0x10]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x3a, 0xca, 0xcc], "vinserti64x4 zmm1{k5}{z}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x3a, 0x0a, 0xcc], "vinserti64x4 zmm1{k5}{z}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x3a, 0x4a, 0x01, 0xcc], "vinserti64x4 zmm1{k5}{z}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3a, 0xca, 0xcc], "vinserti64x4 zmm1, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3a, 0xca, 0xcc], "vinserti64x4 zmm1{k5}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3a, 0x0a, 0xcc], "vinserti64x4 zmm1, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3a, 0x0a, 0xcc], "vinserti64x4 zmm1{k5}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3a, 0x4a, 0x01, 0xcc], "vinserti64x4 zmm1, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3a, 0x4a, 0x01, 0xcc], "vinserti64x4 zmm1{k5}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x3a, 0xca, 0xcc], "vinserti32x8 zmm1{k5}{z}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x3a, 0x0a, 0xcc], "vinserti32x8 zmm1{k5}{z}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x3a, 0x4a, 0x01, 0xcc], "vinserti32x8 zmm1{k5}{z}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3a, 0xca, 0xcc], "vinserti32x8 zmm1, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3a, 0xca, 0xcc], "vinserti32x8 zmm1{k5}, zmm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3a, 0x0a, 0xcc], "vinserti32x8 zmm1, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3a, 0x0a, 0xcc], "vinserti32x8 zmm1{k5}, zmm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3a, 0x4a, 0x01, 0xcc], "vinserti32x8 zmm1, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3a, 0x4a, 0x01, 0xcc], "vinserti32x8 zmm1{k5}, zmm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x3b, 0xca, 0xcc], "vextracti64x4 ymm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3b, 0xca, 0xcc], "vextracti64x4 ymm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3b, 0xca, 0xcc], "vextracti64x4 ymm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3b, 0x0a, 0xcc], "vextracti64x4 ymmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3b, 0x0a, 0xcc], "vextracti64x4 ymmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3b, 0x4a, 0x01, 0xcc], "vextracti64x4 ymmword [edx + 0x20], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3b, 0x4a, 0x01, 0xcc], "vextracti64x4 ymmword [edx + 0x20]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x3b, 0xca, 0xcc], "vextracti32x8 ymm2{k5}{z}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3b, 0xca, 0xcc], "vextracti32x8 ymm2, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3b, 0xca, 0xcc], "vextracti32x8 ymm2{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3b, 0x0a, 0xcc], "vextracti32x8 ymmword [edx], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3b, 0x0a, 0xcc], "vextracti32x8 ymmword [edx]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3b, 0x4a, 0x01, 0xcc], "vextracti32x8 ymmword [edx + 0x20], zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3b, 0x4a, 0x01, 0xcc], "vextracti32x8 ymmword [edx + 0x20]{k5}, zmm1, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x3e, 0xca, 0xcc], "vpcmpuw k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x3e, 0xca, 0xcc], "vpcmpuw k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x3e, 0x0a, 0xcc], "vpcmpuw k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x3e, 0x0a, 0xcc], "vpcmpuw k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpuw k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpuw k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x3e, 0xca, 0xcc], "vpcmpub k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x3e, 0xca, 0xcc], "vpcmpub k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x3e, 0x0a, 0xcc], "vpcmpub k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x3e, 0x0a, 0xcc], "vpcmpub k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpub k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpub k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3e, 0xca, 0xcc], "vpcmpuw k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3e, 0xca, 0xcc], "vpcmpuw k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3e, 0x0a, 0xcc], "vpcmpuw k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3e, 0x0a, 0xcc], "vpcmpuw k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpuw k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpuw k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x3e, 0xca, 0xcc], "vpcmpuw k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x3e, 0xca, 0xcc], "vpcmpuw k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x3e, 0x0a, 0xcc], "vpcmpuw k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x3e, 0x0a, 0xcc], "vpcmpuw k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpuw k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpuw k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3e, 0xca, 0xcc], "vpcmpub k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3e, 0xca, 0xcc], "vpcmpub k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3e, 0x0a, 0xcc], "vpcmpub k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3e, 0x0a, 0xcc], "vpcmpub k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpub k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpub k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x3e, 0xca, 0xcc], "vpcmpub k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x3e, 0xca, 0xcc], "vpcmpub k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x3e, 0x0a, 0xcc], "vpcmpub k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x3e, 0x0a, 0xcc], "vpcmpub k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpub k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x3e, 0x4a, 0x01, 0xcc], "vpcmpub k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x3f, 0xca, 0xcc], "vpcmpw k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x3f, 0xca, 0xcc], "vpcmpw k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x3f, 0x0a, 0xcc], "vpcmpw k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x3f, 0x0a, 0xcc], "vpcmpw k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpw k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpw k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x3f, 0xca, 0xcc], "vpcmpb k1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x3f, 0xca, 0xcc], "vpcmpb k1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x3f, 0x0a, 0xcc], "vpcmpb k1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x3f, 0x0a, 0xcc], "vpcmpb k1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpb k1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpb k1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3f, 0xca, 0xcc], "vpcmpw k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3f, 0xca, 0xcc], "vpcmpw k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3f, 0x0a, 0xcc], "vpcmpw k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3f, 0x0a, 0xcc], "vpcmpw k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpw k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpw k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x3f, 0xca, 0xcc], "vpcmpw k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x3f, 0xca, 0xcc], "vpcmpw k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x3f, 0x0a, 0xcc], "vpcmpw k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x3f, 0x0a, 0xcc], "vpcmpw k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpw k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpw k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3f, 0xca, 0xcc], "vpcmpb k1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3f, 0xca, 0xcc], "vpcmpb k1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3f, 0x0a, 0xcc], "vpcmpb k1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3f, 0x0a, 0xcc], "vpcmpb k1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpb k1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpb k1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x3f, 0xca, 0xcc], "vpcmpb k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x3f, 0xca, 0xcc], "vpcmpb k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x3f, 0x0a, 0xcc], "vpcmpb k1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x3f, 0x0a, 0xcc], "vpcmpb k1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpb k1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x3f, 0x4a, 0x01, 0xcc], "vpcmpb k1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x42, 0xca, 0xcc], "vdbpsadbw ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x42, 0x0a, 0xcc], "vdbpsadbw ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x42, 0xca, 0xcc], "vdbpsadbw ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x42, 0xca, 0xcc], "vdbpsadbw ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x42, 0x0a, 0xcc], "vdbpsadbw ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x42, 0x0a, 0xcc], "vdbpsadbw ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x42, 0xca, 0xcc], "vdbpsadbw zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x42, 0x0a, 0xcc], "vdbpsadbw zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x42, 0xca, 0xcc], "vdbpsadbw zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x42, 0xca, 0xcc], "vdbpsadbw zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x42, 0x0a, 0xcc], "vdbpsadbw zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x42, 0x0a, 0xcc], "vdbpsadbw zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x42, 0xca, 0xcc], "vdbpsadbw xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x42, 0x0a, 0xcc], "vdbpsadbw xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x42, 0xca, 0xcc], "vdbpsadbw xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x42, 0xca, 0xcc], "vdbpsadbw xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x42, 0x0a, 0xcc], "vdbpsadbw xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x42, 0x0a, 0xcc], "vdbpsadbw xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x42, 0x4a, 0x01, 0xcc], "vdbpsadbw xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x43, 0x0a, 0xcc], "vshufi64x2 ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x43, 0x0a, 0xcc], "vshufi64x2 ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x43, 0x0a, 0xcc], "vshufi64x2 ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x43, 0xca, 0xcc], "vshufi64x2 ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x43, 0x0a, 0xcc], "vshufi64x2 ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x43, 0xca, 0xcc], "vshufi64x2 ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x43, 0xca, 0xcc], "vshufi64x2 ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x43, 0x0a, 0xcc], "vshufi64x2 ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x43, 0x0a, 0xcc], "vshufi64x2 ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x43, 0x0a, 0xcc], "vshufi32x4 ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x43, 0x0a, 0xcc], "vshufi32x4 ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x43, 0x0a, 0xcc], "vshufi32x4 ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x43, 0xca, 0xcc], "vshufi32x4 ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x43, 0x0a, 0xcc], "vshufi32x4 ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x43, 0xca, 0xcc], "vshufi32x4 ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x43, 0xca, 0xcc], "vshufi32x4 ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x43, 0x0a, 0xcc], "vshufi32x4 ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x43, 0x0a, 0xcc], "vshufi32x4 ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x43, 0x0a, 0xcc], "vshufi64x2 zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x43, 0x0a, 0xcc], "vshufi64x2 zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x43, 0x0a, 0xcc], "vshufi64x2 zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x43, 0xca, 0xcc], "vshufi64x2 zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x43, 0x0a, 0xcc], "vshufi64x2 zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x43, 0xca, 0xcc], "vshufi64x2 zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x43, 0xca, 0xcc], "vshufi64x2 zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x43, 0x0a, 0xcc], "vshufi64x2 zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x43, 0x0a, 0xcc], "vshufi64x2 zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x43, 0x4a, 0x01, 0xcc], "vshufi64x2 zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x43, 0x0a, 0xcc], "vshufi32x4 zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x43, 0x0a, 0xcc], "vshufi32x4 zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x43, 0x0a, 0xcc], "vshufi32x4 zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x43, 0xca, 0xcc], "vshufi32x4 zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x43, 0x0a, 0xcc], "vshufi32x4 zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x43, 0xca, 0xcc], "vshufi32x4 zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x43, 0xca, 0xcc], "vshufi32x4 zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x43, 0x0a, 0xcc], "vshufi32x4 zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x43, 0x0a, 0xcc], "vshufi32x4 zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x43, 0x4a, 0x01, 0xcc], "vshufi32x4 zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x44, 0xca, 0xcc], "vpclmulqdq ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x44, 0x0a, 0xcc], "vpclmulqdq ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x44, 0x4a, 0x01, 0xcc], "vpclmulqdq ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x44, 0xca, 0xcc], "vpclmulqdq zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x44, 0x0a, 0xcc], "vpclmulqdq zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x44, 0x4a, 0x01, 0xcc], "vpclmulqdq zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x44, 0xca, 0xcc], "vpclmulqdq xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x44, 0x0a, 0xcc], "vpclmulqdq xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x44, 0x4a, 0x01, 0xcc], "vpclmulqdq xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x50, 0xca, 0xcc], "vrangepd zmm1{k5}{z}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x50, 0xca, 0xcc], "vrangepd zmm1{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x50, 0xca, 0xcc], "vrangepd zmm1{k5}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x50, 0x0a, 0xcc], "vrangepd ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x50, 0x4a, 0x01, 0xcc], "vrangepd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x50, 0x0a, 0xcc], "vrangepd ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x50, 0x0a, 0xcc], "vrangepd ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x50, 0x4a, 0x01, 0xcc], "vrangepd ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x50, 0xca, 0xcc], "vrangepd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x50, 0x0a, 0xcc], "vrangepd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x50, 0x4a, 0x01, 0xcc], "vrangepd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x50, 0xca, 0xcc], "vrangepd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x50, 0xca, 0xcc], "vrangepd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x50, 0x0a, 0xcc], "vrangepd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x50, 0x0a, 0xcc], "vrangepd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x50, 0x4a, 0x01, 0xcc], "vrangepd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x50, 0xca, 0xcc], "vrangeps zmm1{k5}{z}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x50, 0xca, 0xcc], "vrangeps zmm1{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x50, 0xca, 0xcc], "vrangeps zmm1{k5}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x50, 0x0a, 0xcc], "vrangeps ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x50, 0x4a, 0x01, 0xcc], "vrangeps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x50, 0x0a, 0xcc], "vrangeps ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x50, 0x0a, 0xcc], "vrangeps ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x50, 0x4a, 0x01, 0xcc], "vrangeps ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x50, 0xca, 0xcc], "vrangeps ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x50, 0x0a, 0xcc], "vrangeps ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x50, 0x4a, 0x01, 0xcc], "vrangeps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x50, 0xca, 0xcc], "vrangeps ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x50, 0xca, 0xcc], "vrangeps ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x50, 0x0a, 0xcc], "vrangeps ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x50, 0x0a, 0xcc], "vrangeps ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x50, 0x4a, 0x01, 0xcc], "vrangeps ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x50, 0x0a, 0xcc], "vrangepd zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x50, 0x4a, 0x01, 0xcc], "vrangepd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x50, 0x0a, 0xcc], "vrangepd zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x50, 0x0a, 0xcc], "vrangepd zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x50, 0x4a, 0x01, 0xcc], "vrangepd zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x50, 0x0a, 0xcc], "vrangepd xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x50, 0x0a, 0xcc], "vrangepd xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x50, 0x0a, 0xcc], "vrangepd xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x50, 0x4a, 0x01, 0xcc], "vrangepd xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x50, 0xca, 0xcc], "vrangepd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x50, 0x0a, 0xcc], "vrangepd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x50, 0x4a, 0x01, 0xcc], "vrangepd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x50, 0xca, 0xcc], "vrangepd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x50, 0xca, 0xcc], "vrangepd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x50, 0x0a, 0xcc], "vrangepd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x50, 0x0a, 0xcc], "vrangepd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x50, 0x4a, 0x01, 0xcc], "vrangepd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x50, 0xca, 0xcc], "vrangepd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x50, 0x0a, 0xcc], "vrangepd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x50, 0xca, 0xcc], "vrangepd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x50, 0xca, 0xcc], "vrangepd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x50, 0x0a, 0xcc], "vrangepd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x50, 0x0a, 0xcc], "vrangepd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x50, 0x4a, 0x01, 0xcc], "vrangepd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x50, 0x4a, 0x01, 0xcc], "vrangepd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x50, 0x0a, 0xcc], "vrangeps zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x50, 0x4a, 0x01, 0xcc], "vrangeps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x50, 0x0a, 0xcc], "vrangeps zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x50, 0x0a, 0xcc], "vrangeps zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x50, 0x4a, 0x01, 0xcc], "vrangeps zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x50, 0x0a, 0xcc], "vrangeps xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x50, 0x0a, 0xcc], "vrangeps xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x50, 0x0a, 0xcc], "vrangeps xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x50, 0x4a, 0x01, 0xcc], "vrangeps xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x50, 0xca, 0xcc], "vrangeps zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x50, 0x0a, 0xcc], "vrangeps zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x50, 0x4a, 0x01, 0xcc], "vrangeps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x50, 0xca, 0xcc], "vrangeps zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x50, 0xca, 0xcc], "vrangeps zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x50, 0x0a, 0xcc], "vrangeps zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x50, 0x0a, 0xcc], "vrangeps zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x50, 0x4a, 0x01, 0xcc], "vrangeps zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x50, 0xca, 0xcc], "vrangeps xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x50, 0x0a, 0xcc], "vrangeps xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x50, 0xca, 0xcc], "vrangeps xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x50, 0xca, 0xcc], "vrangeps xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x50, 0x0a, 0xcc], "vrangeps xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x50, 0x0a, 0xcc], "vrangeps xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x50, 0x4a, 0x01, 0xcc], "vrangeps xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x50, 0x4a, 0x01, 0xcc], "vrangeps xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x51, 0xca, 0xcc], "vrangesd xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x51, 0xca, 0xcc], "vrangesd xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x51, 0xca, 0xcc], "vrangesd xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x51, 0xca, 0xcc], "vrangesd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x51, 0x0a, 0xcc], "vrangesd xmm1{k5}{z}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x51, 0x4a, 0x01, 0xcc], "vrangesd xmm1{k5}{z}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x51, 0xca, 0xcc], "vrangesd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x51, 0xca, 0xcc], "vrangesd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x51, 0x0a, 0xcc], "vrangesd xmm1, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x51, 0x0a, 0xcc], "vrangesd xmm1{k5}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x51, 0x4a, 0x01, 0xcc], "vrangesd xmm1, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x51, 0x4a, 0x01, 0xcc], "vrangesd xmm1{k5}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x51, 0xca, 0xcc], "vrangess xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x51, 0xca, 0xcc], "vrangess xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x51, 0xca, 0xcc], "vrangess xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x51, 0xca, 0xcc], "vrangess xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x51, 0x0a, 0xcc], "vrangess xmm1{k5}{z}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x51, 0x4a, 0x01, 0xcc], "vrangess xmm1{k5}{z}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x51, 0xca, 0xcc], "vrangess xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x51, 0xca, 0xcc], "vrangess xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x51, 0x0a, 0xcc], "vrangess xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x51, 0x0a, 0xcc], "vrangess xmm1{k5}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x51, 0x4a, 0x01, 0xcc], "vrangess xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x51, 0x4a, 0x01, 0xcc], "vrangess xmm1{k5}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x54, 0xca, 0xcc], "vfixupimmpd zmm1{k5}{z}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x54, 0xca, 0xcc], "vfixupimmpd zmm1{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x54, 0xca, 0xcc], "vfixupimmpd zmm1{k5}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x54, 0x0a, 0xcc], "vfixupimmpd ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x54, 0x0a, 0xcc], "vfixupimmpd ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x54, 0x0a, 0xcc], "vfixupimmpd ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x54, 0xca, 0xcc], "vfixupimmpd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x54, 0x0a, 0xcc], "vfixupimmpd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x54, 0xca, 0xcc], "vfixupimmpd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x54, 0xca, 0xcc], "vfixupimmpd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x54, 0x0a, 0xcc], "vfixupimmpd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x54, 0x0a, 0xcc], "vfixupimmpd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x54, 0xca, 0xcc], "vfixupimmps zmm1{k5}{z}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x54, 0xca, 0xcc], "vfixupimmps zmm1{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x54, 0xca, 0xcc], "vfixupimmps zmm1{k5}{sae}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x54, 0x0a, 0xcc], "vfixupimmps ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x54, 0x0a, 0xcc], "vfixupimmps ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x54, 0x0a, 0xcc], "vfixupimmps ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x54, 0xca, 0xcc], "vfixupimmps ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x54, 0x0a, 0xcc], "vfixupimmps ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x54, 0xca, 0xcc], "vfixupimmps ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x54, 0xca, 0xcc], "vfixupimmps ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x54, 0x0a, 0xcc], "vfixupimmps ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x54, 0x0a, 0xcc], "vfixupimmps ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x54, 0x0a, 0xcc], "vfixupimmpd zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x54, 0x0a, 0xcc], "vfixupimmpd zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x54, 0x0a, 0xcc], "vfixupimmpd zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x54, 0x0a, 0xcc], "vfixupimmpd xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x54, 0x0a, 0xcc], "vfixupimmpd xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x54, 0x0a, 0xcc], "vfixupimmpd xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x54, 0xca, 0xcc], "vfixupimmpd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x54, 0x0a, 0xcc], "vfixupimmpd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x54, 0xca, 0xcc], "vfixupimmpd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x54, 0xca, 0xcc], "vfixupimmpd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x54, 0x0a, 0xcc], "vfixupimmpd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x54, 0x0a, 0xcc], "vfixupimmpd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x54, 0xca, 0xcc], "vfixupimmpd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x54, 0x0a, 0xcc], "vfixupimmpd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x54, 0xca, 0xcc], "vfixupimmpd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x54, 0xca, 0xcc], "vfixupimmpd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x54, 0x0a, 0xcc], "vfixupimmpd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x54, 0x0a, 0xcc], "vfixupimmpd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmpd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x54, 0x0a, 0xcc], "vfixupimmps zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x54, 0x0a, 0xcc], "vfixupimmps zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x54, 0x0a, 0xcc], "vfixupimmps zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x54, 0x0a, 0xcc], "vfixupimmps xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x54, 0x0a, 0xcc], "vfixupimmps xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x54, 0x0a, 0xcc], "vfixupimmps xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x54, 0xca, 0xcc], "vfixupimmps zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x54, 0x0a, 0xcc], "vfixupimmps zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x54, 0xca, 0xcc], "vfixupimmps zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x54, 0xca, 0xcc], "vfixupimmps zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x54, 0x0a, 0xcc], "vfixupimmps zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x54, 0x0a, 0xcc], "vfixupimmps zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x54, 0xca, 0xcc], "vfixupimmps xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x54, 0x0a, 0xcc], "vfixupimmps xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x54, 0xca, 0xcc], "vfixupimmps xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x54, 0xca, 0xcc], "vfixupimmps xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x54, 0x0a, 0xcc], "vfixupimmps xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x54, 0x0a, 0xcc], "vfixupimmps xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x54, 0x4a, 0x01, 0xcc], "vfixupimmps xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x55, 0xca, 0xcc], "vfixupimmsd xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x55, 0xca, 0xcc], "vfixupimmsd xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x55, 0xca, 0xcc], "vfixupimmsd xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x55, 0xca, 0xcc], "vfixupimmsd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x55, 0x0a, 0xcc], "vfixupimmsd xmm1{k5}{z}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x55, 0x4a, 0x01, 0xcc], "vfixupimmsd xmm1{k5}{z}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x55, 0xca, 0xcc], "vfixupimmsd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x55, 0xca, 0xcc], "vfixupimmsd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x55, 0x0a, 0xcc], "vfixupimmsd xmm1, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x55, 0x0a, 0xcc], "vfixupimmsd xmm1{k5}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x55, 0x4a, 0x01, 0xcc], "vfixupimmsd xmm1, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x55, 0x4a, 0x01, 0xcc], "vfixupimmsd xmm1{k5}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x55, 0xca, 0xcc], "vfixupimmss xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x55, 0xca, 0xcc], "vfixupimmss xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x55, 0xca, 0xcc], "vfixupimmss xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x55, 0xca, 0xcc], "vfixupimmss xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x55, 0x0a, 0xcc], "vfixupimmss xmm1{k5}{z}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x55, 0x4a, 0x01, 0xcc], "vfixupimmss xmm1{k5}{z}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x55, 0xca, 0xcc], "vfixupimmss xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x55, 0xca, 0xcc], "vfixupimmss xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x55, 0x0a, 0xcc], "vfixupimmss xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x55, 0x0a, 0xcc], "vfixupimmss xmm1{k5}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x55, 0x4a, 0x01, 0xcc], "vfixupimmss xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x55, 0x4a, 0x01, 0xcc], "vfixupimmss xmm1{k5}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x56, 0xca, 0xcc], "vreducepd zmm1{k5}{z}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x56, 0xca, 0xcc], "vreducepd zmm1{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x56, 0xca, 0xcc], "vreducepd zmm1{k5}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x56, 0x0a, 0xcc], "vreducepd ymm1{k5}{z}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x56, 0x4a, 0x01, 0xcc], "vreducepd ymm1{k5}{z}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x56, 0x0a, 0xcc], "vreducepd ymm1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x56, 0x0a, 0xcc], "vreducepd ymm1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x56, 0x4a, 0x01, 0xcc], "vreducepd ymm1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd ymm1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x56, 0xca, 0xcc], "vreducepd ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x56, 0x0a, 0xcc], "vreducepd ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x56, 0x4a, 0x01, 0xcc], "vreducepd ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x56, 0xca, 0xcc], "vreducepd ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x56, 0xca, 0xcc], "vreducepd ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x56, 0x0a, 0xcc], "vreducepd ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x56, 0x0a, 0xcc], "vreducepd ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x56, 0x4a, 0x01, 0xcc], "vreducepd ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x56, 0xca, 0xcc], "vreduceps zmm1{k5}{z}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x56, 0xca, 0xcc], "vreduceps zmm1{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x56, 0xca, 0xcc], "vreduceps zmm1{k5}{sae}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x56, 0x0a, 0xcc], "vreduceps ymm1{k5}{z}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x56, 0x4a, 0x01, 0xcc], "vreduceps ymm1{k5}{z}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x56, 0x0a, 0xcc], "vreduceps ymm1, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x56, 0x0a, 0xcc], "vreduceps ymm1{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x56, 0x4a, 0x01, 0xcc], "vreduceps ymm1, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps ymm1{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x56, 0xca, 0xcc], "vreduceps ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x56, 0x0a, 0xcc], "vreduceps ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x56, 0x4a, 0x01, 0xcc], "vreduceps ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x56, 0xca, 0xcc], "vreduceps ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x56, 0xca, 0xcc], "vreduceps ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x56, 0x0a, 0xcc], "vreduceps ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x56, 0x0a, 0xcc], "vreduceps ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x56, 0x4a, 0x01, 0xcc], "vreduceps ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x56, 0x0a, 0xcc], "vreducepd zmm1{k5}{z}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x56, 0x4a, 0x01, 0xcc], "vreducepd zmm1{k5}{z}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x56, 0x0a, 0xcc], "vreducepd zmm1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x56, 0x0a, 0xcc], "vreducepd zmm1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x56, 0x4a, 0x01, 0xcc], "vreducepd zmm1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd zmm1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x56, 0x0a, 0xcc], "vreducepd xmm1{k5}{z}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd xmm1{k5}{z}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x56, 0x0a, 0xcc], "vreducepd xmm1, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x56, 0x0a, 0xcc], "vreducepd xmm1{k5}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x56, 0x4a, 0x01, 0xcc], "vreducepd xmm1, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd xmm1{k5}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x56, 0xca, 0xcc], "vreducepd zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x56, 0x0a, 0xcc], "vreducepd zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x56, 0x4a, 0x01, 0xcc], "vreducepd zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x56, 0xca, 0xcc], "vreducepd zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x56, 0xca, 0xcc], "vreducepd zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x56, 0x0a, 0xcc], "vreducepd zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x56, 0x0a, 0xcc], "vreducepd zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x56, 0x4a, 0x01, 0xcc], "vreducepd zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x56, 0xca, 0xcc], "vreducepd xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x56, 0x0a, 0xcc], "vreducepd xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x56, 0xca, 0xcc], "vreducepd xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x56, 0xca, 0xcc], "vreducepd xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x56, 0x0a, 0xcc], "vreducepd xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x56, 0x0a, 0xcc], "vreducepd xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x56, 0x4a, 0x01, 0xcc], "vreducepd xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x56, 0x4a, 0x01, 0xcc], "vreducepd xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x56, 0x0a, 0xcc], "vreduceps zmm1{k5}{z}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x56, 0x4a, 0x01, 0xcc], "vreduceps zmm1{k5}{z}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x56, 0x0a, 0xcc], "vreduceps zmm1, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x56, 0x0a, 0xcc], "vreduceps zmm1{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x56, 0x4a, 0x01, 0xcc], "vreduceps zmm1, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps zmm1{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x56, 0x0a, 0xcc], "vreduceps xmm1{k5}{z}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps xmm1{k5}{z}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x56, 0x0a, 0xcc], "vreduceps xmm1, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x56, 0x0a, 0xcc], "vreduceps xmm1{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x56, 0x4a, 0x01, 0xcc], "vreduceps xmm1, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps xmm1{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x56, 0xca, 0xcc], "vreduceps zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x56, 0x0a, 0xcc], "vreduceps zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x56, 0x4a, 0x01, 0xcc], "vreduceps zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x56, 0xca, 0xcc], "vreduceps zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x56, 0xca, 0xcc], "vreduceps zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x56, 0x0a, 0xcc], "vreduceps zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x56, 0x0a, 0xcc], "vreduceps zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x56, 0x4a, 0x01, 0xcc], "vreduceps zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x56, 0xca, 0xcc], "vreduceps xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x56, 0x0a, 0xcc], "vreduceps xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x56, 0xca, 0xcc], "vreduceps xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x56, 0xca, 0xcc], "vreduceps xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x56, 0x0a, 0xcc], "vreduceps xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x56, 0x0a, 0xcc], "vreduceps xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x56, 0x4a, 0x01, 0xcc], "vreduceps xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x56, 0x4a, 0x01, 0xcc], "vreduceps xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xfd, 0x57, 0xca, 0xcc], "vreducesd xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x78, 0x57, 0xca, 0xcc], "vreducesd xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x7d, 0x57, 0xca, 0xcc], "vreducesd xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x57, 0xca, 0xcc], "vreducesd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x57, 0x0a, 0xcc], "vreducesd xmm1{k5}{z}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x57, 0x4a, 0x01, 0xcc], "vreducesd xmm1{k5}{z}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x57, 0xca, 0xcc], "vreducesd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x57, 0xca, 0xcc], "vreducesd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x57, 0x0a, 0xcc], "vreducesd xmm1, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x57, 0x0a, 0xcc], "vreducesd xmm1{k5}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x57, 0x4a, 0x01, 0xcc], "vreducesd xmm1, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x57, 0x4a, 0x01, 0xcc], "vreducesd xmm1{k5}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xfd, 0x57, 0xca, 0xcc], "vreducess xmm1{k5}{z}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x78, 0x57, 0xca, 0xcc], "vreducess xmm1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x7d, 0x57, 0xca, 0xcc], "vreducess xmm1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x57, 0xca, 0xcc], "vreducess xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x57, 0x0a, 0xcc], "vreducess xmm1{k5}{z}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x57, 0x4a, 0x01, 0xcc], "vreducess xmm1{k5}{z}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x57, 0xca, 0xcc], "vreducess xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x57, 0xca, 0xcc], "vreducess xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x57, 0x0a, 0xcc], "vreducess xmm1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x57, 0x0a, 0xcc], "vreducess xmm1{k5}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x57, 0x4a, 0x01, 0xcc], "vreducess xmm1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x57, 0x4a, 0x01, 0xcc], "vreducess xmm1{k5}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x66, 0x0a, 0xcc], "vfpclasspd k1, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x66, 0x0a, 0xcc], "vfpclasspd k1{k5}, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1{k5}, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x66, 0xca, 0xcc], "vfpclasspd k1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x66, 0xca, 0xcc], "vfpclasspd k1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x66, 0x0a, 0xcc], "vfpclasspd k1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x66, 0x0a, 0xcc], "vfpclasspd k1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x66, 0x0a, 0xcc], "vfpclassps k1, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x66, 0x0a, 0xcc], "vfpclassps k1{k5}, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1{k5}, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x66, 0xca, 0xcc], "vfpclassps k1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x66, 0xca, 0xcc], "vfpclassps k1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x66, 0x0a, 0xcc], "vfpclassps k1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x66, 0x0a, 0xcc], "vfpclassps k1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x66, 0x0a, 0xcc], "vfpclasspd k1, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x66, 0x0a, 0xcc], "vfpclasspd k1{k5}, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1{k5}, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x66, 0x0a, 0xcc], "vfpclasspd k1, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x66, 0x0a, 0xcc], "vfpclasspd k1{k5}, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1{k5}, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x66, 0xca, 0xcc], "vfpclasspd k1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x66, 0xca, 0xcc], "vfpclasspd k1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x66, 0x0a, 0xcc], "vfpclasspd k1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x66, 0x0a, 0xcc], "vfpclasspd k1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x66, 0xca, 0xcc], "vfpclasspd k1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x66, 0xca, 0xcc], "vfpclasspd k1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x66, 0x0a, 0xcc], "vfpclasspd k1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x66, 0x0a, 0xcc], "vfpclasspd k1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x66, 0x4a, 0x01, 0xcc], "vfpclasspd k1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x66, 0x0a, 0xcc], "vfpclassps k1, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x66, 0x0a, 0xcc], "vfpclassps k1{k5}, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1{k5}, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x66, 0x0a, 0xcc], "vfpclassps k1, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x66, 0x0a, 0xcc], "vfpclassps k1{k5}, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1{k5}, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x66, 0xca, 0xcc], "vfpclassps k1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x66, 0xca, 0xcc], "vfpclassps k1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x66, 0x0a, 0xcc], "vfpclassps k1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x66, 0x0a, 0xcc], "vfpclassps k1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x66, 0xca, 0xcc], "vfpclassps k1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x66, 0xca, 0xcc], "vfpclassps k1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x66, 0x0a, 0xcc], "vfpclassps k1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x66, 0x0a, 0xcc], "vfpclassps k1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x66, 0x4a, 0x01, 0xcc], "vfpclassps k1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x67, 0xca, 0xcc], "vfpclasssd k1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x67, 0xca, 0xcc], "vfpclasssd k1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x67, 0x0a, 0xcc], "vfpclasssd k1, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x67, 0x0a, 0xcc], "vfpclasssd k1{k5}, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x67, 0x4a, 0x01, 0xcc], "vfpclasssd k1, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x67, 0x4a, 0x01, 0xcc], "vfpclasssd k1{k5}, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x67, 0xca, 0xcc], "vfpclassss k1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x67, 0xca, 0xcc], "vfpclassss k1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x67, 0x0a, 0xcc], "vfpclassss k1, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x67, 0x0a, 0xcc], "vfpclassss k1{k5}, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x67, 0x4a, 0x01, 0xcc], "vfpclassss k1, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x67, 0x4a, 0x01, 0xcc], "vfpclassss k1{k5}, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x70, 0xca, 0xcc], "vpshldw ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x70, 0x0a, 0xcc], "vpshldw ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x70, 0x4a, 0x01, 0xcc], "vpshldw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x70, 0xca, 0xcc], "vpshldw ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x70, 0xca, 0xcc], "vpshldw ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x70, 0x0a, 0xcc], "vpshldw ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x70, 0x0a, 0xcc], "vpshldw ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x70, 0x4a, 0x01, 0xcc], "vpshldw ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x70, 0x4a, 0x01, 0xcc], "vpshldw ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x70, 0xca, 0xcc], "vpshldw zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x70, 0x0a, 0xcc], "vpshldw zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x70, 0x4a, 0x01, 0xcc], "vpshldw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x70, 0xca, 0xcc], "vpshldw zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x70, 0xca, 0xcc], "vpshldw zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x70, 0x0a, 0xcc], "vpshldw zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x70, 0x0a, 0xcc], "vpshldw zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x70, 0x4a, 0x01, 0xcc], "vpshldw zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x70, 0x4a, 0x01, 0xcc], "vpshldw zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x70, 0xca, 0xcc], "vpshldw xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x70, 0x0a, 0xcc], "vpshldw xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x70, 0x4a, 0x01, 0xcc], "vpshldw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x70, 0xca, 0xcc], "vpshldw xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x70, 0xca, 0xcc], "vpshldw xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x70, 0x0a, 0xcc], "vpshldw xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x70, 0x0a, 0xcc], "vpshldw xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x70, 0x4a, 0x01, 0xcc], "vpshldw xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x70, 0x4a, 0x01, 0xcc], "vpshldw xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x71, 0x0a, 0xcc], "vpshldq ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x71, 0x4a, 0x01, 0xcc], "vpshldq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x71, 0x0a, 0xcc], "vpshldq ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x71, 0x0a, 0xcc], "vpshldq ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x71, 0x4a, 0x01, 0xcc], "vpshldq ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x71, 0xca, 0xcc], "vpshldq ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x71, 0x0a, 0xcc], "vpshldq ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x71, 0x4a, 0x01, 0xcc], "vpshldq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x71, 0xca, 0xcc], "vpshldq ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x71, 0xca, 0xcc], "vpshldq ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x71, 0x0a, 0xcc], "vpshldq ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x71, 0x0a, 0xcc], "vpshldq ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x71, 0x4a, 0x01, 0xcc], "vpshldq ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x71, 0x0a, 0xcc], "vpshldd ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x71, 0x4a, 0x01, 0xcc], "vpshldd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x71, 0x0a, 0xcc], "vpshldd ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x71, 0x0a, 0xcc], "vpshldd ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x71, 0x4a, 0x01, 0xcc], "vpshldd ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x71, 0xca, 0xcc], "vpshldd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x71, 0x0a, 0xcc], "vpshldd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x71, 0x4a, 0x01, 0xcc], "vpshldd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x71, 0xca, 0xcc], "vpshldd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x71, 0xca, 0xcc], "vpshldd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x71, 0x0a, 0xcc], "vpshldd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x71, 0x0a, 0xcc], "vpshldd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x71, 0x4a, 0x01, 0xcc], "vpshldd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x71, 0x0a, 0xcc], "vpshldq zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x71, 0x4a, 0x01, 0xcc], "vpshldq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x71, 0x0a, 0xcc], "vpshldq zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x71, 0x0a, 0xcc], "vpshldq zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x71, 0x4a, 0x01, 0xcc], "vpshldq zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x71, 0x0a, 0xcc], "vpshldq xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x71, 0x0a, 0xcc], "vpshldq xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x71, 0x0a, 0xcc], "vpshldq xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x71, 0x4a, 0x01, 0xcc], "vpshldq xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x71, 0xca, 0xcc], "vpshldq zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x71, 0x0a, 0xcc], "vpshldq zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x71, 0x4a, 0x01, 0xcc], "vpshldq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x71, 0xca, 0xcc], "vpshldq zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x71, 0xca, 0xcc], "vpshldq zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x71, 0x0a, 0xcc], "vpshldq zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x71, 0x0a, 0xcc], "vpshldq zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x71, 0x4a, 0x01, 0xcc], "vpshldq zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x71, 0xca, 0xcc], "vpshldq xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x71, 0x0a, 0xcc], "vpshldq xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x71, 0xca, 0xcc], "vpshldq xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x71, 0xca, 0xcc], "vpshldq xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x71, 0x0a, 0xcc], "vpshldq xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x71, 0x0a, 0xcc], "vpshldq xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x71, 0x4a, 0x01, 0xcc], "vpshldq xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x71, 0x4a, 0x01, 0xcc], "vpshldq xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x71, 0x0a, 0xcc], "vpshldd zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x71, 0x4a, 0x01, 0xcc], "vpshldd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x71, 0x0a, 0xcc], "vpshldd zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x71, 0x0a, 0xcc], "vpshldd zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x71, 0x4a, 0x01, 0xcc], "vpshldd zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x71, 0x0a, 0xcc], "vpshldd xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x71, 0x0a, 0xcc], "vpshldd xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x71, 0x0a, 0xcc], "vpshldd xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x71, 0x4a, 0x01, 0xcc], "vpshldd xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x71, 0xca, 0xcc], "vpshldd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x71, 0x0a, 0xcc], "vpshldd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x71, 0x4a, 0x01, 0xcc], "vpshldd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x71, 0xca, 0xcc], "vpshldd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x71, 0xca, 0xcc], "vpshldd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x71, 0x0a, 0xcc], "vpshldd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x71, 0x0a, 0xcc], "vpshldd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x71, 0x4a, 0x01, 0xcc], "vpshldd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x71, 0xca, 0xcc], "vpshldd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x71, 0x0a, 0xcc], "vpshldd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x71, 0xca, 0xcc], "vpshldd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x71, 0xca, 0xcc], "vpshldd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x71, 0x0a, 0xcc], "vpshldd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x71, 0x0a, 0xcc], "vpshldd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x71, 0x4a, 0x01, 0xcc], "vpshldd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x71, 0x4a, 0x01, 0xcc], "vpshldd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x72, 0xca, 0xcc], "vpshrdw ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x72, 0x0a, 0xcc], "vpshrdw ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x72, 0xca, 0xcc], "vpshrdw ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x72, 0xca, 0xcc], "vpshrdw ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x72, 0x0a, 0xcc], "vpshrdw ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x72, 0x0a, 0xcc], "vpshrdw ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x72, 0xca, 0xcc], "vpshrdw zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x72, 0x0a, 0xcc], "vpshrdw zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x72, 0xca, 0xcc], "vpshrdw zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x72, 0xca, 0xcc], "vpshrdw zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x72, 0x0a, 0xcc], "vpshrdw zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x72, 0x0a, 0xcc], "vpshrdw zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x72, 0xca, 0xcc], "vpshrdw xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x72, 0x0a, 0xcc], "vpshrdw xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x72, 0xca, 0xcc], "vpshrdw xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x72, 0xca, 0xcc], "vpshrdw xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x72, 0x0a, 0xcc], "vpshrdw xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x72, 0x0a, 0xcc], "vpshrdw xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x72, 0x4a, 0x01, 0xcc], "vpshrdw xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x73, 0x0a, 0xcc], "vpshrdq ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x73, 0x0a, 0xcc], "vpshrdq ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x73, 0x0a, 0xcc], "vpshrdq ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x73, 0xca, 0xcc], "vpshrdq ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x73, 0x0a, 0xcc], "vpshrdq ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x73, 0xca, 0xcc], "vpshrdq ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x73, 0xca, 0xcc], "vpshrdq ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x73, 0x0a, 0xcc], "vpshrdq ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x73, 0x0a, 0xcc], "vpshrdq ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x73, 0x0a, 0xcc], "vpshrdd ymm1{k5}{z}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xbd, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x73, 0x0a, 0xcc], "vpshrdd ymm1, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x73, 0x0a, 0xcc], "vpshrdd ymm1{k5}, ymm0, dword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x38, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd ymm1, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x3d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x73, 0xca, 0xcc], "vpshrdd ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x73, 0x0a, 0xcc], "vpshrdd ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xad, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x73, 0xca, 0xcc], "vpshrdd ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x73, 0xca, 0xcc], "vpshrdd ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x73, 0x0a, 0xcc], "vpshrdd ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x73, 0x0a, 0xcc], "vpshrdd ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x28, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x2d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x73, 0x0a, 0xcc], "vpshrdq zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x73, 0x0a, 0xcc], "vpshrdq zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x73, 0x0a, 0xcc], "vpshrdq zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x73, 0x0a, 0xcc], "vpshrdq xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x73, 0x0a, 0xcc], "vpshrdq xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x73, 0x0a, 0xcc], "vpshrdq xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x73, 0xca, 0xcc], "vpshrdq zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x73, 0x0a, 0xcc], "vpshrdq zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x73, 0xca, 0xcc], "vpshrdq zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x73, 0xca, 0xcc], "vpshrdq zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x73, 0x0a, 0xcc], "vpshrdq zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x73, 0x0a, 0xcc], "vpshrdq zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x73, 0xca, 0xcc], "vpshrdq xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x73, 0x0a, 0xcc], "vpshrdq xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x73, 0xca, 0xcc], "vpshrdq xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x73, 0xca, 0xcc], "vpshrdq xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x73, 0x0a, 0xcc], "vpshrdq xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x73, 0x0a, 0xcc], "vpshrdq xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdq xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x73, 0x0a, 0xcc], "vpshrdd zmm1{k5}{z}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xdd, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x73, 0x0a, 0xcc], "vpshrdd zmm1, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x73, 0x0a, 0xcc], "vpshrdd zmm1{k5}, zmm0, dword [edx]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x58, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd zmm1, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x5d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x73, 0x0a, 0xcc], "vpshrdd xmm1{k5}{z}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x9d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x73, 0x0a, 0xcc], "vpshrdd xmm1, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x73, 0x0a, 0xcc], "vpshrdd xmm1{k5}, xmm0, dword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x18, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd xmm1, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x1d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x73, 0xca, 0xcc], "vpshrdd zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x73, 0x0a, 0xcc], "vpshrdd zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0xcd, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x73, 0xca, 0xcc], "vpshrdd zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x73, 0xca, 0xcc], "vpshrdd zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x73, 0x0a, 0xcc], "vpshrdd zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x73, 0x0a, 0xcc], "vpshrdd zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x48, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x4d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x73, 0xca, 0xcc], "vpshrdd xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x73, 0x0a, 0xcc], "vpshrdd xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x8d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x73, 0xca, 0xcc], "vpshrdd xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x73, 0xca, 0xcc], "vpshrdd xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x73, 0x0a, 0xcc], "vpshrdd xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x73, 0x0a, 0xcc], "vpshrdd xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x08, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0x7d, 0x0d, 0x73, 0x4a, 0x01, 0xcc], "vpshrdd xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0xce, 0x0a, 0xcc], "vgf2p8affineqb ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0xce, 0x0a, 0xcc], "vgf2p8affineqb ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0xce, 0xca, 0xcc], "vgf2p8affineqb ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0xce, 0x0a, 0xcc], "vgf2p8affineqb ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0xce, 0xca, 0xcc], "vgf2p8affineqb ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0xce, 0xca, 0xcc], "vgf2p8affineqb ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0xce, 0x0a, 0xcc], "vgf2p8affineqb ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0xce, 0x0a, 0xcc], "vgf2p8affineqb zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0xce, 0x0a, 0xcc], "vgf2p8affineqb zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0xce, 0x0a, 0xcc], "vgf2p8affineqb xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0xce, 0xca, 0xcc], "vgf2p8affineqb zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0xce, 0x0a, 0xcc], "vgf2p8affineqb zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0xce, 0xca, 0xcc], "vgf2p8affineqb zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0xce, 0xca, 0xcc], "vgf2p8affineqb zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0xce, 0x0a, 0xcc], "vgf2p8affineqb zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0xce, 0xca, 0xcc], "vgf2p8affineqb xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0xce, 0xca, 0xcc], "vgf2p8affineqb xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0xce, 0xca, 0xcc], "vgf2p8affineqb xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0xce, 0x0a, 0xcc], "vgf2p8affineqb xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0xce, 0x0a, 0xcc], "vgf2p8affineqb xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0xce, 0x4a, 0x01, 0xcc], "vgf2p8affineqb xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb ymm1{k5}{z}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xbd, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb ymm1{k5}{z}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb ymm1, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb ymm1{k5}, ymm0, qword [edx]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x38, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb ymm1, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x3d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb ymm1{k5}, ymm0, qword [edx + 0x8]{1to4}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb ymm1{k5}{z}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb ymm1{k5}{z}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xad, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb ymm1{k5}{z}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb ymm1, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb ymm1{k5}, ymm0, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb ymm1, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb ymm1{k5}, ymm0, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x28, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb ymm1, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x2d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb ymm1{k5}, ymm0, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb zmm1{k5}{z}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xdd, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb zmm1{k5}{z}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb zmm1, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb zmm1{k5}, zmm0, qword [edx]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x58, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb zmm1, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x5d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb zmm1{k5}, zmm0, qword [edx + 0x8]{1to8}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb xmm1{k5}{z}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x9d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb xmm1{k5}{z}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb xmm1, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb xmm1{k5}, xmm0, qword [edx]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x18, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb xmm1, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x1d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb xmm1{k5}, xmm0, qword [edx + 0x8]{1to2}, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb zmm1{k5}{z}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb zmm1{k5}{z}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0xcd, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb zmm1{k5}{z}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb zmm1, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb zmm1{k5}, zmm0, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb zmm1, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb zmm1{k5}, zmm0, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x48, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb zmm1, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x4d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb zmm1{k5}, zmm0, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb xmm1{k5}{z}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb xmm1{k5}{z}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x8d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb xmm1{k5}{z}, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb xmm1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0xcf, 0xca, 0xcc], "vgf2p8affineinvqb xmm1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb xmm1, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0xcf, 0x0a, 0xcc], "vgf2p8affineinvqb xmm1{k5}, xmm0, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x08, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb xmm1, xmm0, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf3, 0xfd, 0x0d, 0xcf, 0x4a, 0x01, 0xcc], "vgf2p8affineinvqb xmm1{k5}, xmm0, xmmword [edx + 0x10], 0xcc"); +} +#[test] +fn tests_f2_0f() { +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x10, 0xca], "vmovss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x10, 0x0a], "vmovss xmm1{k5}{z}, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x10, 0x4a, 0x01], "vmovss xmm1{k5}{z}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x10, 0xca], "vmovss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x10, 0xca], "vmovss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x10, 0x0a], "vmovss xmm1, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x10, 0x0a], "vmovss xmm1{k5}, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x10, 0x4a, 0x01], "vmovss xmm1, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x10, 0x4a, 0x01], "vmovss xmm1{k5}, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x11, 0xca], "vmovss xmm2{k5}{z}, xmm0, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x11, 0xca], "vmovss xmm2, xmm0, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x11, 0xca], "vmovss xmm2{k5}, xmm0, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x11, 0x0a], "vmovss dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x11, 0x0a], "vmovss dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x11, 0x4a, 0x01], "vmovss dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x11, 0x4a, 0x01], "vmovss dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x12, 0xca], "vmovsldup ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x12, 0x0a], "vmovsldup ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x12, 0x4a, 0x01], "vmovsldup ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x12, 0xca], "vmovsldup ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x12, 0xca], "vmovsldup ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x12, 0x0a], "vmovsldup ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x12, 0x0a], "vmovsldup ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x12, 0x4a, 0x01], "vmovsldup ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x12, 0x4a, 0x01], "vmovsldup ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x12, 0xca], "vmovsldup zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x12, 0x0a], "vmovsldup zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x12, 0x4a, 0x01], "vmovsldup zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x12, 0xca], "vmovsldup zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x12, 0xca], "vmovsldup zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x12, 0x0a], "vmovsldup zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x12, 0x0a], "vmovsldup zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x12, 0x4a, 0x01], "vmovsldup zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x12, 0x4a, 0x01], "vmovsldup zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x12, 0xca], "vmovsldup xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x12, 0x0a], "vmovsldup xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x12, 0x4a, 0x01], "vmovsldup xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x12, 0xca], "vmovsldup xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x12, 0xca], "vmovsldup xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x12, 0x0a], "vmovsldup xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x12, 0x0a], "vmovsldup xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x12, 0x4a, 0x01], "vmovsldup xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x12, 0x4a, 0x01], "vmovsldup xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x16, 0xca], "vmovshdup ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x16, 0x0a], "vmovshdup ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x16, 0x4a, 0x01], "vmovshdup ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x16, 0xca], "vmovshdup ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x16, 0xca], "vmovshdup ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x16, 0x0a], "vmovshdup ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x16, 0x0a], "vmovshdup ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x16, 0x4a, 0x01], "vmovshdup ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x16, 0x4a, 0x01], "vmovshdup ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x16, 0xca], "vmovshdup zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x16, 0x0a], "vmovshdup zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x16, 0x4a, 0x01], "vmovshdup zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x16, 0xca], "vmovshdup zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x16, 0xca], "vmovshdup zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x16, 0x0a], "vmovshdup zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x16, 0x0a], "vmovshdup zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x16, 0x4a, 0x01], "vmovshdup zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x16, 0x4a, 0x01], "vmovshdup zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x16, 0xca], "vmovshdup xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x16, 0x0a], "vmovshdup xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x16, 0x4a, 0x01], "vmovshdup xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x16, 0xca], "vmovshdup xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x16, 0xca], "vmovshdup xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x16, 0x0a], "vmovshdup xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x16, 0x0a], "vmovshdup xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x16, 0x4a, 0x01], "vmovshdup xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x16, 0x4a, 0x01], "vmovshdup xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x2a, 0xca], "vcvtsi2ss xmm1{rz-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x2a, 0xca], "vcvtsi2ss xmm1{rd-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2a, 0xca], "vcvtsi2ss xmm1, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2a, 0x0a], "vcvtsi2ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2a, 0x4a, 0x01], "vcvtsi2ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x2a, 0xca], "vcvtsi2ss xmm1{ru-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x2a, 0xca], "vcvtsi2ss xmm1{rne-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x2c, 0xca], "vcvttss2si ecx{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2c, 0xca], "vcvttss2si ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2c, 0x0a], "vcvttss2si ecx, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2c, 0x4a, 0x01], "vcvttss2si ecx, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x2d, 0xca], "vcvtss2si ecx{rz-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x2d, 0xca], "vcvtss2si ecx{rd-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2d, 0xca], "vcvtss2si ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2d, 0x0a], "vcvtss2si ecx, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x2d, 0x4a, 0x01], "vcvtss2si ecx, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x2d, 0xca], "vcvtss2si ecx{ru-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x2d, 0xca], "vcvtss2si ecx{rne-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x51, 0xca], "vsqrtss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x51, 0xca], "vsqrtss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x51, 0xca], "vsqrtss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x51, 0xca], "vsqrtss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x51, 0xca], "vsqrtss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x51, 0xca], "vsqrtss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x51, 0xca], "vsqrtss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x51, 0x0a], "vsqrtss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x51, 0x4a, 0x01], "vsqrtss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x51, 0xca], "vsqrtss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x51, 0xca], "vsqrtss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x51, 0x0a], "vsqrtss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x51, 0x0a], "vsqrtss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x51, 0x4a, 0x01], "vsqrtss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x51, 0x4a, 0x01], "vsqrtss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x51, 0xca], "vsqrtss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x51, 0xca], "vsqrtss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x51, 0xca], "vsqrtss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x51, 0xca], "vsqrtss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x51, 0xca], "vsqrtss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x51, 0xca], "vsqrtss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x58, 0xca], "vaddss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x58, 0xca], "vaddss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x58, 0xca], "vaddss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x58, 0xca], "vaddss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x58, 0xca], "vaddss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x58, 0xca], "vaddss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x58, 0xca], "vaddss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x58, 0x0a], "vaddss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x58, 0x4a, 0x01], "vaddss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x58, 0xca], "vaddss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x58, 0xca], "vaddss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x58, 0x0a], "vaddss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x58, 0x0a], "vaddss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x58, 0x4a, 0x01], "vaddss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x58, 0x4a, 0x01], "vaddss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x58, 0xca], "vaddss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x58, 0xca], "vaddss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x58, 0xca], "vaddss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x58, 0xca], "vaddss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x58, 0xca], "vaddss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x58, 0xca], "vaddss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x59, 0xca], "vmulss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x59, 0xca], "vmulss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x59, 0xca], "vmulss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x59, 0xca], "vmulss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x59, 0xca], "vmulss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x59, 0xca], "vmulss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x59, 0xca], "vmulss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x59, 0x0a], "vmulss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x59, 0x4a, 0x01], "vmulss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x59, 0xca], "vmulss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x59, 0xca], "vmulss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x59, 0x0a], "vmulss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x59, 0x0a], "vmulss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x59, 0x4a, 0x01], "vmulss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x59, 0x4a, 0x01], "vmulss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x59, 0xca], "vmulss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x59, 0xca], "vmulss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x59, 0xca], "vmulss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x59, 0xca], "vmulss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x59, 0xca], "vmulss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x59, 0xca], "vmulss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x5a, 0xca], "vcvtss2sd xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x5a, 0xca], "vcvtss2sd xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x5a, 0xca], "vcvtss2sd xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5a, 0xca], "vcvtss2sd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5a, 0x0a], "vcvtss2sd xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5a, 0x4a, 0x01], "vcvtss2sd xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5a, 0xca], "vcvtss2sd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5a, 0xca], "vcvtss2sd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5a, 0x0a], "vcvtss2sd xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5a, 0x0a], "vcvtss2sd xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5a, 0x4a, 0x01], "vcvtss2sd xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5a, 0x4a, 0x01], "vcvtss2sd xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x5b, 0xca], "vcvttps2dq zmm1{k5}{z}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x5b, 0xca], "vcvttps2dq zmm1{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x5b, 0xca], "vcvttps2dq zmm1{k5}{sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x5b, 0x0a], "vcvttps2dq ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x5b, 0x4a, 0x01], "vcvttps2dq ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x5b, 0x0a], "vcvttps2dq ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x5b, 0x0a], "vcvttps2dq ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x5b, 0x4a, 0x01], "vcvttps2dq ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x5b, 0x4a, 0x01], "vcvttps2dq ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5b, 0xca], "vcvttps2dq ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5b, 0x0a], "vcvttps2dq ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5b, 0x4a, 0x01], "vcvttps2dq ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5b, 0xca], "vcvttps2dq ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5b, 0xca], "vcvttps2dq ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5b, 0x0a], "vcvttps2dq ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5b, 0x0a], "vcvttps2dq ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5b, 0x4a, 0x01], "vcvttps2dq ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5b, 0x4a, 0x01], "vcvttps2dq ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x5b, 0x0a], "vcvttps2dq zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x5b, 0x4a, 0x01], "vcvttps2dq zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x5b, 0x0a], "vcvttps2dq zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x5b, 0x0a], "vcvttps2dq zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x5b, 0x4a, 0x01], "vcvttps2dq zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x5b, 0x4a, 0x01], "vcvttps2dq zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x5b, 0x0a], "vcvttps2dq xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x5b, 0x4a, 0x01], "vcvttps2dq xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x5b, 0x0a], "vcvttps2dq xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x5b, 0x0a], "vcvttps2dq xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x5b, 0x4a, 0x01], "vcvttps2dq xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x5b, 0x4a, 0x01], "vcvttps2dq xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x5b, 0xca], "vcvttps2dq zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x5b, 0x0a], "vcvttps2dq zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x5b, 0x4a, 0x01], "vcvttps2dq zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x5b, 0xca], "vcvttps2dq zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x5b, 0xca], "vcvttps2dq zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x5b, 0x0a], "vcvttps2dq zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x5b, 0x0a], "vcvttps2dq zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x5b, 0x4a, 0x01], "vcvttps2dq zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x5b, 0x4a, 0x01], "vcvttps2dq zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x5b, 0xca], "vcvttps2dq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x5b, 0x0a], "vcvttps2dq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x5b, 0x4a, 0x01], "vcvttps2dq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x5b, 0xca], "vcvttps2dq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x5b, 0xca], "vcvttps2dq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x5b, 0x0a], "vcvttps2dq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x5b, 0x0a], "vcvttps2dq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x5b, 0x4a, 0x01], "vcvttps2dq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x5b, 0x4a, 0x01], "vcvttps2dq xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x5c, 0xca], "vsubss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x5c, 0xca], "vsubss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x5c, 0xca], "vsubss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x5c, 0xca], "vsubss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x5c, 0xca], "vsubss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x5c, 0xca], "vsubss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5c, 0xca], "vsubss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5c, 0x0a], "vsubss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5c, 0x4a, 0x01], "vsubss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5c, 0xca], "vsubss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5c, 0xca], "vsubss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5c, 0x0a], "vsubss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5c, 0x0a], "vsubss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5c, 0x4a, 0x01], "vsubss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5c, 0x4a, 0x01], "vsubss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x5c, 0xca], "vsubss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x5c, 0xca], "vsubss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x5c, 0xca], "vsubss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x5c, 0xca], "vsubss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x5c, 0xca], "vsubss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x5c, 0xca], "vsubss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x5d, 0xca], "vminss xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x5d, 0xca], "vminss xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x5d, 0xca], "vminss xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5d, 0xca], "vminss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5d, 0x0a], "vminss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5d, 0x4a, 0x01], "vminss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5d, 0xca], "vminss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5d, 0xca], "vminss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5d, 0x0a], "vminss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5d, 0x0a], "vminss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5d, 0x4a, 0x01], "vminss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5d, 0x4a, 0x01], "vminss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x5e, 0xca], "vdivss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x5e, 0xca], "vdivss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x5e, 0xca], "vdivss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x5e, 0xca], "vdivss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x5e, 0xca], "vdivss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x5e, 0xca], "vdivss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5e, 0xca], "vdivss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5e, 0x0a], "vdivss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5e, 0x4a, 0x01], "vdivss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5e, 0xca], "vdivss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5e, 0xca], "vdivss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5e, 0x0a], "vdivss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5e, 0x0a], "vdivss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5e, 0x4a, 0x01], "vdivss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5e, 0x4a, 0x01], "vdivss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x5e, 0xca], "vdivss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x5e, 0xca], "vdivss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x5e, 0xca], "vdivss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x5e, 0xca], "vdivss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x5e, 0xca], "vdivss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x5e, 0xca], "vdivss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xfd, 0x5f, 0xca], "vmaxss xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0x5f, 0xca], "vmaxss xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0x5f, 0xca], "vmaxss xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5f, 0xca], "vmaxss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5f, 0x0a], "vmaxss xmm1{k5}{z}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x5f, 0x4a, 0x01], "vmaxss xmm1{k5}{z}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5f, 0xca], "vmaxss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5f, 0xca], "vmaxss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5f, 0x0a], "vmaxss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5f, 0x0a], "vmaxss xmm1{k5}, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x5f, 0x4a, 0x01], "vmaxss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x5f, 0x4a, 0x01], "vmaxss xmm1{k5}, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x6f, 0xca], "vmovdqu64 ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x6f, 0x0a], "vmovdqu64 ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x6f, 0x4a, 0x01], "vmovdqu64 ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x6f, 0xca], "vmovdqu64 ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x6f, 0xca], "vmovdqu64 ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x6f, 0x0a], "vmovdqu64 ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x6f, 0x0a], "vmovdqu64 ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x6f, 0x4a, 0x01], "vmovdqu64 ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x6f, 0x4a, 0x01], "vmovdqu64 ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x6f, 0xca], "vmovdqu32 ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x6f, 0x0a], "vmovdqu32 ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x6f, 0x4a, 0x01], "vmovdqu32 ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x6f, 0xca], "vmovdqu32 ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x6f, 0xca], "vmovdqu32 ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x6f, 0x0a], "vmovdqu32 ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x6f, 0x0a], "vmovdqu32 ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x6f, 0x4a, 0x01], "vmovdqu32 ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x6f, 0x4a, 0x01], "vmovdqu32 ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x6f, 0xca], "vmovdqu64 zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x6f, 0x0a], "vmovdqu64 zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x6f, 0x4a, 0x01], "vmovdqu64 zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x6f, 0xca], "vmovdqu64 zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x6f, 0xca], "vmovdqu64 zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x6f, 0x0a], "vmovdqu64 zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x6f, 0x0a], "vmovdqu64 zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x6f, 0x4a, 0x01], "vmovdqu64 zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x6f, 0x4a, 0x01], "vmovdqu64 zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x6f, 0xca], "vmovdqu64 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x6f, 0x0a], "vmovdqu64 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x6f, 0x4a, 0x01], "vmovdqu64 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x6f, 0xca], "vmovdqu64 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x6f, 0xca], "vmovdqu64 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x6f, 0x0a], "vmovdqu64 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x6f, 0x0a], "vmovdqu64 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x6f, 0x4a, 0x01], "vmovdqu64 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x6f, 0x4a, 0x01], "vmovdqu64 xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x6f, 0xca], "vmovdqu32 zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x6f, 0x0a], "vmovdqu32 zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x6f, 0x4a, 0x01], "vmovdqu32 zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x6f, 0xca], "vmovdqu32 zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x6f, 0xca], "vmovdqu32 zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x6f, 0x0a], "vmovdqu32 zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x6f, 0x0a], "vmovdqu32 zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x6f, 0x4a, 0x01], "vmovdqu32 zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x6f, 0x4a, 0x01], "vmovdqu32 zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x6f, 0xca], "vmovdqu32 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x6f, 0x0a], "vmovdqu32 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x6f, 0x4a, 0x01], "vmovdqu32 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x6f, 0xca], "vmovdqu32 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x6f, 0xca], "vmovdqu32 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x6f, 0x0a], "vmovdqu32 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x6f, 0x0a], "vmovdqu32 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x6f, 0x4a, 0x01], "vmovdqu32 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x6f, 0x4a, 0x01], "vmovdqu32 xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x70, 0xca, 0xcc], "vpshufhw ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x70, 0x0a, 0xcc], "vpshufhw ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x70, 0xca, 0xcc], "vpshufhw ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x70, 0xca, 0xcc], "vpshufhw ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x70, 0x0a, 0xcc], "vpshufhw ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x70, 0x0a, 0xcc], "vpshufhw ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x70, 0xca, 0xcc], "vpshufhw zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x70, 0x0a, 0xcc], "vpshufhw zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x70, 0xca, 0xcc], "vpshufhw zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x70, 0xca, 0xcc], "vpshufhw zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x70, 0x0a, 0xcc], "vpshufhw zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x70, 0x0a, 0xcc], "vpshufhw zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x70, 0xca, 0xcc], "vpshufhw xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x70, 0x0a, 0xcc], "vpshufhw xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x70, 0xca, 0xcc], "vpshufhw xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x70, 0xca, 0xcc], "vpshufhw xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x70, 0x0a, 0xcc], "vpshufhw xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x70, 0x0a, 0xcc], "vpshufhw xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x70, 0x4a, 0x01, 0xcc], "vpshufhw xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x78, 0xca], "vcvttss2usi ecx{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x78, 0xca], "vcvttss2usi ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x78, 0x0a], "vcvttss2usi ecx, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x78, 0x4a, 0x01], "vcvttss2usi ecx, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x79, 0xca], "vcvtss2usi ecx{rz-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x79, 0xca], "vcvtss2usi ecx{rd-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x79, 0xca], "vcvtss2usi ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x79, 0x0a], "vcvtss2usi ecx, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x79, 0x4a, 0x01], "vcvtss2usi ecx, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x79, 0xca], "vcvtss2usi ecx{ru-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x79, 0xca], "vcvtss2usi ecx{rne-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xfd, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x7a, 0xca], "vcvtuqq2pd zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x7d, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xbd, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xbd, 0x7a, 0x0a], "vcvtuqq2pd ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xbd, 0x7a, 0x4a, 0x01], "vcvtuqq2pd ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x7a, 0xca], "vcvtuqq2pd zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x3d, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x7a, 0x0a], "vcvtuqq2pd ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x3d, 0x7a, 0x0a], "vcvtuqq2pd ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x7a, 0x4a, 0x01], "vcvtuqq2pd ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x3d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x7a, 0xca], "vcvtuqq2pd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x7a, 0x0a], "vcvtuqq2pd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x7a, 0x4a, 0x01], "vcvtuqq2pd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7a, 0xca], "vcvtuqq2pd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x7a, 0xca], "vcvtuqq2pd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7a, 0x0a], "vcvtuqq2pd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x7a, 0x0a], "vcvtuqq2pd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7a, 0x4a, 0x01], "vcvtuqq2pd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x7a, 0x0a], "vcvtudq2pd ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0x7a, 0x4a, 0x01], "vcvtudq2pd ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x7a, 0x0a], "vcvtudq2pd ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x7a, 0x0a], "vcvtudq2pd ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0x7a, 0x4a, 0x01], "vcvtudq2pd ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0x7a, 0x4a, 0x01], "vcvtudq2pd ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x7a, 0xca], "vcvtudq2pd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x7a, 0x0a], "vcvtudq2pd ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x7a, 0x4a, 0x01], "vcvtudq2pd ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x7a, 0xca], "vcvtudq2pd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x7a, 0xca], "vcvtudq2pd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x7a, 0x0a], "vcvtudq2pd ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x7a, 0x0a], "vcvtudq2pd ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x7a, 0x4a, 0x01], "vcvtudq2pd ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x7a, 0x4a, 0x01], "vcvtudq2pd ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xdd, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xdd, 0x7a, 0x0a], "vcvtuqq2pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xdd, 0x7a, 0x4a, 0x01], "vcvtuqq2pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x7a, 0xca], "vcvtuqq2pd zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x5d, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x7a, 0x0a], "vcvtuqq2pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x5d, 0x7a, 0x0a], "vcvtuqq2pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x7a, 0x4a, 0x01], "vcvtuqq2pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x5d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x9d, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x9d, 0x7a, 0x0a], "vcvtuqq2pd xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x9d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x7a, 0xca], "vcvtuqq2pd zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x1d, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x7a, 0x0a], "vcvtuqq2pd xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x1d, 0x7a, 0x0a], "vcvtuqq2pd xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x7a, 0x4a, 0x01], "vcvtuqq2pd xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x1d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x7a, 0x0a], "vcvtuqq2pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x7a, 0x4a, 0x01], "vcvtuqq2pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x7a, 0xca], "vcvtuqq2pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x7a, 0xca], "vcvtuqq2pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x7a, 0x0a], "vcvtuqq2pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x7a, 0x0a], "vcvtuqq2pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x7a, 0x4a, 0x01], "vcvtuqq2pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x7a, 0xca], "vcvtuqq2pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x7a, 0x0a], "vcvtuqq2pd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7a, 0xca], "vcvtuqq2pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x7a, 0xca], "vcvtuqq2pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7a, 0x0a], "vcvtuqq2pd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x7a, 0x0a], "vcvtuqq2pd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7a, 0x4a, 0x01], "vcvtuqq2pd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x7a, 0x4a, 0x01], "vcvtuqq2pd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x7a, 0x0a], "vcvtudq2pd zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0x7a, 0x4a, 0x01], "vcvtudq2pd zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x7a, 0x0a], "vcvtudq2pd zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x7a, 0x0a], "vcvtudq2pd zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0x7a, 0x4a, 0x01], "vcvtudq2pd zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0x7a, 0x4a, 0x01], "vcvtudq2pd zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x7a, 0x0a], "vcvtudq2pd xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0x7a, 0x4a, 0x01], "vcvtudq2pd xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x7a, 0x0a], "vcvtudq2pd xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x7a, 0x0a], "vcvtudq2pd xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0x7a, 0x4a, 0x01], "vcvtudq2pd xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0x7a, 0x4a, 0x01], "vcvtudq2pd xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x7a, 0xca], "vcvtudq2pd zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x7a, 0x0a], "vcvtudq2pd zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x7a, 0x4a, 0x01], "vcvtudq2pd zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x7a, 0xca], "vcvtudq2pd zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x7a, 0xca], "vcvtudq2pd zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x7a, 0x0a], "vcvtudq2pd zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x7a, 0x0a], "vcvtudq2pd zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x7a, 0x4a, 0x01], "vcvtudq2pd zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x7a, 0x4a, 0x01], "vcvtudq2pd zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x7a, 0xca], "vcvtudq2pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x7a, 0x0a], "vcvtudq2pd xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x7a, 0x4a, 0x01], "vcvtudq2pd xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x7a, 0xca], "vcvtudq2pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x7a, 0xca], "vcvtudq2pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x7a, 0x0a], "vcvtudq2pd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x7a, 0x0a], "vcvtudq2pd xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x7a, 0x4a, 0x01], "vcvtudq2pd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x7a, 0x4a, 0x01], "vcvtudq2pd xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0x7b, 0xca], "vcvtusi2ss xmm1{rz-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0x7b, 0xca], "vcvtusi2ss xmm1{rd-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7b, 0xca], "vcvtusi2ss xmm1, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7b, 0x0a], "vcvtusi2ss xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7b, 0x4a, 0x01], "vcvtusi2ss xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0x7b, 0xca], "vcvtusi2ss xmm1{ru-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0x7b, 0xca], "vcvtusi2ss xmm1{rne-sae}, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7e, 0xca], "vmovq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7e, 0x0a], "vmovq xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7e, 0x4a, 0x01], "vmovq xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0x7f, 0xca], "vmovdqu64 ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7f, 0xca], "vmovdqu64 ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x7f, 0xca], "vmovdqu64 ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7f, 0x0a], "vmovdqu64 ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x7f, 0x0a], "vmovdqu64 ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0x7f, 0x4a, 0x01], "vmovdqu64 ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0x7f, 0x4a, 0x01], "vmovdqu64 ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0x7f, 0xca], "vmovdqu32 ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x7f, 0xca], "vmovdqu32 ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x7f, 0xca], "vmovdqu32 ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x7f, 0x0a], "vmovdqu32 ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x7f, 0x0a], "vmovdqu32 ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0x7f, 0x4a, 0x01], "vmovdqu32 ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0x7f, 0x4a, 0x01], "vmovdqu32 ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0x7f, 0xca], "vmovdqu64 zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x7f, 0xca], "vmovdqu64 zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x7f, 0xca], "vmovdqu64 zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x7f, 0x0a], "vmovdqu64 zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x7f, 0x0a], "vmovdqu64 zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0x7f, 0x4a, 0x01], "vmovdqu64 zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0x7f, 0x4a, 0x01], "vmovdqu64 zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0x7f, 0xca], "vmovdqu64 xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7f, 0xca], "vmovdqu64 xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x7f, 0xca], "vmovdqu64 xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7f, 0x0a], "vmovdqu64 xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x7f, 0x0a], "vmovdqu64 xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0x7f, 0x4a, 0x01], "vmovdqu64 xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0x7f, 0x4a, 0x01], "vmovdqu64 xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0x7f, 0xca], "vmovdqu32 zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x7f, 0xca], "vmovdqu32 zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x7f, 0xca], "vmovdqu32 zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x7f, 0x0a], "vmovdqu32 zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x7f, 0x0a], "vmovdqu32 zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0x7f, 0x4a, 0x01], "vmovdqu32 zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0x7f, 0x4a, 0x01], "vmovdqu32 zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0x7f, 0xca], "vmovdqu32 xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x7f, 0xca], "vmovdqu32 xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x7f, 0xca], "vmovdqu32 xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x7f, 0x0a], "vmovdqu32 xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x7f, 0x0a], "vmovdqu32 xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0x7f, 0x4a, 0x01], "vmovdqu32 xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0x7f, 0x4a, 0x01], "vmovdqu32 xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x78, 0xc2, 0xca, 0xcc], "vcmpss k1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x7d, 0xc2, 0xca, 0xcc], "vcmpss k1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0xc2, 0xca, 0xcc], "vcmpss k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0xc2, 0xca, 0xcc], "vcmpss k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0xc2, 0x0a, 0xcc], "vcmpss k1, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0xc2, 0x0a, 0xcc], "vcmpss k1{k5}, xmm0, dword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0xc2, 0x4a, 0x01, 0xcc], "vcmpss k1, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpss k1{k5}, xmm0, dword [edx + 0x4], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xfd, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x78, 0xe6, 0xca], "vcvtqq2pd zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x7d, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xbd, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xbd, 0xe6, 0x0a], "vcvtqq2pd ymm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xbd, 0xe6, 0x4a, 0x01], "vcvtqq2pd ymm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0xe6, 0xca], "vcvtqq2pd zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x3d, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0xe6, 0x0a], "vcvtqq2pd ymm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x3d, 0xe6, 0x0a], "vcvtqq2pd ymm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x38, 0xe6, 0x4a, 0x01], "vcvtqq2pd ymm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x3d, 0xe6, 0x4a, 0x01], "vcvtqq2pd ymm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0xe6, 0xca], "vcvtqq2pd ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0xe6, 0x0a], "vcvtqq2pd ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xad, 0xe6, 0x4a, 0x01], "vcvtqq2pd ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0xe6, 0xca], "vcvtqq2pd ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0xe6, 0xca], "vcvtqq2pd ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0xe6, 0x0a], "vcvtqq2pd ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0xe6, 0x0a], "vcvtqq2pd ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x28, 0xe6, 0x4a, 0x01], "vcvtqq2pd ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x2d, 0xe6, 0x4a, 0x01], "vcvtqq2pd ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0xe6, 0x0a], "vcvtdq2pd ymm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xbd, 0xe6, 0x4a, 0x01], "vcvtdq2pd ymm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0xe6, 0x0a], "vcvtdq2pd ymm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0xe6, 0x0a], "vcvtdq2pd ymm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x38, 0xe6, 0x4a, 0x01], "vcvtdq2pd ymm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x3d, 0xe6, 0x4a, 0x01], "vcvtdq2pd ymm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0xe6, 0xca], "vcvtdq2pd ymm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0xe6, 0x0a], "vcvtdq2pd ymm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xad, 0xe6, 0x4a, 0x01], "vcvtdq2pd ymm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0xe6, 0xca], "vcvtdq2pd ymm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0xe6, 0xca], "vcvtdq2pd ymm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0xe6, 0x0a], "vcvtdq2pd ymm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0xe6, 0x0a], "vcvtdq2pd ymm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x28, 0xe6, 0x4a, 0x01], "vcvtdq2pd ymm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x2d, 0xe6, 0x4a, 0x01], "vcvtdq2pd ymm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xdd, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xdd, 0xe6, 0x0a], "vcvtqq2pd zmm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xdd, 0xe6, 0x4a, 0x01], "vcvtqq2pd zmm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0xe6, 0xca], "vcvtqq2pd zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x5d, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0xe6, 0x0a], "vcvtqq2pd zmm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x5d, 0xe6, 0x0a], "vcvtqq2pd zmm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x58, 0xe6, 0x4a, 0x01], "vcvtqq2pd zmm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x5d, 0xe6, 0x4a, 0x01], "vcvtqq2pd zmm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x9d, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x9d, 0xe6, 0x0a], "vcvtqq2pd xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x9d, 0xe6, 0x4a, 0x01], "vcvtqq2pd xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0xe6, 0xca], "vcvtqq2pd zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x1d, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0xe6, 0x0a], "vcvtqq2pd xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x1d, 0xe6, 0x0a], "vcvtqq2pd xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x18, 0xe6, 0x4a, 0x01], "vcvtqq2pd xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x1d, 0xe6, 0x4a, 0x01], "vcvtqq2pd xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0xe6, 0x0a], "vcvtqq2pd zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0xcd, 0xe6, 0x4a, 0x01], "vcvtqq2pd zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0xe6, 0xca], "vcvtqq2pd zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0xe6, 0xca], "vcvtqq2pd zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0xe6, 0x0a], "vcvtqq2pd zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0xe6, 0x0a], "vcvtqq2pd zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x48, 0xe6, 0x4a, 0x01], "vcvtqq2pd zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x4d, 0xe6, 0x4a, 0x01], "vcvtqq2pd zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0xe6, 0xca], "vcvtqq2pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0xe6, 0x0a], "vcvtqq2pd xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x8d, 0xe6, 0x4a, 0x01], "vcvtqq2pd xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0xe6, 0xca], "vcvtqq2pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0xe6, 0xca], "vcvtqq2pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0xe6, 0x0a], "vcvtqq2pd xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0xe6, 0x0a], "vcvtqq2pd xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x08, 0xe6, 0x4a, 0x01], "vcvtqq2pd xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xfe, 0x0d, 0xe6, 0x4a, 0x01], "vcvtqq2pd xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0xe6, 0x0a], "vcvtdq2pd zmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xdd, 0xe6, 0x4a, 0x01], "vcvtdq2pd zmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0xe6, 0x0a], "vcvtdq2pd zmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0xe6, 0x0a], "vcvtdq2pd zmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x58, 0xe6, 0x4a, 0x01], "vcvtdq2pd zmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x5d, 0xe6, 0x4a, 0x01], "vcvtdq2pd zmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0xe6, 0x0a], "vcvtdq2pd xmm1{k5}{z}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x9d, 0xe6, 0x4a, 0x01], "vcvtdq2pd xmm1{k5}{z}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0xe6, 0x0a], "vcvtdq2pd xmm1, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0xe6, 0x0a], "vcvtdq2pd xmm1{k5}, dword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x18, 0xe6, 0x4a, 0x01], "vcvtdq2pd xmm1, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x1d, 0xe6, 0x4a, 0x01], "vcvtdq2pd xmm1{k5}, dword [edx + 0x4]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0xe6, 0xca], "vcvtdq2pd zmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0xe6, 0x0a], "vcvtdq2pd zmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0xcd, 0xe6, 0x4a, 0x01], "vcvtdq2pd zmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0xe6, 0xca], "vcvtdq2pd zmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0xe6, 0xca], "vcvtdq2pd zmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0xe6, 0x0a], "vcvtdq2pd zmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0xe6, 0x0a], "vcvtdq2pd zmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x48, 0xe6, 0x4a, 0x01], "vcvtdq2pd zmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x4d, 0xe6, 0x4a, 0x01], "vcvtdq2pd zmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0xe6, 0xca], "vcvtdq2pd xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0xe6, 0x0a], "vcvtdq2pd xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x8d, 0xe6, 0x4a, 0x01], "vcvtdq2pd xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0xe6, 0xca], "vcvtdq2pd xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0xe6, 0xca], "vcvtdq2pd xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0xe6, 0x0a], "vcvtdq2pd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0xe6, 0x0a], "vcvtdq2pd xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x08, 0xe6, 0x4a, 0x01], "vcvtdq2pd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0x7e, 0x0d, 0xe6, 0x4a, 0x01], "vcvtdq2pd xmm1{k5}, qword [edx + 0x8]"); +} +#[test] +fn tests_f2_0f38() { +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x10, 0xca], "vpmovuswb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x10, 0xca], "vpmovuswb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x10, 0xca], "vpmovuswb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x10, 0x0a], "vpmovuswb xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x10, 0x0a], "vpmovuswb xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x10, 0x4a, 0x01], "vpmovuswb xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x10, 0x4a, 0x01], "vpmovuswb xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x10, 0xca], "vpmovuswb ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x10, 0xca], "vpmovuswb ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x10, 0xca], "vpmovuswb ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x10, 0x0a], "vpmovuswb ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x10, 0x0a], "vpmovuswb ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x10, 0x4a, 0x01], "vpmovuswb ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x10, 0x4a, 0x01], "vpmovuswb ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x10, 0xca], "vpmovuswb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x10, 0xca], "vpmovuswb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x10, 0xca], "vpmovuswb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x10, 0x0a], "vpmovuswb qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x10, 0x0a], "vpmovuswb qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x10, 0x4a, 0x01], "vpmovuswb qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x10, 0x4a, 0x01], "vpmovuswb qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x11, 0xca], "vpmovusdb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x11, 0xca], "vpmovusdb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x11, 0xca], "vpmovusdb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x11, 0x0a], "vpmovusdb qword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x11, 0x0a], "vpmovusdb qword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x11, 0x4a, 0x01], "vpmovusdb qword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x11, 0x4a, 0x01], "vpmovusdb qword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x11, 0xca], "vpmovusdb xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x11, 0xca], "vpmovusdb xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x11, 0xca], "vpmovusdb xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x11, 0x0a], "vpmovusdb xmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x11, 0x0a], "vpmovusdb xmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x11, 0x4a, 0x01], "vpmovusdb xmmword [edx + 0x10], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x11, 0x4a, 0x01], "vpmovusdb xmmword [edx + 0x10]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x11, 0xca], "vpmovusdb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x11, 0xca], "vpmovusdb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x11, 0xca], "vpmovusdb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x11, 0x0a], "vpmovusdb dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x11, 0x0a], "vpmovusdb dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x11, 0x4a, 0x01], "vpmovusdb dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x11, 0x4a, 0x01], "vpmovusdb dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x12, 0xca], "vpmovusqb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x12, 0xca], "vpmovusqb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x12, 0xca], "vpmovusqb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x12, 0x0a], "vpmovusqb dword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x12, 0x0a], "vpmovusqb dword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x12, 0x4a, 0x01], "vpmovusqb dword [edx + 0x4], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x12, 0x4a, 0x01], "vpmovusqb dword [edx + 0x4]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x12, 0xca], "vpmovusqb xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x12, 0xca], "vpmovusqb xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x12, 0xca], "vpmovusqb xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x12, 0x0a], "vpmovusqb qword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x12, 0x0a], "vpmovusqb qword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x12, 0x4a, 0x01], "vpmovusqb qword [edx + 0x8], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x12, 0x4a, 0x01], "vpmovusqb qword [edx + 0x8]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x12, 0xca], "vpmovusqb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x12, 0xca], "vpmovusqb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x12, 0xca], "vpmovusqb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x12, 0x0a], "vpmovusqb word [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x12, 0x0a], "vpmovusqb word [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x12, 0x4a, 0x01], "vpmovusqb word [edx + 0x2], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x12, 0x4a, 0x01], "vpmovusqb word [edx + 0x2]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x13, 0xca], "vpmovusdw xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x13, 0xca], "vpmovusdw xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x13, 0xca], "vpmovusdw xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x13, 0x0a], "vpmovusdw xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x13, 0x0a], "vpmovusdw xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x13, 0x4a, 0x01], "vpmovusdw xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x13, 0x4a, 0x01], "vpmovusdw xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x13, 0xca], "vpmovusdw ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x13, 0xca], "vpmovusdw ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x13, 0xca], "vpmovusdw ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x13, 0x0a], "vpmovusdw ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x13, 0x0a], "vpmovusdw ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x13, 0x4a, 0x01], "vpmovusdw ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x13, 0x4a, 0x01], "vpmovusdw ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x13, 0xca], "vpmovusdw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x13, 0xca], "vpmovusdw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x13, 0xca], "vpmovusdw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x13, 0x0a], "vpmovusdw qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x13, 0x0a], "vpmovusdw qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x13, 0x4a, 0x01], "vpmovusdw qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x13, 0x4a, 0x01], "vpmovusdw qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x14, 0xca], "vpmovusqw xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x14, 0xca], "vpmovusqw xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x14, 0xca], "vpmovusqw xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x14, 0x0a], "vpmovusqw qword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x14, 0x0a], "vpmovusqw qword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x14, 0x4a, 0x01], "vpmovusqw qword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x14, 0x4a, 0x01], "vpmovusqw qword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x14, 0xca], "vpmovusqw xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x14, 0xca], "vpmovusqw xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x14, 0xca], "vpmovusqw xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x14, 0x0a], "vpmovusqw xmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x14, 0x0a], "vpmovusqw xmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x14, 0x4a, 0x01], "vpmovusqw xmmword [edx + 0x10], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x14, 0x4a, 0x01], "vpmovusqw xmmword [edx + 0x10]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x14, 0xca], "vpmovusqw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x14, 0xca], "vpmovusqw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x14, 0xca], "vpmovusqw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x14, 0x0a], "vpmovusqw dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x14, 0x0a], "vpmovusqw dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x14, 0x4a, 0x01], "vpmovusqw dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x14, 0x4a, 0x01], "vpmovusqw dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x15, 0xca], "vpmovusqd xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x15, 0xca], "vpmovusqd xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x15, 0xca], "vpmovusqd xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x15, 0x0a], "vpmovusqd xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x15, 0x0a], "vpmovusqd xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x15, 0x4a, 0x01], "vpmovusqd xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x15, 0x4a, 0x01], "vpmovusqd xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x15, 0xca], "vpmovusqd ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x15, 0xca], "vpmovusqd ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x15, 0xca], "vpmovusqd ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x15, 0x0a], "vpmovusqd ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x15, 0x0a], "vpmovusqd ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x15, 0x4a, 0x01], "vpmovusqd ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x15, 0x4a, 0x01], "vpmovusqd ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x15, 0xca], "vpmovusqd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x15, 0xca], "vpmovusqd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x15, 0xca], "vpmovusqd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x15, 0x0a], "vpmovusqd qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x15, 0x0a], "vpmovusqd qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x15, 0x4a, 0x01], "vpmovusqd qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x15, 0x4a, 0x01], "vpmovusqd qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x20, 0xca], "vpmovswb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x20, 0xca], "vpmovswb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x20, 0xca], "vpmovswb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x20, 0x0a], "vpmovswb xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x20, 0x0a], "vpmovswb xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x20, 0x4a, 0x01], "vpmovswb xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x20, 0x4a, 0x01], "vpmovswb xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x20, 0xca], "vpmovswb ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x20, 0xca], "vpmovswb ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x20, 0xca], "vpmovswb ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x20, 0x0a], "vpmovswb ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x20, 0x0a], "vpmovswb ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x20, 0x4a, 0x01], "vpmovswb ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x20, 0x4a, 0x01], "vpmovswb ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x20, 0xca], "vpmovswb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x20, 0xca], "vpmovswb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x20, 0xca], "vpmovswb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x20, 0x0a], "vpmovswb qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x20, 0x0a], "vpmovswb qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x20, 0x4a, 0x01], "vpmovswb qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x20, 0x4a, 0x01], "vpmovswb qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x21, 0xca], "vpmovsdb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x21, 0xca], "vpmovsdb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x21, 0xca], "vpmovsdb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x21, 0x0a], "vpmovsdb qword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x21, 0x0a], "vpmovsdb qword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x21, 0x4a, 0x01], "vpmovsdb qword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x21, 0x4a, 0x01], "vpmovsdb qword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x21, 0xca], "vpmovsdb xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x21, 0xca], "vpmovsdb xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x21, 0xca], "vpmovsdb xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x21, 0x0a], "vpmovsdb xmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x21, 0x0a], "vpmovsdb xmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x21, 0x4a, 0x01], "vpmovsdb xmmword [edx + 0x10], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x21, 0x4a, 0x01], "vpmovsdb xmmword [edx + 0x10]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x21, 0xca], "vpmovsdb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x21, 0xca], "vpmovsdb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x21, 0xca], "vpmovsdb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x21, 0x0a], "vpmovsdb dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x21, 0x0a], "vpmovsdb dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x21, 0x4a, 0x01], "vpmovsdb dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x21, 0x4a, 0x01], "vpmovsdb dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x22, 0xca], "vpmovsqb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x22, 0xca], "vpmovsqb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x22, 0xca], "vpmovsqb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x22, 0x0a], "vpmovsqb dword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x22, 0x0a], "vpmovsqb dword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x22, 0x4a, 0x01], "vpmovsqb dword [edx + 0x4], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x22, 0x4a, 0x01], "vpmovsqb dword [edx + 0x4]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x22, 0xca], "vpmovsqb xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x22, 0xca], "vpmovsqb xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x22, 0xca], "vpmovsqb xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x22, 0x0a], "vpmovsqb qword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x22, 0x0a], "vpmovsqb qword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x22, 0x4a, 0x01], "vpmovsqb qword [edx + 0x8], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x22, 0x4a, 0x01], "vpmovsqb qword [edx + 0x8]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x22, 0xca], "vpmovsqb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x22, 0xca], "vpmovsqb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x22, 0xca], "vpmovsqb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x22, 0x0a], "vpmovsqb word [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x22, 0x0a], "vpmovsqb word [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x22, 0x4a, 0x01], "vpmovsqb word [edx + 0x2], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x22, 0x4a, 0x01], "vpmovsqb word [edx + 0x2]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x23, 0xca], "vpmovsdw xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x23, 0xca], "vpmovsdw xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x23, 0xca], "vpmovsdw xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x23, 0x0a], "vpmovsdw xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x23, 0x0a], "vpmovsdw xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x23, 0x4a, 0x01], "vpmovsdw xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x23, 0x4a, 0x01], "vpmovsdw xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x23, 0xca], "vpmovsdw ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x23, 0xca], "vpmovsdw ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x23, 0xca], "vpmovsdw ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x23, 0x0a], "vpmovsdw ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x23, 0x0a], "vpmovsdw ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x23, 0x4a, 0x01], "vpmovsdw ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x23, 0x4a, 0x01], "vpmovsdw ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x23, 0xca], "vpmovsdw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x23, 0xca], "vpmovsdw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x23, 0xca], "vpmovsdw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x23, 0x0a], "vpmovsdw qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x23, 0x0a], "vpmovsdw qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x23, 0x4a, 0x01], "vpmovsdw qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x23, 0x4a, 0x01], "vpmovsdw qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x24, 0xca], "vpmovsqw xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x24, 0xca], "vpmovsqw xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x24, 0xca], "vpmovsqw xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x24, 0x0a], "vpmovsqw qword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x24, 0x0a], "vpmovsqw qword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x24, 0x4a, 0x01], "vpmovsqw qword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x24, 0x4a, 0x01], "vpmovsqw qword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x24, 0xca], "vpmovsqw xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x24, 0xca], "vpmovsqw xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x24, 0xca], "vpmovsqw xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x24, 0x0a], "vpmovsqw xmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x24, 0x0a], "vpmovsqw xmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x24, 0x4a, 0x01], "vpmovsqw xmmword [edx + 0x10], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x24, 0x4a, 0x01], "vpmovsqw xmmword [edx + 0x10]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x24, 0xca], "vpmovsqw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x24, 0xca], "vpmovsqw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x24, 0xca], "vpmovsqw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x24, 0x0a], "vpmovsqw dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x24, 0x0a], "vpmovsqw dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x24, 0x4a, 0x01], "vpmovsqw dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x24, 0x4a, 0x01], "vpmovsqw dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x25, 0xca], "vpmovsqd xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x25, 0xca], "vpmovsqd xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x25, 0xca], "vpmovsqd xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x25, 0x0a], "vpmovsqd xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x25, 0x0a], "vpmovsqd xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x25, 0x4a, 0x01], "vpmovsqd xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x25, 0x4a, 0x01], "vpmovsqd xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x25, 0xca], "vpmovsqd ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x25, 0xca], "vpmovsqd ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x25, 0xca], "vpmovsqd ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x25, 0x0a], "vpmovsqd ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x25, 0x0a], "vpmovsqd ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x25, 0x4a, 0x01], "vpmovsqd ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x25, 0x4a, 0x01], "vpmovsqd ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x25, 0xca], "vpmovsqd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x25, 0xca], "vpmovsqd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x25, 0xca], "vpmovsqd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x25, 0x0a], "vpmovsqd qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x25, 0x0a], "vpmovsqd qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x25, 0x4a, 0x01], "vpmovsqd qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x25, 0x4a, 0x01], "vpmovsqd qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x26, 0xca], "vptestnmw k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x2d, 0x26, 0xca], "vptestnmw k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x26, 0x0a], "vptestnmw k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x2d, 0x26, 0x0a], "vptestnmw k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x26, 0x4a, 0x01], "vptestnmw k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x2d, 0x26, 0x4a, 0x01], "vptestnmw k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x26, 0xca], "vptestnmb k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x26, 0xca], "vptestnmb k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x26, 0x0a], "vptestnmb k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x26, 0x0a], "vptestnmb k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x26, 0x4a, 0x01], "vptestnmb k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x26, 0x4a, 0x01], "vptestnmb k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x26, 0xca], "vptestnmw k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x4d, 0x26, 0xca], "vptestnmw k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x26, 0x0a], "vptestnmw k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x4d, 0x26, 0x0a], "vptestnmw k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x26, 0x4a, 0x01], "vptestnmw k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x4d, 0x26, 0x4a, 0x01], "vptestnmw k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x26, 0xca], "vptestnmw k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x0d, 0x26, 0xca], "vptestnmw k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x26, 0x0a], "vptestnmw k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x0d, 0x26, 0x0a], "vptestnmw k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x26, 0x4a, 0x01], "vptestnmw k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x0d, 0x26, 0x4a, 0x01], "vptestnmw k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x26, 0xca], "vptestnmb k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x26, 0xca], "vptestnmb k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x26, 0x0a], "vptestnmb k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x26, 0x0a], "vptestnmb k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x26, 0x4a, 0x01], "vptestnmb k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x26, 0x4a, 0x01], "vptestnmb k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x26, 0xca], "vptestnmb k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x26, 0xca], "vptestnmb k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x26, 0x0a], "vptestnmb k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x26, 0x0a], "vptestnmb k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x26, 0x4a, 0x01], "vptestnmb k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x26, 0x4a, 0x01], "vptestnmb k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x38, 0x27, 0x0a], "vptestnmq k1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x3d, 0x27, 0x0a], "vptestnmq k1{k5}, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x38, 0x27, 0x4a, 0x01], "vptestnmq k1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x3d, 0x27, 0x4a, 0x01], "vptestnmq k1{k5}, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x27, 0xca], "vptestnmq k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x2d, 0x27, 0xca], "vptestnmq k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x27, 0x0a], "vptestnmq k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x2d, 0x27, 0x0a], "vptestnmq k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x27, 0x4a, 0x01], "vptestnmq k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x2d, 0x27, 0x4a, 0x01], "vptestnmq k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x38, 0x27, 0x0a], "vptestnmd k1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x3d, 0x27, 0x0a], "vptestnmd k1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x38, 0x27, 0x4a, 0x01], "vptestnmd k1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x3d, 0x27, 0x4a, 0x01], "vptestnmd k1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x27, 0xca], "vptestnmd k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x27, 0xca], "vptestnmd k1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x27, 0x0a], "vptestnmd k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x27, 0x0a], "vptestnmd k1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x27, 0x4a, 0x01], "vptestnmd k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x27, 0x4a, 0x01], "vptestnmd k1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x58, 0x27, 0x0a], "vptestnmq k1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x5d, 0x27, 0x0a], "vptestnmq k1{k5}, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x58, 0x27, 0x4a, 0x01], "vptestnmq k1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x5d, 0x27, 0x4a, 0x01], "vptestnmq k1{k5}, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x18, 0x27, 0x0a], "vptestnmq k1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x1d, 0x27, 0x0a], "vptestnmq k1{k5}, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x18, 0x27, 0x4a, 0x01], "vptestnmq k1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x1d, 0x27, 0x4a, 0x01], "vptestnmq k1{k5}, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x27, 0xca], "vptestnmq k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x4d, 0x27, 0xca], "vptestnmq k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x27, 0x0a], "vptestnmq k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x4d, 0x27, 0x0a], "vptestnmq k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x27, 0x4a, 0x01], "vptestnmq k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x4d, 0x27, 0x4a, 0x01], "vptestnmq k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x27, 0xca], "vptestnmq k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x0d, 0x27, 0xca], "vptestnmq k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x27, 0x0a], "vptestnmq k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x0d, 0x27, 0x0a], "vptestnmq k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x27, 0x4a, 0x01], "vptestnmq k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x0d, 0x27, 0x4a, 0x01], "vptestnmq k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x58, 0x27, 0x0a], "vptestnmd k1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x5d, 0x27, 0x0a], "vptestnmd k1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x58, 0x27, 0x4a, 0x01], "vptestnmd k1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x5d, 0x27, 0x4a, 0x01], "vptestnmd k1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x18, 0x27, 0x0a], "vptestnmd k1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x1d, 0x27, 0x0a], "vptestnmd k1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x18, 0x27, 0x4a, 0x01], "vptestnmd k1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x1d, 0x27, 0x4a, 0x01], "vptestnmd k1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x27, 0xca], "vptestnmd k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x27, 0xca], "vptestnmd k1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x27, 0x0a], "vptestnmd k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x27, 0x0a], "vptestnmd k1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x27, 0x4a, 0x01], "vptestnmd k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x27, 0x4a, 0x01], "vptestnmd k1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x27, 0xca], "vptestnmd k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x27, 0xca], "vptestnmd k1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x27, 0x0a], "vptestnmd k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x27, 0x0a], "vptestnmd k1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x27, 0x4a, 0x01], "vptestnmd k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x27, 0x4a, 0x01], "vptestnmd k1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x28, 0xca], "vpmovm2w ymm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x28, 0xca], "vpmovm2b ymm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x28, 0xca], "vpmovm2w zmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x28, 0xca], "vpmovm2w xmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x28, 0xca], "vpmovm2b zmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x28, 0xca], "vpmovm2b xmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x29, 0xca], "vpmovw2m k1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x29, 0xca], "vpmovb2m k1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x29, 0xca], "vpmovw2m k1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x29, 0xca], "vpmovw2m k1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x29, 0xca], "vpmovb2m k1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x29, 0xca], "vpmovb2m k1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x2a, 0xca], "vpbroadcastmb2q ymm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x2a, 0xca], "vpbroadcastmb2q zmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x2a, 0xca], "vpbroadcastmb2q xmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x30, 0xca], "vpmovwb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x30, 0xca], "vpmovwb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x30, 0xca], "vpmovwb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x30, 0x0a], "vpmovwb xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x30, 0x0a], "vpmovwb xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x30, 0x4a, 0x01], "vpmovwb xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x30, 0x4a, 0x01], "vpmovwb xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x30, 0xca], "vpmovwb ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x30, 0xca], "vpmovwb ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x30, 0xca], "vpmovwb ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x30, 0x0a], "vpmovwb ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x30, 0x0a], "vpmovwb ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x30, 0x4a, 0x01], "vpmovwb ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x30, 0x4a, 0x01], "vpmovwb ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x30, 0xca], "vpmovwb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x30, 0xca], "vpmovwb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x30, 0xca], "vpmovwb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x30, 0x0a], "vpmovwb qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x30, 0x0a], "vpmovwb qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x30, 0x4a, 0x01], "vpmovwb qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x30, 0x4a, 0x01], "vpmovwb qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x31, 0xca], "vpmovdb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x31, 0xca], "vpmovdb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x31, 0xca], "vpmovdb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x31, 0x0a], "vpmovdb qword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x31, 0x0a], "vpmovdb qword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x31, 0x4a, 0x01], "vpmovdb qword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x31, 0x4a, 0x01], "vpmovdb qword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x31, 0xca], "vpmovdb xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x31, 0xca], "vpmovdb xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x31, 0xca], "vpmovdb xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x31, 0x0a], "vpmovdb xmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x31, 0x0a], "vpmovdb xmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x31, 0x4a, 0x01], "vpmovdb xmmword [edx + 0x10], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x31, 0x4a, 0x01], "vpmovdb xmmword [edx + 0x10]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x31, 0xca], "vpmovdb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x31, 0xca], "vpmovdb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x31, 0xca], "vpmovdb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x31, 0x0a], "vpmovdb dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x31, 0x0a], "vpmovdb dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x31, 0x4a, 0x01], "vpmovdb dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x31, 0x4a, 0x01], "vpmovdb dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x32, 0xca], "vpmovqb xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x32, 0xca], "vpmovqb xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x32, 0xca], "vpmovqb xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x32, 0x0a], "vpmovqb dword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x32, 0x0a], "vpmovqb dword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x32, 0x4a, 0x01], "vpmovqb dword [edx + 0x4], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x32, 0x4a, 0x01], "vpmovqb dword [edx + 0x4]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x32, 0xca], "vpmovqb xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x32, 0xca], "vpmovqb xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x32, 0xca], "vpmovqb xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x32, 0x0a], "vpmovqb qword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x32, 0x0a], "vpmovqb qword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x32, 0x4a, 0x01], "vpmovqb qword [edx + 0x8], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x32, 0x4a, 0x01], "vpmovqb qword [edx + 0x8]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x32, 0xca], "vpmovqb xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x32, 0xca], "vpmovqb xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x32, 0xca], "vpmovqb xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x32, 0x0a], "vpmovqb word [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x32, 0x0a], "vpmovqb word [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x32, 0x4a, 0x01], "vpmovqb word [edx + 0x2], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x32, 0x4a, 0x01], "vpmovqb word [edx + 0x2]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x33, 0xca], "vpmovdw xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x33, 0xca], "vpmovdw xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x33, 0xca], "vpmovdw xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x33, 0x0a], "vpmovdw xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x33, 0x0a], "vpmovdw xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x33, 0x4a, 0x01], "vpmovdw xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x33, 0x4a, 0x01], "vpmovdw xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x33, 0xca], "vpmovdw ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x33, 0xca], "vpmovdw ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x33, 0xca], "vpmovdw ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x33, 0x0a], "vpmovdw ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x33, 0x0a], "vpmovdw ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x33, 0x4a, 0x01], "vpmovdw ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x33, 0x4a, 0x01], "vpmovdw ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x33, 0xca], "vpmovdw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x33, 0xca], "vpmovdw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x33, 0xca], "vpmovdw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x33, 0x0a], "vpmovdw qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x33, 0x0a], "vpmovdw qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x33, 0x4a, 0x01], "vpmovdw qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x33, 0x4a, 0x01], "vpmovdw qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x34, 0xca], "vpmovqw xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x34, 0xca], "vpmovqw xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x34, 0xca], "vpmovqw xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x34, 0x0a], "vpmovqw qword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x34, 0x0a], "vpmovqw qword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x34, 0x4a, 0x01], "vpmovqw qword [edx + 0x8], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x34, 0x4a, 0x01], "vpmovqw qword [edx + 0x8]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x34, 0xca], "vpmovqw xmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x34, 0xca], "vpmovqw xmm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x34, 0xca], "vpmovqw xmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x34, 0x0a], "vpmovqw xmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x34, 0x0a], "vpmovqw xmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x34, 0x4a, 0x01], "vpmovqw xmmword [edx + 0x10], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x34, 0x4a, 0x01], "vpmovqw xmmword [edx + 0x10]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x34, 0xca], "vpmovqw xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x34, 0xca], "vpmovqw xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x34, 0xca], "vpmovqw xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x34, 0x0a], "vpmovqw dword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x34, 0x0a], "vpmovqw dword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x34, 0x4a, 0x01], "vpmovqw dword [edx + 0x4], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x34, 0x4a, 0x01], "vpmovqw dword [edx + 0x4]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x35, 0xca], "vpmovqd xmm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x35, 0xca], "vpmovqd xmm2, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x35, 0xca], "vpmovqd xmm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x35, 0x0a], "vpmovqd xmmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x35, 0x0a], "vpmovqd xmmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x35, 0x4a, 0x01], "vpmovqd xmmword [edx + 0x10], ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x35, 0x4a, 0x01], "vpmovqd xmmword [edx + 0x10]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x35, 0xca], "vpmovqd ymm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x35, 0xca], "vpmovqd ymm2, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x35, 0xca], "vpmovqd ymm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x35, 0x0a], "vpmovqd ymmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x35, 0x0a], "vpmovqd ymmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x35, 0x4a, 0x01], "vpmovqd ymmword [edx + 0x20], zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x35, 0x4a, 0x01], "vpmovqd ymmword [edx + 0x20]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x35, 0xca], "vpmovqd xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x35, 0xca], "vpmovqd xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x35, 0xca], "vpmovqd xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x35, 0x0a], "vpmovqd qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x35, 0x0a], "vpmovqd qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x35, 0x4a, 0x01], "vpmovqd qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x35, 0x4a, 0x01], "vpmovqd qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x38, 0xca], "vpmovm2q ymm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x38, 0xca], "vpmovm2d ymm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x38, 0xca], "vpmovm2q zmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x38, 0xca], "vpmovm2q xmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x38, 0xca], "vpmovm2d zmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x38, 0xca], "vpmovm2d xmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x28, 0x39, 0xca], "vpmovq2m k1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x39, 0xca], "vpmovd2m k1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x48, 0x39, 0xca], "vpmovq2m k1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xfe, 0x08, 0x39, 0xca], "vpmovq2m k1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x39, 0xca], "vpmovd2m k1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x39, 0xca], "vpmovd2m k1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x3a, 0xca], "vpbroadcastmw2d ymm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x3a, 0xca], "vpbroadcastmw2d zmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x3a, 0xca], "vpbroadcastmw2d xmm1, k2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xbd, 0x52, 0x0a], "vdpbf16ps ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xbd, 0x52, 0x4a, 0x01], "vdpbf16ps ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x38, 0x52, 0x0a], "vdpbf16ps ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x3d, 0x52, 0x0a], "vdpbf16ps ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x38, 0x52, 0x4a, 0x01], "vdpbf16ps ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x3d, 0x52, 0x4a, 0x01], "vdpbf16ps ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x52, 0xca], "vdpbf16ps ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x52, 0x0a], "vdpbf16ps ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x52, 0x4a, 0x01], "vdpbf16ps ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x52, 0xca], "vdpbf16ps ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x52, 0xca], "vdpbf16ps ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x52, 0x0a], "vdpbf16ps ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x52, 0x0a], "vdpbf16ps ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x52, 0x4a, 0x01], "vdpbf16ps ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x52, 0x4a, 0x01], "vdpbf16ps ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xdd, 0x52, 0x0a], "vdpbf16ps zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xdd, 0x52, 0x4a, 0x01], "vdpbf16ps zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x58, 0x52, 0x0a], "vdpbf16ps zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x5d, 0x52, 0x0a], "vdpbf16ps zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x58, 0x52, 0x4a, 0x01], "vdpbf16ps zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x5d, 0x52, 0x4a, 0x01], "vdpbf16ps zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x9d, 0x52, 0x0a], "vdpbf16ps xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x9d, 0x52, 0x4a, 0x01], "vdpbf16ps xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x18, 0x52, 0x0a], "vdpbf16ps xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x1d, 0x52, 0x0a], "vdpbf16ps xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x18, 0x52, 0x4a, 0x01], "vdpbf16ps xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x1d, 0x52, 0x4a, 0x01], "vdpbf16ps xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x52, 0xca], "vdpbf16ps zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x52, 0x0a], "vdpbf16ps zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x52, 0x4a, 0x01], "vdpbf16ps zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x52, 0xca], "vdpbf16ps zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x52, 0xca], "vdpbf16ps zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x52, 0x0a], "vdpbf16ps zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x52, 0x0a], "vdpbf16ps zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x52, 0x4a, 0x01], "vdpbf16ps zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x52, 0x4a, 0x01], "vdpbf16ps zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x52, 0xca], "vdpbf16ps xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x52, 0x0a], "vdpbf16ps xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x52, 0x4a, 0x01], "vdpbf16ps xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x52, 0xca], "vdpbf16ps xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x52, 0xca], "vdpbf16ps xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x52, 0x0a], "vdpbf16ps xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x52, 0x0a], "vdpbf16ps xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x52, 0x4a, 0x01], "vdpbf16ps xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x52, 0x4a, 0x01], "vdpbf16ps xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xbd, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xbd, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x38, 0x72, 0x0a], "vcvtneps2bf16 xmm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x3d, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x38, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x3d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x72, 0xca], "vcvtneps2bf16 xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xad, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x72, 0xca], "vcvtneps2bf16 xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x72, 0xca], "vcvtneps2bf16 xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x72, 0x0a], "vcvtneps2bf16 xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x28, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x2d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xdd, 0x72, 0x0a], "vcvtneps2bf16 ymm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xdd, 0x72, 0x4a, 0x01], "vcvtneps2bf16 ymm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x58, 0x72, 0x0a], "vcvtneps2bf16 ymm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x5d, 0x72, 0x0a], "vcvtneps2bf16 ymm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x58, 0x72, 0x4a, 0x01], "vcvtneps2bf16 ymm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x5d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 ymm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x9d, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x9d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x18, 0x72, 0x0a], "vcvtneps2bf16 xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x1d, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x18, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x1d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x72, 0xca], "vcvtneps2bf16 ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x72, 0x0a], "vcvtneps2bf16 ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0xcd, 0x72, 0x4a, 0x01], "vcvtneps2bf16 ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x72, 0xca], "vcvtneps2bf16 ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x72, 0xca], "vcvtneps2bf16 ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x72, 0x0a], "vcvtneps2bf16 ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x72, 0x0a], "vcvtneps2bf16 ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x48, 0x72, 0x4a, 0x01], "vcvtneps2bf16 ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x4d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x72, 0xca], "vcvtneps2bf16 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x8d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x72, 0xca], "vcvtneps2bf16 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x72, 0xca], "vcvtneps2bf16 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x72, 0x0a], "vcvtneps2bf16 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x72, 0x0a], "vcvtneps2bf16 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x08, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7e, 0x0d, 0x72, 0x4a, 0x01], "vcvtneps2bf16 xmm1{k5}, xmmword [edx + 0x10]"); +} +#[test] +fn tests_f3_0f() { +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x10, 0xca], "vmovsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x10, 0x0a], "vmovsd xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x10, 0x4a, 0x01], "vmovsd xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x10, 0xca], "vmovsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x10, 0xca], "vmovsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x10, 0x0a], "vmovsd xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x10, 0x0a], "vmovsd xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x10, 0x4a, 0x01], "vmovsd xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x10, 0x4a, 0x01], "vmovsd xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x11, 0xca], "vmovsd xmm2{k5}{z}, xmm0, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x11, 0xca], "vmovsd xmm2, xmm0, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x11, 0xca], "vmovsd xmm2{k5}, xmm0, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x11, 0x0a], "vmovsd qword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x11, 0x0a], "vmovsd qword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x11, 0x4a, 0x01], "vmovsd qword [edx + 0x8], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x11, 0x4a, 0x01], "vmovsd qword [edx + 0x8]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x12, 0xca], "vmovddup ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x12, 0x0a], "vmovddup ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x12, 0x4a, 0x01], "vmovddup ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x12, 0xca], "vmovddup ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x12, 0xca], "vmovddup ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x12, 0x0a], "vmovddup ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x12, 0x0a], "vmovddup ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x12, 0x4a, 0x01], "vmovddup ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x12, 0x4a, 0x01], "vmovddup ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x12, 0xca], "vmovddup zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x12, 0x0a], "vmovddup zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x12, 0x4a, 0x01], "vmovddup zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x12, 0xca], "vmovddup zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x12, 0xca], "vmovddup zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x12, 0x0a], "vmovddup zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x12, 0x0a], "vmovddup zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x12, 0x4a, 0x01], "vmovddup zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x12, 0x4a, 0x01], "vmovddup zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x12, 0xca], "vmovddup xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x12, 0x0a], "vmovddup xmm1{k5}{z}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x12, 0x4a, 0x01], "vmovddup xmm1{k5}{z}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x12, 0xca], "vmovddup xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x12, 0xca], "vmovddup xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x12, 0x0a], "vmovddup xmm1, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x12, 0x0a], "vmovddup xmm1{k5}, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x12, 0x4a, 0x01], "vmovddup xmm1, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x12, 0x4a, 0x01], "vmovddup xmm1{k5}, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x2a, 0xca], "vcvtsi2sd xmm1, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2a, 0x0a], "vcvtsi2sd xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2a, 0x4a, 0x01], "vcvtsi2sd xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x2c, 0xca], "vcvttsd2si ecx{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2c, 0xca], "vcvttsd2si ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2c, 0x0a], "vcvttsd2si ecx, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2c, 0x4a, 0x01], "vcvttsd2si ecx, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x2d, 0xca], "vcvtsd2si ecx{rz-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x2d, 0xca], "vcvtsd2si ecx{rd-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2d, 0xca], "vcvtsd2si ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2d, 0x0a], "vcvtsd2si ecx, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x2d, 0x4a, 0x01], "vcvtsd2si ecx, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x2d, 0xca], "vcvtsd2si ecx{ru-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x2d, 0xca], "vcvtsd2si ecx{rne-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x51, 0xca], "vsqrtsd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x51, 0xca], "vsqrtsd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x51, 0xca], "vsqrtsd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x51, 0xca], "vsqrtsd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x51, 0xca], "vsqrtsd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x51, 0xca], "vsqrtsd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x51, 0xca], "vsqrtsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x51, 0x0a], "vsqrtsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x51, 0x4a, 0x01], "vsqrtsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x51, 0xca], "vsqrtsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x51, 0xca], "vsqrtsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x51, 0x0a], "vsqrtsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x51, 0x0a], "vsqrtsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x51, 0x4a, 0x01], "vsqrtsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x51, 0x4a, 0x01], "vsqrtsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x51, 0xca], "vsqrtsd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x51, 0xca], "vsqrtsd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x51, 0xca], "vsqrtsd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x51, 0xca], "vsqrtsd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x51, 0xca], "vsqrtsd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x51, 0xca], "vsqrtsd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x58, 0xca], "vaddsd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x58, 0xca], "vaddsd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x58, 0xca], "vaddsd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x58, 0xca], "vaddsd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x58, 0xca], "vaddsd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x58, 0xca], "vaddsd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x58, 0xca], "vaddsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x58, 0x0a], "vaddsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x58, 0x4a, 0x01], "vaddsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x58, 0xca], "vaddsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x58, 0xca], "vaddsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x58, 0x0a], "vaddsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x58, 0x0a], "vaddsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x58, 0x4a, 0x01], "vaddsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x58, 0x4a, 0x01], "vaddsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x58, 0xca], "vaddsd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x58, 0xca], "vaddsd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x58, 0xca], "vaddsd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x58, 0xca], "vaddsd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x58, 0xca], "vaddsd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x58, 0xca], "vaddsd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x59, 0xca], "vmulsd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x59, 0xca], "vmulsd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x59, 0xca], "vmulsd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x59, 0xca], "vmulsd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x59, 0xca], "vmulsd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x59, 0xca], "vmulsd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x59, 0xca], "vmulsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x59, 0x0a], "vmulsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x59, 0x4a, 0x01], "vmulsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x59, 0xca], "vmulsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x59, 0xca], "vmulsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x59, 0x0a], "vmulsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x59, 0x0a], "vmulsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x59, 0x4a, 0x01], "vmulsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x59, 0x4a, 0x01], "vmulsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x59, 0xca], "vmulsd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x59, 0xca], "vmulsd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x59, 0xca], "vmulsd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x59, 0xca], "vmulsd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x59, 0xca], "vmulsd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x59, 0xca], "vmulsd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x5a, 0xca], "vcvtsd2ss xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x5a, 0xca], "vcvtsd2ss xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5a, 0x0a], "vcvtsd2ss xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5a, 0x4a, 0x01], "vcvtsd2ss xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5a, 0xca], "vcvtsd2ss xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5a, 0x0a], "vcvtsd2ss xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5a, 0x0a], "vcvtsd2ss xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5a, 0x4a, 0x01], "vcvtsd2ss xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5a, 0x4a, 0x01], "vcvtsd2ss xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x5a, 0xca], "vcvtsd2ss xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x5a, 0xca], "vcvtsd2ss xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x5a, 0xca], "vcvtsd2ss xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x5c, 0xca], "vsubsd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x5c, 0xca], "vsubsd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x5c, 0xca], "vsubsd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x5c, 0xca], "vsubsd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x5c, 0xca], "vsubsd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x5c, 0xca], "vsubsd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5c, 0xca], "vsubsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5c, 0x0a], "vsubsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5c, 0x4a, 0x01], "vsubsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5c, 0xca], "vsubsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5c, 0xca], "vsubsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5c, 0x0a], "vsubsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5c, 0x0a], "vsubsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5c, 0x4a, 0x01], "vsubsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5c, 0x4a, 0x01], "vsubsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x5c, 0xca], "vsubsd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x5c, 0xca], "vsubsd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x5c, 0xca], "vsubsd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x5c, 0xca], "vsubsd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x5c, 0xca], "vsubsd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x5c, 0xca], "vsubsd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x5d, 0xca], "vminsd xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x5d, 0xca], "vminsd xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x5d, 0xca], "vminsd xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5d, 0xca], "vminsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5d, 0x0a], "vminsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5d, 0x4a, 0x01], "vminsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5d, 0xca], "vminsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5d, 0xca], "vminsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5d, 0x0a], "vminsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5d, 0x0a], "vminsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5d, 0x4a, 0x01], "vminsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5d, 0x4a, 0x01], "vminsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x5e, 0xca], "vdivsd xmm1{k5}{z}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x5e, 0xca], "vdivsd xmm1{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x5e, 0xca], "vdivsd xmm1{k5}{rz-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x5e, 0xca], "vdivsd xmm1{k5}{z}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x5e, 0xca], "vdivsd xmm1{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x5e, 0xca], "vdivsd xmm1{k5}{rd-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5e, 0xca], "vdivsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5e, 0x0a], "vdivsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5e, 0x4a, 0x01], "vdivsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5e, 0xca], "vdivsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5e, 0xca], "vdivsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5e, 0x0a], "vdivsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5e, 0x0a], "vdivsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5e, 0x4a, 0x01], "vdivsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5e, 0x4a, 0x01], "vdivsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x5e, 0xca], "vdivsd xmm1{k5}{z}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x5e, 0xca], "vdivsd xmm1{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x5e, 0xca], "vdivsd xmm1{k5}{ru-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x5e, 0xca], "vdivsd xmm1{k5}{z}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x5e, 0xca], "vdivsd xmm1{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x5e, 0xca], "vdivsd xmm1{k5}{rne-sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x5f, 0xca], "vmaxsd xmm1{k5}{z}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x5f, 0xca], "vmaxsd xmm1{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x5f, 0xca], "vmaxsd xmm1{k5}{sae}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5f, 0xca], "vmaxsd xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5f, 0x0a], "vmaxsd xmm1{k5}{z}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x5f, 0x4a, 0x01], "vmaxsd xmm1{k5}{z}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5f, 0xca], "vmaxsd xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5f, 0xca], "vmaxsd xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5f, 0x0a], "vmaxsd xmm1, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5f, 0x0a], "vmaxsd xmm1{k5}, xmm0, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x5f, 0x4a, 0x01], "vmaxsd xmm1, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x5f, 0x4a, 0x01], "vmaxsd xmm1{k5}, xmm0, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x6f, 0xca], "vmovdqu16 ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x6f, 0x0a], "vmovdqu16 ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x6f, 0x4a, 0x01], "vmovdqu16 ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x6f, 0xca], "vmovdqu16 ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x6f, 0xca], "vmovdqu16 ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x6f, 0x0a], "vmovdqu16 ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x6f, 0x0a], "vmovdqu16 ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x6f, 0x4a, 0x01], "vmovdqu16 ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x6f, 0x4a, 0x01], "vmovdqu16 ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x6f, 0xca], "vmovdqu8 ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x6f, 0x0a], "vmovdqu8 ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x6f, 0x4a, 0x01], "vmovdqu8 ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x6f, 0xca], "vmovdqu8 ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x6f, 0xca], "vmovdqu8 ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x6f, 0x0a], "vmovdqu8 ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x6f, 0x0a], "vmovdqu8 ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x6f, 0x4a, 0x01], "vmovdqu8 ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x6f, 0x4a, 0x01], "vmovdqu8 ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x6f, 0xca], "vmovdqu16 zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x6f, 0x0a], "vmovdqu16 zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x6f, 0x4a, 0x01], "vmovdqu16 zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x6f, 0xca], "vmovdqu16 zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x6f, 0xca], "vmovdqu16 zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x6f, 0x0a], "vmovdqu16 zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x6f, 0x0a], "vmovdqu16 zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x6f, 0x4a, 0x01], "vmovdqu16 zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x6f, 0x4a, 0x01], "vmovdqu16 zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x6f, 0xca], "vmovdqu16 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x6f, 0x0a], "vmovdqu16 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x6f, 0x4a, 0x01], "vmovdqu16 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x6f, 0xca], "vmovdqu16 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x6f, 0xca], "vmovdqu16 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x6f, 0x0a], "vmovdqu16 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x6f, 0x0a], "vmovdqu16 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x6f, 0x4a, 0x01], "vmovdqu16 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x6f, 0x4a, 0x01], "vmovdqu16 xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x6f, 0xca], "vmovdqu8 zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x6f, 0x0a], "vmovdqu8 zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x6f, 0x4a, 0x01], "vmovdqu8 zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x6f, 0xca], "vmovdqu8 zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x6f, 0xca], "vmovdqu8 zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x6f, 0x0a], "vmovdqu8 zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x6f, 0x0a], "vmovdqu8 zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x6f, 0x4a, 0x01], "vmovdqu8 zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x6f, 0x4a, 0x01], "vmovdqu8 zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x6f, 0xca], "vmovdqu8 xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x6f, 0x0a], "vmovdqu8 xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x6f, 0x4a, 0x01], "vmovdqu8 xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x6f, 0xca], "vmovdqu8 xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x6f, 0xca], "vmovdqu8 xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x6f, 0x0a], "vmovdqu8 xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x6f, 0x0a], "vmovdqu8 xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x6f, 0x4a, 0x01], "vmovdqu8 xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x6f, 0x4a, 0x01], "vmovdqu8 xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x70, 0xca, 0xcc], "vpshuflw ymm1{k5}{z}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x70, 0x0a, 0xcc], "vpshuflw ymm1{k5}{z}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw ymm1{k5}{z}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x70, 0xca, 0xcc], "vpshuflw ymm1, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x70, 0xca, 0xcc], "vpshuflw ymm1{k5}, ymm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x70, 0x0a, 0xcc], "vpshuflw ymm1, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x70, 0x0a, 0xcc], "vpshuflw ymm1{k5}, ymmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw ymm1, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw ymm1{k5}, ymmword [edx + 0x20], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x70, 0xca, 0xcc], "vpshuflw zmm1{k5}{z}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x70, 0x0a, 0xcc], "vpshuflw zmm1{k5}{z}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw zmm1{k5}{z}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x70, 0xca, 0xcc], "vpshuflw zmm1, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x70, 0xca, 0xcc], "vpshuflw zmm1{k5}, zmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x70, 0x0a, 0xcc], "vpshuflw zmm1, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x70, 0x0a, 0xcc], "vpshuflw zmm1{k5}, zmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw zmm1, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw zmm1{k5}, zmmword [edx + 0x40], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x70, 0xca, 0xcc], "vpshuflw xmm1{k5}{z}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x70, 0x0a, 0xcc], "vpshuflw xmm1{k5}{z}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw xmm1{k5}{z}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x70, 0xca, 0xcc], "vpshuflw xmm1, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x70, 0xca, 0xcc], "vpshuflw xmm1{k5}, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x70, 0x0a, 0xcc], "vpshuflw xmm1, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x70, 0x0a, 0xcc], "vpshuflw xmm1{k5}, xmmword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw xmm1, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x70, 0x4a, 0x01, 0xcc], "vpshuflw xmm1{k5}, xmmword [edx + 0x10], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x78, 0xca], "vcvttsd2usi ecx{sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x78, 0xca], "vcvttsd2usi ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x78, 0x0a], "vcvttsd2usi ecx, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x78, 0x4a, 0x01], "vcvttsd2usi ecx, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x79, 0xca], "vcvtsd2usi ecx{rz-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x79, 0xca], "vcvtsd2usi ecx{rd-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x79, 0xca], "vcvtsd2usi ecx, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x79, 0x0a], "vcvtsd2usi ecx, qword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x79, 0x4a, 0x01], "vcvtsd2usi ecx, qword [edx + 0x8]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x79, 0xca], "vcvtsd2usi ecx{ru-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x79, 0xca], "vcvtsd2usi ecx{rne-sae}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x7a, 0xca], "vcvtuqq2ps ymm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x7a, 0xca], "vcvtuqq2ps ymm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x7a, 0x0a], "vcvtuqq2ps xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x7a, 0xca], "vcvtuqq2ps xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7a, 0xca], "vcvtuqq2ps xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x7a, 0xca], "vcvtuqq2ps xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7a, 0x0a], "vcvtuqq2ps xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xfd, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x78, 0x7a, 0xca], "vcvtudq2ps zmm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x7d, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xbd, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xbd, 0x7a, 0x0a], "vcvtudq2ps ymm1{k5}{z}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xbd, 0x7a, 0x4a, 0x01], "vcvtudq2ps ymm1{k5}{z}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x38, 0x7a, 0xca], "vcvtudq2ps zmm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x3d, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x38, 0x7a, 0x0a], "vcvtudq2ps ymm1, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x3d, 0x7a, 0x0a], "vcvtudq2ps ymm1{k5}, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x38, 0x7a, 0x4a, 0x01], "vcvtudq2ps ymm1, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x3d, 0x7a, 0x4a, 0x01], "vcvtudq2ps ymm1{k5}, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x7a, 0xca], "vcvtudq2ps ymm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x7a, 0x0a], "vcvtudq2ps ymm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x7a, 0x4a, 0x01], "vcvtudq2ps ymm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x7a, 0xca], "vcvtudq2ps ymm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x7a, 0xca], "vcvtudq2ps ymm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x7a, 0x0a], "vcvtudq2ps ymm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x7a, 0x0a], "vcvtudq2ps ymm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x7a, 0x4a, 0x01], "vcvtudq2ps ymm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x7a, 0x4a, 0x01], "vcvtudq2ps ymm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x7a, 0x0a], "vcvtuqq2ps ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0x7a, 0x4a, 0x01], "vcvtuqq2ps ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x7a, 0xca], "vcvtuqq2ps ymm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x7a, 0x0a], "vcvtuqq2ps ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x7a, 0x0a], "vcvtuqq2ps ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0x7a, 0x4a, 0x01], "vcvtuqq2ps ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x7a, 0xca], "vcvtuqq2ps ymm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x7a, 0x0a], "vcvtuqq2ps xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x7a, 0x0a], "vcvtuqq2ps ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x7a, 0x4a, 0x01], "vcvtuqq2ps ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x7a, 0xca], "vcvtuqq2ps ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x7a, 0xca], "vcvtuqq2ps ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x7a, 0x0a], "vcvtuqq2ps ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x7a, 0x0a], "vcvtuqq2ps ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x7a, 0x4a, 0x01], "vcvtuqq2ps ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x7a, 0xca], "vcvtuqq2ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x7a, 0xca], "vcvtuqq2ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x7a, 0xca], "vcvtuqq2ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x7a, 0x0a], "vcvtuqq2ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x7a, 0x0a], "vcvtuqq2ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x7a, 0x4a, 0x01], "vcvtuqq2ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xdd, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xdd, 0x7a, 0x0a], "vcvtudq2ps zmm1{k5}{z}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xdd, 0x7a, 0x4a, 0x01], "vcvtudq2ps zmm1{k5}{z}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x58, 0x7a, 0xca], "vcvtudq2ps zmm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x5d, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x58, 0x7a, 0x0a], "vcvtudq2ps zmm1, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x5d, 0x7a, 0x0a], "vcvtudq2ps zmm1{k5}, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x58, 0x7a, 0x4a, 0x01], "vcvtudq2ps zmm1, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x5d, 0x7a, 0x4a, 0x01], "vcvtudq2ps zmm1{k5}, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x9d, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x9d, 0x7a, 0x0a], "vcvtudq2ps xmm1{k5}{z}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x9d, 0x7a, 0x4a, 0x01], "vcvtudq2ps xmm1{k5}{z}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x18, 0x7a, 0xca], "vcvtudq2ps zmm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x1d, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x18, 0x7a, 0x0a], "vcvtudq2ps xmm1, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x1d, 0x7a, 0x0a], "vcvtudq2ps xmm1{k5}, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x18, 0x7a, 0x4a, 0x01], "vcvtudq2ps xmm1, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x1d, 0x7a, 0x4a, 0x01], "vcvtudq2ps xmm1{k5}, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x7a, 0x0a], "vcvtudq2ps zmm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x7a, 0x4a, 0x01], "vcvtudq2ps zmm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x7a, 0xca], "vcvtudq2ps zmm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x7a, 0xca], "vcvtudq2ps zmm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x7a, 0x0a], "vcvtudq2ps zmm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x7a, 0x0a], "vcvtudq2ps zmm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x7a, 0x4a, 0x01], "vcvtudq2ps zmm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x7a, 0x4a, 0x01], "vcvtudq2ps zmm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x7a, 0xca], "vcvtudq2ps xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x7a, 0x0a], "vcvtudq2ps xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x7a, 0x4a, 0x01], "vcvtudq2ps xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x7a, 0xca], "vcvtudq2ps xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x7a, 0xca], "vcvtudq2ps xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x7a, 0x0a], "vcvtudq2ps xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x7a, 0x0a], "vcvtudq2ps xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x7a, 0x4a, 0x01], "vcvtudq2ps xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x7a, 0x4a, 0x01], "vcvtudq2ps xmm1{k5}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0x7b, 0xca], "vcvtusi2sd xmm1, xmm0, edx"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7b, 0x0a], "vcvtusi2sd xmm1, xmm0, dword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7b, 0x4a, 0x01], "vcvtusi2sd xmm1, xmm0, dword [edx + 0x4]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0x7f, 0xca], "vmovdqu16 ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7f, 0xca], "vmovdqu16 ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x7f, 0xca], "vmovdqu16 ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7f, 0x0a], "vmovdqu16 ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x7f, 0x0a], "vmovdqu16 ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0x7f, 0x4a, 0x01], "vmovdqu16 ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0x7f, 0x4a, 0x01], "vmovdqu16 ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xad, 0x7f, 0xca], "vmovdqu8 ymm2{k5}{z}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x7f, 0xca], "vmovdqu8 ymm2, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x7f, 0xca], "vmovdqu8 ymm2{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x7f, 0x0a], "vmovdqu8 ymmword [edx], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x7f, 0x0a], "vmovdqu8 ymmword [edx]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x28, 0x7f, 0x4a, 0x01], "vmovdqu8 ymmword [edx + 0x20], ymm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x2d, 0x7f, 0x4a, 0x01], "vmovdqu8 ymmword [edx + 0x20]{k5}, ymm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0x7f, 0xca], "vmovdqu16 zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x7f, 0xca], "vmovdqu16 zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x7f, 0xca], "vmovdqu16 zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x7f, 0x0a], "vmovdqu16 zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x7f, 0x0a], "vmovdqu16 zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0x7f, 0x4a, 0x01], "vmovdqu16 zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0x7f, 0x4a, 0x01], "vmovdqu16 zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0x7f, 0xca], "vmovdqu16 xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x7f, 0xca], "vmovdqu16 xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x7f, 0xca], "vmovdqu16 xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x7f, 0x0a], "vmovdqu16 xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x7f, 0x0a], "vmovdqu16 xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0x7f, 0x4a, 0x01], "vmovdqu16 xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0x7f, 0x4a, 0x01], "vmovdqu16 xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0xcd, 0x7f, 0xca], "vmovdqu8 zmm2{k5}{z}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x7f, 0xca], "vmovdqu8 zmm2, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x7f, 0xca], "vmovdqu8 zmm2{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x7f, 0x0a], "vmovdqu8 zmmword [edx], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x7f, 0x0a], "vmovdqu8 zmmword [edx]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x48, 0x7f, 0x4a, 0x01], "vmovdqu8 zmmword [edx + 0x40], zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x4d, 0x7f, 0x4a, 0x01], "vmovdqu8 zmmword [edx + 0x40]{k5}, zmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x8d, 0x7f, 0xca], "vmovdqu8 xmm2{k5}{z}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x7f, 0xca], "vmovdqu8 xmm2, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x7f, 0xca], "vmovdqu8 xmm2{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x7f, 0x0a], "vmovdqu8 xmmword [edx], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x7f, 0x0a], "vmovdqu8 xmmword [edx]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x08, 0x7f, 0x4a, 0x01], "vmovdqu8 xmmword [edx + 0x10], xmm1"); +    test_avx_full(&[0x62, 0xf1, 0x7f, 0x0d, 0x7f, 0x4a, 0x01], "vmovdqu8 xmmword [edx + 0x10]{k5}, xmm1"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0xc2, 0xca, 0xcc], "vcmpsd k1{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0xc2, 0xca, 0xcc], "vcmpsd k1{k5}{sae}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0xc2, 0xca, 0xcc], "vcmpsd k1, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0xc2, 0xca, 0xcc], "vcmpsd k1{k5}, xmm0, xmm2, 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0xc2, 0x0a, 0xcc], "vcmpsd k1, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0xc2, 0x0a, 0xcc], "vcmpsd k1{k5}, xmm0, qword [edx], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0xc2, 0x4a, 0x01, 0xcc], "vcmpsd k1, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0xc2, 0x4a, 0x01, 0xcc], "vcmpsd k1{k5}, xmm0, qword [edx + 0x8], 0xcc"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xfd, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{z}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x78, 0xe6, 0xca], "vcvtpd2dq ymm1{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x7d, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{rz-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{z}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}{z}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xbd, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}{z}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0xe6, 0xca], "vcvtpd2dq ymm1{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{rd-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0xe6, 0x0a], "vcvtpd2dq xmm1, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x38, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x3d, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0xe6, 0xca], "vcvtpd2dq xmm1{k5}{z}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}{z}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xad, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}{z}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0xe6, 0xca], "vcvtpd2dq xmm1, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0xe6, 0xca], "vcvtpd2dq xmm1{k5}, ymm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0xe6, 0x0a], "vcvtpd2dq xmm1, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x28, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x2d, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{z}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0xe6, 0x0a], "vcvtpd2dq ymm1{k5}{z}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xdd, 0xe6, 0x4a, 0x01], "vcvtpd2dq ymm1{k5}{z}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0xe6, 0xca], "vcvtpd2dq ymm1{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{ru-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0xe6, 0x0a], "vcvtpd2dq ymm1, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0xe6, 0x0a], "vcvtpd2dq ymm1{k5}, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x58, 0xe6, 0x4a, 0x01], "vcvtpd2dq ymm1, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x5d, 0xe6, 0x4a, 0x01], "vcvtpd2dq ymm1{k5}, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{z}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}{z}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x9d, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}{z}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0xe6, 0xca], "vcvtpd2dq ymm1{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{rne-sae}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0xe6, 0x0a], "vcvtpd2dq xmm1, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x18, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x1d, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}{z}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0xe6, 0x0a], "vcvtpd2dq ymm1{k5}{z}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0xcd, 0xe6, 0x4a, 0x01], "vcvtpd2dq ymm1{k5}{z}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0xe6, 0xca], "vcvtpd2dq ymm1, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0xe6, 0xca], "vcvtpd2dq ymm1{k5}, zmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0xe6, 0x0a], "vcvtpd2dq ymm1, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0xe6, 0x0a], "vcvtpd2dq ymm1{k5}, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x48, 0xe6, 0x4a, 0x01], "vcvtpd2dq ymm1, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x4d, 0xe6, 0x4a, 0x01], "vcvtpd2dq ymm1{k5}, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0xe6, 0xca], "vcvtpd2dq xmm1{k5}{z}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}{z}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x8d, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}{z}, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0xe6, 0xca], "vcvtpd2dq xmm1, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0xe6, 0xca], "vcvtpd2dq xmm1{k5}, xmm2"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0xe6, 0x0a], "vcvtpd2dq xmm1, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0xe6, 0x0a], "vcvtpd2dq xmm1{k5}, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x08, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf1, 0xff, 0x0d, 0xe6, 0x4a, 0x01], "vcvtpd2dq xmm1{k5}, xmmword [edx + 0x10]"); +} +#[test] +fn tests_f3_0f38() { +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x52, 0x0a], "vp4dpwssd zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x52, 0x4a, 0x01], "vp4dpwssd zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x52, 0x0a], "vp4dpwssd zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x52, 0x0a], "vp4dpwssd zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x52, 0x4a, 0x01], "vp4dpwssd zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x52, 0x4a, 0x01], "vp4dpwssd zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x53, 0x0a], "vp4dpwssds zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x53, 0x4a, 0x01], "vp4dpwssds zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x53, 0x0a], "vp4dpwssds zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x53, 0x0a], "vp4dpwssds zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x53, 0x4a, 0x01], "vp4dpwssds zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x53, 0x4a, 0x01], "vp4dpwssds zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x38, 0x68, 0x0a], "vp2intersectq k1, ymm0, qword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x38, 0x68, 0x4a, 0x01], "vp2intersectq k1, ymm0, qword [edx + 0x8]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x28, 0x68, 0xca], "vp2intersectq k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x28, 0x68, 0x0a], "vp2intersectq k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x28, 0x68, 0x4a, 0x01], "vp2intersectq k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x38, 0x68, 0x0a], "vp2intersectd k1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x38, 0x68, 0x4a, 0x01], "vp2intersectd k1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x68, 0xca], "vp2intersectd k1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x68, 0x0a], "vp2intersectd k1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x68, 0x4a, 0x01], "vp2intersectd k1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x58, 0x68, 0x0a], "vp2intersectq k1, zmm0, qword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x58, 0x68, 0x4a, 0x01], "vp2intersectq k1, zmm0, qword [edx + 0x8]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x18, 0x68, 0x0a], "vp2intersectq k1, xmm0, qword [edx]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x18, 0x68, 0x4a, 0x01], "vp2intersectq k1, xmm0, qword [edx + 0x8]{1to2}"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x48, 0x68, 0xca], "vp2intersectq k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x48, 0x68, 0x0a], "vp2intersectq k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x48, 0x68, 0x4a, 0x01], "vp2intersectq k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x08, 0x68, 0xca], "vp2intersectq k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x08, 0x68, 0x0a], "vp2intersectq k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0xff, 0x08, 0x68, 0x4a, 0x01], "vp2intersectq k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x58, 0x68, 0x0a], "vp2intersectd k1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x58, 0x68, 0x4a, 0x01], "vp2intersectd k1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x18, 0x68, 0x0a], "vp2intersectd k1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x18, 0x68, 0x4a, 0x01], "vp2intersectd k1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x68, 0xca], "vp2intersectd k1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x68, 0x0a], "vp2intersectd k1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x68, 0x4a, 0x01], "vp2intersectd k1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x08, 0x68, 0xca], "vp2intersectd k1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x08, 0x68, 0x0a], "vp2intersectd k1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x08, 0x68, 0x4a, 0x01], "vp2intersectd k1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xbd, 0x72, 0x0a], "vcvtne2ps2bf16 ymm1{k5}{z}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xbd, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 ymm1{k5}{z}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x38, 0x72, 0x0a], "vcvtne2ps2bf16 ymm1, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x3d, 0x72, 0x0a], "vcvtne2ps2bf16 ymm1{k5}, ymm0, dword [edx]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x38, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 ymm1, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x3d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 ymm1{k5}, ymm0, dword [edx + 0x4]{1to8}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0x72, 0xca], "vcvtne2ps2bf16 ymm1{k5}{z}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0x72, 0x0a], "vcvtne2ps2bf16 ymm1{k5}{z}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 ymm1{k5}{z}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x72, 0xca], "vcvtne2ps2bf16 ymm1, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0x72, 0xca], "vcvtne2ps2bf16 ymm1{k5}, ymm0, ymm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x72, 0x0a], "vcvtne2ps2bf16 ymm1, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0x72, 0x0a], "vcvtne2ps2bf16 ymm1{k5}, ymm0, ymmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 ymm1, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 ymm1{k5}, ymm0, ymmword [edx + 0x20]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xdd, 0x72, 0x0a], "vcvtne2ps2bf16 zmm1{k5}{z}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xdd, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 zmm1{k5}{z}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x58, 0x72, 0x0a], "vcvtne2ps2bf16 zmm1, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x5d, 0x72, 0x0a], "vcvtne2ps2bf16 zmm1{k5}, zmm0, dword [edx]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x58, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 zmm1, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x5d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 zmm1{k5}, zmm0, dword [edx + 0x4]{1to16}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x9d, 0x72, 0x0a], "vcvtne2ps2bf16 xmm1{k5}{z}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x9d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 xmm1{k5}{z}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x18, 0x72, 0x0a], "vcvtne2ps2bf16 xmm1, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x1d, 0x72, 0x0a], "vcvtne2ps2bf16 xmm1{k5}, xmm0, dword [edx]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x18, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 xmm1, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x1d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 xmm1{k5}, xmm0, dword [edx + 0x4]{1to4}"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x72, 0xca], "vcvtne2ps2bf16 zmm1{k5}{z}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x72, 0x0a], "vcvtne2ps2bf16 zmm1{k5}{z}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 zmm1{k5}{z}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x72, 0xca], "vcvtne2ps2bf16 zmm1, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x72, 0xca], "vcvtne2ps2bf16 zmm1{k5}, zmm0, zmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x72, 0x0a], "vcvtne2ps2bf16 zmm1, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x72, 0x0a], "vcvtne2ps2bf16 zmm1{k5}, zmm0, zmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 zmm1, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 zmm1{k5}, zmm0, zmmword [edx + 0x40]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x8d, 0x72, 0xca], "vcvtne2ps2bf16 xmm1{k5}{z}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x8d, 0x72, 0x0a], "vcvtne2ps2bf16 xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x8d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x08, 0x72, 0xca], "vcvtne2ps2bf16 xmm1, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x0d, 0x72, 0xca], "vcvtne2ps2bf16 xmm1{k5}, xmm0, xmm2"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x08, 0x72, 0x0a], "vcvtne2ps2bf16 xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x0d, 0x72, 0x0a], "vcvtne2ps2bf16 xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x08, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x0d, 0x72, 0x4a, 0x01], "vcvtne2ps2bf16 xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x9a, 0x0a], "v4fmaddps zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0x9a, 0x4a, 0x01], "v4fmaddps zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x9a, 0x0a], "v4fmaddps zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x9a, 0x0a], "v4fmaddps zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0x9a, 0x4a, 0x01], "v4fmaddps zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0x9a, 0x4a, 0x01], "v4fmaddps zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0x9b, 0x0a], "v4fmaddss xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0x9b, 0x4a, 0x01], "v4fmaddss xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x9b, 0x0a], "v4fmaddss xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0x9b, 0x0a], "v4fmaddss xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0x9b, 0x4a, 0x01], "v4fmaddss xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0x9b, 0x4a, 0x01], "v4fmaddss xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0xaa, 0x0a], "v4fnmaddps zmm1{k5}{z}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xcd, 0xaa, 0x4a, 0x01], "v4fnmaddps zmm1{k5}{z}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0xaa, 0x0a], "v4fnmaddps zmm1, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0xaa, 0x0a], "v4fnmaddps zmm1{k5}, zmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x48, 0xaa, 0x4a, 0x01], "v4fnmaddps zmm1, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x4d, 0xaa, 0x4a, 0x01], "v4fnmaddps zmm1{k5}, zmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0xab, 0x0a], "v4fnmaddss xmm1{k5}{z}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0xad, 0xab, 0x4a, 0x01], "v4fnmaddss xmm1{k5}{z}, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0xab, 0x0a], "v4fnmaddss xmm1, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0xab, 0x0a], "v4fnmaddss xmm1{k5}, xmm0, xmmword [edx]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x28, 0xab, 0x4a, 0x01], "v4fnmaddss xmm1, xmm0, xmmword [edx + 0x10]"); +    test_avx_full(&[0x62, 0xf2, 0x7f, 0x2d, 0xab, 0x4a, 0x01], "v4fnmaddss xmm1{k5}, xmm0, xmmword [edx + 0x10]"); +} diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs index a29b795..2cd5602 100644 --- a/test/protected_mode/mod.rs +++ b/test/protected_mode/mod.rs @@ -1,6 +1,7 @@  mod regspec;  mod operand;  mod display; +mod evex_generated;  use std::fmt::Write; @@ -1344,10 +1345,10 @@ fn test_vex() {      test_instr(&[0xc4, 0xc2, 0x75, 0x03, 0x0f], "vphaddsw ymm1, ymm1, [edi]");      test_instr(&[0xc4, 0xc2, 0x71, 0x03, 0xcd], "vphaddsw xmm1, xmm1, xmm5");      test_instr(&[0xc4, 0xc2, 0x75, 0x03, 0xcd], "vphaddsw ymm1, ymm1, ymm5"); -    test_instr(&[0xc4, 0xc2, 0x71, 0x04, 0x0f], "vphaddubsw xmm1, xmm1, [edi]"); -    test_instr(&[0xc4, 0xc2, 0x75, 0x04, 0x0f], "vphaddubsw ymm1, ymm1, [edi]"); -    test_instr(&[0xc4, 0xc2, 0x71, 0x04, 0xcd], "vphaddubsw xmm1, xmm1, xmm5"); -    test_instr(&[0xc4, 0xc2, 0x75, 0x04, 0xcd], "vphaddubsw ymm1, ymm1, ymm5"); +    test_instr(&[0xc4, 0xc2, 0x71, 0x04, 0x0f], "vpmaddubsw xmm1, xmm1, [edi]"); +    test_instr(&[0xc4, 0xc2, 0x75, 0x04, 0x0f], "vpmaddubsw ymm1, ymm1, [edi]"); +    test_instr(&[0xc4, 0xc2, 0x71, 0x04, 0xcd], "vpmaddubsw xmm1, xmm1, xmm5"); +    test_instr(&[0xc4, 0xc2, 0x75, 0x04, 0xcd], "vpmaddubsw ymm1, ymm1, ymm5");      test_instr(&[0xc4, 0xc2, 0x71, 0x05, 0x0f], "vphsubw xmm1, xmm1, [edi]");      test_instr(&[0xc4, 0xc2, 0x75, 0x05, 0x0f], "vphsubw ymm1, ymm1, [edi]");      test_instr(&[0xc4, 0xc2, 0x71, 0x05, 0xcd], "vphsubw xmm1, xmm1, xmm5"); diff --git a/test/test.rs b/test/test.rs index f1a4129..82d9024 100644 --- a/test/test.rs +++ b/test/test.rs @@ -3,3 +3,4 @@ extern crate yaxpeax_x86;  mod long_mode;  mod protected_mode; +// mod real_mode;  | 
