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);
11 unsigned a
: 23; unsigned b
: 8;
15 #define ELT0 {0x7FFFFFUL, 0}
16 #define ELT1 {0x7FFFFFUL, 1}
17 #define ELT2 {0x7FFFFFUL, 2}
18 #define ELT3 {0x7FFFFFUL, 3}
21 = { ELT0
, ELT1
, ELT2
, ELT3
, ELT0
, ELT1
, ELT2
, ELT3
,
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
};
26 int __attribute__ ((noipa
))
27 f(struct s
*ptr
, unsigned n
) {
29 for (int i
= 0; i
< n
; ++i
)
38 if (f(&A
[0], N
) != RES
)
44 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
45 /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */