x86: reduce AVX512 FP set of insns decoded through vex_w_table[]
authorJan Beulich <jbeulich@suse.com>
Fri, 14 Jan 2022 09:54:55 +0000 (10:54 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 14 Jan 2022 09:54:55 +0000 (10:54 +0100)
commit740a1e791175987e28cc39dbd11e3fc152ffc40b
tree4e0fe8c874266c9c34d4b18fa5080fd1bed2a3d6
parent2235ecb8afebeb56baf29eb98de34cfa1b95f697
x86: reduce AVX512 FP set of insns decoded through vex_w_table[]

Like for AVX512-FP16, there's not that many FP insns where going through
this table is easier / cheaper than using suitable macros. Utilize %XS
and %XD more to eliminate a fair number of table entries.

While doing this I noticed a few anomalies. Where lines get touched /
moved anyway, these are being addressed right here:
- vmovshdup used EXx for its 2nd operand, thus displaying seemingly
  valid broadcast when EVEX.b is set with a memory operand; use
  EXEvexXNoBcst instead just like vmovsldup already does
- vmovlhps used EXx for its 3rd operand, when all sibling entries use
  EXq; switch to EXq there for consistency (the two differ only for
  memory operands)
opcodes/i386-dis-evex-mod.h
opcodes/i386-dis-evex-prefix.h
opcodes/i386-dis-evex-w.h
opcodes/i386-dis-evex.h
opcodes/i386-dis.c