tp/include/SComponent/c_m3d/asm/func_8026C22C.s

113 lines
5.4 KiB
ArmAsm

/* 8026C22C 0026916C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026C230 00269170 C0 23 00 00 */ lfs f1, 0(r3)
/* 8026C234 00269174 C0 04 00 00 */ lfs f0, 0(r4)
/* 8026C238 00269178 EC 41 00 28 */ fsubs f2, f1, f0
/* 8026C23C 0026917C C0 23 00 08 */ lfs f1, 8(r3)
/* 8026C240 00269180 C0 04 00 08 */ lfs f0, 8(r4)
/* 8026C244 00269184 EC 01 00 28 */ fsubs f0, f1, f0
/* 8026C248 00269188 EC 22 00 B2 */ fmuls f1, f2, f2
/* 8026C24C 0026918C EC 00 00 32 */ fmuls f0, f0, f0
/* 8026C250 00269190 EC 81 00 2A */ fadds f4, f1, f0
/* 8026C254 00269194 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8026C258 00269198 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8026C25C 0026919C EC A1 00 2A */ fadds f5, f1, f0
/* 8026C260 002691A0 EC 05 01 72 */ fmuls f0, f5, f5
/* 8026C264 002691A4 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8026C268 002691A8 40 81 00 14 */ ble lbl_8026C27C
/* 8026C26C 002691AC C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026C270 002691B0 D0 05 00 00 */ stfs f0, 0(r5)
/* 8026C274 002691B4 38 60 00 00 */ li r3, 0
/* 8026C278 002691B8 48 00 01 34 */ b lbl_8026C3AC
lbl_8026C27C:
/* 8026C27C 002691BC C0 43 00 04 */ lfs f2, 4(r3)
/* 8026C280 002691C0 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8026C284 002691C4 EC 02 00 2A */ fadds f0, f2, f0
/* 8026C288 002691C8 C0 24 00 04 */ lfs f1, 4(r4)
/* 8026C28C 002691CC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8026C290 002691D0 41 80 00 14 */ blt lbl_8026C2A4
/* 8026C294 002691D4 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8026C298 002691D8 EC 01 00 2A */ fadds f0, f1, f0
/* 8026C29C 002691DC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026C2A0 002691E0 40 81 00 14 */ ble lbl_8026C2B4
lbl_8026C2A4:
/* 8026C2A4 002691E4 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026C2A8 002691E8 D0 05 00 00 */ stfs f0, 0(r5)
/* 8026C2AC 002691EC 38 60 00 00 */ li r3, 0
/* 8026C2B0 002691F0 48 00 00 FC */ b lbl_8026C3AC
lbl_8026C2B4:
/* 8026C2B4 002691F4 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026C2B8 002691F8 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8026C2BC 002691FC 40 81 00 58 */ ble lbl_8026C314
/* 8026C2C0 00269200 FC 00 20 34 */ frsqrte f0, f4
/* 8026C2C4 00269204 C8 62 B7 20 */ lfd f3, lbl_80455120-_SDA2_BASE_(r2)
/* 8026C2C8 00269208 FC 23 00 32 */ fmul f1, f3, f0
/* 8026C2CC 0026920C C8 42 B7 28 */ lfd f2, lbl_80455128-_SDA2_BASE_(r2)
/* 8026C2D0 00269210 FC 00 00 32 */ fmul f0, f0, f0
/* 8026C2D4 00269214 FC 04 00 32 */ fmul f0, f4, f0
/* 8026C2D8 00269218 FC 02 00 28 */ fsub f0, f2, f0
/* 8026C2DC 0026921C FC 01 00 32 */ fmul f0, f1, f0
/* 8026C2E0 00269220 FC 23 00 32 */ fmul f1, f3, f0
/* 8026C2E4 00269224 FC 00 00 32 */ fmul f0, f0, f0
/* 8026C2E8 00269228 FC 04 00 32 */ fmul f0, f4, f0
/* 8026C2EC 0026922C FC 02 00 28 */ fsub f0, f2, f0
/* 8026C2F0 00269230 FC 01 00 32 */ fmul f0, f1, f0
/* 8026C2F4 00269234 FC 23 00 32 */ fmul f1, f3, f0
/* 8026C2F8 00269238 FC 00 00 32 */ fmul f0, f0, f0
/* 8026C2FC 0026923C FC 04 00 32 */ fmul f0, f4, f0
/* 8026C300 00269240 FC 02 00 28 */ fsub f0, f2, f0
/* 8026C304 00269244 FC 01 00 32 */ fmul f0, f1, f0
/* 8026C308 00269248 FC 04 00 32 */ fmul f0, f4, f0
/* 8026C30C 0026924C FC 00 00 18 */ frsp f0, f0
/* 8026C310 00269250 48 00 00 90 */ b lbl_8026C3A0
lbl_8026C314:
/* 8026C314 00269254 C8 02 B7 30 */ lfd f0, lbl_80455130-_SDA2_BASE_(r2)
/* 8026C318 00269258 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8026C31C 0026925C 40 80 00 10 */ bge lbl_8026C32C
/* 8026C320 00269260 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8026C324 00269264 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3)
/* 8026C328 00269268 48 00 00 78 */ b lbl_8026C3A0
lbl_8026C32C:
/* 8026C32C 0026926C D0 81 00 08 */ stfs f4, 8(r1)
/* 8026C330 00269270 80 81 00 08 */ lwz r4, 8(r1)
/* 8026C334 00269274 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8026C338 00269278 3C 00 7F 80 */ lis r0, 0x7f80
/* 8026C33C 0026927C 7C 03 00 00 */ cmpw r3, r0
/* 8026C340 00269280 41 82 00 14 */ beq lbl_8026C354
/* 8026C344 00269284 40 80 00 40 */ bge lbl_8026C384
/* 8026C348 00269288 2C 03 00 00 */ cmpwi r3, 0
/* 8026C34C 0026928C 41 82 00 20 */ beq lbl_8026C36C
/* 8026C350 00269290 48 00 00 34 */ b lbl_8026C384
lbl_8026C354:
/* 8026C354 00269294 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8026C358 00269298 41 82 00 0C */ beq lbl_8026C364
/* 8026C35C 0026929C 38 00 00 01 */ li r0, 1
/* 8026C360 002692A0 48 00 00 28 */ b lbl_8026C388
lbl_8026C364:
/* 8026C364 002692A4 38 00 00 02 */ li r0, 2
/* 8026C368 002692A8 48 00 00 20 */ b lbl_8026C388
lbl_8026C36C:
/* 8026C36C 002692AC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8026C370 002692B0 41 82 00 0C */ beq lbl_8026C37C
/* 8026C374 002692B4 38 00 00 05 */ li r0, 5
/* 8026C378 002692B8 48 00 00 10 */ b lbl_8026C388
lbl_8026C37C:
/* 8026C37C 002692BC 38 00 00 03 */ li r0, 3
/* 8026C380 002692C0 48 00 00 08 */ b lbl_8026C388
lbl_8026C384:
/* 8026C384 002692C4 38 00 00 04 */ li r0, 4
lbl_8026C388:
/* 8026C388 002692C8 2C 00 00 01 */ cmpwi r0, 1
/* 8026C38C 002692CC 40 82 00 10 */ bne lbl_8026C39C
/* 8026C390 002692D0 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8026C394 002692D4 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3)
/* 8026C398 002692D8 48 00 00 08 */ b lbl_8026C3A0
lbl_8026C39C:
/* 8026C39C 002692DC FC 00 20 90 */ fmr f0, f4
lbl_8026C3A0:
/* 8026C3A0 002692E0 EC 05 00 28 */ fsubs f0, f5, f0
/* 8026C3A4 002692E4 D0 05 00 00 */ stfs f0, 0(r5)
/* 8026C3A8 002692E8 38 60 00 01 */ li r3, 1
lbl_8026C3AC:
/* 8026C3AC 002692EC 38 21 00 10 */ addi r1, r1, 0x10
/* 8026C3B0 002692F0 4E 80 00 20 */ blr