decode: Fix VBLENDVP[SD] opcodes

This commit is contained in:
Alexis Engelke
2021-03-23 12:52:37 +01:00
parent b5994b2f2d
commit 0521ff7d42
2 changed files with 9 additions and 2 deletions

View File

@@ -1101,8 +1101,6 @@ VEX.66.W0.0f380d RVM XMM XMM XMM - VPERMILPD
VEX.66.W0.0f380e RM XMM XMM - - VTESTPS
VEX.66.W0.0f380f RM XMM XMM - - VTESTPD
VEX.66.W0.0f3813 RM XMM XMM - - VCVTPH2PS
VEX.66.W0.0f3814 RVMR XMM XMM XMM XMM VBLENDVPS
VEX.66.W0.0f3815 RVMR XMM XMM XMM XMM VBLENDVPD
VEX.66.W0.L1.0f3816 RVM XMM XMM XMM - VPERMPS
VEX.66.0f3817 RM XMM XMM - - VPTEST
VEX.66.W0.0f3818 RM XMM XMM32 - - VBROADCASTSS
@@ -1266,6 +1264,8 @@ VEX.66.0f3a41 RVMI XMM XMM XMM IMM8 VDPPD
VEX.66.0f3a42 RVMI XMM XMM XMM IMM8 VMPSADBW
VEX.66.0f3a44 RVMI XMM XMM XMM IMM8 VPCLMULQDQ
VEX.66.W0.L1.0f3a46 RVMI XMM XMM XMM IMM8 VPERM2I128
VEX.66.W0.0f3a4a RVMR XMM XMM XMM XMM VBLENDVPS
VEX.66.W0.0f3a4b RVMR XMM XMM XMM XMM VBLENDVPD
VEX.66.L0.0f3a60 RMI XMM XMM IMM8 - VPCMPESTRM ENC_NOSZ
VEX.66.L0.0f3a61 RMI XMM XMM IMM8 - VPCMPESTRI ENC_NOSZ
VEX.66.L0.0f3a62 RMI XMM XMM IMM8 - VPCMPISTRM ENC_NOSZ

View File

@@ -450,6 +450,13 @@ main(int argc, char** argv)
TEST("\xc4\xe2\xf1\x45\xc2", "vpsrlvq xmm0, xmm1, xmm2");
TEST("\xc4\xe2\xf5\x45\xc2", "vpsrlvq ymm0, ymm1, ymm2");
TEST("\xc4\xe3\x71\x4a\xc2\x30", "vblendvps xmm0, xmm1, xmm2, xmm3");
TEST32("\xc4\xe3\x75\x4a\xc2\xf0", "vblendvps ymm0, ymm1, ymm2, ymm7"); // Bit 7 is ignored
TEST64("\xc4\xe3\x75\x4a\xc2\xf0", "vblendvps ymm0, ymm1, ymm2, ymm15");
TEST("\xc4\xe3\x71\x4b\xc2\x70", "vblendvpd xmm0, xmm1, xmm2, xmm7");
TEST32("\xc4\xe3\x75\x4b\xc2\x80", "vblendvpd ymm0, ymm1, ymm2, ymm0"); // Bit 7 is ignored
TEST64("\xc4\xe3\x75\x4b\xc2\x80", "vblendvpd ymm0, ymm1, ymm2, ymm8");
TEST("\xc4\xe2\x71\x92\xc0", "UD"); // Must have memory operand
TEST("\xc4\xe2\x71\x92\x00", "UD"); // Must have SIB byte
TEST("\xc4\xe2\x71\x92\x05\x00\x00\x00\x00", "UD"); // Must have SIB byte