1 /* { dg-require-effective-target vect_int } */
2 /* { dg-require-effective-target vect_perm } */
6 static int a
[512], b
[512];
8 void __attribute__((noinline
,noclone
))
9 foo (int *sum1p
, int *sum2p
, int *sum3p
)
14 /* Check that we vectorize a reduction chain and a SLP reduction
16 for (int i
= 0; i
< 256; ++i
)
32 for (int i
= 0; i
< 256; ++i
)
38 __asm__
volatile ("" : : : "memory");
41 foo (&sum1
, &sum2
, &sum3
);
42 if (sum1
!= 48896 || sum2
!= 32896 || sum3
!= 16512)
48 /* { dg-final { scan-tree-dump "Loop contains only SLP stmts" "vect" } } */
49 /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */