1/* PR target/50038 */ 2/* { dg-options "-O2" } */ 3 4void 5test (int len, unsigned char *in, unsigned char *out) 6{ 7 int i; 8 unsigned char xr, xg; 9 unsigned char xy=0; 10 for (i = 0; i < len; i++) 11 { 12 xr = *in++; 13 xg = *in++; 14 xy = (unsigned char) ((19595 * xr + 38470 * xg) >> 16); 15 16 *out++ = xy; 17 } 18} 19 20/* { dg-final { scan-assembler-times "movzbl" 2 } } */ 21