[arm] Add neon-vfpv3 to list of FPUs recognized by the assembler

Message ID a9c6ee0c-0a8d-d7d8-256e-ba4aa1855a6b@arm.com
State New
Headers show

Commit Message

Richard Earnshaw (lists) March 20, 2017, 10:06 a.m.
GCC recently added neon-vfpv3 as an alias for neon in -mfpu.  This patch
adds a similar alias in GAS.

	* config/tc-arm.c (arm_fpus): Add neon-vfpv3 as an alias for neon.

Pushed.

Comments

Nick Clifton March 20, 2017, 12:55 p.m. | #1
Hi Richard,

> GCC recently added neon-vfpv3 as an alias for neon in -mfpu.  This patch

> adds a similar alias in GAS.

> 

> 	* config/tc-arm.c (arm_fpus): Add neon-vfpv3 as an alias for neon.


Would you mind updating gas/doc/c-arm.texi to include this option value ?

In fact there seem to be several values missing from the table in c-arm.texi
so if you wouldn't mind adding them all, that would be much appreciated.

Cheers
  Nick
Richard Earnshaw (lists) March 20, 2017, 3 p.m. | #2
On 20/03/17 12:55, Nick Clifton wrote:
> Hi Richard,

> 

>> GCC recently added neon-vfpv3 as an alias for neon in -mfpu.  This patch

>> adds a similar alias in GAS.

>>

>> 	* config/tc-arm.c (arm_fpus): Add neon-vfpv3 as an alias for neon.

> 

> Would you mind updating gas/doc/c-arm.texi to include this option value ?

> 

> In fact there seem to be several values missing from the table in c-arm.texi

> so if you wouldn't mind adding them all, that would be much appreciated.

> 

> Cheers

>   Nick

> 

> 


Having looked through the list only one (neon-fp16) really should be
documented; the other two entries in the real table should not be
documented as they are aliases kept for legacy compatibility reasons.

This patch adds the missing entries and notes in the main table that
the other two entries should not be documented.

I've also fixed a small spelling error in the accompanying text.

        * config/tc-arm.c (arm_fpus): Note entires that should not be
        documented.
        * doc/c-arm.texi (-mfpu): Add missing FPU entries for neon-vfpv3 and
        neon-fp16.  Fix spelling error.

Pushed.

R.diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index bb2985c..ef6b609 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -25781,7 +25781,7 @@ static const struct arm_option_fpu_value_table arm_fpus[] =
   {"softvfp+vfp",	FPU_ARCH_VFP_V2},
   {"vfp",		FPU_ARCH_VFP_V2},
   {"vfp9",		FPU_ARCH_VFP_V2},
-  {"vfp3",              FPU_ARCH_VFP_V3}, /* For backwards compatibility.  */
+  {"vfp3",		FPU_ARCH_VFP_V3}, /* Undocumented, use vfpv3.  */
   {"vfp10",		FPU_ARCH_VFP_V2},
   {"vfp10-r0",		FPU_ARCH_VFP_V1},
   {"vfpxd",		FPU_ARCH_VFP_V1xD},
@@ -25794,10 +25794,10 @@ static const struct arm_option_fpu_value_table arm_fpus[] =
   {"vfpv3xd-fp16",	FPU_ARCH_VFP_V3xD_FP16},
   {"arm1020t",		FPU_ARCH_VFP_V1},
   {"arm1020e",		FPU_ARCH_VFP_V2},
-  {"arm1136jfs",	FPU_ARCH_VFP_V2},
+  {"arm1136jfs",	FPU_ARCH_VFP_V2}, /* Undocumented, use arm1136jf-s.  */
   {"arm1136jf-s",	FPU_ARCH_VFP_V2},
   {"maverick",		FPU_ARCH_MAVERICK},
-  {"neon",              FPU_ARCH_VFP_V3_PLUS_NEON_V1},
+  {"neon",		FPU_ARCH_VFP_V3_PLUS_NEON_V1},
   {"neon-vfpv3",	FPU_ARCH_VFP_V3_PLUS_NEON_V1},
   {"neon-fp16",		FPU_ARCH_NEON_FP16},
   {"vfpv4",		FPU_ARCH_VFP_V4},
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 29630a5..0a1392a 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -285,6 +285,8 @@ The following format options are recognized:
 @code{arm1136jf-s},
 @code{maverick},
 @code{neon},
+@code{neon-vfpv3},
+@code{neon-fp16},
 @code{neon-vfpv4},
 @code{neon-fp-armv8},
 @code{crypto-neon-fp-armv8},
@@ -297,7 +299,7 @@ also affects the way in which the @code{.double} assembler directive behaves
 when assembling little-endian code.
 
 The default is dependent on the processor selected.  For Architecture 5 or
-later, the default is to assembler for VFP instructions; for earlier
+later, the default is to assemble for VFP instructions; for earlier
 architectures the default is to assemble for FPA instructions.
 
 @cindex @code{-mthumb} command line option, ARM

Patch

diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index a433929..bb2985c 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -25798,6 +25798,7 @@  static const struct arm_option_fpu_value_table arm_fpus[] =
   {"arm1136jf-s",	FPU_ARCH_VFP_V2},
   {"maverick",		FPU_ARCH_MAVERICK},
   {"neon",              FPU_ARCH_VFP_V3_PLUS_NEON_V1},
+  {"neon-vfpv3",	FPU_ARCH_VFP_V3_PLUS_NEON_V1},
   {"neon-fp16",		FPU_ARCH_NEON_FP16},
   {"vfpv4",		FPU_ARCH_VFP_V4},
   {"vfpv4-d16",		FPU_ARCH_VFP_V4D16},