summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2017-11-09 15:50:56 +0000
committerTamar Christina <tamar.christina@arm.com>2017-11-09 16:29:31 +0000
commit981b557a488f7c3179dee1e34515ca9b10cf885c (patch)
tree67f0616630c7c1cbf38c7b0fffbb9131a032de19
parent793a194839bc8add71fdc7429c58b10f0667a6f6 (diff)
downloadbinutils-gdb-981b557a488f7c3179dee1e34515ca9b10cf885c.tar.gz
Enable the Dot Product extension by default for Armv8.4-a.
include/ * opcode/aarch64.h (AARCH64_ARCH_V8_4): Enable DOTPROD. gas/testsuite * gas/aarch64/dotproduct_armv8_4.s: New. * gas/aarch64/dotproduct_armv8_4.d: New.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/testsuite/gas/aarch64/dotproduct_armv8_4.d10
-rw-r--r--gas/testsuite/gas/aarch64/dotproduct_armv8_4.s2
-rw-r--r--include/ChangeLog4
-rw-r--r--include/opcode/aarch64.h3
5 files changed, 23 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3d032f2236f..17ebc2ea911 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2017-11-06 Tamar Christina <tamar.christina@arm.com>
+
+ * gas/testsuite/gas/aarch64/dotproduct_armv8_4.s: New.
+ * gas/testsuite/gas/aarch64/dotproduct_armv8_4.d: New.
+
2017-11-09 Tamar Christina <tamar.christina@arm.com>
* gas/testsuite/gas/aarch64/armv8_4-a-registers-illegal.d: New.
diff --git a/gas/testsuite/gas/aarch64/dotproduct_armv8_4.d b/gas/testsuite/gas/aarch64/dotproduct_armv8_4.d
new file mode 100644
index 00000000000..121eb11bb40
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dotproduct_armv8_4.d
@@ -0,0 +1,10 @@
+#as: -march=armv8.4-a
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+[^:]+:\s+2e809400 udot v0.2s, v0.8b, v0.8b
+[^:]+:\s+2e8b9400 udot v0.2s, v0.8b, v11.8b
diff --git a/gas/testsuite/gas/aarch64/dotproduct_armv8_4.s b/gas/testsuite/gas/aarch64/dotproduct_armv8_4.s
new file mode 100644
index 00000000000..37538d9bb82
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dotproduct_armv8_4.s
@@ -0,0 +1,2 @@
+UDOT V0.2S, V0.8B, V0.8B
+UDOT V0.2S, V0.8B, V11.8B
diff --git a/include/ChangeLog b/include/ChangeLog
index 0df8e8dcaa6..dc320cb019b 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,5 +1,9 @@
2017-11-09 Tamar Christina <tamar.christina@arm.com>
+ * opcode/aarch64.h (AARCH64_ARCH_V8_4): Enable DOTPROD.
+
+2017-11-09 Tamar Christina <tamar.christina@arm.com>
+
* opcode/aarch64.h:
(aarch64_opnd): Add AARCH64_OPND_Va, AARCH64_OPND_MASK,
AARCH64_OPND_IMM_2, AARCH64_OPND_ADDR_OFFSET
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index fd17a40e388..37c4a435591 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -81,7 +81,8 @@ typedef uint32_t aarch64_insn;
| AARCH64_FEATURE_RCPC \
| AARCH64_FEATURE_COMPNUM)
#define AARCH64_ARCH_V8_4 AARCH64_FEATURE (AARCH64_ARCH_V8_3, \
- AARCH64_FEATURE_V8_4)
+ AARCH64_FEATURE_V8_4 \
+ | AARCH64_FEATURE_DOTPROD)
#define AARCH64_ARCH_NONE AARCH64_FEATURE (0, 0)
#define AARCH64_ANY AARCH64_FEATURE (-1, 0) /* Any basic core. */