1 /* { dg-do compile } */
2 /* { dg-options "-O3 -march=z13 -mzarch" } */
3
4 int a = 5, b, c, d, g, h, k, l, m, o;
5 static int e[7];
6 int *volatile i = &d;
7 long long j;
8
p(int f,int dummy)9 short p(int f, int dummy) {
10 k = 0 != (*e = m);
11 j = 0;
12 for (; j < 59; j = j + 1)
13 *i |= b;
14 g = 1;
15 for (; g <= 4; g++) {
16 o = 0;
17 for (; o <= 4; o++)
18 i = (int * volatile)(long)l;
19 }
20 return 42;
21 }
22
23 void
q()24 q() {
25 char *n = (char*)&b;
26
27 (*n = a) == p(e[6], c);
28 for (; h;)
29 for (;;)
30 ;
31 }
32
33 /* { dg-final { scan-assembler-not {(?n)^\tvsteb\t.+,0$} } } */
34