This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][GAS][AArch64] Enable Dot Product by default for ARMv8.4-a. [Patch (6/6)]


Hi All,

This patch enables the Dot Product extension by default for
Armv8.4-a.

Checked with check-gas on aarch64-none-elf and aarch64_be-none-elf,
no regressions.

Ok for Trunk?

Ps. I do not have commit access so if OK can someone apply for me?

Thanks,
Tamar

include/
2017-11-08  Tamar Christina  <tamar.christina@arm.com>

	* opcode/aarch64.h (AARCH64_ARCH_V8_4): Enable DOTPROD.

gas/testsuite
2017-11-08  Tamar Christina  <tamar.christina@arm.com>

	* gas/aarch64/dotproduct_armv8_4.s: New.
	* gas/aarch64/dotproduct_armv8_4.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 0000000000000000000000000000000000000000..121eb11bb40a12b57ebf1f52beaeade1bdb29e16
--- /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 0000000000000000000000000000000000000000..37538d9bb8270832a003a27e89e3f2d0e6ab44c0
--- /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/opcode/aarch64.h b/include/opcode/aarch64.h
index 9e76952610ecb0c314f4971ea7f2b60282993bb0..60653a2cdb88db3f3b4d3836070c55863e37b530 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.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]