instrs: Fix VMOVSS/VMOVSD with memory operand
This commit is contained in:
@@ -881,8 +881,10 @@ VEX.66.L0.0f3adf RMI XMM XMM IMM8 - VAESKEYGENASSIST
|
|||||||
# AVX
|
# AVX
|
||||||
VEX.NP.0f10 RM XMM XMM - - VMOVUPS
|
VEX.NP.0f10 RM XMM XMM - - VMOVUPS
|
||||||
VEX.66.0f10 RM XMM XMM - - VMOVUPD
|
VEX.66.0f10 RM XMM XMM - - VMOVUPD
|
||||||
VEX.F3.LIG.0f10 RVM XMM128 XMM128 XMM32 - VMOVSS
|
VEX.F3.LIG.0f10/m RM XMM128 XMM32 - - VMOVSS
|
||||||
VEX.F2.LIG.0f10 RVM XMM128 XMM128 XMM64 - VMOVSD
|
VEX.F3.LIG.0f10/r RVM XMM128 XMM128 XMM32 - VMOVSS
|
||||||
|
VEX.F2.LIG.0f10/m RM XMM128 XMM64 - - VMOVSD
|
||||||
|
VEX.F2.LIG.0f10/r RVM XMM128 XMM128 XMM64 - VMOVSD
|
||||||
VEX.NP.0f11 MR XMM XMM - - VMOVUPS
|
VEX.NP.0f11 MR XMM XMM - - VMOVUPS
|
||||||
VEX.66.0f11 MR XMM XMM - - VMOVUPD
|
VEX.66.0f11 MR XMM XMM - - VMOVUPD
|
||||||
VEX.F3.LIG.0f11/m MR XMM32 XMM32 - - VMOVSS
|
VEX.F3.LIG.0f11/m MR XMM32 XMM32 - - VMOVSS
|
||||||
|
|||||||
@@ -413,6 +413,8 @@ main(int argc, char** argv)
|
|||||||
TEST32("\xc4\xe1\xf9\x6e\xc8", "vmovd xmm1, eax");
|
TEST32("\xc4\xe1\xf9\x6e\xc8", "vmovd xmm1, eax");
|
||||||
TEST("\xc5\xf2\x10\xc2", "vmovss xmm0, xmm1, xmm2");
|
TEST("\xc5\xf2\x10\xc2", "vmovss xmm0, xmm1, xmm2");
|
||||||
TEST("\xc5\xf6\x10\xc2", "vmovss xmm0, xmm1, xmm2"); // VEX.L=1
|
TEST("\xc5\xf6\x10\xc2", "vmovss xmm0, xmm1, xmm2"); // VEX.L=1
|
||||||
|
TEST("\xc5\xfa\x10\x04\x25\x34\x12\x00\x00", "vmovss xmm0, dword ptr [0x1234]");
|
||||||
|
TEST("\xc5\xf2\x10\x04\x25\x34\x12\x00\x00", "UD"); // VEX.vvvv != 0
|
||||||
TEST("\xc5\xfa\x11\x04\x25\x34\x12\x00\x00", "vmovss dword ptr [0x1234], xmm0");
|
TEST("\xc5\xfa\x11\x04\x25\x34\x12\x00\x00", "vmovss dword ptr [0x1234], xmm0");
|
||||||
TEST("\xc5\xf2\x11\x04\x25\x34\x12\x00\x00", "UD"); // VEX.vvvv != 0
|
TEST("\xc5\xf2\x11\x04\x25\x34\x12\x00\x00", "UD"); // VEX.vvvv != 0
|
||||||
TEST("\xc5\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, eax");
|
TEST("\xc5\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, eax");
|
||||||
|
|||||||
Reference in New Issue
Block a user