[PATCH] x86emul: prune an excess EVEX.Z check
Jan Beulich <[email protected]>
| Newsgroups | org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <[email protected]> |
DstMem processing early in x86_emulate() raises #UD when EVEX.Z is set
with a memory destination. Open-coded checks like this one are therefore
dead / unreachable code, violating Misra rules.
Fixes: 4037a62ef93e ("x86emul: support AVX512F floating-point conversion insns")
Signed-off-by: Jan Beulich <[email protected]>
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -7348,7 +7348,7 @@ x86_emulate(
if ( evex_encoded() )
{
generate_exception_if((evex.w || evex.reg != 0xf || !evex.RX ||
- (ea.type != OP_REG && (evex.z || evex.brs))),
+ (ea.type != OP_REG && evex.brs)),
X86_EXC_UD);
host_and_vcpu_must_have(avx512f);
avx512_vlen_check(false);