https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

--- Comment #23 from Rainer Orth <ro at gcc dot gnu.org> ---
(In reply to rguent...@suse.de from comment #22)
> On Mon, 24 Oct 2016, ebotcazou at gcc dot gnu.org wrote:
> 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264
> > 
> > --- Comment #21 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> > > It is supposed to be vectorized on targets w/o V4QImode support.
> > > Not sure if the list of targets that FAIL the testcase would be smaller
> > > if I change the scan to an explicit list of targets (x86)?
> > 
> > Not sure indeed, it passes on PowerPC & PowerPC64 too for example.
> > 
> > > Meanwhile just add more targets to the xfail -- it really is a missed
> > > optimization as I guess for example arm also has V4SImode.
> > 
> > There is no XFAIL currently but we can certainly add one.
> 
> Ah, right ... my tree has local changes:
> 
> Index: gcc/testsuite/gcc.dg/vect/pr71264.c
> ===================================================================
> --- gcc/testsuite/gcc.dg/vect/pr71264.c (revision 241395)
> +++ gcc/testsuite/gcc.dg/vect/pr71264.c (working copy)
> @@ -7,6 +7,8 @@ typedef uint8_t footype __attribute__((v
>  void test(uint8_t *ptr, uint8_t *mask)
>  {
>    footype mv;
> +  ptr = __builtin_assume_aligned (ptr, __alignof__ (footype));
> +  mask = __builtin_assume_aligned (mask, __alignof__ (footype));
>    __builtin_memcpy(&mv, mask, sizeof(mv));
>    for (unsigned i = 0; i < 16; i += 4)
>      {
> @@ -17,4 +19,4 @@ void test(uint8_t *ptr, uint8_t *mask)
>      }
>  }
>  
> -/* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" } 
> } */
> +/* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { 
> xfail sparc*-*-* } } } */

Shouldn't this patch be applied then?

  Rainer

Reply via email to