tp/asm/d/a/d_a_obj/func_800374EC.s

82 lines
3.5 KiB
ArmAsm

lbl_800374EC:
/* 800374EC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800374F0 7C 08 02 A6 */ mflr r0
/* 800374F4 90 01 00 74 */ stw r0, 0x74(r1)
/* 800374F8 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 800374FC F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */
/* 80037500 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80037504 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */
/* 80037508 39 61 00 50 */ addi r11, r1, 0x50
/* 8003750C 48 32 AC D1 */ bl _savegpr_29
/* 80037510 7C 7D 1B 78 */ mr r29, r3
/* 80037514 7C 9E 23 78 */ mr r30, r4
/* 80037518 7C BF 2B 79 */ or. r31, r5, r5
/* 8003751C FF C0 08 90 */ fmr f30, f1
/* 80037520 FF E0 10 90 */ fmr f31, f2
/* 80037524 3C 60 80 43 */ lis r3, Zero__4cXyz@ha /* 0x80430CF4@ha */
/* 80037528 C4 03 0C F4 */ lfsu f0, Zero__4cXyz@l(r3) /* 0x80430CF4@l */
/* 8003752C D0 1D 00 00 */ stfs f0, 0(r29)
/* 80037530 C0 03 00 04 */ lfs f0, 4(r3)
/* 80037534 D0 1D 00 04 */ stfs f0, 4(r29)
/* 80037538 C0 03 00 08 */ lfs f0, 8(r3)
/* 8003753C D0 1D 00 08 */ stfs f0, 8(r29)
/* 80037540 41 82 00 B8 */ beq lbl_800375F8
/* 80037544 C0 06 00 00 */ lfs f0, 0(r6)
/* 80037548 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8003754C C0 26 00 04 */ lfs f1, 4(r6)
/* 80037550 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 80037554 C0 06 00 08 */ lfs f0, 8(r6)
/* 80037558 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 8003755C C0 1E 05 30 */ lfs f0, 0x530(r30)
/* 80037560 EC 01 00 2A */ fadds f0, f1, f0
/* 80037564 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80037568 28 07 00 00 */ cmplwi r7, 0
/* 8003756C 41 82 00 14 */ beq lbl_80037580
/* 80037570 38 61 00 2C */ addi r3, r1, 0x2c
/* 80037574 7C E4 3B 78 */ mr r4, r7
/* 80037578 7C 65 1B 78 */ mr r5, r3
/* 8003757C 48 30 FB 15 */ bl PSVECAdd
lbl_80037580:
/* 80037580 38 61 00 2C */ addi r3, r1, 0x2c
/* 80037584 7F E4 FB 78 */ mr r4, r31
/* 80037588 48 30 FC 0D */ bl PSVECDotProduct
/* 8003758C C0 02 83 A0 */ lfs f0, lit_3801(r2)
/* 80037590 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80037594 40 80 00 64 */ bge lbl_800375F8
/* 80037598 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8003759C FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 800375A0 4C 40 13 82 */ cror 2, 0, 2
/* 800375A4 40 82 00 24 */ bne lbl_800375C8
/* 800375A8 7F E3 FB 78 */ mr r3, r31
/* 800375AC 38 81 00 2C */ addi r4, r1, 0x2c
/* 800375B0 38 A1 00 20 */ addi r5, r1, 0x20
/* 800375B4 48 23 76 09 */ bl cM3d_CrawVec__FRC3VecRC3VecP3Vec
/* 800375B8 7F A3 EB 78 */ mr r3, r29
/* 800375BC 38 81 00 20 */ addi r4, r1, 0x20
/* 800375C0 7F A5 EB 78 */ mr r5, r29
/* 800375C4 48 30 FA CD */ bl PSVECAdd
lbl_800375C8:
/* 800375C8 7F E3 FB 78 */ mr r3, r31
/* 800375CC 38 9E 04 F8 */ addi r4, r30, 0x4f8
/* 800375D0 38 A1 00 14 */ addi r5, r1, 0x14
/* 800375D4 48 23 75 E9 */ bl cM3d_CrawVec__FRC3VecRC3VecP3Vec
/* 800375D8 38 61 00 08 */ addi r3, r1, 8
/* 800375DC 38 81 00 14 */ addi r4, r1, 0x14
/* 800375E0 FC 20 F0 90 */ fmr f1, f30
/* 800375E4 48 22 F5 A1 */ bl __ml__4cXyzCFf
/* 800375E8 7F A3 EB 78 */ mr r3, r29
/* 800375EC 38 81 00 08 */ addi r4, r1, 8
/* 800375F0 7F A5 EB 78 */ mr r5, r29
/* 800375F4 48 30 FA C1 */ bl PSVECSubtract
lbl_800375F8:
/* 800375F8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */
/* 800375FC CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80037600 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */
/* 80037604 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 80037608 39 61 00 50 */ addi r11, r1, 0x50
/* 8003760C 48 32 AC 1D */ bl _restgpr_29
/* 80037610 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80037614 7C 08 03 A6 */ mtlr r0
/* 80037618 38 21 00 70 */ addi r1, r1, 0x70
/* 8003761C 4E 80 00 20 */ blr