binutils-gdb/gas/doc
Thomas Preud'homme ced40572e4 [ARM] Add support for ARMv8-R in assembler and readelf
=== Context ===

This patch is part of a patch series to add support for ARMv8-R
architecture. Its purpose is to add support for ARMv8-R in GAS:
instructions, build attributes and readelf.

=== Patch description ===

Although some differences exist for system registers, from GAS point of
view ARMv8-R supports the same instructions as ARMv8-A Aarch32 state
and a subset of its extensions. This patch therefore introduce a new
feature bit to distinguish the availability of the pan, ras and rdma
extensions between ARMv8-A and ARMv8-R and allow crypto, fp and simd
extensions to be used by ARMv8-R.

Most of the changes are then in the testsuite to (i) rename source files
and error output to be shared between ARMv8-A and ARMv8-R, (ii) rename
files with expected output for ARMv8-A build attributes and (iii) add
new files with expected output for ARMv8-R build attributes.

2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

binutils/
	* readelf.c (arm_attr_tag_CPU_arch): Fill value for ARMv8-R.

gas/
	* NEWS: Mention support for ARMv8-R architecture.
	* config/tc-arm.c (arm_archs): Add entry for ARMv8-R.
	(arm_extensions): Restrict pan, ras and rdma extension to
	ARMv8-A and make crypto, fp and simd extensions available to
	ARMv8-R.
	(cpu_arch_ver): Add entry for ARMv8-R.
	(aeabi_set_public_attributes): Update gas_assert for Tag_DIV_use
	logic.
	* testsuite/gas/arm/armv8-a+fp.s: Rename into ...
	* testsuite/gas/arm/armv8-ar+fp.s: This.  Remove .arch directive.
	* testsuite/gas/arm/armv8-a+fp.d: Specify source to assemble and
	architecture to assemble for.
	* testsuite/gas/arm/armv8-r+fp.d: New.
	* testsuite/gas/arm/armv8-a+simd.s: Rename into ...
	* testsuite/gas/arm/armv8-ar+simd.s: This.  Remove .arch directive.
	* testsuite/gas/arm/armv8-a+simd.d: Specify source to assemble and
	architecture to assemble for.
	* testsuite/gas/arm/armv8-r+simd.d: New.
	* testsuite/gas/arm/armv8-a-bad.s: Rename into ...
	* testsuite/gas/arm/armv8-ar-bad.s: This.  Remove .arch directive.
	* testsuite/gas/arm/armv8-a-bad.l: Rename into ...
	* testsuite/gas/arm/armv8-ar-bad.l: This.  Decrement line number by 1.
	* testsuite/gas/arm/armv8-a-bad.d: Specify source to assemble,
	architecture to assemble for and adjust error output file.
	* testsuite/gas/arm/armv8-r-bad.d: New.
	* testsuite/gas/arm/armv8-a-barrier.s: Rename into ...
	* testsuite/gas/arm/armv8-ar-barrier.s: This.
	* testsuite/gas/arm/armv8-a-barrier-arm.d: Adjust source.
	* testsuite/gas/arm/armv8-a-barrier-thumb.d: Likewise.
	* testsuite/gas/arm/armv8-r-barrier-arm.d: New.
	* testsuite/gas/arm/armv8-r-barrier-thumb.d: New.
	* testsuite/gas/arm/armv8-a-it-bad.s: Rename into ...
	* testsuite/gas/arm/armv8-ar-it-bad.s: This.  Remove .arch directive.
	* testsuite/gas/arm/armv8-a-it-bad.l: Rename into ...
	* testsuite/gas/arm/armv8-ar-it-bad.l: This.  Decrement line number
	by 1.
	* testsuite/gas/arm/armv8-a-it-bad.d: Specify source to assemble,
	architecture to assemble for and adjust error output file.
	* testsuite/gas/arm/armv8-r-it-bad.d: New.
	* testsuite/gas/arm/armv8-a.s: Rename into ...
	* testsuite/gas/arm/armv8-ar.s: This.  Remove .arch directive.
	* testsuite/gas/arm/armv8-a.d: Specify source to assemble and
	architecture to assemble for.
	* testsuite/gas/arm/armv8-r.d: New.
	* testsuite/gas/arm/attr-march-armv8-r+crypto.d: New.
	* testsuite/gas/arm/attr-march-armv8-r+fp.d: New.
	* testsuite/gas/arm/attr-march-armv8-r+simd.d: New.
	* testsuite/gas/arm/attr-march-armv8-r.d: New.
	* testsuite/gas/arm/crc32.s: Rename into ...
	* testsuite/gas/arm/crc32-armv8-ar.s: This.
	* testsuite/gas/arm/crc32.d: Rename into ...
	* testsuite/gas/arm/crc32-armv8-a.d: This.  Specify source to assemble.
	* testsuite/gas/arm/crc32-armv8-r.d: New.
	* testsuite/gas/arm/crc32-bad.s: Rename into ...
	* testsuite/gas/arm/crc32-armv8-ar-bad.s: This.
	* testsuite/gas/arm/crc32-bad.d: Rename into ...
	* testsuite/gas/arm/crc32-armv8-a-bad.d: This.  Specify source to
	assemble.
	* testsuite/gas/arm/crc32-armv8-r-bad.d: New.
	* testsuite/gas/arm/mask_1.s: Rename into ...
	* testsuite/gas/arm/mask_1-armv8-ar.s: This.
	* testsuite/gas/arm/mask_1.d: Rename into ...
	* testsuite/gas/arm/mask_1-armv8-a.d: This.  Specify source to
	assemble.
	* testsuite/gas/arm/mask_1-armv8-r.d: new.

include/
	* elf/arm.h (TAG_CPU_ARCH_V8R): New macro.
	* opcode/arm.h (ARM_EXT2_V8A): New macro.
	(ARM_AEXT2_V8A): Rename into ...
	(ARM_AEXT2_V8AR): This.
	(ARM_AEXT2_V8A): New macro.
	(ARM_AEXT_V8R): New macro.
	(ARM_AEXT2_V8R): New macro.
	(ARM_ARCH_V8R): New macro.
2017-06-24 10:37:47 +01:00
..
all.texi Add support for the WebAssembly file format and the wasm32 ELF conversion to gas and the binutils. 2017-03-30 10:57:21 +01:00
as.texinfo MIPS16e2: Add MIPS16e2 ASE support 2017-05-15 13:57:10 +01:00
c-aarch64.texi Add support for the Cortex-A55 and Cortex-A75 versions of the AArch64 architecture. 2017-06-21 09:13:25 +01:00
c-alpha.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-arc.texi [ARC] Object attributes. 2017-05-10 14:42:22 +02:00
c-arm.texi [ARM] Add support for ARMv8-R in assembler and readelf 2017-06-24 10:37:47 +01:00
c-avr.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-bfin.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-cr16.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-cris.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-d10v.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-d30v.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-epiphany.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-h8300.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-hppa.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-i370.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-i386.texi X86: Add pseudo prefixes to control encoding 2017-03-09 09:59:00 -08:00
c-i860.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-i960.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-ia64.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-ip2k.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-lm32.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-m32c.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-m32r.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-m68hc11.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-m68k.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-metag.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-microblaze.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-mips.texi MIPS16e2: Add MIPS16e2 ASE support 2017-05-15 13:57:10 +01:00
c-mmix.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-msp430.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-mt.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-nds32.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-nios2.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-ns32k.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-pdp11.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-pj.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-ppc.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-pru.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-riscv.texi Sanitize RISC-V GAS help text, documentation 2017-03-22 15:46:52 -07:00
c-rl78.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-rx.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-s390.texi S/390: Add support for new cpu architecture - arch12. 2017-02-23 18:27:38 +01:00
c-score.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-sh64.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-sh.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-sparc.texi binutils: support for the SPARC M8 processor 2017-05-19 09:27:08 -07:00
c-tic6x.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-tic54x.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-tilegx.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-tilepro.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-v850.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-vax.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-visium.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-wasm32.texi Add support for the WebAssembly file format and the wasm32 ELF conversion to gas and the binutils. 2017-03-30 10:57:21 +01:00
c-xc16x.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-xgate.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-xstormy16.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-xtensa.texi Fix spelling mistakes and typos in the GAS sources. 2017-01-23 15:23:07 +00:00
c-z8k.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
c-z80.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fdl.texi Change documentation license to FDL v1.3 2008-11-19 16:22:48 +00:00
h8.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
internals.texi Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
Makefile.am Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
Makefile.in Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30