[PATCH, ARM, RFC] Fix vect.exp failures for NEON in big-endian mode

Julian Brown julian@codesourcery.com
Thu Feb 28 10:06:00 GMT 2013


On Wed, 27 Feb 2013 11:04:04 -0800
Janis Johnson <janis_johnson@mentor.com> wrote:

> On 02/27/2013 09:29 AM, Julian Brown wrote:
> > Index: gcc/testsuite/gcc.dg/vect/slp-cond-3.c
> > ===================================================================
> > --- gcc/testsuite/gcc.dg/vect/slp-cond-3.c	(revision 196170)
> > +++ gcc/testsuite/gcc.dg/vect/slp-cond-3.c	(working copy)
> > @@ -79,6 +79,6 @@ int main ()
> >    return 0;
> >  }
> >  
> > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP"
> > 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorizing
> > stmts using SLP" 1 "vect" { xfail { ! vect_unpack } } } } */ /*
> > { dg-final { cleanup-tree-dump "vect" } } */ 
> 
> If this and other modified checks only fail for ARM big-endian then
> they should check for that so they don't XPASS for other targets.
> It's also possible now to do things like { target vect_blah xfail
> arm_big_endian }, which might be useful for some tests.

I don't think I understand -- my expectation was e.g. that that test
would fail for any target which doesn't support vect_unpack. Surely
you'd only get an XPASS if the test passed when vect_unpack was not
true?

I'm not sure why checking for a particular architecture-specific
predicate would be preferable to checking that a general feature is
supported. As time progresses, it might well be that e.g. vect_unpack
becomes supported for big-endian ARM, at which point we shouldn't need
to edit all the individual tests again...

Thanks,

Julian



More information about the Gcc-patches mailing list