111
|
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 __attribute__ ((noinline))
|
|
15 int main1()
|
|
16 {
|
|
17 int i;
|
|
18 for ( i=0; i<N; ++i )
|
|
19 a.d[i]=1;
|
|
20 return 0;
|
|
21 }
|
|
22
|
|
23 int main (void)
|
|
24 {
|
|
25 int i;
|
|
26 check_vect ();
|
|
27
|
|
28 main1 ();
|
|
29 for (i=0; i<N; i++)
|
|
30 if (a.d[i] != 1)
|
|
31 abort ();
|
|
32 return 0;
|
|
33 }
|
|
34
|
|
35 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vector_alignment_reachable_for_64bit } } } */
|
|
36 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { {! vector_alignment_reachable_for_64bit} && {! vect_hw_misalign} } } } } */
|
|
37 /* { dg-final { scan-tree-dump-times "vector alignment may not be reachable" 1 "vect" { target { {! vector_alignment_reachable_for_64bit} && {! vect_hw_misalign} } } } } */
|
|
38 /* { dg-final { scan-tree-dump-times "not vectorized: unsupported unaligned store" 1 "vect" { target { {! vector_alignment_reachable_for_64bit} && {! vect_hw_misalign} } } } } */
|