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 cleanup FLT_CHARS and EXP_CHARS 2016-04-03 19:50:02 -04:00
atof-vax.c Constify more 2016-04-01 23:10:50 +10:30
bfin-aux.h
bfin-defs.h use XNEW and related macros more 2016-05-13 00:35:51 -04:00
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 Fix build breakage 2016-05-13 15:58:07 +09:30
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 add more const qualifiers 2016-03-28 20:38:24 -04:00
obj-evax.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
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 Constify more 2016-04-01 23:10:50 +10:30
tc-arc.c arc/nps400: Validate address type operands correctly 2016-11-04 22:46:51 +00:00
tc-arc.h gas/arc: Make member of arc_flags const 2016-05-18 22:24:51 +01:00
tc-arm.c Add support for ARM Cortex-M33 processor 2016-11-04 16:24:59 +00:00
tc-arm.h
tc-avr.c avr: replace sentinal with iteration from 0 to ARRAY_SIZE 2016-06-01 21:22:31 -04:00
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 use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-cris.h cleanup FLT_CHARS and EXP_CHARS 2016-04-03 19:50:02 -04:00
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 d30v: make var type operatorT 2016-05-24 08:55:45 -04:00
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 Constify more 2016-04-01 23:10:50 +10:30
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 Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
tc-ft32.h ft32: fixup TARGET_FORMAT 2016-05-24 08:49:46 -04:00
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 Constify more 2016-04-01 23:10:50 +10:30
tc-i860.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
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 Constify more 2016-04-01 23:10:50 +10:30
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 Constify more 2016-04-01 23:10:50 +10:30
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 m32r: make mach_table static and const 2016-05-16 05:06:48 -04:00
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 Constify more 2016-04-01 23:10:50 +10:30
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 Constify more 2016-04-01 23:10:50 +10:30
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 mmix: constify handler_charp 2016-05-24 08:52:45 -04:00
tc-mmix.h cleanup FLT_CHARS and EXP_CHARS 2016-04-03 19:50:02 -04:00
tc-mn10200.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
tc-mn10200.h
tc-mn10300.c stop defining linkrelax in multiple places 2016-05-16 05:01:52 -04:00
tc-mn10300.h
tc-moxie.c Assemble 'bad' moxie instruction 2016-11-13 07:37:02 -05:00
tc-moxie.h
tc-msp430.c stop defining linkrelax in multiple places 2016-05-16 05:01:52 -04:00
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 make md_parse_option () take a const char * 2016-03-29 07:43:25 -04:00
tc-nios2.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-nios2.h Constify more 2016-04-01 23:10:50 +10:30
tc-ns32k.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-ns32k.h
tc-or1k.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-or1k.h
tc-pdp11.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-pdp11.h
tc-pj.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
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 sh{,64}: make arg type enum 2016-06-05 23:27:41 -04:00
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 spu: make some constants unsigned 2016-05-23 01:20:09 -04:00
tc-spu.h
tc-tic4x.c -Wimplicit-fallthrough warning fixes 2016-10-06 10:13:15 +10:30
tc-tic4x.h
tc-tic6x.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-tic6x.h
tc-tic30.c use xstrdup, xmemdup0 and concat more 2016-05-13 00:35:51 -04:00
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 use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-tilegx.h
tc-tilepro.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-tilepro.h
tc-v850.c Change type of v850_target_arch to enum bfd_architecture 2016-05-18 06:09:44 -04:00
tc-v850.h Change type of v850_target_arch to enum bfd_architecture 2016-05-18 06:09:44 -04:00
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 use XNEW and related macros more 2016-04-03 20:43:23 -04:00
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 make xtensa_section_rename () take const char * 2016-03-31 07:30:41 -04:00
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 use XNEW and related macros more 2016-05-13 00:35:51 -04:00
xtensa-relax.h xtensa: typedef enums when defining them 2016-06-01 21:19:53 -04:00