1 /* Disabling epilogues until we find a better way to deal with scans. */
2 /* { dg-additional-options "-fdump-tree-optimized-details-blocks --param vect-epilogues-nomask=0" } */
3 /* { dg-require-effective-target vect_int } */
10 #define NINTS (VECTOR_BITS / 32)
23 static int a
[N
] = {1,2,3,4,5,6,7,8,9};
24 static int b
[N
] = {17,24,7,0,2,3,4,31,82};
26 __attribute__ ((noinline
))
27 int main1 (int x
, int y
) {
30 p
= (struct extraction
*) malloc (sizeof (struct extraction
));
32 for (i
= 0; i
< N
; i
++)
36 asm volatile ("" ::: "memory");
39 /* Vectorizable: distance > VF. */
40 for (i
= 0; i
< N
; i
++)
41 *((int *)p
+ x
+ i
) = *((int *)p
+ x
+ i
+ NINTS
);
44 if (p
->a
[0] != a
[N
- 1])
47 for (i
= 1; i
< N
; i
++)
48 if (p
->a
[i
] != b
[i
- 1])
61 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
62 /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */