diff options
author | John van Groningen | 2006-03-28 15:13:46 +0000 |
---|---|---|
committer | John van Groningen | 2006-03-28 15:13:46 +0000 |
commit | 7a9340a2261fdb06be40d16b218f9431c3ae082b (patch) | |
tree | 12fcacf997892e3e0dc7eb5dcaa77e26d4081832 /pap.a | |
parent | detect redirection of stdio to or from a pipe (diff) |
add code for apply with >=2 arguments for PowerPC
Diffstat (limited to 'pap.a')
-rw-r--r-- | pap.a | 2660 |
1 files changed, 2660 insertions, 0 deletions
@@ -0,0 +1,2660 @@ + + if 0 +d0: set r24 +d1: set r25 +d2: set r26 +d3: set r27 +d4: set r28 +d5: set r29 +d6: set r30 +d7: set r31 + +a0: set r23 +a1: set r22 +a2: set r21 +a3: set r20 +a4: set r19 +a5: set r18 +a6: set r17 + +o0: set r3 +o1: set r4 +o2: set r5 +o3: set r6 +o4: set r7 +o5: set r8 + +g2: set r9 +g3: set r10 + +g0: set r11 +g1: set r12 + +int_reg set r16 +char_reg set r15 +real_reg set r14 +bool_reg set r13 + +PROFILE set 0 + endif + +NEW_DESCRIPTORS set 0 + + csect text{PR} + + export ap_2 + export ap_3 + export ap_4 + export ap_5 + export ap_6 + export ap_7 + export ap_8 + export ap_9 + export ap_10 + export ap_11 + export ap_12 + export ap_13 + export ap_14 + export ap_15 + export ap_16 + export ap_17 + export ap_18 + export ap_19 + export ap_20 + export ap_21 + export ap_22 + export ap_23 + export ap_24 + export ap_25 + export ap_26 + export ap_27 + export ap_28 + export ap_29 + export ap_30 + export ap_31 + export ap_32 + + export add_empty_node_2 + export add_empty_node_3 + export add_empty_node_4 + export add_empty_node_5 + export add_empty_node_6 + export add_empty_node_7 + export add_empty_node_8 + export add_empty_node_9 + export add_empty_node_10 + export add_empty_node_11 + export add_empty_node_12 + export add_empty_node_13 + export add_empty_node_14 + export add_empty_node_15 + export add_empty_node_16 + export add_empty_node_17 + export add_empty_node_18 + export add_empty_node_19 + export add_empty_node_20 + export add_empty_node_21 + export add_empty_node_22 + export add_empty_node_23 + export add_empty_node_24 + export add_empty_node_25 + export add_empty_node_26 + export add_empty_node_27 + export add_empty_node_28 + export add_empty_node_29 + export add_empty_node_30 + export add_empty_node_31 + export add_empty_node_32 + + export yet_args_needed_5 + export yet_args_needed_6 + export yet_args_needed_7 + export yet_args_needed_8 + export yet_args_needed_9 + export yet_args_needed_10 + export yet_args_needed_11 + export yet_args_needed_12 + export yet_args_needed_13 + export yet_args_needed_14 + export yet_args_needed_15 + export yet_args_needed_16 + export yet_args_needed_17 + export yet_args_needed_18 + export yet_args_needed_19 + export yet_args_needed_20 + export yet_args_needed_21 + export yet_args_needed_22 + export yet_args_needed_23 + export yet_args_needed_24 + export yet_args_needed_25 + export yet_args_needed_26 + export yet_args_needed_27 + export yet_args_needed_28 + export yet_args_needed_29 + export yet_args_needed_30 + export yet_args_needed_31 + + csect .ap_32 +ap_32: + lwz a3,0(a2) + li d1,32*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap32 + + csect .ap_31 +ap_31: + lwz a3,0(a2) + li d1,31*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap31 + + csect .ap_30 +ap_30: + lwz a3,0(a2) + li d1,30*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap30 + + csect .ap_29 +ap_29: + lwz a3,0(a2) + li d1,29*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap29 + + csect .ap_28 +ap_28: + lwz a3,0(a2) + li d1,28*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap28 + + csect .ap_27 +ap_27: + lwz a3,0(a2) + li d1,27*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap27 + + csect .ap_26 +ap_26: + lwz a3,0(a2) + li d1,26*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap26 + + csect .ap_25 +ap_25: + lwz a3,0(a2) + li d1,25*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap25 + + csect .ap_24 +ap_24: + lwz a3,0(a2) + li d1,24*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap24 + + csect .ap_23 +ap_23: + lwz a3,0(a2) + li d1,23*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap23 + + csect .ap_22 +ap_22: + lwz a3,0(a2) + li d1,22*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap22 + + csect .ap_21 +ap_21: + lwz a3,0(a2) + li d1,21*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap21 + + csect .ap_20 +ap_20: + lwz a3,0(a2) + li d1,20*8 + lhz o1,0(a2) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap20 + + csect .ap_19 +ap_19: + lwz a3,0(a2) + li d1,19*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap19 + + csect .ap_18 +ap_18: + lwz a3,0(a2) + li d1,18*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap18 + + csect .ap_17 +ap_17: + lwz a3,0(a2) + li d1,17*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap17 + + csect .ap_16 +ap_16: + lwz a3,0(a2) + li d1,16*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap16 + + csect .ap_15 +ap_15: + lwz a3,0(a2) + li d1,15*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap15 + + csect .ap_14 +ap_14: + lwz a3,0(a2) + li d1,14*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap14 + + csect .ap_13 +ap_13: + lwz a3,0(a2) + li d1,13*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap13 + + csect .ap_12 +ap_12: + lwz a3,0(a2) + li d1,12*8 + lhz o1,0(a2) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap12 + + csect .ap_11 +ap_11: + lwz a3,0(a2) + li d1,11*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap11 + + csect .ap_10 +ap_10: + lwz a3,0(a2) + li d1,10*80 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap10 + + csect .ap_9 +ap_9: + lwz a3,0(a2) + li d1,9*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap9 + + csect .ap_8 +ap_8: + lwz a3,0(a2) + li d1,8*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap8 + + csect .ap_7 +ap_7: + lwz a3,0(a2) + li d1,7*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap7 + + csect .ap_6 +ap_6: + lwz a3,0(a2) + li d1,6*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap6 + + csect .ap_5 +ap_5: + lwz a3,0(a2) + li d1,5*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap5 + + csect .ap_4 +ap_4: + lwz a3,0(a2) + li d1,4*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap4 + + csect .ap_3 +ap_3: + lwz a3,0(a2) + li d1,3*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap + + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap3 + + csect .ap_2 +ap_2: + lwz a3,0(a2) + li d1,2*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + bne no_fast_ap2_ + +fast_ap_2_2_: + lhz d0,-2(a3) + add d1,d1,a3 + lwz a3,-6(d1) + if PROFILE + subi a3,a3,32 + else + subi a3,a3,16 + endif + cmplwi 0,d0,1 + blt repl_args_0_2 + beq repl_args_1 + + cmplwi 0,d0,3 + blt repl_args_2 + + stw a0,0(a4) + stw a1,4(a4) + addi a4,a4,8 + lwz a1,8(a2) + + b fast_ap_ + + csect .no_fast_ap2_ +no_fast_ap2_: + stw a0,0(a4) + mr a0,a1 + mr a1,a2 + lwz a2,2(a3) + addi a4,a4,4 + mflr r0 + b no_fast_ap2 + + csect .fast_ap_2_2 +fast_ap_2_2: + mr a2,a1 + mr a1,a0 + lwzu a0,-4(a4) + mtlr r0 + b fast_ap_2_2_ + + csect .fast_ap_2 +fast_ap_2: + mr a2,a1 + mr a1,a0 + lwzu a0,-4(a4) + mtlr r0 + +fast_ap: + lhz d0,-2(a3) + add d1,d1,a3 + lwz a3,-6(d1) + if PROFILE + subi a3,a3,32 + else + subi a3,a3,16 + endif + cmplwi 0,d0,1 + blt repl_args_0 + beq repl_args_1 + + cmplwi 0,d0,3 + blt repl_args_2 + + stw a0,0(a4) + stw a1,4(a4) + addi a4,a4,8 + lwz a1,8(a2) + +fast_ap_: + lwz a2,4(a2) + beq repl_args_3 + + cmplwi 0,d0,5 + blt repl_args_4 + beq repl_args_5 + + cmplwi 0,d0,7 + blt repl_args_6 + + slwi d0,d0,2 + addi d0,d0,-8 + +repl_args_7_: + lwzx o0,a1,d0 + stw o0,0(a4) + subi d0,d0,4 + addi a4,a4,4 + cmplwi 0,d0,(6*4)-8 + bne repl_args_7_ + +repl_args_6: + mtctr a3 + lwz d0,16(a1) + stw d0,0(a4) + lwz d0,12(a1) + stw d0,4(a4) + lwz d0,8(a1) + stw d0,8(a4) + lwz a0,4(a1) + lwz a1,0(a1) + addi a4,a4,12 + bctr + +repl_args_0_2: + mtctr a3 + bctr + +repl_args_0: + mtctr a3 + mr a2,a1 + mr a1,a0 + lwzu a0,-4(a4) + bctr + +repl_args_1: + mtctr a3 + lwz a2,4(a2) + bctr + +repl_args_2: + stw a0,0(a4) + mr a0,a1 + addi a4,a4,4 + lwz a1,8(a2) + mtctr a3 + lwz a2,4(a2) + bctr + +repl_args_3: + mtctr a3 + lwz a0,4(a1) + lwz a1,0(a1) + bctr + +repl_args_4: + mtctr a3 + lwz d0,8(a1) + stw d0,0(a4) + lwz a0,4(a1) + lwz a1,0(a1) + addi a4,a4,4 + bctr + +repl_args_5: + mtctr a3 + lwz d0,12(a1) + stw d0,0(a4) + lwz d0,8(a1) + stw d0,4(a4) + lwz a0,4(a1) + lwz a1,0(a1) + addi a4,a4,8 + bctr + + csect .no_fast_ap32 +no_fast_ap32: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,31*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap31: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,30*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap30: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,29*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap29: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,28*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap28: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,27*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap27: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,26*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap26: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,25*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap25: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,24*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap24: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,23*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap23: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,22*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap22: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,21*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap21: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,20*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap20: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,19*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap19: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,18*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap18: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,17*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap17: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,16*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap16: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,16*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + li d1,15*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap15: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,14*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap14: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,13*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap13: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,12*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap12: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,11*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap11: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + lwz a2,2(a3) + + li d1,10*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap10: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,9*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap9: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,8*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap8: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,7*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap7: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,6*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap6: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,5*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap5: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,4*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap4: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,3*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2 + + lwz a2,2(a3) +no_fast_ap3: + mtctr a2 + stwu r0,-4(r1) + bctrl + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + + li d1,2*8 + lhz o1,0(a3) + cmpw 0,o1,d1 + beq fast_ap_2_2 + + lwz a2,2(a3) +no_fast_ap2: + mtctr a2 + stwu r0,-4(r1) + bctrl + mtlr r0 + lwz a3,0(a0) + mr a1,a0 + lwzu a0,-4(a4) + lwz a2,2(a3) + mtctr a2 + bctr + + csect .add_empty_node_2 +add_empty_node_2: + subic. d7,d7,3 + blt add_empty_node_2_gc +add_empty_node_2_gc_: + stwu a5,4(a6) + mr a2,a1 + mr a1,a0 + mr a0,a6 + addi a6,a6,8 + blr +add_empty_node_2_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_2_gc_ + + csect .add_empty_node_3 +add_empty_node_3: + subic. d7,d7,3 + blt add_empty_node_3_gc +add_empty_node_3_gc_: + stwu a5,4(a6) + stw a6,(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_3_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_3_gc_ + + csect .add_empty_node_4 +add_empty_node_4: + subic. d7,d7,3 + blt add_empty_node_4_gc +add_empty_node_4_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + stwu a5,4(a6) + stw a6,-4(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_4_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_4_gc_ + + csect .add_empty_node_5 +add_empty_node_5: + subic. d7,d7,3 + blt add_empty_node_5_gc +add_empty_node_5_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + stwu a5,4(a6) + stw a6,-8(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_5_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_5_gc_ + + csect .add_empty_node_6 +add_empty_node_6: + subic. d7,d7,3 + blt add_empty_node_6_gc +add_empty_node_6_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) + stwu a5,4(a6) + stw a6,-12(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_6_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_6_gc_ + + csect .add_empty_node_7 +add_empty_node_7: + subic. d7,d7,3 + blt add_empty_node_7_gc +add_empty_node_7_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) + lwz a3,-16(a4) + stw a3,-12(a3) + stwu a5,4(a6) + stw a6,-16(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_7_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_7_gc_ + + csect .add_empty_node_8 +add_empty_node_8: + subic. d7,d7,3 + blt add_empty_node_8_gc +add_empty_node_8_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) + lwz a3,-16(a4) + stw a3,-12(a4) + lwz a3,-20(a4) + stw a3,-16(a4) + stwu a5,4(a6) + stw a6,-20(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_8_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_8_gc_ + + csect .add_empty_node_9 + +add_empty_node_9: + subic. d7,d7,3 + blt add_empty_node_9_gc +add_empty_node_9_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) + lwz a3,-16(a4) + stw a3,-12(a4) + lwz a3,-20(a4) + stw a3,-16(a4) + lwz a3,-24(a4) + stw a3,-20(a4) + stwu a5,4(a6) + stw a6,-24(a3) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_9_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_9_gc_ + + csect .add_empty_node_10 +add_empty_node_10: + subic. d7,d7,3 + blt add_empty_node_10_gc +add_empty_node_10_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) + lwz a3,-16(a4) + stw a3,-12(a4) + lwz a3,-20(a4) + stw a3,-16(a4) + lwz a3,-24(a4) + stw a3,-20(a4) + lwz a3,-28(a4) + stw a3,-24(a4) + stwu a5,4(a6) + stw a6,-28(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_10_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_10_gc_ + + csect .add_empty_node_11 +add_empty_node_11: + subic. d7,d7,3 + blt add_empty_node_11_gc +add_empty_node_11_gc_: + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) + lwz a3,-16(a4) + stw a3,-12(a4) + lwz a3,-20(a4) + stw a3,-16(a4) + lwz a3,-24(a4) + stw a3,-20(a4) + lwz a3,-28(a4) + stw a3,-24(a4) + lwz a3,-32(a4) + stw a3,-28(a4) + stwu a5,4(a6) + stw a6,-28(a4) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_11_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_11_gc_ + + csect .add_empty_node_32 +add_empty_node_32: + li d1,7 + b add_empty_node_12_ + + csect .add_empty_node_28 +add_empty_node_28: + li d1,6 + b add_empty_node_12_ + + csect .add_empty_node_24 +add_empty_node_24: + li d1,5 + b add_empty_node_12_ + + csect .add_empty_node_20 +add_empty_node_20: + li d1,4 + b add_empty_node_12_ + + csect .add_empty_node_16 +add_empty_node_16: + li d1,3 + b add_empty_node_12_ + + csect .add_empty_node_12 +add_empty_node_12: + li d1,2 +add_empty_node_12_: + subic. d7,d7,3 + blt add_empty_node_12_gc +add_empty_node_12_gc_: + mr d0,a4 +add_empty_node_12_lp: + lwz a3,-4(d0) + stw a3,0(d0) + lwz a3,-8(d0) + stw a3,-4(d0) + lwz a3,-12(d0) + stw a3,-8(d0) + lwz a3,-16(d0) + stw a3,-12(d0) + subi d0,d0,16 + subic. d1,d1,1 + bne add_empty_node_12_lp + stwu a5,4(a6) + stw a6,0(d0) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_12_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_12_gc_ + + csect .add_empty_node_29 +add_empty_node_29: + li d1,6 + b add_empty_node_13_ + + csect .add_empty_node_25 +add_empty_node_25: + li d1,5 + b add_empty_node_13_ + + csect .add_empty_node_21 +add_empty_node_21: + li d1,4 + b add_empty_node_13_ + + csect .add_empty_node_17 +add_empty_node_17: + li d1,3 + b add_empty_node_13_ + + csect .add_empty_node_13 +add_empty_node_13: + li d1,2 +add_empty_node_13_: + subic. d7,d7,3 + blt add_empty_node_13_gc +add_empty_node_13_gc_: + mr d0,a4 + lwz a3,-4(a4) + stw a3,0(a4) +add_empty_node_13_lp: + lwz a3,-8(d0) + stw a3,-4(d0) + lwz a3,-12(d0) + stw a3,-8(d0) + lwz a3,-16(d0) + stw a3,-12(d0) + lwz a3,-20(d0) + stw a3,-16(d0) + subi d0,d0,16 + subic. d1,d1,1 + bne add_empty_node_13_lp + stwu a5,4(a6) + stw a6,-4(d0) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_13_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_13_gc_ + + csect .add_empty_node_30 +add_empty_node_30: + li d1,6 + b add_empty_node_14_ + + csect .add_empty_node_26 +add_empty_node_26: + li d1,5 + b add_empty_node_14_ + + csect .add_empty_node_22 +add_empty_node_22: + li d1,4 + b add_empty_node_14_ + + csect .add_empty_node_18 +add_empty_node_18: + li d1,3 + b add_empty_node_14_ + + csect .add_empty_node_14 +add_empty_node_14: + li d1,2 +add_empty_node_14_: + subic. d7,d7,3 + blt add_empty_node_14_gc +add_empty_node_14_gc_: + mr d0,a4 + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) +add_empty_node_14_lp: + lwz a3,-12(d0) + stw a3,-8(d0) + lwz a3,-16(d0) + stw a3,-12(d0) + lwz a3,-20(d0) + stw a3,-16(d0) + lwz a3,-24(d0) + stw a3,-20(d0) + subi d0,d0,16 + subic. d1,d1,1 + bne add_empty_node_14_lp + stwu a5,4(a6) + stw a6,-8(d0) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_14_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_14_gc_ + + csect .add_empty_node_31 +add_empty_node_31: + li d1,6 + b add_empty_node_15_ + + csect .add_empty_node_27 +add_empty_node_27: + li d1,51 + b add_empty_node_15_ + + csect .add_empty_node_23 +add_empty_node_23: + li d1,4 + b add_empty_node_15_ + + csect .add_empty_node_19 +add_empty_node_19: + li d1,3 + b add_empty_node_15_ + + csect .add_empty_node_15 +add_empty_node_15: + li d1,2 +add_empty_node_15_: + subic. d7,d7,3 + blt add_empty_node_15_gc +add_empty_node_15_gc_: + mr d0,a4 + lwz a3,-4(a4) + stw a3,0(a4) + lwz a3,-8(a4) + stw a3,-4(a4) + lwz a3,-12(a4) + stw a3,-8(a4) +add_empty_node_15_lp: + lwz a3,-16(d0) + stw a3,-12(d0) + lwz a3,-20(d0) + stw a3,-16(d0) + lwz a3,-24(d0) + stw a3,-20(d0) + lwz a3,-28(d0) + stw a3,-24(d0) + subi d0,d0,16 + subic. d1,d1,1 + bne add_empty_node_15_lp + stwu a5,4(a6) + stw a6,-12(d0) + addi a6,a6,8 + addi a4,a4,4 + blr +add_empty_node_15_gc: + stwu r0,-4(sp) + mflr r0 + bl collect_2 + lwz r0,0(sp) + addi sp,sp,4 + b add_empty_node_15_gc_ + + + csect .yet_args_needed_0 +yet_args_needed_0: + subic. d7,d7,2 + blt yet_args_needed_0_gc +yet_args_needed_0_gc_r: + stwu a0,8(a6) + lwz d0,0(a1) + addi a0,a6,4-8 + addi d0,d0,8 + stw d0,4-8(a6) + + lwz r0,0(sp) + addi sp,sp,4 + blr + +yet_args_needed_0_gc: + mflr r0 + bl collect_2 + b yet_args_needed_0_gc_r + + csect .yet_args_needed_1 + + subic. d7,d7,3 + blt build_node_2_gc +build_node_2_gc_r: + stw d1,4(a6) + b build_node_2 + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_1: + subic. d7,d7,3 + blt yet_args_needed_1_gc +yet_args_needed_1_gc_r: + stwu a0,12(a6) + lwz d0,0(a1) + addi a0,a6,4-12 + addi d0,d0,8 + stw d0,4-12(a6) + lwz d1,4(a1) + stw d1,8-12(a6) + + lwz r0,0(sp) + addi sp,sp,4 + blr + +yet_args_needed_1_gc: + mflr r0 + bl collect_2 + b yet_args_needed_1_gc_r + +build_node_2: + stw a1,8(a6) + stwu a0,12(a6) + addi a0,a6,4-12 + lwz r0,0(sp) + addi sp,sp,4 + blr + +build_node_2_gc: + mflr r0 + bl collect_2 + b build_node_2_gc_r + + csect .yet_args_needed_2 + + subic. d7,d7,5 + blt build_node_3_gc +build_node_3_gc_r: + stw d1,4(a6) + b build_node_3 + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_2: + subic. d7,d7,5 + blt yet_args_needed_2_gc +yet_args_needed_2_gc_r: + lwz d0,0(a1) + stw a0,8(a6) + addi d0,d0,8 + lwz d2,4(a1) + stw d0,12(a6) + addi a0,a6,12 + lwz o0,8(a1) + stw d2,16(a6) + stwu o0,4(a6) + stwu a6,16(a6) + + lwz r0,0(sp) + addi sp,sp,4 + blr + +yet_args_needed_2_gc: + mflr r0 + bl collect_2 + b yet_args_needed_2_gc_r + +build_node_3: + stw a2,8(a6) + stwu a1,16(a6) + stw a6,-4(a6) + stwu a0,4(a6) + addi a0,a6,4-20 + lwz r0,0(sp) + addi sp,sp,4 + blr + +build_node_3_gc: + mflr r0 + bl collect_3 + b build_node_3_gc_r + + csect .yet_args_needed_3 + + subic. d7,d7,6 + blt build_node_4_gc +build_node_4_gc_r: + stw d1,4(a6) + b build_node_4 + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_3: + subic. d7,d7,6 + blt yet_args_needed_2_gc +yet_args_needed_3_gc_r: + lwz d0,0(a1) + stw a0,12(a6) + addi d0,d0,8 + lwz d2,4(a1) + stw d0,16(a6) + lwz a1,8(a1) + stw d2,20(a6) + lwz o0,0(a1) + lwz o1,4(a1) + stwu o0,4(a6) + stwu a6,20(a6) + addi a0,a6,16-24 + stw o1,8-24(a6) + + lwz r0,0(sp) + addi sp,sp,4 + blr + +yet_args_needed_3_gc: + mflr r0 + bl collect_2 + b yet_args_needed_3_gc_r + +build_node_4: + stw a2,8(a6) + stwu a1,16(a6) + stw a6,-4(a6) + stw a0,4(a6) + addi a0,a6,4-16 + lwzu a2,-4(a4) + stwu a2,8(a6) + lwz r0,0(sp) + addi sp,sp,4 + blr + +build_node_4_gc: + mflr r0 + bl collect_3 + b build_node_4_gc_r + + csect .yet_args_needed_4 + + subic. d7,d7,7 + blt build_node_5_gc +build_node_5_gc_r: + stw d1,4(a6) + b build_node_5 + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_4: + subic. d7,d7,7 + blt yet_args_needed_4_gc +yet_args_needed_4_gc_r: + lwz d0,0(a1) + stw a0,16(a6) + addi d0,d0,8 + lwz d2,4(a1) + stw d0,20(a6) + lwz a1,8(a1) + stw d2,24(a6) + lwz o0,0(a1) + lwz o1,4(a1) + stwu o0,4(a6) + stwu a6,24(a6) + addi a0,a6,20-28 + lwz o2,8(a1) + stw o1,8-28(a6) + stw o2,12-28(a6) + + lwz r0,0(sp) + addi sp,sp,4 + blr + +yet_args_needed_4_gc: + mflr r0 + bl collect_2 + b yet_args_needed_4_gc_r + +build_node_5: + stw a2,8(a6) + stwu a1,16(a6) + stw a6,-4(a6) + stw a0,4(a6) + addi a0,a6,4-16 + lwz a2,-4(a4) + stw a2,8(a6) + lwzu a2,-8(a4) + stwu a2,12(a6) + lwz r0,0(sp) + addi sp,sp,4 + blr + +build_node_5_gc: + mflr r0 + bl collect_3 + b build_node_5_gc_r + + csect .yet_args_needed_5 + + subic. d7,d7,8 + blt build_node_6_gc +build_node_6_gc_r: + li d0,1 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_5: + lwz d1,0(a1) + li d0,8 + b yet_args_needed_ + +build_node_6_gc: + mflr r0 + bl collect_3 + b build_node_6_gc_r + + csect .yet_args_needed_6 + + subic. d7,d7,9 + blt build_node_7_gc +build_node_7_gc_r: + li d0,2 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_6: + lwz d1,0(a1) + li d0,9 + b yet_args_needed_ + +build_node_7_gc: + mflr r0 + bl collect_3 + b build_node_7_gc_r + + csect .yet_args_needed_7 + + subic. d7,d7,10 + blt build_node_8_gc +build_node_8_gc_r: + li d0,3 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_7: + lwz d1,0(a1) + li d0,10 + b yet_args_needed_ + +build_node_8_gc: + mflr r0 + bl collect_3 + b build_node_8_gc_r + + csect .yet_args_needed_8 + + subic. d7,d7,11 + blt build_node_9_gc +build_node_9_gc_r: + li d0,4 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_8: + lwz d1,0(a1) + li d0,11 + b yet_args_needed_ + +build_node_9_gc: + mflr r0 + bl collect_3 + b build_node_9_gc_r + + csect .yet_args_needed_9 + + subic. d7,d7,12 + blt build_node_10_gc +build_node_10_gc_r: + li d0,5 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_9: + lwz d1,0(a1) + li d0,12 + b yet_args_needed_ + +build_node_10_gc: + mflr r0 + bl collect_3 + b build_node_10_gc_r + + csect .yet_args_needed_10 + + subic. d7,d7,13 + blt build_node_11_gc +build_node_11_gc_r: + li d0,6 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_10: + lwz d1,0(a1) + li d0,13 + b yet_args_needed_ + +build_node_11_gc: + mflr r0 + bl collect_3 + b build_node_11_gc_r + + csect .yet_args_needed_11 + + subic. d7,d7,14 + blt build_node_12_gc +build_node_12_gc_r: + li d0,7 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_11: + lwz d1,0(a1) + li d0,14 + b yet_args_needed_ + +build_node_12_gc: + mflr r0 + bl collect_3 + b build_node_12_gc_r + + csect .yet_args_needed_12 + + subic. d7,d7,15 + blt build_node_13_gc +build_node_13_gc_r: + li d0,8 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_12: + lwz d1,0(a1) + li d0,15 + b yet_args_needed_ + +build_node_13_gc: + mflr r0 + bl collect_3 + b build_node_13_gc_r + + csect .yet_args_needed_13 + + subic. d7,d7,16 + blt build_node_14_gc +build_node_14_gc_r: + li d0,9 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_13: + lwz d1,0(a1) + li d0,16 + b yet_args_needed_ + +build_node_14_gc: + mflr r0 + bl collect_3 + b build_node_14_gc_r + + csect .yet_args_needed_14 + + subic. d7,d7,17 + blt build_node_15_gc +build_node_15_gc_r: + li d0,10 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_14: + lwz d1,0(a1) + li d0,17 + b yet_args_needed_ + +build_node_15_gc: + mflr r0 + bl collect_3 + b build_node_15_gc_r + + csect .yet_args_needed_15 + + subic. d7,d7,18 + blt build_node_16_gc +build_node_16_gc_r: + li d0,11 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_15: + lwz d1,0(a1) + li d0,18 + b yet_args_needed_ + +build_node_16_gc: + mflr r0 + bl collect_3 + b build_node_16_gc_r + + csect .yet_args_needed_16 + + subic. d7,d7,19 + blt build_node_17_gc +build_node_17_gc_r: + li d0,12 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_16: + lwz d1,0(a1) + li d0,19 + b yet_args_needed_ + +build_node_17_gc: + mflr r0 + bl collect_3 + b build_node_17_gc_r + + csect .yet_args_needed_17 + + subic. d7,d7,20 + blt build_node_18_gc +build_node_18_gc_r: + li d0,13 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_17: + lwz d1,0(a1) + li d0,20 + b yet_args_needed_ + +build_node_18_gc: + mflr r0 + bl collect_3 + b build_node_18_gc_r + + csect .yet_args_needed_18 + + subic. d7,d7,21 + blt build_node_19_gc +build_node_19_gc_r: + li d0,14 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_18: + lwz d1,0(a1) + li d0,21 + b yet_args_needed_ + +build_node_19_gc: + mflr r0 + bl collect_3 + b build_node_19_gc_r + + csect .yet_args_needed_19 + + subic. d7,d7,22 + blt build_node_20_gc +build_node_20_gc_r: + li d0,15 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_19: + lwz d1,0(a1) + li d0,22 + b yet_args_needed_ + +build_node_20_gc: + mflr r0 + bl collect_3 + b build_node_20_gc_r + + csect .yet_args_needed_20 + + subic. d7,d7,23 + blt build_node_21_gc +build_node_21_gc_r: + li d0,16 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_20: + lwz d1,0(a1) + li d0,23 + b yet_args_needed_ + +build_node_21_gc: + mflr r0 + bl collect_3 + b build_node_21_gc_r + + csect .yet_args_needed_21 + + subic. d7,d7,24 + blt build_node_22_gc +build_node_22_gc_r: + li d0,17 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_21: + lwz d1,0(a1) + li d0,24 + b yet_args_needed_ + +build_node_22_gc: + mflr r0 + bl collect_3 + b build_node_22_gc_r + + csect .yet_args_needed_22 + + subic. d7,d7,25 + blt build_node_23_gc +build_node_23_gc_r: + li d0,18 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_22: + lwz d1,0(a1) + li d0,25 + b yet_args_needed_ + +build_node_23_gc: + mflr r0 + bl collect_3 + b build_node_23_gc_r + + csect .yet_args_needed_23 + + subic. d7,d7,26 + blt build_node_24_gc +build_node_24_gc_r: + li d0,19 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_23: + lwz d1,0(a1) + li d0,26 + b yet_args_needed_ + +build_node_24_gc: + mflr r0 + bl collect_3 + b build_node_24_gc_r + + csect .yet_args_needed_24 + + subic. d7,d7,27 + blt build_node_25_gc +build_node_25_gc_r: + li d0,20 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_24: + lwz d1,0(a1) + li d0,27 + b yet_args_needed_ + +build_node_25_gc: + mflr r0 + bl collect_3 + b build_node_25_gc_r + + csect .yet_args_needed_25 + + subic. d7,d7,28 + blt build_node_26_gc +build_node_26_gc_r: + li d0,21 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_25: + lwz d1,0(a1) + li d0,28 + b yet_args_needed_ + +build_node_26_gc: + mflr r0 + bl collect_3 + b build_node_26_gc_r + + csect .yet_args_needed_26 + + subic. d7,d7,29 + blt build_node_27_gc +build_node_27_gc_r: + li d0,22 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_26: + lwz d1,0(a1) + li d0,29 + b yet_args_needed_ + +build_node_27_gc: + mflr r0 + bl collect_3 + b build_node_27_gc_r + + csect .yet_args_needed_27 + + subic. d7,d7,30 + blt build_node_28_gc +build_node_28_gc_r: + li d0,23 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_27: + lwz d1,0(a1) + li d0,30 + b yet_args_needed_ + +build_node_28_gc: + mflr r0 + bl collect_3 + b build_node_28_gc_r + + csect .yet_args_needed_28 + + subic. d7,d7,31 + blt build_node_29_gc +build_node_29_gc_r: + li d0,24 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_28: + lwz d1,0(a1) + li d0,31 + b yet_args_needed_ + +build_node_29_gc: + mflr r0 + bl collect_3 + b build_node_29_gc_r + + csect .yet_args_needed_29 + + subic. d7,d7,32 + blt build_node_30_gc +build_node_30_gc_r: + li d0,25 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_29: + lwz d1,0(a1) + li d0,32 + b yet_args_needed_ + +build_node_30_gc: + mflr r0 + bl collect_3 + b build_node_30_gc_r + + csect .yet_args_needed_30 + + subic. d7,d7,33 + blt build_node_31_gc +build_node_31_gc_r: + li d0,26 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_30: + lwz d1,0(a1) + li d0,33 + b yet_args_needed_ + +build_node_31_gc: + mflr r0 + bl collect_3 + b build_node_31_gc_r + + csect .yet_args_needed_31 + + subic. d7,d7,34 + blt build_node_32_gc +build_node_32_gc_r: + li d0,27 + b build_node_ + if PROFILE + nop + nop + nop + nop + endif + +yet_args_needed_31: + lwz d1,0(a1) + li d0,34 + b yet_args_needed_ + +build_node_32_gc: + mflr r0 + bl collect_3 + b build_node_32_gc_r + + csect .yet_args_needed +yet_args_needed: + lwz d1,0(a1) + lhz d0,-2(d1) + addi d0,d0,3 + +yet_args_needed_: + sub. d7,d7,d0 + blt yet_args_needed_gc + +yet_args_needed_gc_r: + lwz d3,4(a1) + subi d0,d0,1+4+3 + lwz a1,8(a1) + addi d2,a6,4 + lwz o0,0(a1) + lwz o1,4(a1) + stw o0,4(a6) + lwz o2,8(a1) + stw o1,8(a6) + addi a1,a1,12 + stwu o2,12(a6) + +yet_args_needed_cp_a: + lwz o0,0(a1) + addi a1,a1,4 + stwu o0,4(a6) + subic. d0,d0,1 + bge yet_args_needed_cp_a + + stw a0,4(a6) + addi d1,d1,8 + stw d1,8(a6) + addi a0,a6,8 + stw d3,12(a6) + stwu d2,16(a6) + + lwz r0,0(sp) + addi sp,sp,4 + blr + +yet_args_needed_gc: + mflr r0 + bl collect_2 + b yet_args_needed_gc_r + + csect .build_node_ +build_node_: + stw d1,4(a6) + stw a2,8(a6) + stwu a1,16(a6) + stw a6,-4(a6) + stw a0,4(a6) + addi a0,a6,4-16 + lwz a2,-4(a4) + stw a2,8(a6) + lwzu a2,-8(a4) + stwu a2,12(a6) + +build_node_cp_a: + lwz a2,-4(a4) + subi a4,a4,4 + subic. d0,d0,1 + stwu a2,4(a6) + bne build_node_cp_a + + lwz r0,0(sp) + addi sp,sp,4 + blr |