aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Malcomson <matthew.malcomson@arm.com>2019-11-07 17:20:08 +0000
committerMatthew Malcomson <matthew.malcomson@arm.com>2019-11-07 17:20:08 +0000
commit616ce08e1cc98c28c42bc2afed6b92df449c7b00 (patch)
treecbc0e78a74f954d5a40177b1887de248fa0d400f /include
parent[binutils][aarch64] Matrix Multiply extension enablement [8/X] (diff)
downloadbinutils-gdb-616ce08e1cc98c28c42bc2afed6b92df449c7b00.tar.gz
binutils-gdb-616ce08e1cc98c28c42bc2afed6b92df449c7b00.tar.bz2
binutils-gdb-616ce08e1cc98c28c42bc2afed6b92df449c7b00.zip
[Patch][binutils][arm] Armv8.6-A Matrix Multiply extension [9/10]
Hi, This patch is part of a series that adds support for Armv8.6-A (Matrix Multiply and BFloat16 extensions) to binutils. This patch introduces the Matrix Multiply (Int8, F32, F64) extensions to the arm backend. The following Matrix Multiply instructions are added: vummla, vsmmla, vusmmla, vusdot, vsudot[1]. [1]https://developer.arm.com/docs/ddi0597/latest/simd-and-floating-point-instructions-alphabetic-order Committed on behalf of Mihail Ionescu. gas/ChangeLog: 2019-11-07 Mihail Ionescu <mihail.ionescu@arm.com> * config/tc-arm.c (arm_ext_i8mm): New feature set. (do_vusdot): New. (do_vsudot): New. (do_vsmmla): New. (do_vummla): New. (insns): Add vsmmla, vummla, vusmmla, vusdot, vsudot mnemonics. (armv86a_ext_table): Add i8mm extension. (arm_extensions): Move bf16 extension to context sensitive table. (armv82a_ext_table, armv84a_ext_table, armv85a_ext_table): Move bf16 extension to context sensitive table. (armv86a_ext_table): Add i8mm extension. * doc/c-arm.texi: Document i8mm extension. * testsuite/gas/arm/i8mm.s: New test. * testsuite/gas/arm/i8mm.d: New test. * testsuite/gas/arm/bfloat17-cmdline-bad-3.d: Update test. include/ChangeLog: 2019-11-07 Mihail Ionescu <mihail.ionescu@arm.com> * opcode/arm.h (ARM_EXT2_I8MM): New feature macro. opcodes/ChangeLog: 2019-11-07 Mihail Ionescu <mihail.ionescu@arm.com> * arm-dis.c (neon_opcodes): Add i8mm SIMD instructions. Regression tested on arm-none-eabi. Is this ok for trunk? Regards, Mihail
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog4
-rw-r--r--include/opcode/arm.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 2543e095b8f..591ae4e773b 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,5 +1,9 @@
2019-11-07 Mihail Ionescu <mihail.ionescu@arm.com>
+ * opcode/arm.h (ARM_EXT2_I8MM): New feature macro.
+
+2019-11-07 Mihail Ionescu <mihail.ionescu@arm.com>
+
* opcode/aarch64.h (AARCH64_FEATURE_I8MM): New.
(AARCH64_FEATURE_F32MM): New.
(AARCH64_FEATURE_F64MM): New.
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 7aea4d6e568..982da5abbde 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -75,6 +75,7 @@
#define ARM_EXT2_V8_1M_MAIN 0x00008000 /* ARMv8.1-M Mainline. */
#define ARM_EXT2_V8_6A 0x00010000 /* ARM V8.6A. */
#define ARM_EXT2_BF16 0x00020000 /* ARMv8 bfloat16. */
+#define ARM_EXT2_I8MM 0x00040000 /* ARMv8.6A i8mm. */
/* Co-processor space extensions. */
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */