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