/* { dg-additional-options "-mavx2" { target avx2_runtime } } */ | |
void __attribute__((noipa)) | |
foo (int * __restrict wsum, int * __restrict cff, int * __restrict weight) | |
{ | |
for (int i = 0; i < 16; ++i) | |
{ | |
*wsum += weight[2*i+0]; | |
*cff += weight[2*i+1]; | |
} | |
} | |
int main() | |
{ | |
int weight[32]; | |
for (int i = 0; i < 32; ++i) | |
weight[i] = i; | |
int wsum = 0, cff = 0; | |
foo (&wsum, &cff, weight); | |
if (wsum != 240 || cff != 256) | |
__builtin_abort (); | |
return 0; | |
} | |
/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 0 "vect" } } */ |