- -----Original Message----- > From: Ramana Radhakrishnan > Sent: 05 April 2013 15:06 > To: Kyrylo Tkachov > Cc: gcc-patches@gcc.gnu.org; mikest...@comcast.net > 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- > rounding* > > tests will FAIL because they need ARMv8 NEON options. > > > > Therefore this patch reverts most of that and instead copies the > rounding > > 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 good idea, 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 ARMv8) 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. Kyrill > > Ramana > > > > > > > Thanks, > > Kyrill > > > > gcc/testsuite > > 2013-04-05 Kyrylo Tkachov <kyrylo.tkac...@arm.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. > >