This is the mail archive of the
mailing list for the GCC project.
RE: [PATCH][ARM][testsuite] Fix testsuite options for testing rounding vectorisation on ARMv8
- From: "Kyrylo Tkachov" <kyrylo dot tkachov at arm dot com>
- To: "Ramana Radhakrishnan" <Ramana dot Radhakrishnan at arm dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>, <mikestump at comcast dot net>
- Date: Fri, 5 Apr 2013 15:44:03 +0100
- Subject: RE: [PATCH][ARM][testsuite] Fix testsuite options for testing rounding vectorisation on ARMv8
- References: <01b101ce31fe$62857250$279056f0$ at firstname.lastname@example.org> <515EDA2A dot 5070308 at arm dot com>
- -----Original Message-----
> From: Ramana Radhakrishnan
> Sent: 05 April 2013 15:06
> To: Kyrylo Tkachov
> Cc: email@example.com; firstname.lastname@example.org
> Subject: Re: [PATCH][ARM][testsuite] Fix testsuite options for testing
> rounding vectorisation on ARMv8
> On 04/05/13 14:06, Kyrylo Tkachov wrote:
> > Hi all,
> > With r197491 I added testsuite support for vectorisation of rounding
> > functions on ARMv8 NEON, but the options set up
> > for vect.exp results in the testsuite trying to test all the vect
> tests with
> > ARMv8 NEON which does not work on
> > ARMv7 targets and simulators that don't support ARMv8 (like qemu).
> > But if we run the tests using v7 NEON, the newly enabled vect-
> > tests will FAIL because they need ARMv8 NEON options.
> > Therefore this patch reverts most of that and instead copies the
> > vectorisation tests to gcc.target/arm
> > where the correct options can be set.
> > Tested arm-none-eabi on qemu to make sure that the execution tests
> come back
> > and use v7 NEON
> > Ok for trunk?
> Ok by me but I'd like Mike to have another look.
> It's a bit unfortunate we need to copy these tests over for the
> architecture levels we need - there is a good project to restructure
> gcc.target/arm to test properly at different arch. levels but for the
> minute this is the best compromise.
While differentiating between architecture levels in the gcc.target/arm is a
I think in this case the problem is that when testing gcc.dg/vect/ we use
check_vect_support_and_set_flags to set a common set of flags for all the
tests in that directory.
But when for the same target (i.e. arm-none-eabi, which could be ARMv7 or
different FPU options provide different vectorisation capabilities things
gets messy when we want
to test something that one FPU supports and another doesn't. Since the
vect.exp tests are common
we cannot add arm-specific FPU options there.
> > Thanks,
> > Kyrill
> > gcc/testsuite
> > 2013-04-05 Kyrylo Tkachov <email@example.com>
> > * lib/target-supports.exp (add_options_for_arm_v8_neon):
> > Add -march=armv8-a when we use v8 NEON.
> > (check_effective_target_vect_call_btruncf): Remove arm-*-*-*.
> > (check_effective_target_vect_call_ceilf): Likewise.
> > (check_effective_target_vect_call_floorf): Likewise.
> > (check_effective_target_vect_call_roundf): Likewise.
> > (check_vect_support_and_set_flags): Remove check for arm_v8_neon.
> > * gcc.target/arm/vect-rounding-btruncf.c: New testcase.
> > * gcc.target/arm/vect-rounding-ceilf.c: Likewise.
> > * gcc.target/arm/vect-rounding-floorf.c: Likewise.
> > * gcc.target/arm/vect-rounding-roundf.c: Likewise.