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