aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorIgor Tsimbalist <igor.v.tsimbalist@intel.com>2018-01-23 19:39:05 +0300
committerIgor Tsimbalist <igor.v.tsimbalist@intel.com>2018-01-23 20:05:33 +0300
commit3233d7d074e59b83f68a22071cff597f00d5ae81 (patch)
tree624dbdd63e269a8c272c8b39061c0fc8592da026 /gas/testsuite
parentb4f6242e95340a31b0519187c5fc329056ddecfd (diff)
downloadgdb-3233d7d074e59b83f68a22071cff597f00d5ae81.zip
gdb-3233d7d074e59b83f68a22071cff597f00d5ae81.tar.gz
gdb-3233d7d074e59b83f68a22071cff597f00d5ae81.tar.bz2
Enable Intel WBNOINVD instruction.
Intel has disclosed a set of new instructions for Icelake processor. The spec is https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf This patch enables Intel WBNOINVD instruction. gas/ * config/tc-i386.c (cpu_arch): Add .wbnoinvd. * doc/c-i386.texi: Document .wbnoinvd. * testsuite/gas/i386/i386.exp: Add WBNOINVD tests. * testsuite/gas/i386/wbnoinvd-intel.d: New test. * testsuite/gas/i386/wbnoinvd.d: Likewise. * testsuite/gas/i386/wbnoinvd.s: Likewise. * testsuite/gas/i386/x86-64-wbnoinvd-intel.d: Likewise. * testsuite/gas/i386/x86-64-wbnoinvd.d: Likewise. * testsuite/gas/i386/x86-64-wbnoinvd.s: Likewise. opcodes/ * i386-dis.c (enum): Add PREFIX_0F09. * i386-gen.c (cpu_flag_init): Add CPU_WBNOINVD_FLAGS. (cpu_flags): Add CpuWBNOINVD. * i386-opc.h (enum): Add CpuWBNOINVD. (i386_cpu_flags): Add cpuwbnoinvd. * i386-opc.tbl: Add WBNOINVD instruction. * i386-init.h: Regenerate. * i386-tbl.h: Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/i386/i386.exp4
-rw-r--r--gas/testsuite/gas/i386/wbnoinvd-intel.d11
-rw-r--r--gas/testsuite/gas/i386/wbnoinvd.d11
-rw-r--r--gas/testsuite/gas/i386/wbnoinvd.s5
-rw-r--r--gas/testsuite/gas/i386/x86-64-wbnoinvd-intel.d11
-rw-r--r--gas/testsuite/gas/i386/x86-64-wbnoinvd.d11
-rw-r--r--gas/testsuite/gas/i386/x86-64-wbnoinvd.s5
7 files changed, 58 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index b81cc20..4123cd8 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -413,6 +413,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "vaes-intel"
run_dump_test "vpclmulqdq"
run_dump_test "vpclmulqdq-intel"
+ run_dump_test "wbnoinvd"
+ run_dump_test "wbnoinvd-intel"
run_list_test "avx512vl-1" "-al"
run_list_test "avx512vl-2" "-al"
run_dump_test "fpu-bad"
@@ -880,6 +882,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
run_dump_test "x86-64-vaes-intel"
run_dump_test "x86-64-vpclmulqdq"
run_dump_test "x86-64-vpclmulqdq-intel"
+ run_dump_test "x86-64-wbnoinvd"
+ run_dump_test "x86-64-wbnoinvd-intel"
run_dump_test "x86-64-fence-as-lock-add-yes"
run_dump_test "x86-64-fence-as-lock-add-no"
run_dump_test "x86-64-pr20141"
diff --git a/gas/testsuite/gas/i386/wbnoinvd-intel.d b/gas/testsuite/gas/i386/wbnoinvd-intel.d
new file mode 100644
index 0000000..34d390e
--- /dev/null
+++ b/gas/testsuite/gas/i386/wbnoinvd-intel.d
@@ -0,0 +1,11 @@
+#objdump: -dwMintel
+#name: i386 WBNOINVD (Intel disassembly)
+#source: wbnoinvd.s
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]*
+#pass
diff --git a/gas/testsuite/gas/i386/wbnoinvd.d b/gas/testsuite/gas/i386/wbnoinvd.d
new file mode 100644
index 0000000..051b3d0
--- /dev/null
+++ b/gas/testsuite/gas/i386/wbnoinvd.d
@@ -0,0 +1,11 @@
+#objdump: -dw
+#name: i386 WBNOINVD insn
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]*
+#pass
diff --git a/gas/testsuite/gas/i386/wbnoinvd.s b/gas/testsuite/gas/i386/wbnoinvd.s
new file mode 100644
index 0000000..28f9ae3
--- /dev/null
+++ b/gas/testsuite/gas/i386/wbnoinvd.s
@@ -0,0 +1,5 @@
+# Check 32bit WBNOINVD instructions.
+
+ .text
+_start:
+ wbnoinvd
diff --git a/gas/testsuite/gas/i386/x86-64-wbnoinvd-intel.d b/gas/testsuite/gas/i386/x86-64-wbnoinvd-intel.d
new file mode 100644
index 0000000..34d390e
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-wbnoinvd-intel.d
@@ -0,0 +1,11 @@
+#objdump: -dwMintel
+#name: i386 WBNOINVD (Intel disassembly)
+#source: wbnoinvd.s
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]*
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-wbnoinvd.d b/gas/testsuite/gas/i386/x86-64-wbnoinvd.d
new file mode 100644
index 0000000..051b3d0
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-wbnoinvd.d
@@ -0,0 +1,11 @@
+#objdump: -dw
+#name: i386 WBNOINVD insn
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]*
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-wbnoinvd.s b/gas/testsuite/gas/i386/x86-64-wbnoinvd.s
new file mode 100644
index 0000000..c0359bf
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-wbnoinvd.s
@@ -0,0 +1,5 @@
+# Check 64bit WBNOINVD instructions.
+
+ .text
+_start:
+ wbnoinvd