i386: Adjust rtx cost for imulq and imulw [PR115749]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-early-break_84.c
blob242ba453533e40f23dd29d27cbc419ca98e2b77c
1 /* { dg-add-options vect_early_break } */
2 /* { dg-require-effective-target vect_early_break_hw } */
3 /* { dg-require-effective-target vect_int } */
5 /* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "x86_64-*-* i?86-*-*" } } } } */
7 #include <stdbool.h>
9 #include "tree-vect.h"
11 #ifndef N
12 #define N 17
13 #endif
14 bool vect_a[N] = { false, false, true, false, false, false,
15 false, false, false, false, false, false,
16 false, false, false, false, false };
17 unsigned vect_b[N] = { 0 };
19 __attribute__ ((noinline, noipa))
20 unsigned test4(bool x)
22 unsigned ret = 0;
23 for (int i = 0; i < N; i++)
25 if (vect_a[i] == x)
26 return 1;
27 vect_a[i] = x;
30 return ret;
33 extern void abort ();
35 int main ()
37 check_vect ();
39 if (test4 (true) != 1)
40 abort ();
42 if (vect_b[2] != 0 && vect_b[1] == 0)
43 abort ();