libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-novect_gcond.c
blob01e69cbef9d51b234c08a400c78dc078d53252f1
1 /* { dg-add-options vect_early_break } */
2 /* { dg-require-effective-target vect_early_break_hw } */
3 /* { dg-require-effective-target vect_int } */
4 /* { dg-additional-options "-O3" } */
6 /* { dg-final { scan-tree-dump-not "LOOP VECTORIZED" "vect" } } */
8 #include "tree-vect.h"
10 #define N 306
11 #define NEEDLE 136
13 int table[N];
15 __attribute__ ((noipa))
16 int foo (int i, unsigned short parse_tables_n)
18 parse_tables_n >>= 9;
19 parse_tables_n += 11;
20 #pragma GCC novector
21 while (i < N && parse_tables_n--)
22 table[i++] = 0;
24 return table[NEEDLE];
27 int main ()
29 check_vect ();
31 #pragma GCC novector
32 for (int j = 0; j < N; j++)
33 table[j] = -1;
35 if (foo (0, 0xFFFF) != 0)
36 __builtin_abort ();
38 return 0;