1/* { dg-require-effective-target untyped_assembly } */ 2 3int heap; 4 5g(){} 6 7f(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} 39