Imported Upstream version 4.7.3
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.dg / vect / no-scevccp-slp-31.c
1 /* { dg-require-effective-target vect_int } */
2
3 #include <stdarg.h>
4 #include "tree-vect.h"
5
6 #define N 128 
7
8 int
9 main1 ()
10 {
11   int i, j;
12   unsigned short out[N*8], a[N][N];
13    
14  for (i = 0; i < N; i++)
15    {
16     for (j = 0; j < N; j++)
17       {
18         a[i][j] = 8;
19       }
20     out[i*4] = 8;
21     out[i*4 + 1] = 18;
22     out[i*4 + 2] = 28;
23     out[i*4 + 3] = 38;
24    }
25
26   /* check results:  */
27  for (i = 0; i < N; i++)
28    {
29     for (j = 0; j < N; j++) 
30       {
31         if (a[i][j] != 8)
32            abort ();
33       }
34     if (out[i*4] != 8
35         || out[i*4 + 1] != 18
36         || out[i*4 + 2] != 28
37         || out[i*4 + 3] != 38)
38       abort();
39    }
40
41
42   return 0;
43 }
44
45 int main (void)
46 {
47   check_vect ();
48
49   main1 ();
50
51   return 0;
52 }
53
54 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  } } */
55 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect"  } } */
56 /* { dg-final { cleanup-tree-dump "vect" } } */
57