Merge from trunk
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-neg-store-1.c
blob178f0a1ec9d07d89b40c00bd13f3655b60e4ef30
1 /* { dg-require-effective-target vect_int } */
2 #include <stdlib.h>
4 __attribute__((noinline, noclone))
5 void test1(short x[128])
7 int i;
8 for (i=127; i>=0; i--) {
9 x[i] = 1234;
13 int main (void)
15 short x[128 + 32];
16 int i;
18 for (i = 0; i < 16; i ++)
20 asm ("");
21 x[i] = x[i + 144] = 5678;
24 test1 (x + 16);
26 for (i = 0; i < 128; i++)
27 if (x[i + 16] != 1234)
28 abort ();
30 for (i = 0; i < 16; i++)
31 if (x[i] != 5678
32 || x[i + 144] != 5678)
33 abort ();
35 return 0;
38 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
39 /* { dg-final { cleanup-tree-dump "vect" } } */