/* { dg-do compile } */ | |
/* { dg-require-effective-target vect_int } */ | |
/* For negative stride we need to reverse the aligned load. */ | |
/* { dg-require-effective-target vect_perm } */ | |
void b (int *p) | |
{ | |
p = (int *)__builtin_assume_aligned(p, __BIGGEST_ALIGNMENT__); | |
int *q = p + 255; | |
for(; p < q; ++p, --q) | |
{ | |
int t = *p; | |
*p = *q; | |
*q = t; | |
} | |
} | |
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ |