summaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2017-11-15 08:52:05 +0100
committerJan Beulich <jbeulich@suse.com>2017-11-15 08:52:05 +0100
commit390a67891e4f1ed334e266cf084ba8948da5fcdf (patch)
treec44d73c8947c5d475f0e3edadd799c1e22441858 /gas/testsuite
parent3a2430e05b1503653ae09cb21feb2a0d4ea51ec7 (diff)
x86: use correct register names
VEX.W may be legitimately set (and is then ignored by the CPU) for non-64-bit code. Don't print 64-bit register names in such a case, by utilizing that REX_W would never be set for non-64-bit code, and that it is being set from VEX.W by generic decoding. A test for this is going to be introduced in the next patch of this series.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/i386/noextreg.d6
-rw-r--r--gas/testsuite/gas/i386/noextreg.s15
2 files changed, 21 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/noextreg.d b/gas/testsuite/gas/i386/noextreg.d
index cb181b17ee..4b7f45d46e 100644
--- a/gas/testsuite/gas/i386/noextreg.d
+++ b/gas/testsuite/gas/i386/noextreg.d
@@ -6,6 +6,12 @@
Disassembly of section .text:
0+ <ix86>:
+[ ]*[a-f0-9]+: c4 e2 78 f2 00 andn \(%eax\),%eax,%eax
+[ ]*[a-f0-9]+: c4 e2 f8 f2 00 andn \(%eax\),%eax,%eax
+[ ]*[a-f0-9]+: 8f e9 78 01 20 tzmsk \(%eax\),%eax
+[ ]*[a-f0-9]+: 8f e9 f8 01 20 tzmsk \(%eax\),%eax
+[ ]*[a-f0-9]+: 8f e9 78 12 c0 llwpcb %eax
+[ ]*[a-f0-9]+: 8f e9 f8 12 c0 llwpcb %eax
[ ]*[a-f0-9]+: c4 e3 79 68 00 00 vfmaddps %xmm0,\(%eax\),%xmm0,%xmm0
[ ]*[a-f0-9]+: c4 e3 79 68 00 0f vfmaddps %xmm0,\(%eax\),%xmm0,%xmm0
[ ]*[a-f0-9]+: c3 ret[ ]*
diff --git a/gas/testsuite/gas/i386/noextreg.s b/gas/testsuite/gas/i386/noextreg.s
index 229b994a99..ba0c6ffa15 100644
--- a/gas/testsuite/gas/i386/noextreg.s
+++ b/gas/testsuite/gas/i386/noextreg.s
@@ -1,6 +1,21 @@
.intel_syntax noprefix
.text
ix86:
+ andn eax, eax, [eax]
+ .code64
+ andn rax, rax, [rax]
+ .code32
+
+ tzmsk eax, [eax]
+ .code64
+ tzmsk rax, [rax]
+ .code32
+
+ llwpcb eax
+ .code64
+ llwpcb rax
+ .code32
+
vfmaddps xmm0, xmm0, [eax], xmm0
.byte 0xc4, 0xe3, 0x79, 0x68, 0x00, 0x0f # vfmaddps xmm0, xmm0, [eax], xmm0