/* { dg-require-effective-target vect_int } */ #include "tree-vect.h" #define M 10 #define N 3 void __attribute__((noinline)) foo (int n, int *ub, int *uc) { int i, j, tmp1; for (i = 0; i < n; i++) { tmp1 = 0; for (j = 0; j < M; j++) { tmp1 += uc[i] * ((int)(j << N) / M); } ub[i] = tmp1; } } int main() { int uc[16], ub[16]; check_vect (); foo (16, uc, ub); return 0; } /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_int_mult } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */