Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-14 Thread Andrew Stubbs

On 14/01/15 08:21, Ramana Radhakrishnan wrote:

Ok, that should be enough. Please watch out for any testing fallout this
week.


Committed, thanks.

Andrew



Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-14 Thread Ramana Radhakrishnan



On 13/01/15 21:01, Andrew Stubbs wrote:

On 12/01/15 13:50, Ramana Radhakrishnan wrote:

In principle ok, but I'd like a comment in there explaining why we've
done this. Can you also post under what configurations these have been
tested ?


Is this better?

I tested it by running the vect.exp tests with a variety of -mcpu flags.

Andrew



Ok, that should be enough. Please watch out for any testing fallout this 
week.


Ramana


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-13 Thread Andrew Stubbs

On 12/01/15 13:50, Ramana Radhakrishnan wrote:

In principle ok, but I'd like a comment in there explaining why we've
done this. Can you also post under what configurations these have been
tested ?


Is this better?

I tested it by running the vect.exp tests with a variety of -mcpu flags.

Andrew

2015-01-13  Andrew Stubbs  a...@codesourcery.com

	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
	on ARM architures before v7.

Index: gcc/testsuite/lib/target-supports.exp
===
--- gcc/testsuite/lib/target-supports.exp	(revision 219058)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -2565,6 +2565,11 @@
 	if { [check_no_compiler_messages_nocache arm_neon_ok object {
 		#include arm_neon.h
 		int dummy;
+		/* Avoid the case where a test adds -mfpu=neon, but the toolchain is
+		   configured for -mcpu=arm926ej-s, for example.  */
+		#if __ARM_ARCH  7
+		#error Architecture too old for NEON.
+		#endif
 	} $flags] } {
 		set et_arm_neon_flags $flags
 		return 1


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-12 Thread Ramana Radhakrishnan
Sorry about the slow response- have been on holiday and still catching 
up on email.


On 12/01/15 13:16, Andrew Stubbs wrote:

Ping.

On 23/12/14 16:46, Andrew Stubbs wrote:

On 03/12/14 15:03, Andrew Stubbs wrote:

The tools have always allowed us to drop down the arch to
march=armv5te along with using -mfpu=neon. We are now changing command
line behaviour, so an inform in terms of diagnostics to the user would
be useful as it states that we don't really have mfpu=neon generating
neon code any more because of this particular case. If we are to do
this then the original patch is probably not enough as it then doesn't
handle the case of TARGET_VFP3 / TARGET_VFP5 / TARGET_NEON_FP16 /
TARGET_FP16 / TARGET_FPU_ARMV8 etc. etc. etc.


I'll take a look at those shortly.


Or, not so shortly.



Sigh.



It seems that, on ARM, the arch/CPU setting is basically orthogonal to
the FPU setting, and the compiler doesn't even try to match the one to
the other. The assembler does the same. In fact, the testcases that
James refers to, that have hard-coded -march options, really do emit
armv4 code with Neon, say, although most probably don't have
vectorizable code. They only work because they're most likely executed
on Neon hardware.


Yes - though I'm surprised as I run an armv5te soft float only test run 
once a while on my Sheevaplug and don't see these issues. Maybe others do.




This means that there's no obvious patch to fix the issue, in the
compiler. It's easy to reject Neon for pre-v7 CPUs, but that has
consequences, as we've seen. We'd have to have a table of fall-back FPUs
or something, and that doesn't seem straight-forward (and anyway, I'm
not sure what values to enter into that table).

So, I've attacked the problem from the other end, and updated the
compiler check.

OK to commit?


In principle ok, but I'd like a comment in there explaining why we've 
done this. Can you also post under what configurations these have been 
tested ?



Ramana



Andrew




Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-12 Thread Andrew Stubbs

Ping.

On 23/12/14 16:46, Andrew Stubbs wrote:

On 03/12/14 15:03, Andrew Stubbs wrote:

The tools have always allowed us to drop down the arch to
march=armv5te along with using -mfpu=neon. We are now changing command
line behaviour, so an inform in terms of diagnostics to the user would
be useful as it states that we don't really have mfpu=neon generating
neon code any more because of this particular case. If we are to do
this then the original patch is probably not enough as it then doesn't
handle the case of TARGET_VFP3 / TARGET_VFP5 / TARGET_NEON_FP16 /
TARGET_FP16 / TARGET_FPU_ARMV8 etc. etc. etc.


I'll take a look at those shortly.


Or, not so shortly.

It seems that, on ARM, the arch/CPU setting is basically orthogonal to
the FPU setting, and the compiler doesn't even try to match the one to
the other. The assembler does the same. In fact, the testcases that
James refers to, that have hard-coded -march options, really do emit
armv4 code with Neon, say, although most probably don't have
vectorizable code. They only work because they're most likely executed
on Neon hardware.

This means that there's no obvious patch to fix the issue, in the
compiler. It's easy to reject Neon for pre-v7 CPUs, but that has
consequences, as we've seen. We'd have to have a table of fall-back FPUs
or something, and that doesn't seem straight-forward (and anyway, I'm
not sure what values to enter into that table).

So, I've attacked the problem from the other end, and updated the
compiler check.

OK to commit?

Andrew


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-12-23 Thread Andrew Stubbs

On 03/12/14 15:03, Andrew Stubbs wrote:

The tools have always allowed us to drop down the arch to
march=armv5te along with using -mfpu=neon. We are now changing command
line behaviour, so an inform in terms of diagnostics to the user would
be useful as it states that we don't really have mfpu=neon generating
neon code any more because of this particular case. If we are to do
this then the original patch is probably not enough as it then doesn't
handle the case of TARGET_VFP3 / TARGET_VFP5 / TARGET_NEON_FP16 /
TARGET_FP16 / TARGET_FPU_ARMV8 etc. etc. etc.


I'll take a look at those shortly.


Or, not so shortly.

It seems that, on ARM, the arch/CPU setting is basically orthogonal to 
the FPU setting, and the compiler doesn't even try to match the one to 
the other. The assembler does the same. In fact, the testcases that 
James refers to, that have hard-coded -march options, really do emit 
armv4 code with Neon, say, although most probably don't have 
vectorizable code. They only work because they're most likely executed 
on Neon hardware.


This means that there's no obvious patch to fix the issue, in the 
compiler. It's easy to reject Neon for pre-v7 CPUs, but that has 
consequences, as we've seen. We'd have to have a table of fall-back FPUs 
or something, and that doesn't seem straight-forward (and anyway, I'm 
not sure what values to enter into that table).


So, I've attacked the problem from the other end, and updated the 
compiler check.


OK to commit?

Andrew
2014-12-23  Andrew Stubbs  a...@codesourcery.com

	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
	on ARM architures before v7.

Index: gcc/testsuite/lib/target-supports.exp
===
--- gcc/testsuite/lib/target-supports.exp	(revision 219043)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -2565,6 +2565,9 @@
 	if { [check_no_compiler_messages_nocache arm_neon_ok object {
 		#include arm_neon.h
 		int dummy;
+		#if __ARM_ARCH  7
+		#error Architecture too old for NEON.
+		#endif
 	} $flags] } {
 		set et_arm_neon_flags $flags
 		return 1


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-12-03 Thread Andrew Stubbs

On 02/12/14 21:45, Ramana Radhakrishnan wrote:

I've spent some time this evening pondering over your patch. Firstly
it appears that the current behaviour is going to cause more breakage
than originally expected. If this is to go in we'd have a number of
users having to add -mfloat-abi=soft to the command line option to
ensure that -march=armv5te works just fine on the files where
march=armv5te in the first places.


Agreed. I've just reverted the patch.


I'm not sure that the original patch is enough.

The tools have always allowed us to drop down the arch to
march=armv5te along with using -mfpu=neon. We are now changing command
line behaviour, so an inform in terms of diagnostics to the user would
be useful as it states that we don't really have mfpu=neon generating
neon code any more because of this particular case. If we are to do
this then the original patch is probably not enough as it then doesn't
handle the case of TARGET_VFP3 / TARGET_VFP5 / TARGET_NEON_FP16 /
TARGET_FP16 / TARGET_FPU_ARMV8 etc. etc. etc.


I'll take a look at those shortly.

Andrew


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-12-02 Thread Kyrill Tkachov


On 23/09/14 09:27, James Greenhalgh wrote:

On Mon, Sep 15, 2014 at 11:56:03AM +0100, Andrew Stubbs wrote:

On 15/09/14 10:46, Richard Earnshaw wrote:

Hmm, I wonder if arm_override_options should reject neon + (arch  7).

Is this more to your taste?

Is this really such a good idea? It causes carnage throughout the
testsuite if you have configured with support for Neon and the testcase
is written with dg-options for a pre-armv7-a -march value.

For example in:
   testsuite/gcc.target/arm/di-longlong64-sync-withhelpers.c

Which forces -march=armv5.

Perhaps you just have to fix the effective-target-ok tests - but then
we lose swathes of test coverage.


This also causes subtle Linux kernel compile failures.
Over there they use make rules where they check if the compiler supports 
-march=armv5te and if not use -march=armv4t.
With this patch if the compiler is configured with something like 
--with-fpu=neon the test will fail with your error message,

even though the compiler supports -march=armv5te.

Kyrill




Thanks,
James


Andrew

P.S. arm_override_options was renamed in 2010.
2014-09-15  Andrew Stubbs  a...@codesourcery.com

* gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=neon
when architecture is older than ARMv7.

Index: gcc/config/arm/arm.c
===
--- gcc/config/arm/arm.c(revision 215228)
+++ gcc/config/arm/arm.c(working copy)
@@ -2845,6 +2845,9 @@
  
arm_fpu_desc = all_fpus[arm_fpu_index];
  
+  if (TARGET_NEON  !arm_arch7)

+error (target CPU does not support NEON);
+
switch (arm_fpu_desc-model)
  {
  case ARM_FP_MODEL_VFP:





Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-12-02 Thread Ramana Radhakrishnan
On Tue, Dec 2, 2014 at 2:01 PM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote:

 On 23/09/14 09:27, James Greenhalgh wrote:

 On Mon, Sep 15, 2014 at 11:56:03AM +0100, Andrew Stubbs wrote:

 On 15/09/14 10:46, Richard Earnshaw wrote:

 Hmm, I wonder if arm_override_options should reject neon + (arch  7).

 Is this more to your taste?

 Is this really such a good idea? It causes carnage throughout the
 testsuite if you have configured with support for Neon and the testcase
 is written with dg-options for a pre-armv7-a -march value.

 For example in:
testsuite/gcc.target/arm/di-longlong64-sync-withhelpers.c

 Which forces -march=armv5.

 Perhaps you just have to fix the effective-target-ok tests - but then
 we lose swathes of test coverage.


 This also causes subtle Linux kernel compile failures.
 Over there they use make rules where they check if the compiler supports
 -march=armv5te and if not use -march=armv4t.
 With this patch if the compiler is configured with something like
 --with-fpu=neon the test will fail with your error message,
 even though the compiler supports -march=armv5te.

I've spent some time this evening pondering over your patch. Firstly
it appears that the current behaviour is going to cause more breakage
than originally expected. If this is to go in we'd have a number of
users having to add -mfloat-abi=soft to the command line option to
ensure that -march=armv5te works just fine on the files where
march=armv5te in the first places.

I'm not sure that the original patch is enough.

The tools have always allowed us to drop down the arch to
march=armv5te along with using -mfpu=neon. We are now changing command
line behaviour, so an inform in terms of diagnostics to the user would
be useful as it states that we don't really have mfpu=neon generating
neon code any more because of this particular case. If we are to do
this then the original patch is probably not enough as it then doesn't
handle the case of TARGET_VFP3 / TARGET_VFP5 / TARGET_NEON_FP16 /
TARGET_FP16 / TARGET_FPU_ARMV8 etc. etc. etc.




regards
Ramana





 Kyrill




 Thanks,
 James

 Andrew

 P.S. arm_override_options was renamed in 2010.
 2014-09-15  Andrew Stubbs  a...@codesourcery.com

 * gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=neon
 when architecture is older than ARMv7.

 Index: gcc/config/arm/arm.c
 ===
 --- gcc/config/arm/arm.c(revision 215228)
 +++ gcc/config/arm/arm.c(working copy)
 @@ -2845,6 +2845,9 @@
   arm_fpu_desc = all_fpus[arm_fpu_index];
   +  if (TARGET_NEON  !arm_arch7)
 +error (target CPU does not support NEON);
 +
 switch (arm_fpu_desc-model)
   {
   case ARM_FP_MODEL_VFP:





Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-11-27 Thread Mike Stump
On Nov 26, 2014, at 4:24 AM, Andrew Stubbs andrew_stu...@mentor.com wrote:

 On 14/11/14 11:12, Andrew Stubbs wrote:
 On 07/11/14 10:35, Andrew Stubbs wrote:
   if armv6 never co-exist with NEON, personally I think your original
 patch is better
   because TARGET_NEON generally will be used when all options are
 processed.
 
   any way, this needs gate keeper's approval.
 
 Ping, Richard.
 
 Ping.
 
 Ping.

Could you include a link or the patch.  If the test suite, I'll review it if no 
one else steps up.

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-11-27 Thread Andrew Stubbs

On 27/11/14 17:05, Mike Stump wrote:

Could you include a link or the patch.  If the test suite, I'll review it if no 
one else steps up.


The original patch is here:

https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01119.html

Thanks

Andrew


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-11-27 Thread Mike Stump
On Nov 27, 2014, at 9:28 AM, Andrew Stubbs a...@codesourcery.com wrote:
 On 27/11/14 17:05, Mike Stump wrote:
 Could you include a link or the patch.  If the test suite, I'll review it if 
 no one else steps up.
 
 The original patch is here:
 
 https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01119.html

Sorry, arm people will have to approve...  Many reasonable choices, yet I bet 
only one is best.

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-11-26 Thread Andrew Stubbs

On 14/11/14 11:12, Andrew Stubbs wrote:

On 07/11/14 10:35, Andrew Stubbs wrote:

   if armv6 never co-exist with NEON, personally I think your original
patch is better
   because TARGET_NEON generally will be used when all options are
processed.

   any way, this needs gate keeper's approval.


Ping, Richard.


Ping.


Ping.

Andrew



Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-11-14 Thread Andrew Stubbs

On 07/11/14 10:35, Andrew Stubbs wrote:

   if armv6 never co-exist with NEON, personally I think your original
patch is better
   because TARGET_NEON generally will be used when all options are
processed.

   any way, this needs gate keeper's approval.


Ping, Richard.


Ping.



Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-11-07 Thread Andrew Stubbs

   if armv6 never co-exist with NEON, personally I think your original
patch is better
   because TARGET_NEON generally will be used when all options are
processed.

   any way, this needs gate keeper's approval.


Ping, Richard.

Andrew



Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-10-16 Thread Jiong Wang


On 15/10/14 17:58, Andrew Stubbs wrote:

On 15/10/14 17:34, Jiong Wang wrote:

On 23/09/14 16:22, Stubbs, Andrew wrote:

Maybe the original patch is better? Or maybe it should reconfigure the
FPU instead of erroring out? But reconfigure it to what?

   Andrew,

are you still working on this?
a bunch of tests on my local environment failed because of the reason
James mentioned. for example gcc.target/arm/xor-and.c etc.

I can do, but nobody had any suggestions of a better fix.

It seems that the testsuite is broken different ways with and without
neon. I get it running (and failing) NEON tests on multilibs it should
not, and you get it failing non-NEON tests on toolchains configured to
have NEON by default.

I can apply my original patch, if that works better?


Hi Andrew,

  if armv6 never co-exist with NEON, personally I think your original patch is 
better
  because TARGET_NEON generally will be used when all options are processed.

  any way, this needs gate keeper's approval.

  thanks.

Regards,
Jiong



Andrew








Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-10-15 Thread Jiong Wang

On 23/09/14 16:22, Stubbs, Andrew wrote:

Maybe the original patch is better? Or maybe it should reconfigure the FPU 
instead of erroring out? But reconfigure it to what?


 Andrew,

  are you still working on this?
  
  a bunch of tests on my local environment failed because of the reason James mentioned. for example gcc.target/arm/xor-and.c etc.


...
gcc.target/arm/xor-and.c:1:0: error: target CPU does not support NEON
...

Regards.
Jiong



Andrew

From: James Greenhalgh [james.greenha...@arm.com]
Sent: 23 September 2014 09:27
To: Stubbs, Andrew
Cc: Richard Earnshaw; gcc-patches@gcc.gnu.org
Subject: Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

On Mon, Sep 15, 2014 at 11:56:03AM +0100, Andrew Stubbs wrote:

On 15/09/14 10:46, Richard Earnshaw wrote:

Hmm, I wonder if arm_override_options should reject neon + (arch  7).

Is this more to your taste?

Is this really such a good idea? It causes carnage throughout the
testsuite if you have configured with support for Neon and the testcase
is written with dg-options for a pre-armv7-a -march value.

For example in:
   testsuite/gcc.target/arm/di-longlong64-sync-withhelpers.c

Which forces -march=armv5.

Perhaps you just have to fix the effective-target-ok tests - but then
we lose swathes of test coverage.

Thanks,
James


Andrew

P.S. arm_override_options was renamed in 2010.
2014-09-15  Andrew Stubbs  a...@codesourcery.com

   * gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=neon
   when architecture is older than ARMv7.

Index: gcc/config/arm/arm.c
===
--- gcc/config/arm/arm.c  (revision 215228)
+++ gcc/config/arm/arm.c  (working copy)
@@ -2845,6 +2845,9 @@

arm_fpu_desc = all_fpus[arm_fpu_index];

+  if (TARGET_NEON  !arm_arch7)
+error (target CPU does not support NEON);
+
switch (arm_fpu_desc-model)
  {
  case ARM_FP_MODEL_VFP:








Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-10-15 Thread Andrew Stubbs

On 15/10/14 17:34, Jiong Wang wrote:

On 23/09/14 16:22, Stubbs, Andrew wrote:

Maybe the original patch is better? Or maybe it should reconfigure the
FPU instead of erroring out? But reconfigure it to what?


  Andrew,

   are you still working on this?
   a bunch of tests on my local environment failed because of the reason
James mentioned. for example gcc.target/arm/xor-and.c etc.


I can do, but nobody had any suggestions of a better fix.

It seems that the testsuite is broken different ways with and without 
neon. I get it running (and failing) NEON tests on multilibs it should 
not, and you get it failing non-NEON tests on toolchains configured to 
have NEON by default.


I can apply my original patch, if that works better?

Andrew


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-23 Thread James Greenhalgh
On Mon, Sep 15, 2014 at 11:56:03AM +0100, Andrew Stubbs wrote:
 On 15/09/14 10:46, Richard Earnshaw wrote:
  Hmm, I wonder if arm_override_options should reject neon + (arch  7).
 
 Is this more to your taste?

Is this really such a good idea? It causes carnage throughout the
testsuite if you have configured with support for Neon and the testcase
is written with dg-options for a pre-armv7-a -march value.

For example in:
  testsuite/gcc.target/arm/di-longlong64-sync-withhelpers.c 

Which forces -march=armv5.

Perhaps you just have to fix the effective-target-ok tests - but then
we lose swathes of test coverage.

Thanks,
James

 
 Andrew
 
 P.S. arm_override_options was renamed in 2010.

 2014-09-15  Andrew Stubbs  a...@codesourcery.com
 
   * gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=neon
   when architecture is older than ARMv7.
 
 Index: gcc/config/arm/arm.c
 ===
 --- gcc/config/arm/arm.c  (revision 215228)
 +++ gcc/config/arm/arm.c  (working copy)
 @@ -2845,6 +2845,9 @@
  
arm_fpu_desc = all_fpus[arm_fpu_index];
  
 +  if (TARGET_NEON  !arm_arch7)
 +error (target CPU does not support NEON);
 +
switch (arm_fpu_desc-model)
  {
  case ARM_FP_MODEL_VFP:


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-17 Thread Andrew Stubbs

On 15/09/14 14:29, Richard Earnshaw wrote:

Yep, that's fine.


Committed, thanks.

Andrew



Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-15 Thread Richard Earnshaw
On 13/09/14 22:39, Andrew Stubbs wrote:
 Hi,
 
 I get a lot of vect/* and neon-* test failure in my armv5te testing 
 because the arm_neon_ok test incorrectly detects that NEON is valid on 
 arm926ej-s.
 
 It turns out that the reason is that the compiler only disallows NEON 
 for Thumb1 or soft-float configurations. Otherwise it just takes 
 -mfpu=neon at face value, regardless of -march or -mcpu.
 
 This patch limits NEON to armv7 or higher.
 
 OK?
 
 Andrew
 
 
 arm_neon_ok.patch
 
 
 2014-09-13  Andrew Stubbs  a...@codesourcery.com
 
   gcc/
   * config/arm/arm.h (TARGET_NEON): Ensure target is v7 or higher.
 
 Index: gcc/config/arm/arm.h
 ===
 --- gcc/config/arm/arm.h  (revision 215228)
 +++ gcc/config/arm/arm.h  (working copy)
 @@ -323,6 +323,7 @@
 and TARGET_HARD_FLOAT to ensure that NEON instructions are
 available.  */
  #define TARGET_NEON (TARGET_32BIT  TARGET_HARD_FLOAT \
 +   arm_arch7 \
 TARGET_VFP  arm_fpu_desc-neon)
  
  /* Q-bit is present.  */
 


Hmm, I wonder if arm_override_options should reject neon + (arch  7).

R.



Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-15 Thread Andrew Stubbs

On 15/09/14 10:46, Richard Earnshaw wrote:

Hmm, I wonder if arm_override_options should reject neon + (arch  7).


Is this more to your taste?

Andrew

P.S. arm_override_options was renamed in 2010.
2014-09-15  Andrew Stubbs  a...@codesourcery.com

	* gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=neon
	when architecture is older than ARMv7.

Index: gcc/config/arm/arm.c
===
--- gcc/config/arm/arm.c	(revision 215228)
+++ gcc/config/arm/arm.c	(working copy)
@@ -2845,6 +2845,9 @@
 
   arm_fpu_desc = all_fpus[arm_fpu_index];
 
+  if (TARGET_NEON  !arm_arch7)
+error (target CPU does not support NEON);
+
   switch (arm_fpu_desc-model)
 {
 case ARM_FP_MODEL_VFP:


Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-15 Thread Richard Earnshaw
On 15/09/14 11:56, Andrew Stubbs wrote:
 On 15/09/14 10:46, Richard Earnshaw wrote:
 Hmm, I wonder if arm_override_options should reject neon + (arch  7).
 
 Is this more to your taste?
 

Yep, that's fine.

 Andrew
 
 P.S. arm_override_options was renamed in 2010.

I'm getting old :-(

R.

 
 
 arm_neon_ok-2.patch
 
 
 2014-09-15  Andrew Stubbs  a...@codesourcery.com
 
   * gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=neon
   when architecture is older than ARMv7.
 
 Index: gcc/config/arm/arm.c
 ===
 --- gcc/config/arm/arm.c  (revision 215228)
 +++ gcc/config/arm/arm.c  (working copy)
 @@ -2845,6 +2845,9 @@
  
arm_fpu_desc = all_fpus[arm_fpu_index];
  
 +  if (TARGET_NEON  !arm_arch7)
 +error (target CPU does not support NEON);
 +
switch (arm_fpu_desc-model)
  {
  case ARM_FP_MODEL_VFP: