|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86emul: correct AVX512BW write masking checks
commit f5d7d370400613a01ca1c9e38d7ce9b1faea32f3
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Jan 31 11:38:24 2019 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Jan 31 11:38:24 2019 +0100
x86emul: correct AVX512BW write masking checks
For VPSADBW this likely was a result of bad copy-and-paste.
For VPS{L,R}LDQ comment and code were not in line, but then again the
comment also wasn't fully updated from the AVX2 original it got cloned
from.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Release-acked-by: Juergen Gross <jgross@xxxxxxxx>
---
xen/arch/x86/x86_emulate/x86_emulate.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c
b/xen/arch/x86/x86_emulate/x86_emulate.c
index 717e02fe67..e3b7e8c396 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6633,11 +6633,13 @@ x86_emulate(
get_fpu(X86EMUL_FPU_mmx);
goto simd_0f_common;
+ case X86EMUL_OPC_EVEX_66(0x0f, 0xf6): /* vpsadbw
[xyz]mm/mem,[xyz]mm,[xyz]mm */
+ generate_exception_if(evex.opmsk, EXC_UD);
+ /* fall through */
case X86EMUL_OPC_EVEX_66(0x0f, 0xd1): /* vpsrlw
xmm/m128,[xyz]mm,[xyz]mm{k} */
case X86EMUL_OPC_EVEX_66(0x0f, 0xe1): /* vpsraw
xmm/m128,[xyz]mm,[xyz]mm{k} */
case X86EMUL_OPC_EVEX_66(0x0f, 0xf1): /* vpsllw
xmm/m128,[xyz]mm,[xyz]mm{k} */
case X86EMUL_OPC_EVEX_66(0x0f, 0xf5): /* vpmaddwd
[xyz]mm/mem,[xyz]mm,[xyz]mm{k} */
- case X86EMUL_OPC_EVEX_66(0x0f, 0xf6): /* vpsadbw
[xyz]mm/mem,[xyz]mm,[xyz]mm{k} */
fault_suppression = false;
/* fall through */
case X86EMUL_OPC_EVEX_66(0x0f, 0xd5): /* vpmullw
[xyz]mm/mem,[xyz]mm,[xyz]mm{k} */
@@ -6998,8 +7000,9 @@ x86_emulate(
case 6: /* vpsllq $imm8,[xyz]mm/mem,[xyz]mm{k} */
generate_exception_if(!evex.w, EXC_UD);
goto avx512f_shift_imm;
- case 3: /* vpsrldq $imm8,{x,y}mm,{x,y}mm */
- case 7: /* vpslldq $imm8,{x,y}mm,{x,y}mm */
+ case 3: /* vpsrldq $imm8,[xyz]mm/mem,[xyz]mm */
+ case 7: /* vpslldq $imm8,[xyz]mm/mem,[xyz]mm */
+ generate_exception_if(evex.opmsk, EXC_UD);
goto avx512bw_shift_imm;
}
goto unrecognized_insn;
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |