binutils-gdb/gas/doc
Matthew Malcomson 8382113fdb [binutils][aarch64] Matrix Multiply extension enablement [8/X]
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 aarch64 backend.

The following instructions are added: {s/u}mmla, usmmla, {us/su}dot,
fmmla, ld1rob, ld1roh, d1row, ld1rod, uzip{1/2}, trn{1/2}.

Committed on behalf of Mihail Ionescu.

gas/ChangeLog:

2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>

	* config/tc-aarch64.c: Add new arch fetures to suppport the mm extension.
	(parse_operands): Add new operand.
	* testsuite/gas/aarch64/i8mm.s: New test.
	* testsuite/gas/aarch64/i8mm.d: New test.
	* testsuite/gas/aarch64/f32mm.s: New test.
	* testsuite/gas/aarch64/f32mm.d: New test.
	* testsuite/gas/aarch64/f64mm.s: New test.
	* testsuite/gas/aarch64/f64mm.d: New test.
	* testsuite/gas/aarch64/sve-movprfx-mm.s: New test.
	* testsuite/gas/aarch64/sve-movprfx-mm.d: New test.

include/ChangeLog:

2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>

	* opcode/aarch64.h (AARCH64_FEATURE_I8MM): New.
	(AARCH64_FEATURE_F32MM): New.
	(AARCH64_FEATURE_F64MM): New.
	(AARCH64_OPND_SVE_ADDR_RI_S4x32): New.
	(enum aarch64_insn_class): Add new instruction class "aarch64_misc" for
	instructions that do not require special handling.

opcodes/ChangeLog:

2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>

	* aarch64-tbl.h (aarch64_feature_i8mm_sve, aarch64_feature_f32mm_sve,
	aarch64_feature_f64mm_sve, aarch64_feature_i8mm, aarch64_feature_f32mm,
	aarch64_feature_f64mm): New feature sets.
	(INT8MATMUL_INSN, F64MATMUL_SVE_INSN, F64MATMUL_INSN,
	F32MATMUL_SVE_INSN, F32MATMUL_INSN): New macros to define matrix multiply
	instructions.
	(I8MM_SVE, F32MM_SVE, F64MM_SVE, I8MM, F32MM, F64MM): New feature set
	macros.
	(QL_MMLA64, OP_SVE_SBB): New qualifiers.
	(OP_SVE_QQQ): New qualifier.
	(INT8MATMUL_SVE_INSNC, F64MATMUL_SVE_INSNC,
	F32MATMUL_SVE_INSNC): New feature set for bfloat16 instructions to support
	the movprfx constraint.
	(aarch64_opcode_table): Support for SVE_ADDR_RI_S4x32.
	(aarch64_opcode_table): Define new instructions smmla,
	ummla, usmmla, usdot, sudot, fmmla, ld1rob, ld1roh, ld1row, ld1rod
	uzip{1/2}, trn{1/2}.
	* aarch64-opc.c (operand_general_constraint_met_p): Handle
	AARCH64_OPND_SVE_ADDR_RI_S4x32.
	(aarch64_print_operand): Handle AARCH64_OPND_SVE_ADDR_RI_S4x32.
	* aarch64-dis-2.c (aarch64_opcode_lookup_1, aarch64_find_next_opcode):
	Account for new instructions.
	* opcodes/aarch64-asm-2.c (aarch64_insert_operand): Support the new
	S4x32 operand.
	* aarch64-opc-2.c (aarch64_operands): Support the new S4x32 operand.

Regression tested on arm-none-eabi.

Is it ok for trunk?

Regards,
Mihail
2019-11-07 17:11:52 +00:00
..
all.texi gas: add support for eBPF 2019-05-23 19:34:04 +02:00
as.texi S/390: Add support for z15 as CPU name. 2019-10-08 11:24:29 +02:00
c-aarch64.texi [binutils][aarch64] Matrix Multiply extension enablement [8/X] 2019-11-07 17:11:52 +00:00
c-alpha.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-arc.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-arm.texi [binutils][arm] BFloat16 enablement [4/X] 2019-11-07 16:56:12 +00:00
c-avr.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-bfin.texi GAS (documentation): Remove trademark acknowledgements. 2019-05-17 15:18:08 +02:00
c-bpf.texi gas: support .half, .word and .dword directives in eBPF 2019-07-17 22:57:23 +02:00
c-cr16.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-cris.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-csky.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-d10v.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-d30v.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-epiphany.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-h8300.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-hppa.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-i386.texi x86: support further AMD Zen2 instructions 2019-11-07 09:29:14 +01:00
c-ia64.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ip2k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-lm32.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m32c.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m32r.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m68hc11.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m68k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-metag.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-microblaze.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-mips.texi [MIPS] Add i6500 CPU and fix i6400 default ASEs 2019-04-13 10:15:56 -07:00
c-mmix.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-msp430.texi Add support for new functionality in the msp430 backend of GCC. 2019-10-07 16:34:31 +01:00
c-mt.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-nds32.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-nios2.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ns32k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-or1k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-pdp11.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-pj.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ppc.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-pru.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-riscv.texi Kito's 5-part patch set to improve .insn support. 2019-07-05 15:19:11 +08:00
c-rl78.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-rx.texi RX: gas - Add RXv3 instruction support. 2019-01-05 22:51:41 +09:00
c-s12z.texi S12Z: GAS: New option --mdollar-hex. 2019-05-22 08:13:36 +02:00
c-s390.texi S/390: Add support for z15 as CPU name. 2019-10-08 11:24:29 +02:00
c-score.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-sh.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-sparc.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tic6x.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tic54x.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tilegx.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tilepro.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-v850.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-vax.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-visium.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-wasm32.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xc16x.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xgate.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xstormy16.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xtensa.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-z8k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-z80.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
fdl.texi
h8.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
internals.texi gas: Pass max_bytes to TC_FRAG_INIT 2019-02-10 04:34:22 -08:00
Makefile.am gas: add support for eBPF 2019-05-23 19:34:04 +02:00
Makefile.in Re-generate many configure and Makefile.in files 2019-09-18 09:09:15 -04:00