1 /* { dg-do compile } */
2 /* { dg-options "-O3 -march=z196 -m64 -mzarch" } */
3
4 unsigned long a;
5 int b;
6 void c(char* i) {
7 for (;;) {
8 char g = 0;
9 for (; g < 24; ++g)
10 b = a << g | a >> 64 - g;
11 {
12 char *d = i;
13 long h = b;
14 char e = 0;
15 for (; e < 8; ++e)
16 d[e] = h;
17 }
18 char *d = i;
19 signed e;
20 unsigned long f = 0;
21 e = 7;
22 for (; e; --e) {
23 f <<= 8;
24 f |= d[e];
25 }
26 for (; e < 8; ++e)
27 d[e] = f;
28 }
29 }