This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][ARM][testsuite] Fix testsuite options for testing rounding vectorisation on ARMv8


On 04/05/13 15:44, Kyrylo Tkachov wrote:
- -----Original Message-----
From: Ramana Radhakrishnan
Sent: 05 April 2013 15:06
To: Kyrylo Tkachov
Cc: gcc-patches@gcc.gnu.org; mikestump@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.

Yeah ok then.

regards
Ramana


Kyrill


Ramana




Thanks,
Kyrill

gcc/testsuite
2013-04-05  Kyrylo Tkachov  <kyrylo.tkachov@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.







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]