aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2014-11-18 14:08:28 +0100
committerJan Beulich <jbeulich@suse.com>2014-11-18 14:08:28 +0100
commitae527cd876fe35de72d876d3484e194ccc66232f (patch)
tree506c344ade8b18b6a142c10931eb4644b4a7e3b2 /gas/testsuite
parent0a9ce86dafbd889ab3dfc8f61db364a2426be99b (diff)
downloadgdb-ae527cd876fe35de72d876d3484e194ccc66232f.zip
gdb-ae527cd876fe35de72d876d3484e194ccc66232f.tar.gz
gdb-ae527cd876fe35de72d876d3484e194ccc66232f.tar.bz2
aarch64: allow adding/removing just feature flags via .arch_extension
Rather than requiring to always also set/change the base architecture, allow just en-/disabling of architecture extensions, matching what ARM has.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/aarch64/crc32-directive.d17
-rw-r--r--gas/testsuite/gas/aarch64/crc32.s6
-rw-r--r--gas/testsuite/gas/aarch64/crypto-directive.d27
-rw-r--r--gas/testsuite/gas/aarch64/crypto.s6
5 files changed, 63 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 67e6d18..bf37ba8 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2014-11-18 Jan Beulich <jbeulich@suse.com>
+
+ * gas/aarch64/crc32-directive.d: New.
+ * gas/aarch64/crypto-directive.d: New.
+ * gas/aarch64/crc32.s: Adjust to allow for directive use.
+ * gas/aarch64/crypto.s: Likewise.
+
2014-11-17 Ilya Tocar <ilya.tocar@intel.com>
* gas/i386/i386.exp: Run new tests.
diff --git a/gas/testsuite/gas/aarch64/crc32-directive.d b/gas/testsuite/gas/aarch64/crc32-directive.d
new file mode 100644
index 0000000..5f90755
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/crc32-directive.d
@@ -0,0 +1,17 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: crc32.s
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: 1acf40e3 crc32b w3, w7, w15
+ 4: 1ac345e7 crc32h w7, w15, w3
+ 8: 1ac7486f crc32w w15, w3, w7
+ c: 9acf4ce3 crc32x w3, w7, x15
+ 10: 1acf50e3 crc32cb w3, w7, w15
+ 14: 1ac355e7 crc32ch w7, w15, w3
+ 18: 1ac7586f crc32cw w15, w3, w7
+ 1c: 9acf5ce3 crc32cx w3, w7, x15
diff --git a/gas/testsuite/gas/aarch64/crc32.s b/gas/testsuite/gas/aarch64/crc32.s
index 621d3cc..c5fe297 100644
--- a/gas/testsuite/gas/aarch64/crc32.s
+++ b/gas/testsuite/gas/aarch64/crc32.s
@@ -21,6 +21,10 @@
.text
+ .ifdef DIRECTIVE
+ .arch_extension crc
+ .endif
+
crc32b w3, w7, w15
crc32h w7, w15, w3
crc32w w15, w3, w7
@@ -29,3 +33,5 @@
crc32ch w7, w15, w3
crc32cw w15, w3, w7
crc32cx w3, w7, x15
+
+ .arch_extension nocrc
diff --git a/gas/testsuite/gas/aarch64/crypto-directive.d b/gas/testsuite/gas/aarch64/crypto-directive.d
new file mode 100644
index 0000000..9fa0671
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/crypto-directive.d
@@ -0,0 +1,27 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: crypto.s
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: 4e284be7 aese v7.16b, v31.16b
+ 4: 4e285be7 aesd v7.16b, v31.16b
+ 8: 4e286be7 aesmc v7.16b, v31.16b
+ c: 4e287be7 aesimc v7.16b, v31.16b
+ 10: 5e280be7 sha1h s7, s31
+ 14: 5e281be7 sha1su1 v7.4s, v31.4s
+ 18: 5e282be7 sha256su0 v7.4s, v31.4s
+ 1c: 5e1f01e7 sha1c q7, s15, v31.4s
+ 20: 5e1f11e7 sha1p q7, s15, v31.4s
+ 24: 5e1f21e7 sha1m q7, s15, v31.4s
+ 28: 5e1f31e7 sha1su0 v7.4s, v15.4s, v31.4s
+ 2c: 5e1f41e7 sha256h q7, q15, v31.4s
+ 30: 5e1f51e7 sha256h2 q7, q15, v31.4s
+ 34: 5e1f61e7 sha256su1 v7.4s, v15.4s, v31.4s
+ 38: 0e3fe1e7 pmull v7.8h, v15.8b, v31.8b
+ 3c: 0effe1e7 pmull v7.1q, v15.1d, v31.1d
+ 40: 4e3fe1e7 pmull2 v7.8h, v15.16b, v31.16b
+ 44: 4effe1e7 pmull2 v7.1q, v15.2d, v31.2d
diff --git a/gas/testsuite/gas/aarch64/crypto.s b/gas/testsuite/gas/aarch64/crypto.s
index 01cb954..9e7e9d4 100644
--- a/gas/testsuite/gas/aarch64/crypto.s
+++ b/gas/testsuite/gas/aarch64/crypto.s
@@ -20,6 +20,10 @@
.text
+ .ifdef DIRECTIVE
+ .arch_extension crypto
+ .endif
+
aese v7.16b, v31.16b
aesd v7.16b, v31.16b
aesmc v7.16b, v31.16b
@@ -42,3 +46,5 @@
pmull v7.1q, v15.1d, v31.1d
pmull2 v7.8h, v15.16b, v31.16b
pmull2 v7.1q, v15.2d, v31.2d
+
+ .arch_extension nocrypto