From 003a11ff12c3831eb70fcf4aaf6802736d80cfc8 Mon Sep 17 00:00:00 2001 From: Alexis Engelke Date: Sat, 3 Dec 2022 14:58:06 +0100 Subject: [PATCH] instrs: Fix VMASKMOVDQU encoding --- decode-test.c | 3 +++ instrs.txt | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/decode-test.c b/decode-test.c index 662143d..a3bdbd3 100644 --- a/decode-test.c +++ b/decode-test.c @@ -629,6 +629,9 @@ main(int argc, char** argv) TEST32("\xc4\xe1\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, eax"); TEST64("\xc4\xe1\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, rax"); TEST("\xc5\xf8\x53\xc0", "vrcpps xmm0, xmm0"); + TEST("\xc5\xf9\xf7\xc1", "vmaskmovdqu xmm0, xmm1"); + TEST("\xc5\xf9\xf7\x00", "UD"); // must have memory operand + TEST("\xc5\xfd\xf7\xc1", "UD"); // VEX.L != 0 TEST("\xc4\xe3\x79\x14\xc0\x00", "vpextrb eax, xmm0, 0x0"); TEST("\xc4\xe3\xf9\x14\xc0\x00", "vpextrb eax, xmm0, 0x0"); diff --git a/instrs.txt b/instrs.txt index 4484aab..e6c42b2 100644 --- a/instrs.txt +++ b/instrs.txt @@ -786,7 +786,7 @@ F2.0ff0/m RM Vx Mx - - SSE_LDDQU F=SSE3 66.0ff4 RM Vx Wx - - SSE_PMULUDQ F=SSE2 66.0ff5 RM Vx Wx - - SSE_PMADDWD F=SSE2 66.0ff6 RM Vx Wx - - SSE_PSADBW F=SSE2 -66.0ff7/r RM Vx Wx - - SSE_MASKMOVDQU+as F=SSE2 +66.0ff7/r RM Vx Ux - - SSE_MASKMOVDQU+as F=SSE2 66.0ff8 RM Vx Wx - - SSE_PSUBB F=SSE2 66.0ff9 RM Vx Wx - - SSE_PSUBW F=SSE2 66.0ffa RM Vx Wx - - SSE_PSUBD F=SSE2 @@ -1087,7 +1087,7 @@ VEX.66.0ff3 RVM Vx Hx Wx - VPSLLQ F=AVX VEX.66.0ff4 RVM Vx Hx Wx - VPMULUDQ F=AVX VEX.66.0ff5 RVM Vx Hx Wx - VPMADDWD F=AVX VEX.66.0ff6 RVM Vx Hx Wx - VPSADBW F=AVX -VEX.NP.L0.0ff7 RM Vx Wx - - VMASKMOVDQU+as F=AVX +VEX.66.L0.0ff7/r RM Vx Ux - - VMASKMOVDQU+as F=AVX VEX.66.0ff8 RVM Vx Hx Wx - VPSUBB F=AVX VEX.66.0ff9 RVM Vx Hx Wx - VPSUBW F=AVX VEX.66.0ffa RVM Vx Hx Wx - VPSUBD F=AVX