summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-11-06 11:44:31 +0100
committerJan Beulich <jbeulich@suse.com>2018-11-06 11:44:31 +0100
commit58a211d2602df0a39779c84a344b1b4d12deb2d0 (patch)
tree03e169e34b28bf06b8152e3364fcc21fc74a22f4 /gas
parentb50c9f31661be05bcd73fb1158e02f606e696948 (diff)
downloadbinutils-gdb-58a211d2602df0a39779c84a344b1b4d12deb2d0.tar.gz
x86: correctly handle KMOVD with VEX.W set outside of 64-bit mode
For the flavors having a GPR operand VEX.W is ignored outside of 64-bit mode. The mnemonic should therefore not be KMOVQ.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/testsuite/gas/i386/avx-wig.d2
-rw-r--r--gas/testsuite/gas/i386/avx-wig.s2
3 files changed, 9 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d1170e6f326..967f6bc9683 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2018-11-06 Jan Beulich <jbeulich@suse.com>
+ * testsuite/gas/i386/avx-wig.s: Add kmovd cases.
+ * testsuite/gas/i386/avx-wig.d: Adjust expectations.
+
+2018-11-06 Jan Beulich <jbeulich@suse.com>
+
* testsuite/gas/i386/avx-wig.s,
testsuite/gas/i386/x86-64-avx-wig.s: Add vpextrb, vpextrw,
vpinsrb, and vpinsrw cases.
diff --git a/gas/testsuite/gas/i386/avx-wig.d b/gas/testsuite/gas/i386/avx-wig.d
index c724d09d08a..7a8f9473446 100644
--- a/gas/testsuite/gas/i386/avx-wig.d
+++ b/gas/testsuite/gas/i386/avx-wig.d
@@ -22,6 +22,8 @@ Disassembly of section .text:
+[a-f0-9]+: c4 e2 f8 f3 10 blsmsk \(%eax\),%eax
+[a-f0-9]+: c4 e2 f8 f3 08 blsr \(%eax\),%eax
+[a-f0-9]+: c4 e2 f8 f5 00 bzhi %eax,\(%eax\),%eax
+ +[a-f0-9]+: c4 e1 fb 92 c0 kmovd %eax,%k0
+ +[a-f0-9]+: c4 e1 fb 93 c0 kmovd %k0,%eax
+[a-f0-9]+: 8f e9 f8 12 c0 llwpcb %eax
+[a-f0-9]+: 8f ea f8 12 00 00 00 00 00 lwpins \$0x0,\(%eax\),%eax
+[a-f0-9]+: 8f ea f8 12 08 00 00 00 00 lwpval \$0x0,\(%eax\),%eax
diff --git a/gas/testsuite/gas/i386/avx-wig.s b/gas/testsuite/gas/i386/avx-wig.s
index 3f16ede95ee..4d17ab43676 100644
--- a/gas/testsuite/gas/i386/avx-wig.s
+++ b/gas/testsuite/gas/i386/avx-wig.s
@@ -17,6 +17,8 @@ _start:
blsmsk (%eax), %eax
blsr (%eax), %eax
bzhi %eax, (%eax), %eax
+ kmovd %eax, %k0
+ kmovd %k0, %eax
llwpcb %eax
lwpins $0, (%eax), %eax
lwpval $0, (%eax), %eax