This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [RFA/ARM 01/21] Add command line and object file support for ARMv8-A
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: binutils at sourceware dot org
- Date: Thu, 23 Aug 2012 17:27:39 +0100
- Subject: Re: [RFA/ARM 01/21] Add command line and object file support for ARMv8-A
- References: <cover.1345733341.git.matthew.gretton-dann@arm.com> <20120823145427.GD4624@e103070-lin.arm.com>
On 23/08/12 15:54, Matthew Gretton-Dann wrote:
>
> This patch adds the basic infrastructure to support ARMv8 A32/T32
> instruction sets in binutils. It also contains the necessary changes to
> output the correct attributes.
>
> A new architecture is added: -march=armv8-a.
>
> New architecture extensions are added:
> +crypto (Crypto extensions implies +fp+simd)
> +fp (FP)
> +simd (Advanced SIMD Extensions implies +fp)
>
> We also update the attributes emitted by the tools to support these new
> features.
>
> The ABI adds new values to Tag_CPU_arch, Tag_FP_arch, and
> Tag_Advanced_SIMD_arch for ARMv8. It also changes the meaning of
> Tag_FP_HP_extension so that for VFPv4/SIMDv2 the appropriate value is
> now 0 instead of 1.
>
> OK?
>
OK.
R.
> bfd/ChangeLog:
> 2012-08-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>
> * elf32-arm.c (v8): New array.
> (tag_cpu_arch_combine): Add support for ARMv8 attributes.
> (elf32_arm_merge_eabi_attributes): Likewise.
> (VFP_VERSION_COUNT): New define.
>
> binutils/ChangeLog:
> 2012-08-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>
> * readelf.c (arm_attr_tag_CPU_arch): Update for ARMv8.
> (arm_attr_tag_FP_arch): Likewise.
> (arm_attr_tag_Advanced_SIMD_arch): Likewise.
>
> gas/ChangeLog:
> 2012-08-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>
> * config/tc-arm.h (arm_ext_v8): New variable.
> (fpu_vfp_ext_armv8): Likewise.
> (fpu_neon_ext_armv8): Likewise.
> (fpu_crypto_ext_armv8): Likewise.
> (arm_archs): Add armv8-a.
> (arm_extensions): Add crypto, fp, and simd.
> (arm_fpus): Add fp-armv8, neon-fp-armv8, crypto-neon-fp-armv8.
> (cpu_arch_ver): Add support for ARMv8.
> (aeabi_set_public_sttributes): Likewise.
> * doc/c-arm.texi (ARM Options): Document new architecture and
> extension options for ARMv8.
>
> gas/testsuite/ChangeLog:
> 2012-08-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>
> * gas/arm/attr-march-all.d: Update for change in expected
> output.
> * gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
> * gas/arm/attr-mfpu-vfpv4.d: Likewise.
> * gas/arm/attr-march-armv8-a+crypto.d: New testcase.
> * gas/arm/attr-march-armv8-a+fp.d: Likewise.
> * gas/arm/attr-march-armv8-a+simd.d: Likewise.
> * gas/arm/attr-march-armv8-a.d: Likewise.
>
> include/ChangeLog:
> 2012-08-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>
> * elf/arm.h (TAG_CPU_ARCH_V8): New define.
> (MAX_TAG_CPU_ARCH): Update.
> * opcode/arm.h (ARM_EXT_V8): New define.
> (FPU_VFP_EXT_ARMV8): Likewise.
> (FPU_NEON_EXT_ARMV8): Likewise.
> (FPU_CRYPTO_EXT_ARMV8): Likewise.
> (ARM_AEXT_V8A): Likewise.
> (FPU_VFP_ARMV8): Likwise.
> (FPU_NEON_ARMV8): Likewise.
> (FPU_CRYPTO_ARMV8): Likewise.
> (FPU_ARCH_VFP_ARMV8): Likewise.
> (FPU_ARCH_NEON_VFP_ARMV8): Likewise.
> (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8): Likewise.
> (ARM_ARCH_V8A): Likwise.
> (ARM_ARCH_V8A_FP): Likewise.
> (ARM_ARCH_V8A_SIMD): Likewise.
> (ARM_ARCH_V8A_CRYPTO): Likewise.
>
> ld/testsuite/ChangeLog:
>
> 2012-08-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>
> * ld-arm/arm-elf.exp: Add new testcases.
> * ld-arm/attr-merge-vfp-3.d: Update for change in expected
> output.
> * ld-arm/attr-merge-vfp-3r.d: Likewise.
> * ld-arm/attr-merge-vfp-4.d: Likewise.
> * ld-arm/attr-merge-vfp-4r.d: Likewise.
> * ld-arm/attr-merge-vfp-5.d: Likewise.
> * ld-arm/attr-merge-vfp-5r.d: Likewise.
> * ld-arm/attr-merge-vfp-7.d: New testcase.
> * ld-arm/attr-merge-vfp-7r.d: Likewise.
> * ld-arm/attr-merge-vfp-armv8-hard.s: Likewise.
> * ld-arm/attr-merge-vfp-armv8.s: Likewise.
>
>