2009-11-02 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Mon, 2 Nov 2009 13:44:05 +0000 (13:44 +0000)
committerPaul Brook <paul@codesourcery.com>
Mon, 2 Nov 2009 13:44:05 +0000 (13:44 +0000)
commit62f3b8c86784407e864ddf7698b9852cb76aa339
tree6a7acbf09e26521be68c3b7f3a49fe3ccc90a339
parentec15ac506168c7b0ead70d5d52c5d3fd18c5acab
2009-11-02  Paul Brook  <paul@codesourcery.com>

ld/testsuite/
* ld-arm/arm-elf.exp: Add new attr-merge-vfp tests.
* ld-arm/attr-merge-vfp-1.d: New test.
* ld-arm/attr-merge-vfp-1r.d: New test.
* ld-arm/attr-merge-vfp-2.d: New test.
* ld-arm/attr-merge-vfp-2r.d: New test.
* ld-arm/attr-merge-vfp-3.d: New test.
* ld-arm/attr-merge-vfp-3r.d: New test.
* ld-arm/attr-merge-vfp-4.d: New test.
* ld-arm/attr-merge-vfp-4r.d: New test.
* ld-arm/attr-merge-vfp-5.d: New test.
* ld-arm/attr-merge-vfp-5r.d: New test.
* ld-arm/attr-merge-vfp-2.s: New test.
* ld-arm/attr-merge-vfp-3.s: New test.
* ld-arm/attr-merge-vfp-3-d16.s: New test.
* ld-arm/attr-merge-vfp-4.s: New test.
* ld-arm/attr-merge-vfp-4-d16.s: New test.

gas/
* doc/c-arm.texi: Document new -mfpu options.
* config/tc-arm.c (fpu_vfp_ext_v3xd, fpu_vfp_fp16, fpu_neon_ext_fma,
fpu_vfp_ext_fma): New.
(NEON_ENC_TAB): Add vfma, vfms, vfnma and vfnms.
(do_vfp_nsyn_fma_fms, do_neon_fmac): New functions.
(insns): Move double precision load/store.  Split out double
precision VFPv3 instrucitons.  Add VFPv4 instructions.
(arm_fpus): Add VFPv3-FP16, VFPv3xD and VFPv4 variants.
(aeabi_set_public_attributes): Set VFPv4 variants

gas/testsuite/
* gas/arm/attr-mfpu-vfpv4.d: New test.
* gas/arm/attr-mfpu-vfpv4-d16.d: New test.
* gas/arm/neon-fma-cov.d: New test.
* gas/arm/neon-fma-cov.s: New test.
* gas/arm/vfp-fma-inc.s: New test.
* gas/arm/vfp-fma-arm.d: New test.
* gas/arm/vfp-fma-arm.s: New test.
* gas/arm/vfp-fma-thumb.d: New test.
* gas/arm/vfp-fma-thumb.s: New test.
* gas/arm/vfma1.d: New test.
* gas/arm/vfma1.s: New test.
* gas/arm/vfpv3xd.d: New test.
* gas/arm/vfpv3xd.s: New test.

include/opcode/
* arm.h (FPU_VFP_EXT_V3xD, FPU_VFP_EXT_FP16, FPU_NEON_EXT_FMA,
FPU_VFP_EXT_FMA, FPU_VFP_V3xD, FPU_VFP_V4D16, FPU_VFP_V4): Define.
(FPU_ARCH_VFP_V3D16_FP16, FPU_ARCH_VFP_V3_FP16, FPU_ARCH_VFP_V3xD,
FPU_ARCH_VFP_V3xD_FP16, FPU_ARCH_VFP_V4, FPU_ARCH_VFP_V4D16,
FPU_ARCH_NEON_VFP_V4): Define.

binutils/
* readelf.c (arm_attr_tag_VFP_arch): Add VFPv4 and VFPv4-D16.

bfd/
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle VFPv4
attributes.

opcodes/
* arm-dis.c (coprocessor_opcodes): Update to use new feature flags.
Add VFPv4 instructions.
42 files changed:
bfd/ChangeLog
bfd/elf32-arm.c
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/config/tc-arm.c
gas/doc/c-arm.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d [new file with mode: 0644]
gas/testsuite/gas/arm/attr-mfpu-vfpv4.d [new file with mode: 0644]
gas/testsuite/gas/arm/neon-fma-cov.d [new file with mode: 0644]
gas/testsuite/gas/arm/neon-fma-cov.s [new file with mode: 0644]
gas/testsuite/gas/arm/vfma1.d [new file with mode: 0644]
gas/testsuite/gas/arm/vfma1.s [new file with mode: 0644]
gas/testsuite/gas/arm/vfp-fma-arm.d [new file with mode: 0644]
gas/testsuite/gas/arm/vfp-fma-arm.s [new file with mode: 0644]
gas/testsuite/gas/arm/vfp-fma-inc.s [new file with mode: 0644]
gas/testsuite/gas/arm/vfp-fma-thumb.d [new file with mode: 0644]
gas/testsuite/gas/arm/vfp-fma-thumb.s [new file with mode: 0644]
gas/testsuite/gas/arm/vfpv3xd.d [new file with mode: 0644]
gas/testsuite/gas/arm/vfpv3xd.s [new file with mode: 0644]
include/opcode/ChangeLog
include/opcode/arm.h
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/attr-merge-vfp-1.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-1r.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-2.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-2.s [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-2r.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-3-d16.s [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-3.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-3.s [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-3r.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-4-d16.s [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-4.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-4.s [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-4r.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-5.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-5r.d [new file with mode: 0644]
opcodes/ChangeLog
opcodes/arm-dis.c