]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86emul: set (fake) operand size for AVX512CD broadcast insns
authorJan Beulich <jbeulich@suse.com>
Fri, 23 Aug 2024 07:12:24 +0000 (09:12 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 23 Aug 2024 07:12:24 +0000 (09:12 +0200)
Back at the time I failed to pay attention to op_bytes still being zero
when reaching the respective case block: With the ext0f38_table[]
entries having simd_packed_int, the defaulting at the bottom of
x86emul_decode() won't set the field to non-zero for F3-prefixed insns.

Fixes: 37ccca740c26 ("x86emul: support AVX512CD insns")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/x86_emulate/x86_emulate.c

index eda691868dab173236a33a768e214d53bf73f498..0a7552de96cf39ae982605ee8a00150782e38ca4 100644 (file)
@@ -5929,6 +5929,7 @@ x86_emulate(
                                evex.w == ((b >> 4) & 1)),
                               X86_EXC_UD);
         d |= TwoOp;
+        op_bytes = 1; /* fake */
         /* fall through */
     case X86EMUL_OPC_EVEX_66(0x0f38, 0xc4): /* vpconflict{d,q} [xyz]mm/mem,[xyz]mm{k} */
         fault_suppression = false;