]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
x86/Intel: SHLD/SHRD have dual meaning
authorJan Beulich <jbeulich@suse.com>
Wed, 29 May 2024 08:02:01 +0000 (10:02 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 29 May 2024 08:02:01 +0000 (10:02 +0200)
commit6ccf16c19d318bae09b7b405825285f7579d820f
tree893a4e8c775b07ac972d2a7ea5b5715c152dffda
parent7574c0c2b386efa4bd0b1735237403177e4a964e
x86/Intel: SHLD/SHRD have dual meaning

Since we uniformly permit D suffixes in Intel mode whenever in AT&T mode
an L suffix may be used, we need to be consistent with this.

Take the easy route, despite that still leading to an anomaly which is
also visible from the new testcase:

shld eax, ecx, 1
shld eax, ecx, cl

can mean two things with APX: SHL with a D suffix in NDD EVEX encoding,
or the traditional SHLD in legacy encoding.
gas/config/tc-i386.c
gas/testsuite/gas/i386/intel-suffix.d [new file with mode: 0644]
gas/testsuite/gas/i386/intel-suffix.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64.exp