8sa1-binutils-gdb/include/opcode
Szabolcs Nagy c2c4ff8d52 [AArch64] Add ARMv8.3 FCMLA and FCADD instructions
Add support for FCMLA and FCADD complex arithmetic SIMD instructions.
FCMLA has an indexed element variant where the index range has to be
treated specially because a complex number takes two elements and the
indexed vector size depends on the other operands.

These complex number SIMD instructions are part of ARMv8.3
https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions

include/
2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_IMM_ROT1,
	AARCH64_OPND_IMM_ROT2, AARCH64_OPND_IMM_ROT3.
	(enum aarch64_op): Add OP_FCMLA_ELEM.

opcodes/
2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* aarch64-tbl.h (QL_V3SAMEHSD_ROT, QL_ELEMENT_ROT): Define.
	(aarch64_feature_simd_v8_3, SIMD_V8_3): Define.
	(aarch64_opcode_table): Add fcmla and fcadd.
	(AARCH64_OPERANDS): Add IMM_ROT{1,2,3}.
	* aarch64-asm.h (aarch64_ins_imm_rotate): Declare.
	* aarch64-asm.c (aarch64_ins_imm_rotate): Define.
	* aarch64-dis.h (aarch64_ext_imm_rotate): Declare.
	* aarch64-dis.c (aarch64_ext_imm_rotate): Define.
	* aarch64-opc.h (enum aarch64_field_kind): Add FLD_rotate{1,2,3}.
	* aarch64-opc.c (fields): Add FLD_rotate{1,2,3}.
	(operand_general_constraint_met_p): Rotate and index range check.
	(aarch64_print_operand): Handle rotate operand.
	* aarch64-asm-2.c: Regenerate.
	* aarch64-dis-2.c: Likewise.
	* aarch64-opc-2.c: Likewise.

gas/
2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/tc-aarch64.c (parse_operands): Handle AARCH64_OPND_IMM_ROT*.
	* testsuite/gas/aarch64/advsimd-armv8_3.d: New.
	* testsuite/gas/aarch64/advsimd-armv8_3.s: New.
	* testsuite/gas/aarch64/illegal-fcmla.s: New.
	* testsuite/gas/aarch64/illegal-fcmla.l: New.
	* testsuite/gas/aarch64/illegal-fcmla.d: New.
2016-11-18 10:02:16 +00:00
..
aarch64.h [AArch64] Add ARMv8.3 FCMLA and FCADD instructions 2016-11-18 10:02:16 +00:00
alpha.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
arc-func.h Fixes to legacy ARC relocations. 2016-08-26 12:09:17 +02:00
arc.h arc: Implement NPS-400 dcmac instruction 2016-11-03 17:14:38 +00:00
arm.h Add support for ARM Cortex-M33 processor 2016-11-04 16:24:59 +00:00
avr.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
cgen.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
convex.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
cr16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
cris.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
crx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
d10v.h add more extern C 2016-06-01 21:26:32 -04:00
d30v.h add more extern C 2016-06-01 21:26:32 -04:00
dlx.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
ft32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
h8300.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
hppa.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
i370.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i860.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i960.h make more variables const 2016-03-22 19:16:06 -04:00
ia64.h add more extern C 2016-06-01 21:26:32 -04:00
m68hc11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m88k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
metag.h metag: add extern C to header 2016-05-26 06:12:15 -04:00
mips.h add more extern C 2016-06-01 21:26:32 -04:00
mmix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mn10200.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mn10300.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
moxie.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
msp430-decode.h Change the size field of MSP430_Opcode_Decoded to a plain integer. 2016-06-14 11:41:34 -07:00
msp430.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
nds32.h Fix compile time warnings building the binutils with a gcc6 compiler. 2016-02-09 16:34:24 +00:00
nios2.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
nios2r1.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
nios2r2.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
np1.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ns32k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
pdp11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
pj.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
pn.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ppc.h Disallow 3-operand cmp[l][i] for ppc64 2016-09-29 15:12:47 +09:30
pyr.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
riscv-opc.h Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
riscv.h Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
rl78.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
s390.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
score-datadep.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
score-inst.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
sparc.h sparc: make SPARC_OPCODE_ARCH_MAX part of its enum 2016-06-29 07:24:18 -04:00
spu-insns.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
spu.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
tahoe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tic4x.h make more variables const 2016-03-22 19:16:06 -04:00
tic6x-control-registers.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tic6x-insn-formats.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tic6x-opcode-table.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tic6x.h add more extern C 2016-06-01 21:26:32 -04:00
tic30.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
tic54x.h tic54x: rename typedef of struct symbol_ 2016-05-23 01:17:12 -04:00
tic80.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tilegx.h tilegx: move TILEGX_NUM_PIPELINE_ENCODINGS to tilegx_pipeline enum 2016-06-22 05:14:08 -04:00
tilepro.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
v850.h add more extern C 2016-06-01 21:26:32 -04:00
vax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
visium.h Add const qualifiers at various places. 2016-03-07 15:16:28 +00:00
xgate.h Copyright update for binutils 2016-01-01 23:00:01 +10:30