x86: replace NoRex64 on VEX-encoded insns
authorJan Beulich <jbeulich@suse.com>
Fri, 6 Mar 2020 07:53:18 +0000 (08:53 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 6 Mar 2020 07:53:18 +0000 (08:53 +0100)
commit4ed21b58d4b8331806b9e88da18898235942f425
treea2b3fed5c08bba659f20f0a434f517517fd171dc
parent643bb87079dd96aed99ff1572375a88179afcd15
x86: replace NoRex64 on VEX-encoded insns

When the template specifies any of the possible VexW settings, we can
use this instead of a separate NoRex64 to suppress the setting of REX_W.
Note that this ends up addressing an inconsistency between VEX- and
EVEX-encoded VEXTRACTPS, VPEXTR{B,W}, and VPINSR{B,W} - while the former
avoided setting VEX.W, the latter pointlessly set EVEX.W when there is a
64-bit GPR operand. Adjust the testcase to cover both cases.

Convert VexW= to their respective VexW* on lines touched anyway.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/x86-64-avx512bw-intel.d
gas/testsuite/gas/i386/x86-64-avx512bw.d
gas/testsuite/gas/i386/x86-64-avx512bw.s
gas/testsuite/gas/i386/x86-64-avx512f-intel.d
gas/testsuite/gas/i386/x86-64-avx512f.d
gas/testsuite/gas/i386/x86-64-avx512f.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h