summary refs log tree commit diff stats
path: root/hw/intc/omap_intc.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-10-09 18:16:27 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-10-25 17:35:07 +0200
commite000687f1266d031528758271d0b16e288394ede (patch)
tree3b8a74be2cc7b8cb7d3bb881be7995fd783cfb9a /hw/intc/omap_intc.c
parent183e6679e39fb5bcc17dbebaf668c1e83d8e57ee (diff)
downloadfocaccia-qemu-e000687f1266d031528758271d0b16e288394ede.tar.gz
focaccia-qemu-e000687f1266d031528758271d0b16e288394ede.zip
target/i386: validate VEX.W for AVX instructions
Instructions in VEX exception class 6 generally look at the value of
VEX.W.  Note that the manual places some instructions incorrectly in
class 4, for example VPERMQ which has no non-VEX encoding and no legacy
SSE analogue.  AMD does a mess of its own, as documented in the comment
that this patch adds.

Most of them are checked for VEX.W=0, and are listed in the manual
(though with an omission) in table 2-16; VPERMQ and VPERMPD check for
VEX.W=1, which is only listed in the instruction description.  Others,
such as VPSRLV, VPSLLV and the FMA3 instructions, use VEX.W to switch
between a 32-bit and 64-bit operation.

Fix more of the class 4/class 6 mismatches, and implement the check for
VEX.W in TCG.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/intc/omap_intc.c')
0 files changed, 0 insertions, 0 deletions