OSDN Git Service

* tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vect / pr25413.c
1 /* { dg-require-effective-target vect_double } */
2
3 #include <stdarg.h>
4 #include "tree-vect.h"
5
6 #define N 8
7
8 struct
9 {
10   char c;
11   double d[N];
12 } a;
13
14 int main1()
15 {
16   int i;
17   for ( i=0; i<N; ++i )
18     a.d[i]=1;
19   return 0;
20 }
21
22 int main (void)
23
24   int i;
25   check_vect ();
26   
27   main1 ();
28   for (i=0; i<N; i++)
29     if (a.d[i] != 1)
30       abort ();
31   return 0;
32
33
34 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vector_alignment_reachable_for_double } } } */
35 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vector_alignment_reachable_for_double } } } } */
36 /* { dg-final { scan-tree-dump-times "vector alignment may not be reachable" 1 "vect" { target { ! vector_alignment_reachable_for_double } } } } */
37 /* { dg-final { scan-tree-dump-times "not vectorized: unsupported unaligned store" 1 "vect" { target { ! vector_alignment_reachable_for_double } } } } */
38 /* { dg-final { cleanup-tree-dump "vect" } } */