x86: refine TPAUSE and UMWAIT
authorJan Beulich <jbeulich@suse.com>
Fri, 6 Mar 2020 07:48:48 +0000 (08:48 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 6 Mar 2020 07:48:48 +0000 (08:48 +0100)
commitb630c145c07e1995ea5442025f15e57a617b2560
treedda639fc9a4de33a9cd6bcb38a4fc24c51d6f9ec
parente15a8da9c71336b06cb5f2706c3f6b7e6ddd95a3
x86: refine TPAUSE and UMWAIT

Allowing 64-bit registers is misleading here: Elsewhere these get allowed
when there's no difference between either variant, because of 32-bit
destination registers having their upper halves zeroed in 64-bit mode.
Here, however, they're source registers, and hence specifying 64-bit
registers would lead to the ambiguity of whether the upper 32 bits
actually matter.

Additionally, for proper code generation in 16-bit mode, IgnoreSize is
needed on both.

And finally, just like for e.g. MONITOR/MWAIT, add variants with all
input registers explicitly specified.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/waitpkg-intel.d
gas/testsuite/gas/i386/waitpkg.d
gas/testsuite/gas/i386/waitpkg.s
gas/testsuite/gas/i386/x86-64-waitpkg-intel.d
gas/testsuite/gas/i386/x86-64-waitpkg.d
gas/testsuite/gas/i386/x86-64-waitpkg.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h