Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-outer-2c.c
blobda3748dc223752c60b32ad5d8589f1927f11937b
1 /* { dg-require-effective-target vect_float } */
2 /* { dg-require-effective-target vect_intfloat_cvt } */
3 #include <stdarg.h>
4 #include "tree-vect.h"
6 #define N 40
7 float image[2*N][2*N][N] __attribute__ ((__aligned__(16)));
9 __attribute__ ((noinline)) void
10 foo (){
11 int i,j,k;
13 for (k=0; k<N; k++) {
14 for (i = 0; i < N; i++) {
15 for (j = 0; j < N; j+=2) {
16 image[k][j][i] = j+i+k;
22 int main (void)
24 check_vect ();
25 int i, j, k;
27 foo ();
29 for (k=0; k<N; k++) {
30 for (i = 0; i < N; i++) {
31 for (j = 0; j < N; j+=2) {
32 if (image[k][j][i] != j+i+k)
33 abort ();
38 return 0;
41 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" } } */
42 /* { dg-final { cleanup-tree-dump "vect" } } */