This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [arm][patch] fix arm_neon_ok check on !arm_arch7
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Andrew Stubbs <ams at codesourcery dot com>
- Cc: Richard Earnshaw <Richard dot Earnshaw at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 23 Sep 2014 09:27:17 +0100
- Subject: Re: [arm][patch] fix arm_neon_ok check on !arm_arch7
- Authentication-results: sourceware.org; auth=none
- References: <5414B99D dot 3020202 at codesourcery dot com> <5416B580 dot 9070208 at arm dot com> <5416C5C3 dot 8070603 at codesourcery dot com>
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: