1 /* { dg-require-effective-target vect_int } */
2 /* { dg-require-effective-target vect_shift } */
11 __attribute__ ((noinline
)) void
12 foo (unsigned char *src
, unsigned int *dst1
, unsigned int *dst2
)
15 unsigned char b
, *s
= src
;
16 unsigned int *d1
= dst1
, *d2
= dst2
;
18 for (i
= 0; i
< N
; i
++)
30 for (i
= 0; i
< N
; i
++)
33 if (*d1
!= b
<< C1
|| *d2
!= b
<< C2
)
49 for (i
= 0; i
< N
; i
++)
54 __asm__
volatile ("");
62 /* { dg-final { scan-tree-dump-times "vect_recog_widen_shift_pattern: detected" 2 "vect" { target vect_widen_shift } } } */
63 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */