mirror of https://github.com/PrimeDecomp/prime.git
535 lines
24 KiB
ArmAsm
535 lines
24 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80003640 - 0x803CB1C0
|
|
|
|
.global rbtree_traverse_forward__4rstlFPCvPv
|
|
rbtree_traverse_forward__4rstlFPCvPv:
|
|
/* 8033C5E0 00339540 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8033C5E4 00339544 40 82 00 0C */ bne lbl_8033C5F0
|
|
/* 8033C5E8 00339548 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 8033C5EC 0033954C 4E 80 00 20 */ blr
|
|
lbl_8033C5F0:
|
|
/* 8033C5F0 00339550 80 A4 00 04 */ lwz r5, 4(r4)
|
|
/* 8033C5F4 00339554 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C5F8 00339558 40 82 00 18 */ bne lbl_8033C610
|
|
/* 8033C5FC 0033955C 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8033C600 00339560 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C604 00339564 40 82 00 0C */ bne lbl_8033C610
|
|
/* 8033C608 00339568 38 60 00 00 */ li r3, 0
|
|
/* 8033C60C 0033956C 4E 80 00 20 */ blr
|
|
lbl_8033C610:
|
|
/* 8033C610 00339570 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C614 00339574 40 82 00 14 */ bne lbl_8033C628
|
|
/* 8033C618 00339578 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8033C61C 0033957C 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8033C620 00339580 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C624 00339584 4D 82 00 20 */ beqlr
|
|
lbl_8033C628:
|
|
/* 8033C628 00339588 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C62C 0033958C 41 82 00 28 */ beq lbl_8033C654
|
|
/* 8033C630 00339590 7C A3 2B 78 */ mr r3, r5
|
|
/* 8033C634 00339594 48 00 00 08 */ b lbl_8033C63C
|
|
lbl_8033C638:
|
|
/* 8033C638 00339598 7C 03 03 78 */ mr r3, r0
|
|
lbl_8033C63C:
|
|
/* 8033C63C 0033959C 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8033C640 003395A0 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C644 003395A4 40 82 FF F4 */ bne lbl_8033C638
|
|
/* 8033C648 003395A8 4E 80 00 20 */ blr
|
|
/* 8033C64C 003395AC 48 00 00 08 */ b lbl_8033C654
|
|
lbl_8033C650:
|
|
/* 8033C650 003395B0 7C 64 1B 78 */ mr r4, r3
|
|
lbl_8033C654:
|
|
/* 8033C654 003395B4 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8033C658 003395B8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C65C 003395BC 41 82 00 10 */ beq lbl_8033C66C
|
|
/* 8033C660 003395C0 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 8033C664 003395C4 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C668 003395C8 41 82 FF E8 */ beq lbl_8033C650
|
|
lbl_8033C66C:
|
|
/* 8033C66C 003395CC 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C670 003395D0 4C 82 00 20 */ bnelr
|
|
/* 8033C674 003395D4 38 60 00 00 */ li r3, 0
|
|
/* 8033C678 003395D8 4E 80 00 20 */ blr
|
|
|
|
.global rbtree_rebalance_for_erase__4rstlFPvPv
|
|
rbtree_rebalance_for_erase__4rstlFPvPv:
|
|
/* 8033C67C 003395DC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8033C680 003395E0 7C 08 02 A6 */ mflr r0
|
|
/* 8033C684 003395E4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8033C688 003395E8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8033C68C 003395EC 7C 9F 23 78 */ mr r31, r4
|
|
/* 8033C690 003395F0 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8033C694 003395F4 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8033C698 003395F8 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 8033C69C 003395FC 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8033C6A0 00339600 80 64 00 00 */ lwz r3, 0(r4)
|
|
/* 8033C6A4 00339604 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C6A8 00339608 40 82 00 0C */ bne lbl_8033C6B4
|
|
/* 8033C6AC 0033960C 83 C4 00 04 */ lwz r30, 4(r4)
|
|
/* 8033C6B0 00339610 48 00 00 34 */ b lbl_8033C6E4
|
|
lbl_8033C6B4:
|
|
/* 8033C6B4 00339614 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8033C6B8 00339618 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C6BC 0033961C 40 82 00 0C */ bne lbl_8033C6C8
|
|
/* 8033C6C0 00339620 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8033C6C4 00339624 48 00 00 20 */ b lbl_8033C6E4
|
|
lbl_8033C6C8:
|
|
/* 8033C6C8 00339628 7C 1F 03 78 */ mr r31, r0
|
|
/* 8033C6CC 0033962C 48 00 00 08 */ b lbl_8033C6D4
|
|
lbl_8033C6D0:
|
|
/* 8033C6D0 00339630 7C 1F 03 78 */ mr r31, r0
|
|
lbl_8033C6D4:
|
|
/* 8033C6D4 00339634 80 1F 00 00 */ lwz r0, 0(r31)
|
|
/* 8033C6D8 00339638 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C6DC 0033963C 40 82 FF F4 */ bne lbl_8033C6D0
|
|
/* 8033C6E0 00339640 83 DF 00 04 */ lwz r30, 4(r31)
|
|
lbl_8033C6E4:
|
|
/* 8033C6E4 00339644 7C 1F 20 40 */ cmplw r31, r4
|
|
/* 8033C6E8 00339648 41 82 00 A0 */ beq lbl_8033C788
|
|
/* 8033C6EC 0033964C 93 E3 00 08 */ stw r31, 8(r3)
|
|
/* 8033C6F0 00339650 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8033C6F4 00339654 90 1F 00 00 */ stw r0, 0(r31)
|
|
/* 8033C6F8 00339658 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8033C6FC 0033965C 7C 1F 00 40 */ cmplw r31, r0
|
|
/* 8033C700 00339660 41 82 00 34 */ beq lbl_8033C734
|
|
/* 8033C704 00339664 80 1F 00 08 */ lwz r0, 8(r31)
|
|
/* 8033C708 00339668 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8033C70C 0033966C 7C 1D 03 78 */ mr r29, r0
|
|
/* 8033C710 00339670 41 82 00 08 */ beq lbl_8033C718
|
|
/* 8033C714 00339674 90 1E 00 08 */ stw r0, 8(r30)
|
|
lbl_8033C718:
|
|
/* 8033C718 00339678 80 7F 00 08 */ lwz r3, 8(r31)
|
|
/* 8033C71C 0033967C 93 C3 00 00 */ stw r30, 0(r3)
|
|
/* 8033C720 00339680 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8033C724 00339684 90 1F 00 04 */ stw r0, 4(r31)
|
|
/* 8033C728 00339688 80 64 00 04 */ lwz r3, 4(r4)
|
|
/* 8033C72C 0033968C 93 E3 00 08 */ stw r31, 8(r3)
|
|
/* 8033C730 00339690 48 00 00 08 */ b lbl_8033C738
|
|
lbl_8033C734:
|
|
/* 8033C734 00339694 7F FD FB 78 */ mr r29, r31
|
|
lbl_8033C738:
|
|
/* 8033C738 00339698 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 8033C73C 0033969C 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C740 003396A0 40 82 00 0C */ bne lbl_8033C74C
|
|
/* 8033C744 003396A4 93 FC 00 08 */ stw r31, 8(r28)
|
|
/* 8033C748 003396A8 48 00 00 20 */ b lbl_8033C768
|
|
lbl_8033C74C:
|
|
/* 8033C74C 003396AC 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8033C750 003396B0 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8033C754 003396B4 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C758 003396B8 40 82 00 0C */ bne lbl_8033C764
|
|
/* 8033C75C 003396BC 93 E3 00 00 */ stw r31, 0(r3)
|
|
/* 8033C760 003396C0 48 00 00 08 */ b lbl_8033C768
|
|
lbl_8033C764:
|
|
/* 8033C764 003396C4 93 E3 00 04 */ stw r31, 4(r3)
|
|
lbl_8033C768:
|
|
/* 8033C768 003396C8 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8033C76C 003396CC 90 1F 00 08 */ stw r0, 8(r31)
|
|
/* 8033C770 003396D0 80 7F 00 0C */ lwz r3, 0xc(r31)
|
|
/* 8033C774 003396D4 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8033C778 003396D8 90 1F 00 0C */ stw r0, 0xc(r31)
|
|
/* 8033C77C 003396DC 7C 9F 23 78 */ mr r31, r4
|
|
/* 8033C780 003396E0 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033C784 003396E4 48 00 00 E8 */ b lbl_8033C86C
|
|
lbl_8033C788:
|
|
/* 8033C788 003396E8 80 1F 00 08 */ lwz r0, 8(r31)
|
|
/* 8033C78C 003396EC 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8033C790 003396F0 7C 1D 03 78 */ mr r29, r0
|
|
/* 8033C794 003396F4 41 82 00 08 */ beq lbl_8033C79C
|
|
/* 8033C798 003396F8 90 1E 00 08 */ stw r0, 8(r30)
|
|
lbl_8033C79C:
|
|
/* 8033C79C 003396FC 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 8033C7A0 00339700 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C7A4 00339704 40 82 00 0C */ bne lbl_8033C7B0
|
|
/* 8033C7A8 00339708 93 DC 00 08 */ stw r30, 8(r28)
|
|
/* 8033C7AC 0033970C 48 00 00 20 */ b lbl_8033C7CC
|
|
lbl_8033C7B0:
|
|
/* 8033C7B0 00339710 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8033C7B4 00339714 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8033C7B8 00339718 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C7BC 0033971C 40 82 00 0C */ bne lbl_8033C7C8
|
|
/* 8033C7C0 00339720 93 C3 00 00 */ stw r30, 0(r3)
|
|
/* 8033C7C4 00339724 48 00 00 08 */ b lbl_8033C7CC
|
|
lbl_8033C7C8:
|
|
/* 8033C7C8 00339728 93 C3 00 04 */ stw r30, 4(r3)
|
|
lbl_8033C7CC:
|
|
/* 8033C7CC 0033972C 80 1C 00 00 */ lwz r0, 0(r28)
|
|
/* 8033C7D0 00339730 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C7D4 00339734 40 82 00 48 */ bne lbl_8033C81C
|
|
/* 8033C7D8 00339738 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8033C7DC 0033973C 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C7E0 00339740 40 82 00 10 */ bne lbl_8033C7F0
|
|
/* 8033C7E4 00339744 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8033C7E8 00339748 90 1C 00 00 */ stw r0, 0(r28)
|
|
/* 8033C7EC 0033974C 48 00 00 30 */ b lbl_8033C81C
|
|
lbl_8033C7F0:
|
|
/* 8033C7F0 00339750 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8033C7F4 00339754 40 82 00 0C */ bne lbl_8033C800
|
|
/* 8033C7F8 00339758 93 DC 00 00 */ stw r30, 0(r28)
|
|
/* 8033C7FC 0033975C 48 00 00 20 */ b lbl_8033C81C
|
|
lbl_8033C800:
|
|
/* 8033C800 00339760 7F C3 F3 78 */ mr r3, r30
|
|
/* 8033C804 00339764 48 00 00 08 */ b lbl_8033C80C
|
|
lbl_8033C808:
|
|
/* 8033C808 00339768 7C 03 03 78 */ mr r3, r0
|
|
lbl_8033C80C:
|
|
/* 8033C80C 0033976C 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8033C810 00339770 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C814 00339774 40 82 FF F4 */ bne lbl_8033C808
|
|
/* 8033C818 00339778 90 7C 00 00 */ stw r3, 0(r28)
|
|
lbl_8033C81C:
|
|
/* 8033C81C 0033977C 80 1C 00 04 */ lwz r0, 4(r28)
|
|
/* 8033C820 00339780 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033C824 00339784 40 82 00 48 */ bne lbl_8033C86C
|
|
/* 8033C828 00339788 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8033C82C 0033978C 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C830 00339790 40 82 00 10 */ bne lbl_8033C840
|
|
/* 8033C834 00339794 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8033C838 00339798 90 1C 00 04 */ stw r0, 4(r28)
|
|
/* 8033C83C 0033979C 48 00 00 30 */ b lbl_8033C86C
|
|
lbl_8033C840:
|
|
/* 8033C840 003397A0 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8033C844 003397A4 40 82 00 0C */ bne lbl_8033C850
|
|
/* 8033C848 003397A8 93 DC 00 04 */ stw r30, 4(r28)
|
|
/* 8033C84C 003397AC 48 00 00 20 */ b lbl_8033C86C
|
|
lbl_8033C850:
|
|
/* 8033C850 003397B0 7F C3 F3 78 */ mr r3, r30
|
|
/* 8033C854 003397B4 48 00 00 08 */ b lbl_8033C85C
|
|
lbl_8033C858:
|
|
/* 8033C858 003397B8 7C 03 03 78 */ mr r3, r0
|
|
lbl_8033C85C:
|
|
/* 8033C85C 003397BC 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 8033C860 003397C0 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8033C864 003397C4 40 82 FF F4 */ bne lbl_8033C858
|
|
/* 8033C868 003397C8 90 7C 00 04 */ stw r3, 4(r28)
|
|
lbl_8033C86C:
|
|
/* 8033C86C 003397CC 80 1F 00 0C */ lwz r0, 0xc(r31)
|
|
/* 8033C870 003397D0 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8033C874 003397D4 41 82 02 00 */ beq lbl_8033CA74
|
|
/* 8033C878 003397D8 48 00 01 CC */ b lbl_8033CA44
|
|
lbl_8033C87C:
|
|
/* 8033C87C 003397DC 80 9D 00 00 */ lwz r4, 0(r29)
|
|
/* 8033C880 003397E0 7C 1E 20 40 */ cmplw r30, r4
|
|
/* 8033C884 003397E4 40 82 00 E4 */ bne lbl_8033C968
|
|
/* 8033C888 003397E8 80 9D 00 04 */ lwz r4, 4(r29)
|
|
/* 8033C88C 003397EC 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8033C890 003397F0 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8033C894 003397F4 40 82 00 24 */ bne lbl_8033C8B8
|
|
/* 8033C898 003397F8 38 60 00 00 */ li r3, 0
|
|
/* 8033C89C 003397FC 38 00 00 01 */ li r0, 1
|
|
/* 8033C8A0 00339800 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033C8A4 00339804 7F 83 E3 78 */ mr r3, r28
|
|
/* 8033C8A8 00339808 7F A4 EB 78 */ mr r4, r29
|
|
/* 8033C8AC 0033980C 90 1D 00 0C */ stw r0, 0xc(r29)
|
|
/* 8033C8B0 00339810 48 00 03 BD */ bl rbtree_rotate_left__4rstlFPvPv
|
|
/* 8033C8B4 00339814 80 9D 00 04 */ lwz r4, 4(r29)
|
|
lbl_8033C8B8:
|
|
/* 8033C8B8 00339818 80 64 00 00 */ lwz r3, 0(r4)
|
|
/* 8033C8BC 0033981C 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C8C0 00339820 41 82 00 10 */ beq lbl_8033C8D0
|
|
/* 8033C8C4 00339824 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8033C8C8 00339828 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033C8CC 0033982C 40 82 00 30 */ bne lbl_8033C8FC
|
|
lbl_8033C8D0:
|
|
/* 8033C8D0 00339830 80 A4 00 04 */ lwz r5, 4(r4)
|
|
/* 8033C8D4 00339834 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C8D8 00339838 41 82 00 10 */ beq lbl_8033C8E8
|
|
/* 8033C8DC 0033983C 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 8033C8E0 00339840 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033C8E4 00339844 40 82 00 18 */ bne lbl_8033C8FC
|
|
lbl_8033C8E8:
|
|
/* 8033C8E8 00339848 38 00 00 01 */ li r0, 1
|
|
/* 8033C8EC 0033984C 7F BE EB 78 */ mr r30, r29
|
|
/* 8033C8F0 00339850 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8033C8F4 00339854 83 BD 00 08 */ lwz r29, 8(r29)
|
|
/* 8033C8F8 00339858 48 00 01 4C */ b lbl_8033CA44
|
|
lbl_8033C8FC:
|
|
/* 8033C8FC 0033985C 80 A4 00 04 */ lwz r5, 4(r4)
|
|
/* 8033C900 00339860 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C904 00339864 41 82 00 10 */ beq lbl_8033C914
|
|
/* 8033C908 00339868 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 8033C90C 0033986C 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033C910 00339870 40 82 00 28 */ bne lbl_8033C938
|
|
lbl_8033C914:
|
|
/* 8033C914 00339874 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C918 00339878 41 82 00 0C */ beq lbl_8033C924
|
|
/* 8033C91C 0033987C 38 00 00 00 */ li r0, 0
|
|
/* 8033C920 00339880 90 03 00 0C */ stw r0, 0xc(r3)
|
|
lbl_8033C924:
|
|
/* 8033C924 00339884 38 00 00 01 */ li r0, 1
|
|
/* 8033C928 00339888 7F 83 E3 78 */ mr r3, r28
|
|
/* 8033C92C 0033988C 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8033C930 00339890 48 00 02 DD */ bl rbtree_rotate_right__4rstlFPvPv
|
|
/* 8033C934 00339894 80 9D 00 04 */ lwz r4, 4(r29)
|
|
lbl_8033C938:
|
|
/* 8033C938 00339898 80 7D 00 0C */ lwz r3, 0xc(r29)
|
|
/* 8033C93C 0033989C 38 00 00 00 */ li r0, 0
|
|
/* 8033C940 003398A0 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033C944 003398A4 90 1D 00 0C */ stw r0, 0xc(r29)
|
|
/* 8033C948 003398A8 80 64 00 04 */ lwz r3, 4(r4)
|
|
/* 8033C94C 003398AC 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C950 003398B0 41 82 00 08 */ beq lbl_8033C958
|
|
/* 8033C954 003398B4 90 03 00 0C */ stw r0, 0xc(r3)
|
|
lbl_8033C958:
|
|
/* 8033C958 003398B8 7F 83 E3 78 */ mr r3, r28
|
|
/* 8033C95C 003398BC 7F A4 EB 78 */ mr r4, r29
|
|
/* 8033C960 003398C0 48 00 03 0D */ bl rbtree_rotate_left__4rstlFPvPv
|
|
/* 8033C964 003398C4 48 00 01 00 */ b lbl_8033CA64
|
|
lbl_8033C968:
|
|
/* 8033C968 003398C8 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8033C96C 003398CC 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8033C970 003398D0 40 82 00 24 */ bne lbl_8033C994
|
|
/* 8033C974 003398D4 38 60 00 00 */ li r3, 0
|
|
/* 8033C978 003398D8 38 00 00 01 */ li r0, 1
|
|
/* 8033C97C 003398DC 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033C980 003398E0 7F 83 E3 78 */ mr r3, r28
|
|
/* 8033C984 003398E4 7F A4 EB 78 */ mr r4, r29
|
|
/* 8033C988 003398E8 90 1D 00 0C */ stw r0, 0xc(r29)
|
|
/* 8033C98C 003398EC 48 00 02 81 */ bl rbtree_rotate_right__4rstlFPvPv
|
|
/* 8033C990 003398F0 80 9D 00 00 */ lwz r4, 0(r29)
|
|
lbl_8033C994:
|
|
/* 8033C994 003398F4 80 64 00 04 */ lwz r3, 4(r4)
|
|
/* 8033C998 003398F8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C99C 003398FC 41 82 00 10 */ beq lbl_8033C9AC
|
|
/* 8033C9A0 00339900 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8033C9A4 00339904 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033C9A8 00339908 40 82 00 30 */ bne lbl_8033C9D8
|
|
lbl_8033C9AC:
|
|
/* 8033C9AC 0033990C 80 A4 00 00 */ lwz r5, 0(r4)
|
|
/* 8033C9B0 00339910 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C9B4 00339914 41 82 00 10 */ beq lbl_8033C9C4
|
|
/* 8033C9B8 00339918 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 8033C9BC 0033991C 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033C9C0 00339920 40 82 00 18 */ bne lbl_8033C9D8
|
|
lbl_8033C9C4:
|
|
/* 8033C9C4 00339924 38 00 00 01 */ li r0, 1
|
|
/* 8033C9C8 00339928 7F BE EB 78 */ mr r30, r29
|
|
/* 8033C9CC 0033992C 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8033C9D0 00339930 83 BD 00 08 */ lwz r29, 8(r29)
|
|
/* 8033C9D4 00339934 48 00 00 70 */ b lbl_8033CA44
|
|
lbl_8033C9D8:
|
|
/* 8033C9D8 00339938 80 A4 00 00 */ lwz r5, 0(r4)
|
|
/* 8033C9DC 0033993C 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033C9E0 00339940 41 82 00 10 */ beq lbl_8033C9F0
|
|
/* 8033C9E4 00339944 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 8033C9E8 00339948 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033C9EC 0033994C 40 82 00 28 */ bne lbl_8033CA14
|
|
lbl_8033C9F0:
|
|
/* 8033C9F0 00339950 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033C9F4 00339954 41 82 00 0C */ beq lbl_8033CA00
|
|
/* 8033C9F8 00339958 38 00 00 00 */ li r0, 0
|
|
/* 8033C9FC 0033995C 90 03 00 0C */ stw r0, 0xc(r3)
|
|
lbl_8033CA00:
|
|
/* 8033CA00 00339960 38 00 00 01 */ li r0, 1
|
|
/* 8033CA04 00339964 7F 83 E3 78 */ mr r3, r28
|
|
/* 8033CA08 00339968 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8033CA0C 0033996C 48 00 02 61 */ bl rbtree_rotate_left__4rstlFPvPv
|
|
/* 8033CA10 00339970 80 9D 00 00 */ lwz r4, 0(r29)
|
|
lbl_8033CA14:
|
|
/* 8033CA14 00339974 80 7D 00 0C */ lwz r3, 0xc(r29)
|
|
/* 8033CA18 00339978 38 00 00 00 */ li r0, 0
|
|
/* 8033CA1C 0033997C 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033CA20 00339980 90 1D 00 0C */ stw r0, 0xc(r29)
|
|
/* 8033CA24 00339984 80 64 00 00 */ lwz r3, 0(r4)
|
|
/* 8033CA28 00339988 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8033CA2C 0033998C 41 82 00 08 */ beq lbl_8033CA34
|
|
/* 8033CA30 00339990 90 03 00 0C */ stw r0, 0xc(r3)
|
|
lbl_8033CA34:
|
|
/* 8033CA34 00339994 7F 83 E3 78 */ mr r3, r28
|
|
/* 8033CA38 00339998 7F A4 EB 78 */ mr r4, r29
|
|
/* 8033CA3C 0033999C 48 00 01 D1 */ bl rbtree_rotate_right__4rstlFPvPv
|
|
/* 8033CA40 003399A0 48 00 00 24 */ b lbl_8033CA64
|
|
lbl_8033CA44:
|
|
/* 8033CA44 003399A4 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 8033CA48 003399A8 7C 1E 00 40 */ cmplw r30, r0
|
|
/* 8033CA4C 003399AC 41 82 00 18 */ beq lbl_8033CA64
|
|
/* 8033CA50 003399B0 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8033CA54 003399B4 41 82 FE 28 */ beq lbl_8033C87C
|
|
/* 8033CA58 003399B8 80 1E 00 0C */ lwz r0, 0xc(r30)
|
|
/* 8033CA5C 003399BC 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8033CA60 003399C0 41 82 FE 1C */ beq lbl_8033C87C
|
|
lbl_8033CA64:
|
|
/* 8033CA64 003399C4 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 8033CA68 003399C8 41 82 00 0C */ beq lbl_8033CA74
|
|
/* 8033CA6C 003399CC 38 00 00 00 */ li r0, 0
|
|
/* 8033CA70 003399D0 90 1E 00 0C */ stw r0, 0xc(r30)
|
|
lbl_8033CA74:
|
|
/* 8033CA74 003399D4 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8033CA78 003399D8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8033CA7C 003399DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8033CA80 003399E0 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8033CA84 003399E4 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8033CA88 003399E8 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 8033CA8C 003399EC 7C 08 03 A6 */ mtlr r0
|
|
/* 8033CA90 003399F0 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8033CA94 003399F4 4E 80 00 20 */ blr
|
|
|
|
.global rbtree_rebalance__4rstlFPvPv
|
|
rbtree_rebalance__4rstlFPvPv:
|
|
/* 8033CA98 003399F8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8033CA9C 003399FC 7C 08 02 A6 */ mflr r0
|
|
/* 8033CAA0 00339A00 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8033CAA4 00339A04 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8033CAA8 00339A08 7C 9F 23 78 */ mr r31, r4
|
|
/* 8033CAAC 00339A0C 93 C1 00 08 */ stw r30, 8(r1)
|
|
/* 8033CAB0 00339A10 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8033CAB4 00339A14 48 00 01 1C */ b lbl_8033CBD0
|
|
lbl_8033CAB8:
|
|
/* 8033CAB8 00339A18 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8033CABC 00339A1C 80 A3 00 00 */ lwz r5, 0(r3)
|
|
/* 8033CAC0 00339A20 7C 04 28 40 */ cmplw r4, r5
|
|
/* 8033CAC4 00339A24 40 82 00 8C */ bne lbl_8033CB50
|
|
/* 8033CAC8 00339A28 80 A3 00 04 */ lwz r5, 4(r3)
|
|
/* 8033CACC 00339A2C 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033CAD0 00339A30 41 82 00 38 */ beq lbl_8033CB08
|
|
/* 8033CAD4 00339A34 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 8033CAD8 00339A38 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8033CADC 00339A3C 40 82 00 2C */ bne lbl_8033CB08
|
|
/* 8033CAE0 00339A40 38 60 00 00 */ li r3, 0
|
|
/* 8033CAE4 00339A44 38 00 00 01 */ li r0, 1
|
|
/* 8033CAE8 00339A48 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033CAEC 00339A4C 90 65 00 0C */ stw r3, 0xc(r5)
|
|
/* 8033CAF0 00339A50 80 7F 00 08 */ lwz r3, 8(r31)
|
|
/* 8033CAF4 00339A54 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8033CAF8 00339A58 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 8033CAFC 00339A5C 80 7F 00 08 */ lwz r3, 8(r31)
|
|
/* 8033CB00 00339A60 83 E3 00 08 */ lwz r31, 8(r3)
|
|
/* 8033CB04 00339A64 48 00 00 CC */ b lbl_8033CBD0
|
|
lbl_8033CB08:
|
|
/* 8033CB08 00339A68 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8033CB0C 00339A6C 7C 1F 00 40 */ cmplw r31, r0
|
|
/* 8033CB10 00339A70 40 82 00 10 */ bne lbl_8033CB20
|
|
/* 8033CB14 00339A74 7C 9F 23 78 */ mr r31, r4
|
|
/* 8033CB18 00339A78 7F C3 F3 78 */ mr r3, r30
|
|
/* 8033CB1C 00339A7C 48 00 01 51 */ bl rbtree_rotate_left__4rstlFPvPv
|
|
lbl_8033CB20:
|
|
/* 8033CB20 00339A80 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CB24 00339A84 38 A0 00 00 */ li r5, 0
|
|
/* 8033CB28 00339A88 38 00 00 01 */ li r0, 1
|
|
/* 8033CB2C 00339A8C 7F C3 F3 78 */ mr r3, r30
|
|
/* 8033CB30 00339A90 90 A4 00 0C */ stw r5, 0xc(r4)
|
|
/* 8033CB34 00339A94 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CB38 00339A98 80 84 00 08 */ lwz r4, 8(r4)
|
|
/* 8033CB3C 00339A9C 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8033CB40 00339AA0 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CB44 00339AA4 80 84 00 08 */ lwz r4, 8(r4)
|
|
/* 8033CB48 00339AA8 48 00 00 C5 */ bl rbtree_rotate_right__4rstlFPvPv
|
|
/* 8033CB4C 00339AAC 48 00 00 84 */ b lbl_8033CBD0
|
|
lbl_8033CB50:
|
|
/* 8033CB50 00339AB0 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033CB54 00339AB4 41 82 00 38 */ beq lbl_8033CB8C
|
|
/* 8033CB58 00339AB8 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 8033CB5C 00339ABC 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8033CB60 00339AC0 40 82 00 2C */ bne lbl_8033CB8C
|
|
/* 8033CB64 00339AC4 38 60 00 00 */ li r3, 0
|
|
/* 8033CB68 00339AC8 38 00 00 01 */ li r0, 1
|
|
/* 8033CB6C 00339ACC 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 8033CB70 00339AD0 90 65 00 0C */ stw r3, 0xc(r5)
|
|
/* 8033CB74 00339AD4 80 7F 00 08 */ lwz r3, 8(r31)
|
|
/* 8033CB78 00339AD8 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8033CB7C 00339ADC 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 8033CB80 00339AE0 80 7F 00 08 */ lwz r3, 8(r31)
|
|
/* 8033CB84 00339AE4 83 E3 00 08 */ lwz r31, 8(r3)
|
|
/* 8033CB88 00339AE8 48 00 00 48 */ b lbl_8033CBD0
|
|
lbl_8033CB8C:
|
|
/* 8033CB8C 00339AEC 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8033CB90 00339AF0 7C 1F 00 40 */ cmplw r31, r0
|
|
/* 8033CB94 00339AF4 40 82 00 10 */ bne lbl_8033CBA4
|
|
/* 8033CB98 00339AF8 7C 9F 23 78 */ mr r31, r4
|
|
/* 8033CB9C 00339AFC 7F C3 F3 78 */ mr r3, r30
|
|
/* 8033CBA0 00339B00 48 00 00 6D */ bl rbtree_rotate_right__4rstlFPvPv
|
|
lbl_8033CBA4:
|
|
/* 8033CBA4 00339B04 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CBA8 00339B08 38 A0 00 00 */ li r5, 0
|
|
/* 8033CBAC 00339B0C 38 00 00 01 */ li r0, 1
|
|
/* 8033CBB0 00339B10 7F C3 F3 78 */ mr r3, r30
|
|
/* 8033CBB4 00339B14 90 A4 00 0C */ stw r5, 0xc(r4)
|
|
/* 8033CBB8 00339B18 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CBBC 00339B1C 80 84 00 08 */ lwz r4, 8(r4)
|
|
/* 8033CBC0 00339B20 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8033CBC4 00339B24 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CBC8 00339B28 80 84 00 08 */ lwz r4, 8(r4)
|
|
/* 8033CBCC 00339B2C 48 00 00 A1 */ bl rbtree_rotate_left__4rstlFPvPv
|
|
lbl_8033CBD0:
|
|
/* 8033CBD0 00339B30 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 8033CBD4 00339B34 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8033CBD8 00339B38 41 82 00 10 */ beq lbl_8033CBE8
|
|
/* 8033CBDC 00339B3C 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8033CBE0 00339B40 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8033CBE4 00339B44 41 82 FE D4 */ beq lbl_8033CAB8
|
|
lbl_8033CBE8:
|
|
/* 8033CBE8 00339B48 80 7E 00 08 */ lwz r3, 8(r30)
|
|
/* 8033CBEC 00339B4C 38 00 00 00 */ li r0, 0
|
|
/* 8033CBF0 00339B50 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 8033CBF4 00339B54 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8033CBF8 00339B58 83 C1 00 08 */ lwz r30, 8(r1)
|
|
/* 8033CBFC 00339B5C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8033CC00 00339B60 7C 08 03 A6 */ mtlr r0
|
|
/* 8033CC04 00339B64 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8033CC08 00339B68 4E 80 00 20 */ blr
|
|
|
|
.global rbtree_rotate_right__4rstlFPvPv
|
|
rbtree_rotate_right__4rstlFPvPv:
|
|
/* 8033CC0C 00339B6C 80 A4 00 08 */ lwz r5, 8(r4)
|
|
/* 8033CC10 00339B70 80 C4 00 00 */ lwz r6, 0(r4)
|
|
/* 8033CC14 00339B74 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033CC18 00339B78 80 E6 00 04 */ lwz r7, 4(r6)
|
|
/* 8033CC1C 00339B7C 40 82 00 14 */ bne lbl_8033CC30
|
|
/* 8033CC20 00339B80 90 C3 00 08 */ stw r6, 8(r3)
|
|
/* 8033CC24 00339B84 38 00 00 00 */ li r0, 0
|
|
/* 8033CC28 00339B88 90 06 00 08 */ stw r0, 8(r6)
|
|
/* 8033CC2C 00339B8C 48 00 00 24 */ b lbl_8033CC50
|
|
lbl_8033CC30:
|
|
/* 8033CC30 00339B90 80 05 00 00 */ lwz r0, 0(r5)
|
|
/* 8033CC34 00339B94 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8033CC38 00339B98 40 82 00 0C */ bne lbl_8033CC44
|
|
/* 8033CC3C 00339B9C 90 C5 00 00 */ stw r6, 0(r5)
|
|
/* 8033CC40 00339BA0 48 00 00 08 */ b lbl_8033CC48
|
|
lbl_8033CC44:
|
|
/* 8033CC44 00339BA4 90 C5 00 04 */ stw r6, 4(r5)
|
|
lbl_8033CC48:
|
|
/* 8033CC48 00339BA8 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8033CC4C 00339BAC 90 06 00 08 */ stw r0, 8(r6)
|
|
lbl_8033CC50:
|
|
/* 8033CC50 00339BB0 90 C4 00 08 */ stw r6, 8(r4)
|
|
/* 8033CC54 00339BB4 28 07 00 00 */ cmplwi r7, 0
|
|
/* 8033CC58 00339BB8 90 86 00 04 */ stw r4, 4(r6)
|
|
/* 8033CC5C 00339BBC 41 82 00 08 */ beq lbl_8033CC64
|
|
/* 8033CC60 00339BC0 90 87 00 08 */ stw r4, 8(r7)
|
|
lbl_8033CC64:
|
|
/* 8033CC64 00339BC4 90 E4 00 00 */ stw r7, 0(r4)
|
|
/* 8033CC68 00339BC8 4E 80 00 20 */ blr
|
|
|
|
.global rbtree_rotate_left__4rstlFPvPv
|
|
rbtree_rotate_left__4rstlFPvPv:
|
|
/* 8033CC6C 00339BCC 80 A4 00 08 */ lwz r5, 8(r4)
|
|
/* 8033CC70 00339BD0 80 C4 00 04 */ lwz r6, 4(r4)
|
|
/* 8033CC74 00339BD4 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8033CC78 00339BD8 80 E6 00 00 */ lwz r7, 0(r6)
|
|
/* 8033CC7C 00339BDC 40 82 00 14 */ bne lbl_8033CC90
|
|
/* 8033CC80 00339BE0 90 C3 00 08 */ stw r6, 8(r3)
|
|
/* 8033CC84 00339BE4 38 00 00 00 */ li r0, 0
|
|
/* 8033CC88 00339BE8 90 06 00 08 */ stw r0, 8(r6)
|
|
/* 8033CC8C 00339BEC 48 00 00 24 */ b lbl_8033CCB0
|
|
lbl_8033CC90:
|
|
/* 8033CC90 00339BF0 80 05 00 00 */ lwz r0, 0(r5)
|
|
/* 8033CC94 00339BF4 7C 00 20 40 */ cmplw r0, r4
|
|
/* 8033CC98 00339BF8 40 82 00 0C */ bne lbl_8033CCA4
|
|
/* 8033CC9C 00339BFC 90 C5 00 00 */ stw r6, 0(r5)
|
|
/* 8033CCA0 00339C00 48 00 00 08 */ b lbl_8033CCA8
|
|
lbl_8033CCA4:
|
|
/* 8033CCA4 00339C04 90 C5 00 04 */ stw r6, 4(r5)
|
|
lbl_8033CCA8:
|
|
/* 8033CCA8 00339C08 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8033CCAC 00339C0C 90 06 00 08 */ stw r0, 8(r6)
|
|
lbl_8033CCB0:
|
|
/* 8033CCB0 00339C10 90 C4 00 08 */ stw r6, 8(r4)
|
|
/* 8033CCB4 00339C14 28 07 00 00 */ cmplwi r7, 0
|
|
/* 8033CCB8 00339C18 90 86 00 00 */ stw r4, 0(r6)
|
|
/* 8033CCBC 00339C1C 41 82 00 08 */ beq lbl_8033CCC4
|
|
/* 8033CCC0 00339C20 90 87 00 08 */ stw r4, 8(r7)
|
|
lbl_8033CCC4:
|
|
/* 8033CCC4 00339C24 90 E4 00 04 */ stw r7, 4(r4)
|
|
/* 8033CCC8 00339C28 4E 80 00 20 */ blr
|