x86: Remove restriction on NOTRACK prefix position
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 9 Sep 2017 12:31:30 +0000 (05:31 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 9 Sep 2017 12:32:11 +0000 (05:32 -0700)
commit4e9ac44a8925c7da81735ef24beb5456a0c0fa24
tree268e6fd67c571fee5681c1b27e2c0144e34fcbd9
parent0a27fed72d4190cc70025c671b5133e6c58d9c09
x86: Remove restriction on NOTRACK prefix position

Since the NOTRACK prefix is no longer required to be the last prefix
before the REX prefix, restriction on the NOTRACK prefix position is
removed from assembler as well as disassembler.  Assembler encodes the
NOTRACK prefix the same way as the DS segment register, which places
it before other prefixes.  Disassembler displays prefixes in the order
they appear.

gas/

* config/tc-i386.c (NOTRACK_PREFIX): Removed.
(REX_PREFIX): Updated.
(MAX_PREFIXES): Likewise.
(parse_insn): Remove restriction on NOTRACK prefix position.
* testsuite/gas/i386/notrack.s: Add tests with NOTRACK prefix
before other prefixes.
* testsuite/gas/i386/x86-64-notrack.s: Likewise.
* testsuite/gas/i386/notrackbad.s: Remove tests with NOTRACK
prefix before other prefixes.
* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.
* testsuite/gas/i386/notrack-intel.d: Updated.
* testsuite/gas/i386/notrack.d: Likewise.
* testsuite/gas/i386/notrackbad.l: Likewise.
* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
* testsuite/gas/i386/x86-64-notrack.d: Likewise.
* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.

opcodes/

* i386-dis.c (last_active_prefix): Removed.
(ckprefix): Don't set last_active_prefix.
(NOTRACK_Fixup): Don't check last_active_prefix.
14 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/notrack-intel.d
gas/testsuite/gas/i386/notrack.d
gas/testsuite/gas/i386/notrack.s
gas/testsuite/gas/i386/notrackbad.l
gas/testsuite/gas/i386/notrackbad.s
gas/testsuite/gas/i386/x86-64-notrack-intel.d
gas/testsuite/gas/i386/x86-64-notrack.d
gas/testsuite/gas/i386/x86-64-notrack.s
gas/testsuite/gas/i386/x86-64-notrackbad.l
gas/testsuite/gas/i386/x86-64-notrackbad.s
opcodes/ChangeLog
opcodes/i386-dis.c