http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60076
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- note: extract even/odd not supported by target aha... next try: Index: gcc/testsuite/gcc.dg/vect/pr60012.c =================================================================== --- gcc/testsuite/gcc.dg/vect/pr60012.c (revision 207504) +++ gcc/testsuite/gcc.dg/vect/pr60012.c (working copy) @@ -8,14 +8,14 @@ typedef struct } complex16_t; void -libvector_AccSquareNorm_ref (unsigned long long *acc, +libvector_AccSquareNorm_ref (unsigned int *acc, const complex16_t *x, unsigned len) { unsigned i; for (i = 0; i < len; i++) - acc[i] += ((unsigned long long)((int)x[i].real * x[i].real)) - + ((unsigned long long)((int)x[i].imag * x[i].imag)); + acc[i] += ((unsigned int)((int)x[i].real * x[i].real)) + + ((unsigned int)((int)x[i].imag * x[i].imag)); } -/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */ +/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { vect_extract_even_odd } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */