donut-decomp/asm/mtx/mtx44vec.s

38 lines
2 KiB
ArmAsm
Raw Normal View History

2022-10-16 16:05:58 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
2022-10-16 16:31:36 +00:00
.global PSMTX44MultVec
PSMTX44MultVec:
2022-10-16 16:05:58 +00:00
/* 800314F0 0002D330 E0 04 00 00 */ psq_l f0, 0x0(r4), 0, qr0
/* 800314F4 0002D334 E0 43 00 30 */ psq_l f2, 0x30(r3), 0, qr0
/* 800314F8 0002D338 E0 24 80 08 */ psq_l f1, 0x8(r4), 1, qr0
/* 800314FC 0002D33C 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80031500 0002D340 E0 63 00 38 */ psq_l f3, 0x38(r3), 0, qr0
/* 80031504 0002D344 10 A1 20 FA */ ps_madd f5, f1, f3, f4
/* 80031508 0002D348 11 81 0C E0 */ ps_merge11 f12, f1, f1
/* 8003150C 0002D34C 11 A5 29 54 */ ps_sum0 f13, f5, f5, f5
/* 80031510 0002D350 E0 83 00 00 */ psq_l f4, 0x0(r3), 0, qr0
/* 80031514 0002D354 11 AD 6C 20 */ ps_merge00 f13, f13, f13
/* 80031518 0002D358 E0 A3 00 08 */ psq_l f5, 0x8(r3), 0, qr0
/* 8003151C 0002D35C 11 AC 68 24 */ ps_div f13, f12, f13
/* 80031520 0002D360 E0 C3 00 10 */ psq_l f6, 0x10(r3), 0, qr0
/* 80031524 0002D364 E0 E3 00 18 */ psq_l f7, 0x18(r3), 0, qr0
/* 80031528 0002D368 E1 03 00 20 */ psq_l f8, 0x20(r3), 0, qr0
/* 8003152C 0002D36C E1 23 00 28 */ psq_l f9, 0x28(r3), 0, qr0
/* 80031530 0002D370 10 80 01 32 */ ps_mul f4, f0, f4
/* 80031534 0002D374 10 41 21 7A */ ps_madd f2, f1, f5, f4
/* 80031538 0002D378 10 C0 01 B2 */ ps_mul f6, f0, f6
/* 8003153C 0002D37C 10 61 31 FA */ ps_madd f3, f1, f7, f6
/* 80031540 0002D380 11 00 02 32 */ ps_mul f8, f0, f8
/* 80031544 0002D384 10 42 10 94 */ ps_sum0 f2, f2, f2, f2
/* 80031548 0002D388 11 21 42 7A */ ps_madd f9, f1, f9, f8
/* 8003154C 0002D38C 10 43 18 96 */ ps_sum1 f2, f3, f2, f3
/* 80031550 0002D390 10 69 4A 54 */ ps_sum0 f3, f9, f9, f9
/* 80031554 0002D394 10 42 03 72 */ ps_mul f2, f2, f13
/* 80031558 0002D398 F0 45 00 00 */ psq_st f2, 0x0(r5), 0, qr0
/* 8003155C 0002D39C 10 63 03 72 */ ps_mul f3, f3, f13
/* 80031560 0002D3A0 F0 65 80 08 */ psq_st f3, 0x8(r5), 1, qr0
/* 80031564 0002D3A4 4E 80 00 20 */ blr
/* 80031568 0002D3A8 00 00 00 00 */ .4byte 0x00000000
/* 8003156C 0002D3AC 00 00 00 00 */ .4byte 0x00000000