This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/2] x86: Fix the -mevexwig=1 assembler option

The VEX.W/EVEX.W bit is ignored by some VEX/EVEX instructions, aka WIG
instructions.  The -mevexwig=1 assembler option assumes that if the
vexw field of an VEX/EVEX instruction is 0, it is a WIG instruction.
But the vexw field of some non-WIG VEX/EVEX instructions is 0 and their
VEX.W/EVEX.W bit is determined by the integer register operand size.  This
patch set adds VEXWIG, defined as 3, to indicate that the VEX.W/EVEX.W
bit is ignored and set VexW=3 on VEX/EVEX WIG instructions.

H.J. Lu (2):
  x86: Support VEX/EVEX WIG encoding
  x86: Check non-WIG EVEX instruction encoding with -mevexwig=1

 gas/config/tc-i386.c                      |  31 +-
 gas/testsuite/gas/i386/evex-wig2.d        |  17 +
 gas/testsuite/gas/i386/evex-wig2.s        |  11 +
 gas/testsuite/gas/i386/i386.exp           |   2 +
 gas/testsuite/gas/i386/x86-64-evex-wig2.d |  17 +
 gas/testsuite/gas/i386/x86-64-evex-wig2.s |  11 +
 opcodes/i386-opc.h                        |   2 +
 opcodes/i386-opc.tbl                      | 934 +++++++++++-----------
 opcodes/i386-tbl.h                        | 930 ++++++++++-----------
 9 files changed, 1006 insertions(+), 949 deletions(-)
 create mode 100644 gas/testsuite/gas/i386/evex-wig2.d
 create mode 100644 gas/testsuite/gas/i386/evex-wig2.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-evex-wig2.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-evex-wig2.s


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]