i386: Adjust rtx cost for imulq and imulw [PR115749]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-early-break_68.c
blobdfa90b557e87ca67d3d7a66d23084a4fff6fd4b9
1 /* { dg-add-options vect_early_break } */
2 /* { dg-do compile } */
3 /* { dg-require-effective-target vect_early_break } */
4 /* { dg-require-effective-target vect_int } */
6 /* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
8 #ifndef N
9 #define N 800
10 #endif
11 unsigned vect_a1[N];
12 unsigned vect_b1[N];
13 unsigned vect_c1[N];
14 unsigned vect_d1[N];
16 unsigned vect_a2[N];
17 unsigned vect_b2[N];
18 unsigned vect_c2[N];
19 unsigned vect_d2[N];
21 unsigned test4(unsigned x)
23 unsigned ret = 0;
24 for (int i = 0; i < N; i++)
26 vect_b1[i] += x + i;
27 vect_c1[i] += x + i;
28 vect_d1[i] += x + i;
29 if (vect_a1[i]*2 != x)
30 break;
31 vect_a1[i] = x;
33 vect_b2[i] += x + i;
34 vect_c2[i] += x + i;
35 vect_d2[i] += x + i;
36 if (vect_a2[i]*2 != x)
37 break;
38 vect_a2[i] = x;
41 return ret;