==8627== , . ==8627== ==8627== Using LibVEX rev 1732, a library for dynamic binary translation. ==8627== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==8627== Using valgrind-3.2.3, a dynamic binary instrumentation framework. ==8627== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==8627== For more details, rerun with: -v ==8627== pid=8627, entering delay loop ==== BB 0 _start(0x40053E0) BBs exec'd 0 ==== ------------------------ Front end ------------------------ 0x40053E0: mr r3,r1 ------ IMark(0x40053E0, 4) ------ t0 = GET:I64(8) t2 = GET:I64(8) t1 = t0 PUT(24) = t1 0x40053E4: li r4,0 ------ IMark(0x40053E4, 4) ------ PUT(1024) = 0x40053E4:I64 t3 = GET:I64(0) t4 = GET:I64(0) t5 = 0x0:I64 PUT(32) = t5 0x40053E8: stdu r4,-128(r1) ------ IMark(0x40053E8, 4) ------ PUT(1024) = 0x40053E8:I64 t7 = GET:I64(248) t6 = GET:I64(32) t8 = Add64(GET:I64(8),0xFFFFFFFFFFFFFF80:I64) PUT(8) = t8 STbe(t8) = t6 0x40053EC: bl 0x4005D1C ------ IMark(0x40053EC, 4) ------ PUT(1024) = 0x40053EC:I64 PUT(1032) = 0x40053F0:I64 ====== AbiHint(Sub64(GET:I64(8),0x120:I64), 288) ====== 0x4005D1C: mflr r0 ------ IMark(0x4005D1C, 4) ------ PUT(1024) = 0x4005D1C:I64 t13 = GET:I64(0) PUT(0) = GET:I64(1032) 0x4005D20: li r11,78 ------ IMark(0x4005D20, 4) ------ PUT(1024) = 0x4005D20:I64 t14 = GET:I64(0) t15 = GET:I64(0) t16 = 0x4E:I64 PUT(88) = t16 0x4005D24: std r29,-24(r1) ------ IMark(0x4005D24, 4) ------ PUT(1024) = 0x4005D24:I64 t18 = GET:I64(248) t17 = GET:I64(232) t19 = Add64(GET:I64(8),0xFFFFFFFFFFFFFFE8:I64) STbe(t19) = t17 0x4005D28: mr r29,r3 ------ IMark(0x4005D28, 4) ------ PUT(1024) = 0x4005D28:I64 t20 = GET:I64(24) t22 = GET:I64(24) t21 = t20 PUT(232) = t21 0x4005D2C: std r30,-16(r1) ------ IMark(0x4005D2C, 4) ------ PUT(1024) = 0x4005D2C:I64 t24 = GET:I64(248) t23 = GET:I64(240) t25 = Add64(GET:I64(8),0xFFFFFFFFFFFFFFF0:I64) STbe(t25) = t23 0x4005D30: mtctr r11 ------ IMark(0x4005D30, 4) ------ PUT(1024) = 0x4005D30:I64 t26 = GET:I64(88) PUT(1040) = t26 0x4005D34: std r0,16(r1) ------ IMark(0x4005D34, 4) ------ PUT(1024) = 0x4005D34:I64 t28 = GET:I64(0) t27 = GET:I64(0) t29 = Add64(GET:I64(8),0x10:I64) STbe(t29) = t27 0x4005D38: li r0,0 ------ IMark(0x4005D38, 4) ------ PUT(1024) = 0x4005D38:I64 t30 = GET:I64(0) t31 = GET:I64(0) t32 = 0x0:I64 PUT(0) = t32 0x4005D3C: std r31,-8(r1) ------ IMark(0x4005D3C, 4) ------ PUT(1024) = 0x4005D3C:I64 t34 = GET:I64(248) t33 = GET:I64(248) t35 = Add64(GET:I64(8),0xFFFFFFFFFFFFFFF8:I64) STbe(t35) = t33 0x4005D40: stdu r1,-1296(r1) ------ IMark(0x4005D40, 4) ------ PUT(1024) = 0x4005D40:I64 t37 = GET:I64(248) t36 = GET:I64(8) t38 = Add64(GET:I64(8),0xFFFFFFFFFFFFFAF0:I64) PUT(8) = t38 STbe(t38) = t36 0x4005D44: addi r30,r1,112 ------ IMark(0x4005D44, 4) ------ PUT(1024) = 0x4005D44:I64 t39 = GET:I64(8) t40 = GET:I64(0) t41 = Add64(t39,0x70:I64) PUT(240) = t41 0x4005D48: addi r9,r1,176 ------ IMark(0x4005D48, 4) ------ PUT(1024) = 0x4005D48:I64 t42 = GET:I64(8) t43 = GET:I64(0) t44 = Add64(t42,0xB0:I64) PUT(72) = t44 0x4005D4C: std r0,0(r9) ------ IMark(0x4005D4C, 4) ------ PUT(1024) = 0x4005D4C:I64 t46 = GET:I64(0) t45 = GET:I64(0) t47 = Add64(GET:I64(72),0x0:I64) STbe(t47) = t45 0x4005D50: addi r9,r9,8 ------ IMark(0x4005D50, 4) ------ PUT(1024) = 0x4005D50:I64 t48 = GET:I64(72) t49 = GET:I64(0) t50 = Add64(t48,0x8:I64) PUT(72) = t50 0x4005D54: bc 0x10, 0x0, 0xFFFFFFF8 ------ IMark(0x4005D54, 4) ------ PUT(1024) = 0x4005D54:I64 PUT(1040) = Sub64(GET:I64(1040),0x1:I64) t55 = 1Sto32(CmpNE64(GET:I64(1040),0x0:I64)) t52 = t55 t56 = 0x1:I32 t53 = t56 t51 = And32(t53,t52) if (CmpNE32(t51,0x0:I32)) goto {Boring} 0x4005D4C:I64 goto {Boring} 0x4005D58:I64 can't show code due to extents > 1 ------------------------ After pre-instr IR optimisation ------------------------ IRBB { t0:I64 t1:I64 t2:I64 t3:I64 t4:I64 t5:I64 t6:I64 t7:I64 t8:I64 t9:I32 t10:I32 t11:I32 t12:I64 t13:I64 t14:I64 t15:I64 t16:I64 t17:I64 t18:I64 t19:I64 t20:I64 t21:I64 t22:I64 t23:I64 t24:I64 t25:I64 t26:I64 t27:I64 t28:I64 t29:I64 t30:I64 t31:I64 t32:I64 t33:I64 t34:I64 t35:I64 t36:I64 t37:I64 t38:I64 t39:I64 t40:I64 t41:I64 t42:I64 t43:I64 t44:I64 t45:I64 t46:I64 t47:I64 t48:I64 t49:I64 t50:I64 t51:I32 t52:I32 t53:I32 t54:I64 t55:I32 t56:I32 t57:I32 t58:I64 t59:I64 t60:I64 t61:I64 t62:I64 t63:I64 t64:I64 t65:I64 t66:I64 t67:I64 t68:I64 t69:I64 t70:I64 t71:I64 t72:I64 t73:I64 t74:I64 t75:I64 t76:I64 t77:I32 t78:I1 t79:I64 t80:I1 ------ IMark(0x40053E0, 4) ------ t0 = GET:I64(8) PUT(24) = t0 ------ IMark(0x40053E4, 4) ------ IR-NoOp PUT(32) = 0x0:I64 ------ IMark(0x40053E8, 4) ------ PUT(1024) = 0x40053E8:I64 t7 = GET:I64(248) t58 = Add64(t0,0xFFFFFFFFFFFFFF80:I64) PUT(8) = t58 STbe(t58) = 0x0:I64 ------ IMark(0x40053EC, 4) ------ PUT(1024) = 0x40053EC:I64 PUT(1032) = 0x40053F0:I64 t60 = Sub64(t58,0x120:I64) ====== AbiHint(t60, 288) ====== ------ IMark(0x4005D1C, 4) ------ ------ IMark(0x4005D20, 4) ------ PUT(88) = 0x4E:I64 ------ IMark(0x4005D24, 4) ------ PUT(1024) = 0x4005D24:I64 t17 = GET:I64(232) t63 = Add64(t58,0xFFFFFFFFFFFFFFE8:I64) STbe(t63) = t17 ------ IMark(0x4005D28, 4) ------ PUT(232) = t0 ------ IMark(0x4005D2C, 4) ------ PUT(1024) = 0x4005D2C:I64 t23 = GET:I64(240) t65 = Add64(t58,0xFFFFFFFFFFFFFFF0:I64) STbe(t65) = t23 ------ IMark(0x4005D30, 4) ------ ------ IMark(0x4005D34, 4) ------ PUT(1024) = 0x4005D34:I64 t67 = Add64(t58,0x10:I64) STbe(t67) = 0x40053F0:I64 ------ IMark(0x4005D38, 4) ------ PUT(0) = 0x0:I64 ------ IMark(0x4005D3C, 4) ------ PUT(1024) = 0x4005D3C:I64 t69 = Add64(t58,0xFFFFFFFFFFFFFFF8:I64) STbe(t69) = t7 ------ IMark(0x4005D40, 4) ------ PUT(1024) = 0x4005D40:I64 t71 = Add64(t58,0xFFFFFFFFFFFFFAF0:I64) PUT(8) = t71 STbe(t71) = t58 ------ IMark(0x4005D44, 4) ------ t41 = Add64(t71,0x70:I64) PUT(240) = t41 ------ IMark(0x4005D48, 4) ------ t44 = Add64(t71,0xB0:I64) ------ IMark(0x4005D4C, 4) ------ PUT(1024) = 0x4005D4C:I64 STbe(t44) = 0x0:I64 ------ IMark(0x4005D50, 4) ------ t50 = Add64(t44,0x8:I64) PUT(72) = t50 ------ IMark(0x4005D54, 4) ------ PUT(1024) = 0x4005D54:I64 PUT(1040) = 0x4D:I64 IR-NoOp goto {Boring} 0x4005D4C:I64 } ------------------------ After instrumentation ------------------------ IRBB { t0:I64 t1:I64 t2:I64 t3:I64 t4:I64 t5:I64 t6:I64 t7:I64 t8:I64 t9:I32 t10:I32 t11:I32 t12:I64 t13:I64 t14:I64 t15:I64 t16:I64 t17:I64 t18:I64 t19:I64 t20:I64 t21:I64 t22:I64 t23:I64 t24:I64 t25:I64 t26:I64 t27:I64 t28:I64 t29:I64 t30:I64 t31:I64 t32:I64 t33:I64 t34:I64 t35:I64 t36:I64 t37:I64 t38:I64 t39:I64 t40:I64 t41:I64 t42:I64 t43:I64 t44:I64 t45:I64 t46:I64 t47:I64 t48:I64 t49:I64 t50:I64 t51:I32 t52:I32 t53:I32 t54:I64 t55:I32 t56:I32 t57:I32 t58:I64 t59:I64 t60:I64 t61:I64 t62:I64 t63:I64 t64:I64 t65:I64 t66:I64 t67:I64 t68:I64 t69:I64 t70:I64 t71:I64 t72:I64 t73:I64 t74:I64 t75:I64 t76:I64 t77:I32 t78:I1 t79:I64 t80:I1 DIRTY 1:I1 ::: flushfFbuffer{0x38000158}() ------ IMark(0x40053E0, 4) ------ t0 = GET:I64(8) PUT(24) = t0 ------ IMark(0x40053E4, 4) ------ IR-NoOp PUT(32) = 0x0:I64 ------ IMark(0x40053E8, 4) ------ PUT(1024) = 0x40053E8:I64 t7 = GET:I64(248) t58 = Add64(t0,0xFFFFFFFFFFFFFF80:I64) PUT(8) = t58 STbe(t58) = 0x0:I64 ------ IMark(0x40053EC, 4) ------ PUT(1024) = 0x40053EC:I64 PUT(1032) = 0x40053F0:I64 t60 = Sub64(t58,0x120:I64) ====== AbiHint(t60, 288) ====== ------ IMark(0x4005D1C, 4) ------ ------ IMark(0x4005D20, 4) ------ PUT(88) = 0x4E:I64 ------ IMark(0x4005D24, 4) ------ PUT(1024) = 0x4005D24:I64 t17 = GET:I64(232) t63 = Add64(t58,0xFFFFFFFFFFFFFFE8:I64) STbe(t63) = t17 ------ IMark(0x4005D28, 4) ------ PUT(232) = t0 ------ IMark(0x4005D2C, 4) ------ PUT(1024) = 0x4005D2C:I64 t23 = GET:I64(240) t65 = Add64(t58,0xFFFFFFFFFFFFFFF0:I64) STbe(t65) = t23 ------ IMark(0x4005D30, 4) ------ ------ IMark(0x4005D34, 4) ------ PUT(1024) = 0x4005D34:I64 t67 = Add64(t58,0x10:I64) STbe(t67) = 0x40053F0:I64 ------ IMark(0x4005D38, 4) ------ PUT(0) = 0x0:I64 ------ IMark(0x4005D3C, 4) ------ PUT(1024) = 0x4005D3C:I64 t69 = Add64(t58,0xFFFFFFFFFFFFFFF8:I64) STbe(t69) = t7 ------ IMark(0x4005D40, 4) ------ PUT(1024) = 0x4005D40:I64 t71 = Add64(t58,0xFFFFFFFFFFFFFAF0:I64) PUT(8) = t71 STbe(t71) = t58 ------ IMark(0x4005D44, 4) ------ t41 = Add64(t71,0x70:I64) PUT(240) = t41 ------ IMark(0x4005D48, 4) ------ t44 = Add64(t71,0xB0:I64) ------ IMark(0x4005D4C, 4) ------ PUT(1024) = 0x4005D4C:I64 STbe(t44) = 0x0:I64 ------ IMark(0x4005D50, 4) ------ t50 = Add64(t44,0x8:I64) PUT(72) = t50 ------ IMark(0x4005D54, 4) ------ PUT(1024) = 0x4005D54:I64 PUT(1040) = 0x4D:I64 IR-NoOp goto {Boring} 0x4005D4C:I64 } ------------------------ After post-instr IR optimisation ------------------------ IRBB { t0:I64 t1:I64 t2:I64 t3:I64 t4:I64 t5:I64 t6:I64 t7:I64 t8:I64 t9:I32 t10:I32 t11:I32 t12:I64 t13:I64 t14:I64 t15:I64 t16:I64 t17:I64 t18:I64 t19:I64 t20:I64 t21:I64 t22:I64 t23:I64 t24:I64 t25:I64 t26:I64 t27:I64 t28:I64 t29:I64 t30:I64 t31:I64 t32:I64 t33:I64 t34:I64 t35:I64 t36:I64 t37:I64 t38:I64 t39:I64 t40:I64 t41:I64 t42:I64 t43:I64 t44:I64 t45:I64 t46:I64 t47:I64 t48:I64 t49:I64 t50:I64 t51:I32 t52:I32 t53:I32 t54:I64 t55:I32 t56:I32 t57:I32 t58:I64 t59:I64 t60:I64 t61:I64 t62:I64 t63:I64 t64:I64 t65:I64 t66:I64 t67:I64 t68:I64 t69:I64 t70:I64 t71:I64 t72:I64 t73:I64 t74:I64 t75:I64 t76:I64 t77:I32 t78:I1 t79:I64 t80:I1 DIRTY 1:I1 ::: flushfFbuffer{0x38000158}() ------ IMark(0x40053E0, 4) ------ t0 = GET:I64(8) PUT(24) = t0 ------ IMark(0x40053E4, 4) ------ PUT(32) = 0x0:I64 ------ IMark(0x40053E8, 4) ------ PUT(1024) = 0x40053E8:I64 t7 = GET:I64(248) t58 = Add64(t0,0xFFFFFFFFFFFFFF80:I64) PUT(8) = t58 STbe(t58) = 0x0:I64 ------ IMark(0x40053EC, 4) ------ PUT(1024) = 0x40053EC:I64 PUT(1032) = 0x40053F0:I64 t60 = Sub64(t58,0x120:I64) ====== AbiHint(t60, 288) ====== ------ IMark(0x4005D1C, 4) ------ ------ IMark(0x4005D20, 4) ------ PUT(88) = 0x4E:I64 ------ IMark(0x4005D24, 4) ------ PUT(1024) = 0x4005D24:I64 t17 = GET:I64(232) t63 = Add64(t58,0xFFFFFFFFFFFFFFE8:I64) STbe(t63) = t17 ------ IMark(0x4005D28, 4) ------ PUT(232) = t0 ------ IMark(0x4005D2C, 4) ------ PUT(1024) = 0x4005D2C:I64 t23 = GET:I64(240) t65 = Add64(t58,0xFFFFFFFFFFFFFFF0:I64) STbe(t65) = t23 ------ IMark(0x4005D30, 4) ------ ------ IMark(0x4005D34, 4) ------ PUT(1024) = 0x4005D34:I64 t67 = Add64(t58,0x10:I64) STbe(t67) = 0x40053F0:I64 ------ IMark(0x4005D38, 4) ------ PUT(0) = 0x0:I64 ------ IMark(0x4005D3C, 4) ------ PUT(1024) = 0x4005D3C:I64 t69 = Add64(t58,0xFFFFFFFFFFFFFFF8:I64) STbe(t69) = t7 ------ IMark(0x4005D40, 4) ------ PUT(1024) = 0x4005D40:I64 t71 = Add64(t58,0xFFFFFFFFFFFFFAF0:I64) PUT(8) = t71 STbe(t71) = t58 ------ IMark(0x4005D44, 4) ------ t41 = Add64(t71,0x70:I64) PUT(240) = t41 ------ IMark(0x4005D48, 4) ------ t44 = Add64(t71,0xB0:I64) ------ IMark(0x4005D4C, 4) ------ PUT(1024) = 0x4005D4C:I64 STbe(t44) = 0x0:I64 ------ IMark(0x4005D50, 4) ------ t50 = Add64(t44,0x8:I64) PUT(72) = t50 ------ IMark(0x4005D54, 4) ------ PUT(1024) = 0x4005D54:I64 PUT(1040) = 0x4D:I64 goto {Boring} 0x4005D4C:I64 } ------------------------ After tree-building ------------------------ IRBB { t0:I64 t1:I64 t2:I64 t3:I64 t4:I64 t5:I64 t6:I64 t7:I64 t8:I64 t9:I32 t10:I32 t11:I32 t12:I64 t13:I64 t14:I64 t15:I64 t16:I64 t17:I64 t18:I64 t19:I64 t20:I64 t21:I64 t22:I64 t23:I64 t24:I64 t25:I64 t26:I64 t27:I64 t28:I64 t29:I64 t30:I64 t31:I64 t32:I64 t33:I64 t34:I64 t35:I64 t36:I64 t37:I64 t38:I64 t39:I64 t40:I64 t41:I64 t42:I64 t43:I64 t44:I64 t45:I64 t46:I64 t47:I64 t48:I64 t49:I64 t50:I64 t51:I32 t52:I32 t53:I32 t54:I64 t55:I32 t56:I32 t57:I32 t58:I64 t59:I64 t60:I64 t61:I64 t62:I64 t63:I64 t64:I64 t65:I64 t66:I64 t67:I64 t68:I64 t69:I64 t70:I64 t71:I64 t72:I64 t73:I64 t74:I64 t75:I64 t76:I64 t77:I32 t78:I1 t79:I64 t80:I1 DIRTY 1:I1 ::: flushfFbuffer{0x38000158}() ------ IMark(0x40053E0, 4) ------ t0 = GET:I64(8) PUT(24) = t0 ------ IMark(0x40053E4, 4) ------ PUT(32) = 0x0:I64 ------ IMark(0x40053E8, 4) ------ PUT(1024) = 0x40053E8:I64 t58 = Add64(t0,0xFFFFFFFFFFFFFF80:I64) t7 = GET:I64(248) PUT(8) = t58 STbe(t58) = 0x0:I64 ------ IMark(0x40053EC, 4) ------ PUT(1024) = 0x40053EC:I64 PUT(1032) = 0x40053F0:I64 ====== AbiHint(Sub64(t58,0x120:I64), 288) ====== ------ IMark(0x4005D1C, 4) ------ ------ IMark(0x4005D20, 4) ------ PUT(88) = 0x4E:I64 ------ IMark(0x4005D24, 4) ------ PUT(1024) = 0x4005D24:I64 STbe(Add64(t58,0xFFFFFFFFFFFFFFE8:I64)) = GET:I64(232) ------ IMark(0x4005D28, 4) ------ PUT(232) = t0 ------ IMark(0x4005D2C, 4) ------ PUT(1024) = 0x4005D2C:I64 STbe(Add64(t58,0xFFFFFFFFFFFFFFF0:I64)) = GET:I64(240) ------ IMark(0x4005D30, 4) ------ ------ IMark(0x4005D34, 4) ------ PUT(1024) = 0x4005D34:I64 STbe(Add64(t58,0x10:I64)) = 0x40053F0:I64 ------ IMark(0x4005D38, 4) ------ PUT(0) = 0x0:I64 ------ IMark(0x4005D3C, 4) ------ PUT(1024) = 0x4005D3C:I64 STbe(Add64(t58,0xFFFFFFFFFFFFFFF8:I64)) = t7 ------ IMark(0x4005D40, 4) ------ PUT(1024) = 0x4005D40:I64 t71 = Add64(t58,0xFFFFFFFFFFFFFAF0:I64) PUT(8) = t71 STbe(t71) = t58 ------ IMark(0x4005D44, 4) ------ PUT(240) = Add64(t71,0x70:I64) ------ IMark(0x4005D48, 4) ------ t44 = Add64(t71,0xB0:I64) ------ IMark(0x4005D4C, 4) ------ PUT(1024) = 0x4005D4C:I64 STbe(t44) = 0x0:I64 ------ IMark(0x4005D50, 4) ------ PUT(72) = Add64(t44,0x8:I64) ------ IMark(0x4005D54, 4) ------ PUT(1024) = 0x4005D54:I64 PUT(1040) = 0x4D:I64 goto {Boring} 0x4005D4C:I64 } ------------------------ Instruction selection ------------------------ mflr %%vR81 -- DIRTY 1:I1 ::: flushfFbuffer{0x38000158}() call: { li_word %r10,0x0000000038000158 ; mtctr r10 ; bctrl [] } -- ------ IMark(0x40053E0, 4) ------ -- t0 = GET:I64(8) ldz %%vR82,8(%r31) mr %%vR0,%%vR82 -- PUT(24) = t0 std %%vR0,24(%r31) -- ------ IMark(0x40053E4, 4) ------ -- PUT(32) = 0x0:I64 li_word %%vR83,0x0000000000000000 std %%vR83,32(%r31) -- ------ IMark(0x40053E8, 4) ------ -- PUT(1024) = 0x40053E8:I64 li_word %%vR84,0x00000000040053E8 std %%vR84,1024(%r31) -- t58 = Add64(t0,0xFFFFFFFFFFFFFF80:I64) li %%vR85,-128 mr %%vR58,%%vR85 -- t7 = GET:I64(248) ldz %%vR86,248(%r31) mr %%vR7,%%vR86 -- PUT(8) = t58 std %%vR58,8(%r31) -- STbe(t58) = 0x0:I64 li_word %%vR87,0x0000000000000000 std %%vR87,0(%%vR58) -- ------ IMark(0x40053EC, 4) ------ -- PUT(1024) = 0x40053EC:I64 li_word %%vR88,0x00000000040053EC std %%vR88,1024(%r31) -- PUT(1032) = 0x40053F0:I64 li_word %%vR89,0x00000000040053F0 std %%vR89,1032(%r31) -- ====== AbiHint(Sub64(t58,0x120:I64), 288) ====== -- ------ IMark(0x4005D1C, 4) ------ -- ------ IMark(0x4005D20, 4) ------ -- PUT(88) = 0x4E:I64 li_word %%vR90,0x000000000000004E std %%vR90,88(%r31) -- ------ IMark(0x4005D24, 4) ------ -- PUT(1024) = 0x4005D24:I64 li_word %%vR91,0x0000000004005D24 std %%vR91,1024(%r31) -- STbe(Add64(t58,0xFFFFFFFFFFFFFFE8:I64)) = GET:I64(232) ldz %%vR92,232(%r31) std %%vR92,-24(%%vR58) -- ------ IMark(0x4005D28, 4) ------ -- PUT(232) = t0 std %%vR0,232(%r31) -- ------ IMark(0x4005D2C, 4) ------ -- PUT(1024) = 0x4005D2C:I64 li_word %%vR93,0x0000000004005D2C std %%vR93,1024(%r31) -- STbe(Add64(t58,0xFFFFFFFFFFFFFFF0:I64)) = GET:I64(240) ldz %%vR94,240(%r31) std %%vR94,-16(%%vR58) -- ------ IMark(0x4005D30, 4) ------ -- ------ IMark(0x4005D34, 4) ------ -- PUT(1024) = 0x4005D34:I64 li_word %%vR95,0x0000000004005D34 std %%vR95,1024(%r31) -- STbe(Add64(t58,0x10:I64)) = 0x40053F0:I64 li_word %%vR96,0x00000000040053F0 std %%vR96,16(%%vR58) -- ------ IMark(0x4005D38, 4) ------ -- PUT(0) = 0x0:I64 li_word %%vR97,0x0000000000000000 std %%vR97,0(%r31) -- ------ IMark(0x4005D3C, 4) ------ -- PUT(1024) = 0x4005D3C:I64 li_word %%vR98,0x0000000004005D3C std %%vR98,1024(%r31) -- STbe(Add64(t58,0xFFFFFFFFFFFFFFF8:I64)) = t7 std %%vR7,-8(%%vR58) -- ------ IMark(0x4005D40, 4) ------ -- PUT(1024) = 0x4005D40:I64 li_word %%vR99,0x0000000004005D40 std %%vR99,1024(%r31) -- t71 = Add64(t58,0xFFFFFFFFFFFFFAF0:I64) addi %%vR100,%%vR58,-1296 mr %%vR71,%%vR100 -- PUT(8) = t71 std %%vR71,8(%r31) -- STbe(t71) = t58 std %%vR58,0(%%vR71) -- ------ IMark(0x4005D44, 4) ------ -- PUT(240) = Add64(t71,0x70:I64) addi %%vR101,%%vR71,112 std %%vR101,240(%r31) -- ------ IMark(0x4005D48, 4) ------ -- t44 = Add64(t71,0xB0:I64) addi %%vR102,%%vR71,176 mr %%vR44,%%vR102 -- ------ IMark(0x4005D4C, 4) ------ -- PUT(1024) = 0x4005D4C:I64 li_word %%vR103,0x0000000004005D4C std %%vR103,1024(%r31) -- STbe(t44) = 0x0:I64 li_word %%vR104,0x0000000000000000 std %%vR104,0(%%vR44) -- ------ IMark(0x4005D50, 4) ------ -- PUT(72) = Add64(t44,0x8:I64) addi %%vR105,%%vR44,8 std %%vR105,72(%r31) -- ------ IMark(0x4005D54, 4) ------ -- PUT(1024) = 0x4005D54:I64 li_word %%vR106,0x0000000004005D54 std %%vR106,1024(%r31) -- PUT(1040) = 0x4D:I64 li_word %%vR107,0x000000000000004D std %%vR107,1040(%r31) -- goto {Boring} 0x4005D4C:I64 mtlr %%vR81 goto: { li_word %r3,0x0000000004005D4C ; blr } 0 mflr %%vR81 1 call: { li_word %r10,0x0000000038000158 ; mtctr r10 ; bctrl [] } 2 ldz %%vR82,8(%r31) 3 mr %%vR0,%%vR82 4 std %%vR0,24(%r31) 5 li_word %%vR83,0x0000000000000000 6 std %%vR83,32(%r31) 7 li_word %%vR84,0x00000000040053E8 8 std %%vR84,1024(%r31) 9 li %%vR85,-128 10 mr %%vR58,%%vR85 11 ldz %%vR86,248(%r31) 12 mr %%vR7,%%vR86 13 std %%vR58,8(%r31) 14 li_word %%vR87,0x0000000000000000 15 std %%vR87,0(%%vR58) 16 li_word %%vR88,0x00000000040053EC 17 std %%vR88,1024(%r31) 18 li_word %%vR89,0x00000000040053F0 19 std %%vR89,1032(%r31) 20 li_word %%vR90,0x000000000000004E 21 std %%vR90,88(%r31) 22 li_word %%vR91,0x0000000004005D24 23 std %%vR91,1024(%r31) 24 ldz %%vR92,232(%r31) 25 std %%vR92,-24(%%vR58) 26 std %%vR0,232(%r31) 27 li_word %%vR93,0x0000000004005D2C 28 std %%vR93,1024(%r31) 29 ldz %%vR94,240(%r31) 30 std %%vR94,-16(%%vR58) 31 li_word %%vR95,0x0000000004005D34 32 std %%vR95,1024(%r31) 33 li_word %%vR96,0x00000000040053F0 34 std %%vR96,16(%%vR58) 35 li_word %%vR97,0x0000000000000000 36 std %%vR97,0(%r31) 37 li_word %%vR98,0x0000000004005D3C 38 std %%vR98,1024(%r31) 39 std %%vR7,-8(%%vR58) 40 li_word %%vR99,0x0000000004005D40 41 std %%vR99,1024(%r31) 42 addi %%vR100,%%vR58,-1296 43 mr %%vR71,%%vR100 44 std %%vR71,8(%r31) 45 std %%vR58,0(%%vR71) 46 addi %%vR101,%%vR71,112 47 std %%vR101,240(%r31) 48 addi %%vR102,%%vR71,176 49 mr %%vR44,%%vR102 50 li_word %%vR103,0x0000000004005D4C 51 std %%vR103,1024(%r31) 52 li_word %%vR104,0x0000000000000000 53 std %%vR104,0(%%vR44) 54 addi %%vR105,%%vR44,8 55 std %%vR105,72(%r31) 56 li_word %%vR106,0x0000000004005D54 57 std %%vR106,1024(%r31) 58 li_word %%vR107,0x000000000000004D 59 std %%vR107,1040(%r31) 60 mtlr %%vR81 61 goto: { li_word %r3,0x0000000004005D4C ; blr } ------------------------ Register-allocated code ------------------------ 0 mflr %r14 1 call: { li_word %r10,0x0000000038000158 ; mtctr r10 ; bctrl [] } 2 ldz %r15,8(%r31) 3 std %r15,24(%r31) 4 li_word %r16,0x0000000000000000 5 std %r16,32(%r31) 6 li_word %r16,0x00000000040053E8 7 std %r16,1024(%r31) 8 addi %r16,%r15,-128 9 ldz %r17,248(%r31) 10 std %r16,8(%r31) 11 li_word %r18,0x0000000000000000 12 std %r18,0(%r16) 13 li_word %r18,0x00000000040053EC 14 std %r18,1024(%r31) 15 li_word %r18,0x00000000040053F0 16 std %r18,1032(%r31) 17 li_word %r18,0x000000000000004E 18 std %r18,88(%r31) 19 li_word %r18,0x0000000004005D24 20 std %r18,1024(%r31) 21 ldz %r18,232(%r31) 22 std %r18,-24(%r16) 23 std %r15,232(%r31) 24 li_word %r15,0x0000000004005D2C 25 std %r15,1024(%r31) 26 ldz %r15,240(%r31) 27 std %r15,-16(%r16) 28 li_word %r15,0x0000000004005D34 29 std %r15,1024(%r31) 30 li_word %r15,0x00000000040053F0 31 std %r15,16(%r16) 32 li_word %r15,0x0000000000000000 33 std %r15,0(%r31) 34 li_word %r15,0x0000000004005D3C 35 std %r15,1024(%r31) 36 std %r17,-8(%r16) 37 li_word %r15,0x0000000004005D40 38 std %r15,1024(%r31) 39 addi %r15,%r16,-1296 40 std %r15,8(%r31) 41 std %r16,0(%r15) 42 addi %r16,%r15,112 43 std %r16,240(%r31) 44 addi %r16,%r15,176 45 li_word %r15,0x0000000004005D4C 46 std %r15,1024(%r31) 47 li_word %r15,0x0000000000000000 48 std %r15,0(%r16) 49 addi %r15,%r16,8 50 std %r15,72(%r31) 51 li_word %r15,0x0000000004005D54 52 std %r15,1024(%r31) 53 li_word %r15,0x000000000000004D 54 std %r15,1040(%r31) 55 mtlr %r14 56 goto: { li_word %r3,0x0000000004005D4C ; blr } ------------------------ Assembly ------------------------ mflr %r14 7D C8 02 A6 call: { li_word %r10,0x0000000038000158 ; mtctr r10 ; bctrl [] } 3D 40 38 00 61 4A 01 58 7D 49 03 A6 4E 80 04 21 ldz %r15,8(%r31) E9 FF 00 08 std %r15,24(%r31) F9 FF 00 18 li_word %r16,0x0000000000000000 3A 00 00 00 std %r16,32(%r31) FA 1F 00 20 li_word %r16,0x00000000040053E8 3E 00 04 00 62 10 53 E8 std %r16,1024(%r31) FA 1F 04 00 addi %r16,%r15,-128 3A 0F FF 80 ldz %r17,248(%r31) EA 3F 00 F8 std %r16,8(%r31) FA 1F 00 08 li_word %r18,0x0000000000000000 3A 40 00 00 std %r18,0(%r16) FA 50 00 00 li_word %r18,0x00000000040053EC 3E 40 04 00 62 52 53 EC std %r18,1024(%r31) FA 5F 04 00 li_word %r18,0x00000000040053F0 3E 40 04 00 62 52 53 F0 std %r18,1032(%r31) FA 5F 04 08 li_word %r18,0x000000000000004E 3A 40 00 4E std %r18,88(%r31) FA 5F 00 58 li_word %r18,0x0000000004005D24 3E 40 04 00 62 52 5D 24 std %r18,1024(%r31) FA 5F 04 00 ldz %r18,232(%r31) EA 5F 00 E8 std %r18,-24(%r16) FA 50 FF E8 std %r15,232(%r31) F9 FF 00 E8 li_word %r15,0x0000000004005D2C 3D E0 04 00 61 EF 5D 2C std %r15,1024(%r31) F9 FF 04 00 ldz %r15,240(%r31) E9 FF 00 F0 std %r15,-16(%r16) F9 F0 FF F0 li_word %r15,0x0000000004005D34 3D E0 04 00 61 EF 5D 34 std %r15,1024(%r31) F9 FF 04 00 li_word %r15,0x00000000040053F0 3D E0 04 00 61 EF 53 F0 std %r15,16(%r16) F9 F0 00 10 li_word %r15,0x0000000000000000 39 E0 00 00 std %r15,0(%r31) F9 FF 00 00 li_word %r15,0x0000000004005D3C 3D E0 04 00 61 EF 5D 3C std %r15,1024(%r31) F9 FF 04 00 std %r17,-8(%r16) FA 30 FF F8 li_word %r15,0x0000000004005D40 3D E0 04 00 61 EF 5D 40 std %r15,1024(%r31) F9 FF 04 00 addi %r15,%r16,-1296 39 F0 FA F0 std %r15,8(%r31) F9 FF 00 08 std %r16,0(%r15) FA 0F 00 00 addi %r16,%r15,112 3A 0F 00 70 std %r16,240(%r31) FA 1F 00 F0 addi %r16,%r15,176 3A 0F 00 B0 li_word %r15,0x0000000004005D4C 3D E0 04 00 61 EF 5D 4C std %r15,1024(%r31) F9 FF 04 00 li_word %r15,0x0000000000000000 39 E0 00 00 std %r15,0(%r16) F9 F0 00 00 addi %r15,%r16,8 39 F0 00 08 std %r15,72(%r31) F9 FF 00 48 li_word %r15,0x0000000004005D54 3D E0 04 00 61 EF 5D 54 std %r15,1024(%r31) F9 FF 04 00 li_word %r15,0x000000000000004D 39 E0 00 4D std %r15,1040(%r31) F9 FF 04 10 mtlr %r14 7D C8 03 A6 goto: { li_word %r3,0x0000000004005D4C ; blr } 3C 60 04 00 60 63 5D 4C 4E 80 00 20 ==8627== ==8627== Process terminating with default action of signal 11 (SIGSEGV) ==8627== Bad permissions for mapped region at address 0x3828CAB8 ==8627== at 0x40053E0: _start (in /readonly/lib64/ld-2.3.3.so) ==8627==