1 /* { dg-require-effective-target vect_int } */
8 __attribute__ ((noinline)) void
9 foo (int *__restrict a,
15 for (i = 0; i < n; i++)
18 for (i = 0; i < n; i++)
19 if (a[i] != b[i] * 2333)
23 __attribute__ ((noinline)) void
24 bar (int *__restrict a,
30 for (i = 0; i < n; i++)
31 a[i] = b[i] * (short) 2333;
33 for (i = 0; i < n; i++)
34 if (a[i] != b[i] * (short) 2333)
44 for (i = 0; i < N; i++)
48 __asm__ volatile ("");
56 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_widen_mult_hi_to_si } } } */
57 /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
58 /* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
59 /* { dg-final { cleanup-tree-dump "vect" } } */