1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
3 
4 typedef int int32_t __attribute__((mode (__SI__)));
5 typedef unsigned uint32_t __attribute__((mode (__SI__)));
6 
c(int32_t * d,char * g)7 void c(int32_t *d, char *g)
8 {
9   char *a, *b, *e;
10   int f;
11   for (; f; f -= 8) {
12       *d++ = *e++ | (uint32_t)*g++ << 8 | (uint32_t)*b++ << 16 |
13 	  (uint32_t)*a++ << 24;
14       *d++ = *e++ | (uint32_t)*g++ << 8 | (uint32_t)*b++ << 16 |
15 	  (uint32_t)*a++ << 24;
16   }
17 }
18