]> xenbits.xensource.com Git - xen.git/commitdiff
x86emul: set (fake) operand size for AVX512CD broadcast insns
authorJan Beulich <jbeulich@suse.com>
Tue, 24 Sep 2024 12:37:52 +0000 (14:37 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 24 Sep 2024 12:37:52 +0000 (14:37 +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>
master commit: 6fa6b7feaafd622db3a2f3436750cf07782f4c12
master date: 2024-08-23 09:12:24 +0200

xen/arch/x86/x86_emulate/x86_emulate.c

index 4d9649a2afb5e0454e30891ecaabf58950a807be..305f4286bf5b1408a1778c5a515ccfbfd499140d 100644 (file)
@@ -5928,6 +5928,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;