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

Jiong Wang jiong.wang@arm.com
Wed Oct 15 16:37:00 GMT 2014


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.greenhalgh@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  <ams@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:
>
>




More information about the Gcc-patches mailing list