c++: wrong error due to std::initializer_list opt [PR116476]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-117.c
blob4755e39f951d89f3d57116002d97bb6bc6a6a42b
1 /* { dg-require-effective-target vect_int } */
2 /* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */
4 #include <stdarg.h>
5 #include "tree-vect.h"
7 #define N 5
9 static int a[N][N] = {{ 1, 2, 3, 4, 5},
10 { 6, 7, 8, 9,10},
11 {11,12,13,14,15},
12 {16,17,18,19,20},
13 {21,22,23,24,25}};
15 static int c[N][N] = {{ 1, 2, 3, 4, 5},
16 { 7, 9,11, 13,15},
17 {18,21,24,27,30},
18 {34,38,42,46,50},
19 {55,60,65,70,75}};
21 __attribute__ ((noinline))
22 int main1 (int A[N][N], int n)
25 int i,j;
27 /* vectorizable */
28 for (i = 1; i < N; i++)
30 for (j = 0; j < n; j++)
32 A[i][j] = A[i-1][j] + A[i][j];
36 return 0;
39 int main (void)
41 int i,j;
43 check_vect ();
45 main1 (a, N);
47 /* check results: */
49 for (i = 0; i < N; i++)
51 #pragma GCC novector
52 for (j = 0; j < N; j++)
54 if (a[i][j] != c[i][j])
55 abort();
58 return 0;
61 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
62 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 0 "vect" } } */
64 /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" { target { lp64 } } } } */