1 /* { dg-require-effective-target vect_int } */
6 __attribute__ ((noinline
)) void
7 ayuv2yuyv_ref (int *d
, int *src
, int n
)
9 char *dest
= (char *)d
;
13 dest
[i
*4 + 0] = (src
[i
*2 + 0])>>16;
14 dest
[i
*4 + 1] = (src
[i
*2 + 1])>>8;
15 dest
[i
*4 + 2] = (src
[i
*2 + 0])>>16;
16 dest
[i
*4 + 3] = (src
[i
*2 + 0])>>0;
22 if (dest
[i
*4 + 0] != (src
[i
*2 + 0])>>16
23 || dest
[i
*4 + 1] != (src
[i
*2 + 1])>>8
24 || dest
[i
*4 + 2] != (src
[i
*2 + 0])>>16
25 || dest
[i
*4 + 3] != (src
[i
*2 + 0])>>0)
32 int d
[256], src
[128], i
;
36 for (i
= 0; i
< 128; i
++)
39 ayuv2yuyv_ref(d
, src
, 128);
44 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_strided4 && vect_strided2 } } } } */