1 /* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */
2 /* { dg-require-effective-target vect_int } */
3 /* { dg-require-effective-target vect_shift } */
8 extern void abort(void);
16 #define ELT0 {0xFUL, 0}
17 #define ELT1 {0xFUL, 1}
18 #define ELT2 {0xFUL, 2}
19 #define ELT3 {0xFUL, 3}
22 = { ELT0
, ELT1
, ELT2
, ELT3
, ELT0
, ELT1
, ELT2
, ELT3
,
23 ELT0
, ELT1
, ELT2
, ELT3
, ELT0
, ELT1
, ELT2
, ELT3
,
24 ELT0
, ELT1
, ELT2
, ELT3
, ELT0
, ELT1
, ELT2
, ELT3
,
25 ELT0
, ELT1
, ELT2
, ELT3
, ELT0
, ELT1
, ELT2
, ELT3
};
27 int __attribute__ ((noipa
))
28 f(struct s
*ptr
, unsigned n
) {
30 for (int i
= 0; i
< n
; ++i
)
39 if (f(&A
[0], N
) != RES
)
45 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
46 /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */