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
++)
31 for (i
= 0; i
< N
; i
++)
34 if (*d1
!= b
<< C1
|| *d2
!= b
<< C2
)
50 for (i
= 0; i
< N
; i
++)
55 __asm__
volatile ("");
63 /* { dg-final { scan-tree-dump-times "vect_recog_widen_shift_pattern: detected" 2 "vect" { target vect_widen_shift } } } */
64 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */