1/* { dg-do compile } */
2
3typedef unsigned char uint8_t;
4typedef unsigned short uint16_t;
5
6void
7rgb15to24_C (const uint8_t * src, uint8_t * dst, long src_size)
8{
9  const uint16_t *end;
10  const uint16_t *s = (uint16_t *)src;
11  uint8_t *d = (uint8_t *)dst;
12
13  end = s + src_size/2;
14  while (s < end)
15    {
16      uint16_t bgr = *s++;
17
18      *d++ = (bgr&0x1F)<<3;
19      *d++ = (bgr&0x3E0)>>2;
20      *d++ = (bgr&0x7C00)>>7;
21    }
22}
23
24/* { dg-final { cleanup-tree-dump "vect" } } */
25