1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details" } */
3 /* { dg-additional-options "-msse4.2" } */
5 #define ubyte unsigned char
21 convert(ubyte
*in
, ubyte
*out
, unsigned n
)
32 y
= (ubyte
)(((R2Y
* r
) + (G2Y
* g
) + (B2Y
* b
) + (1 << (SCALE
- 1))) >> SCALE
);
33 i
= (byte
)(((R2I
* r
) + (G2I
* g
) + (B2I
* b
) + (1 << (SCALE
- 1))) >> SCALE
);
34 q
= (byte
)(((R2Q
* r
) + (G2Q
* g
) + (B2Q
* b
) + (1 << (SCALE
- 1))) >> SCALE
);
42 /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */