diff --git a/encode-test.inc b/encode-test.inc index 13786a4..c402b88 100644 --- a/encode-test.inc +++ b/encode-test.inc @@ -209,6 +209,8 @@ TEST("\xc4\x62\x7d\x19\xc2", VBROADCASTSD256rr, 0, FE_XMM8, FE_XMM2); TEST("\xc4\x62\x7d\x1a\xc2", VBROADCASTF128_256rr, 0, FE_XMM8, FE_XMM2); TEST("\xc4\xe2\x71\x9d\xc2", VFNMADD132SSrrr, 0, FE_XMM0, FE_XMM1, FE_XMM2); TEST("\xc4\xe2\xf1\x9d\xc2", VFNMADD132SDrrr, 0, FE_XMM0, FE_XMM1, FE_XMM2); +TEST("\xc4\xe2\x71\x2e\x17", VMASKMOVPS128mrr, 0, FE_MEM(FE_DI, 0, FE_NOREG, 0), FE_XMM1, FE_XMM2); +TEST("\xc4\xe2\x75\x2e\x17", VMASKMOVPS256mrr, 0, FE_MEM(FE_DI, 0, FE_NOREG, 0), FE_XMM1, FE_XMM2); TEST("\xc5\xf1\x71\xd7\x02", VPSRLW128rri, 0, FE_XMM1, FE_XMM7, 0x2); TEST("\xc5\xf5\x71\xd7\x02", VPSRLW256rri, 0, FE_XMM1, FE_XMM7, 0x2); diff --git a/encode.c b/encode.c index 06b2072..81a5b0e 100644 --- a/encode.c +++ b/encode.c @@ -304,7 +304,7 @@ const struct EncodingInfo encoding_infos[ENC_MAX] = { [ENC_RMV] = { .modrm = 1^3, .modreg = 0^3, .vexreg = 2^3 }, [ENC_VM] = { .modrm = 1^3, .vexreg = 0^3 }, [ENC_VMI] = { .modrm = 1^3, .vexreg = 0^3, .immctl = 4, .immidx = 2 }, - [ENC_MVR] = { .modrm = 0^3, .modreg = 1^3, .vexreg = 1^3 }, + [ENC_MVR] = { .modrm = 0^3, .modreg = 2^3, .vexreg = 1^3 }, }; struct EncodeDesc {