x86emul: support AVX512_VNNI insns
authorJan Beulich <jbeulich@suse.com>
Wed, 17 Jul 2019 13:40:42 +0000 (15:40 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 17 Jul 2019 13:40:42 +0000 (15:40 +0200)
commit0dffe771ee4901bc4bd59ce41b218fd7c4a28b02
tree8f2d91404a0a4c82eb0b624a75a476bf244f9a6b
parent6114f19730f34aa6a756241c0366bdaee8d3056c
x86emul: support AVX512_VNNI insns

Along the lines of the 4FMAPS case, convert the 4VNNIW-based table
entries to a decoder adjustment. Because of the current sharing of table
entries between different (implied) opcode prefixes and with the same
major opcodes being used for vp4dpwssd{,s}, which have a different
memory operand size and different Disp8 scaling, the pre-existing table
entries get converted to a decoder override. The table entries will now
represent the insns here, in line with other table entries preferably
representing the prefix-66 insns.

As in a few cases before, since the insns here and in particular their
memory access patterns follow the usual scheme, I didn't think it was
necessary to add a contrived test specifically for them, beyond the
Disp8 scaling one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
tools/tests/x86_emulator/evex-disp8.c
tools/tests/x86_emulator/x86-emulate.h
xen/arch/x86/x86_emulate/x86_emulate.c
xen/include/asm-x86/cpufeature.h
xen/include/public/arch-x86/cpufeatureset.h
xen/tools/gen-cpuid.py