https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264
--- Comment #22 from rguenther at suse dot de <rguenther at suse dot de> --- 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*-*-* } } } */