Patchwork [ARM,testsuite] Add testsuite options for AArch32 NEON

login
register
mail settings
Submitter Kyrylo Tkachov
Date Dec. 11, 2012, 12:30 p.m.
Message ID <005e01cdd79b$5d210440$17630cc0$@tkachov@arm.com>
Download mbox | patch
Permalink /patch/205194/
State New
Headers show

Comments

Kyrylo Tkachov - Dec. 11, 2012, 12:30 p.m.
Hi all,

Since the new AArch32 NEON instructions in arm_neon.h are predicated on
__ARM_ARCH 8 the testsuite add_options procedure should also include
-march=armv8-a to make these instructions available.

This makes the new vrnd* tests in gcc.target/arm/neon PASS in situations
where armv8-a is not the default target.
No regressions otherwise on arm-none-eabi.

Ok for trunk?

Thanks,
Kyrill

gcc/testsuite/ChangeLog

2012-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* lib/target-supports.exp (add_options_for_arm_v8_neon):
	Add -march=armv8-a.
Richard Earnshaw - Dec. 17, 2012, 2:12 p.m.
On 11/12/12 12:30, Kyrylo Tkachov wrote:
> Hi all,
>
> Since the new AArch32 NEON instructions in arm_neon.h are predicated on
> __ARM_ARCH 8 the testsuite add_options procedure should also include
> -march=armv8-a to make these instructions available.
>
> This makes the new vrnd* tests in gcc.target/arm/neon PASS in situations
> where armv8-a is not the default target.
> No regressions otherwise on arm-none-eabi.
>
> Ok for trunk?
>

OK.

Don't you need to do the same thing for add_options_for_arm_v8_vfp?

R.
Kyrylo Tkachov - Dec. 17, 2012, 3:27 p.m.
> -----Original Message-----
> From: Richard Earnshaw
> Sent: 17 December 2012 14:13
> To: Kyrylo Tkachov
> Cc: gcc-patches@gcc.gnu.org; Ramana Radhakrishnan
> Subject: Re: [PATCH][ARM][testsuite] Add testsuite options for AArch32
> NEON
> 
> On 11/12/12 12:30, Kyrylo Tkachov wrote:
> > Hi all,
> >
> > Since the new AArch32 NEON instructions in arm_neon.h are predicated
> on
> > __ARM_ARCH 8 the testsuite add_options procedure should also include
> > -march=armv8-a to make these instructions available.
> >
> > This makes the new vrnd* tests in gcc.target/arm/neon PASS in
> situations
> > where armv8-a is not the default target.
> > No regressions otherwise on arm-none-eabi.
> >
> > Ok for trunk?
> >
> 
> OK.

Thanks for the review, Richard. Committed as r194556.

> 
> Don't you need to do the same thing for add_options_for_arm_v8_vfp?

Shouldn't need that for the scalar v8 FP tests. The -march=armv8-a for the
NEON intrinsic tests is only needed because the intrinsics in arm_neon.h are
only available when __ARM_ARCH is >= 8.
The scalar floating point instructions only depend on the fpu and not the
architecture.

> 
> R.

Thanks,
Kyrill

Patch

diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index ef93ad1..493a38a 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2186,7 +2186,7 @@  proc add_options_for_arm_v8_neon { flags } {
     if { ! [check_effective_target_arm_v8_neon_ok] } {
         return "$flags"
     }
-    return "$flags -mfpu=neon-fp-armv8 -mfloat-abi=softfp"
+    return "$flags -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=softfp"
 }
 
 # Add the options needed for NEON.  We need either -mfloat-abi=softfp