OSDN Git Service

2009-11-18 Paul Brook <paul@codesourcery.com>
authorpbrook <pbrook>
Thu, 19 Nov 2009 00:48:57 +0000 (00:48 +0000)
committerpbrook <pbrook>
Thu, 19 Nov 2009 00:48:57 +0000 (00:48 +0000)
gas/
* config/tc-arm.c (arm_fpus): Add fpv4-sp-d16.
(aeabi_set_public_attributes): Correctly mark VFPv3xD.

include/opcode/
* arm.h (FPU_VFP_V4_SP_D16, FPU_ARCH_VFP_V4_SP_D16): Define.

gas/ChangeLog
gas/config/tc-arm.c
include/opcode/ChangeLog
include/opcode/arm.h

index 15092c4..2af13c3 100644 (file)
@@ -1,3 +1,8 @@
+2009-11-18  Paul Brook  <paul@codesourcery.com>
+
+       * config/tc-arm.c (arm_fpus): Add fpv4-sp-d16.
+       (aeabi_set_public_attributes): Correctly mark VFPv3xD.
+
 2009-11-18  Alan Modra  <amodra@bigpond.net.au>
 
        * config/tc-ppc.c (md_assemble): Report error on invalid @tls operands
index 5a7ec00..7cbf6ff 100644 (file)
@@ -22102,6 +22102,7 @@ static const struct arm_option_cpu_value_table arm_fpus[] =
   {"neon-fp16",                FPU_ARCH_NEON_FP16},
   {"vfpv4",            FPU_ARCH_VFP_V4},
   {"vfpv4-d16",                FPU_ARCH_VFP_V4D16},
+  {"fpv4-sp-d16",      FPU_ARCH_VFP_V4_SP_D16},
   {"neon-vfpv4",       FPU_ARCH_NEON_VFP_V4},
   {NULL,               ARM_ARCH_NONE}
 };
@@ -22625,7 +22626,7 @@ aeabi_set_public_attributes (void)
                             ? 5 : 6);
   else if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_d32))
     aeabi_set_attribute_int (Tag_VFP_arch, 3);
-  else if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_v3))
+  else if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_v3xd))
     aeabi_set_attribute_int (Tag_VFP_arch, 4);
   else if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_v2))
     aeabi_set_attribute_int (Tag_VFP_arch, 2);
index b3756ae..51120ff 100644 (file)
@@ -1,3 +1,7 @@
+2009-11-18  Paul Brook  <paul@codesourcery.com>
+
+       * arm.h (FPU_VFP_V4_SP_D16, FPU_ARCH_VFP_V4_SP_D16): Define.
+
 2009-11-17  Paul Brook  <paul@codesourcery.com>
        Daniel Jacobowitz  <dan@codesourcery.com>
 
index 4c7968f..02b1189 100644 (file)
 #define FPU_VFP_V3xD   (FPU_VFP_V1xD | FPU_VFP_EXT_V2 | FPU_VFP_EXT_V3xD)
 #define FPU_VFP_V4D16  (FPU_VFP_V3D16 | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)
 #define FPU_VFP_V4     (FPU_VFP_V3 | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)
+#define FPU_VFP_V4_SP_D16 (FPU_VFP_V3xD | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)
 #define FPU_VFP_HARD   (FPU_VFP_EXT_V1xD | FPU_VFP_EXT_V1 | FPU_VFP_EXT_V2 \
                         | FPU_VFP_EXT_V3xD | FPU_VFP_EXT_FMA | FPU_NEON_EXT_FMA \
                          | FPU_VFP_EXT_V3 | FPU_NEON_EXT_V1 | FPU_VFP_EXT_D32)
 #define FPU_ARCH_VFP_HARD ARM_FEATURE (0, FPU_VFP_HARD)
 #define FPU_ARCH_VFP_V4 ARM_FEATURE(0, FPU_VFP_V4)
 #define FPU_ARCH_VFP_V4D16 ARM_FEATURE(0, FPU_VFP_V4D16)
+#define FPU_ARCH_VFP_V4_SP_D16 ARM_FEATURE(0, FPU_VFP_V4_SP_D16)
 #define FPU_ARCH_NEON_VFP_V4 \
   ARM_FEATURE(0, FPU_VFP_V4 | FPU_NEON_EXT_V1 | FPU_NEON_EXT_FMA)