x86: adjust {,E}VEX.W handling outside of 64-bit mode
authorJan Beulich <jbeulich@novell.com>
Tue, 6 Nov 2018 10:42:54 +0000 (11:42 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 6 Nov 2018 10:42:54 +0000 (11:42 +0100)
commit931d03b75aa934abc10a70f1aa3ca1192f32ed3d
tree9c539669d1a6a693f3fbd5293224151329b63c0f
parentfd71a3756e2dd1eae116d77dc5ec58391c4840d8
x86: adjust {,E}VEX.W handling outside of 64-bit mode

Many VEX-/EVEX-encoded instructions accessing GPRs become WIG outside of
64-bit mode. The respective templates should specify neither VexWIG nor
VexW0, but instead the setting of the bit should be determined from
- REX.W in 64-bit mode,
- the setting established through -mvexwig= / -mevexwig= otherwise.
This implies that the evex-wig2 testcase needs to go away, as being
wrong altogether.

A few test additions desirable here will only happen in later patches,
as the disassembler needs adjustments first.

Once again SSE2AVX templates are left alone, for it being unclear what
the behavior there should be.
16 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/avx-wig.d
gas/testsuite/gas/i386/avx-wig.s
gas/testsuite/gas/i386/evex-wig.s
gas/testsuite/gas/i386/evex-wig1-intel.d
gas/testsuite/gas/i386/evex-wig1.d
gas/testsuite/gas/i386/evex-wig2.d [deleted file]
gas/testsuite/gas/i386/evex-wig2.s [deleted file]
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/x86-64-evex-wig.s
gas/testsuite/gas/i386/x86-64-evex-wig1-intel.d
gas/testsuite/gas/i386/x86-64-evex-wig1.d
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h