1  /* { dg-require-effective-target untyped_assembly } */
       2  
       3  int heap;
       4  
       5  g(){}
       6  
       7  f(int i1, int i2)
       8  {
       9    i1 = *(int*)(i1 + 4);
      10    if (i1 == 0)
      11      goto L4;
      12    else
      13      goto L9;
      14   L3:
      15    i2 = heap - 8;
      16    *(int*)i2 = 3;
      17    *(int*)(i2 + 4) = i1;
      18    heap -= 8;
      19    return i2;
      20   L4:
      21    i1 = g(i2);
      22    goto L5;
      23   L5:
      24    i1 = *(int*)(i1 + 4);
      25    if (i1 == 0)
      26      goto L7;
      27    else
      28      goto L8;
      29   L7:
      30    i1 = 0;
      31    goto L3;
      32   L8:
      33    i1 = 1;
      34    goto L3;
      35   L9:
      36    i1 = 1;
      37    goto L3;
      38  }