binutils-gdb/gas/config
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
..
aout_gnu.h
atof-ieee.c
atof-vax.c
bfin-aux.h
bfin-defs.h
bfin-lex-wrapper.c
bfin-lex.l
bfin-parse.y Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
e-crisaout.c
e-criself.c
e-i386aout.c
e-i386coff.c
e-i386elf.c
e-mipself.c
itbl-mips.h
m68k-parse.h
m68k-parse.y
obj-aout.c
obj-aout.h
obj-coff-seh.c
obj-coff-seh.h
obj-coff.c
obj-coff.h
obj-ecoff.c
obj-ecoff.h
obj-elf.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
obj-elf.h
obj-evax.c
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c
obj-macho.h
obj-multi.c
obj-multi.h
obj-som.c
obj-som.h
rl78-defs.h
rl78-parse.y Revert "bison warning fixes" 2016-10-26 11:45:50 +10:30
rx-defs.h
rx-parse.y Revert "bison warning fixes" 2016-10-26 11:45:50 +10:30
tc-aarch64.c [AArch64] Add ARMv8.3 FCMLA and FCADD instructions 2016-11-18 10:02:16 +00:00
tc-aarch64.h
tc-alpha.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-alpha.h
tc-arc.c arc/nps400: Validate address type operands correctly 2016-11-04 22:46:51 +00:00
tc-arc.h
tc-arm.c Add support for ARM Cortex-M33 processor 2016-11-04 16:24:59 +00:00
tc-arm.h
tc-avr.c
tc-avr.h
tc-bfin.c Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
tc-bfin.h
tc-cr16.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-cr16.h
tc-cris.c
tc-cris.h
tc-crx.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-crx.h
tc-d10v.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-d10v.h
tc-d30v.c
tc-d30v.h
tc-dlx.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-dlx.h dlx: move prototype of dlx_set_skip_hi16 to elf/dlx.h 2016-06-27 05:57:32 -04:00
tc-epiphany.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-epiphany.h
tc-fr30.c
tc-fr30.h
tc-frv.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-frv.h
tc-ft32.c
tc-ft32.h
tc-generic.c
tc-generic.h
tc-h8300.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-h8300.h
tc-hppa.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-hppa.h
tc-i370.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-i370.h
tc-i386-intel.c x86/Intel: fix operand checking for MOVSD 2016-07-01 08:56:13 +02:00
tc-i386.c Enable Intel AVX512_4VNNIW instructions 2016-11-02 12:31:25 -07:00
tc-i386.h
tc-i860.c
tc-i860.h
tc-i960.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-i960.h
tc-ia64.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-ia64.h
tc-ip2k.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-ip2k.h
tc-iq2000.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-iq2000.h
tc-lm32.c
tc-lm32.h
tc-m32c.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-m32c.h
tc-m32r.c
tc-m32r.h
tc-m68hc11.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-m68hc11.h
tc-m68k.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-m68k.h
tc-m68851.h
tc-mcore.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-mcore.h
tc-mep.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-mep.h
tc-metag.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-metag.h
tc-microblaze.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-microblaze.h
tc-mips.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-mips.h MIPS/GAS: Don't convert PC-relative REL relocs against absolute symbols 2016-07-14 20:11:03 +01:00
tc-mmix.c
tc-mmix.h
tc-mn10200.c
tc-mn10200.h
tc-mn10300.c
tc-mn10300.h
tc-moxie.c Assemble 'bad' moxie instruction 2016-11-13 07:37:02 -05:00
tc-moxie.h
tc-msp430.c
tc-msp430.h
tc-mt.c -Wimplicit-fallthrough error fixes 2016-10-06 09:39:56 +10:30
tc-mt.h
tc-nds32.c -Wimplicit-fallthrough error fixes 2016-10-06 09:39:56 +10:30
tc-nds32.h
tc-nios2.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-nios2.h
tc-ns32k.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-ns32k.h
tc-or1k.c
tc-or1k.h
tc-pdp11.c
tc-pdp11.h
tc-pj.c
tc-pj.h
tc-ppc.c Disallow 3-operand cmp[l][i] for ppc64 2016-09-29 15:12:47 +09:30
tc-ppc.h
tc-riscv.c Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
tc-riscv.h Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
tc-rl78.c Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
tc-rl78.h
tc-rx.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-rx.h
tc-s390.c S/390: Fix 16 bit pc relative relocs. 2016-11-04 20:18:35 +01:00
tc-s390.h
tc-score7.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-score.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-score.h
tc-sh64.c
tc-sh64.h
tc-sh.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-sh.h
tc-sparc.c Fix SPARC relocations generated for the .eh_frame section. 2016-11-15 15:41:27 +00:00
tc-sparc.h
tc-spu.c
tc-spu.h
tc-tic4x.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-tic4x.h
tc-tic6x.c
tc-tic6x.h
tc-tic30.c
tc-tic30.h
tc-tic54x.c simplify tic54x_set_default_include () 2016-06-25 11:52:29 -04:00
tc-tic54x.h
tc-tilegx.c
tc-tilegx.h
tc-tilepro.c
tc-tilepro.h
tc-v850.c
tc-v850.h
tc-vax.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-vax.h
tc-visium.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-visium.h
tc-xc16x.c
tc-xc16x.h
tc-xgate.c Ensure ARM VPUSH and VPOP instructions do not affect more than 16 registers. 2016-08-05 11:26:13 +01:00
tc-xgate.h
tc-xstormy16.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-xstormy16.h
tc-xtensa.c tc-xtensa.c: fixup xg_reverse_shift_count typo 2016-09-26 12:55:56 -04:00
tc-xtensa.h
tc-z8k.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-z8k.h
tc-z80.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-z80.h
te-386bsd.h
te-aix5.h
te-aix.h
te-armeabi.h
te-armfbsdeabi.h
te-armfbsdvfp.h
te-armlinuxeabi.h
te-dragonfly.h
te-dynix.h
te-epoc-pe.h
te-freebsd.h
te-generic.h
te-gnu.h
te-go32.h
te-hppa64.h
te-hppa.h
te-hppalinux64.h
te-hpux.h
te-i386aix.h
te-ia64aix.h
te-interix.h
te-irix.h
te-linux.h
te-lynx.h
te-mach.h
te-macos.h
te-nacl.h
te-nbsd532.h
te-nbsd.h
te-netware.h
te-pc532mach.h
te-pe.h
te-pep.h
te-psos.h
te-riscix.h
te-solaris.h
te-sparcaout.h
te-sun3.h
te-svr4.h
te-symbian.h
te-tmips.h
te-uclinux.h
te-vms.c
te-vms.h
te-vxworks.h
te-wince-pe.h
vax-inst.h
xtensa-istack.h
xtensa-relax.c
xtensa-relax.h