x86-64: accept 64-bit LFS/LGS/LSS forms with suffix or operand size specifier
authorJan Beulich <jbeulich@suse.com>
Wed, 4 Dec 2019 09:45:17 +0000 (10:45 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 4 Dec 2019 09:45:17 +0000 (10:45 +0100)
commit0ba59a29407a9d24559a653ce0401a26d9a37aaa
treee69a7402cea6bd8fa6d76132ad97b1ee8bdb89e5
parentd488367a421f4c4fd47d37ae0013318024b1019b
x86-64: accept 64-bit LFS/LGS/LSS forms with suffix or operand size specifier

Since we accept these without suffix / operand size specifier, we should
also do so with one. (The fact that we unilaterally accept these, other
than far branches, rather than limiting them to Intel64 mode, will be
taken care of later on.)

Also take the opportunity and make sure "lfs <reg>, tbyte ptr <mem>"
et al get rejected outside of 64-bit mode. This became broken by
dc2be329b950 ("i386: Only check suffix in instruction mnemonic").
Furthermore cover lgdt et al in the Intel syntax handling as well, which
continued to work after said commit just by coincidence.
12 files changed:
gas/ChangeLog
gas/config/tc-i386-intel.c
gas/testsuite/gas/i386/ilp32/x86-64-intel64.d
gas/testsuite/gas/i386/intelbad.l
gas/testsuite/gas/i386/intelbad.s
gas/testsuite/gas/i386/x86-64-intel64.d
gas/testsuite/gas/i386/x86-64-intel64.s
gas/testsuite/gas/i386/x86-64-opcode.d
gas/testsuite/gas/i386/x86-64-opcode.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h