summaryrefslogtreecommitdiff
path: root/arm9/asm
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm')
-rw-r--r--arm9/asm/FX_vec.s181
1 files changed, 91 insertions, 90 deletions
diff --git a/arm9/asm/FX_vec.s b/arm9/asm/FX_vec.s
index e6270162..08068eaf 100644
--- a/arm9/asm/FX_vec.s
+++ b/arm9/asm/FX_vec.s
@@ -310,93 +310,94 @@ VEC_CrossProduct:
ldmia sp!, {r4-r11,lr}
bx lr
- arm_func_start VEC_Fx16DotProduct
-VEC_Fx16DotProduct: ; 0x020C5538
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldrsh lr, [r0, #0x2]
- ldrsh r12, [r1, #0x2]
- ldrsh r3, [r0, #0x4]
- ldrsh r2, [r1, #0x4]
- ldrsh r5, [r0, #0x0]
- ldrsh r4, [r1, #0x0]
- smulbb r1, lr, r12
- smulbb r0, r3, r2
- smlabb r1, r5, r4, r1
- add r0, r0, #0x800
- adds r2, r1, r0
- mov r1, r1, asr #0x1f
- adc r1, r1, r0, asr #0x1f
- mov r0, r2, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start VEC_DotProduct
-VEC_DotProduct:
- stmdb sp!, {r4,lr}
- ldr r3, [r0, #0x4]
- ldr r2, [r1, #0x4]
- ldr r12, [r0, #0x0]
- smull r4, lr, r3, r2
- ldr r2, [r1, #0x0]
- ldr r3, [r0, #0x8]
- smlal r4, lr, r12, r2
- ldr r1, [r1, #0x8]
- mov r0, #0x800
- smlal r4, lr, r3, r1
- adds r0, r4, r0
- adc r1, lr, #0x0
- mov r0, r0, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start VEC_Fx16Add
-VEC_Fx16Add: ; 0x020C55CC
- ldrsh r12, [r0, #0x0]
- ldrsh r3, [r1, #0x0]
- add r3, r12, r3
- strh r3, [r2, #0x0]
- ldrsh r12, [r0, #0x2]
- ldrsh r3, [r1, #0x2]
- add r3, r12, r3
- strh r3, [r2, #0x2]
- ldrsh r3, [r0, #0x4]
- ldrsh r0, [r1, #0x4]
- add r0, r3, r0
- strh r0, [r2, #0x4]
- bx lr
-
- arm_func_start VEC_Subtract
-VEC_Subtract: ; 0x020C5600
- ldr r12, [r0, #0x0]
- ldr r3, [r1, #0x0]
- sub r3, r12, r3
- str r3, [r2, #0x0]
- ldr r12, [r0, #0x4]
- ldr r3, [r1, #0x4]
- sub r3, r12, r3
- str r3, [r2, #0x4]
- ldr r3, [r0, #0x8]
- ldr r0, [r1, #0x8]
- sub r0, r3, r0
- str r0, [r2, #0x8]
- bx lr
-
- arm_func_start VEC_Add
-VEC_Add: ; 0x020C5634
- ldr r12, [r0, #0x0]
- ldr r3, [r1, #0x0]
- add r3, r12, r3
- str r3, [r2, #0x0]
- ldr r12, [r0, #0x4]
- ldr r3, [r1, #0x4]
- add r3, r12, r3
- str r3, [r2, #0x4]
- ldr r3, [r0, #0x8]
- ldr r0, [r1, #0x8]
- add r0, r3, r0
- str r0, [r2, #0x8]
- bx lr
+; arm_func_start VEC_Fx16DotProduct
+;VEC_Fx16DotProduct: ; 0x020C5538
+; stmdb sp!, {r4-r5,lr}
+; sub sp, sp, #0x4
+; ldrsh lr, [r0, #0x2]
+; ldrsh r12, [r1, #0x2]
+; ldrsh r3, [r0, #0x4]
+; ldrsh r2, [r1, #0x4]
+; ldrsh r5, [r0, #0x0]
+; ldrsh r4, [r1, #0x0]
+; smulbb r1, lr, r12
+; smulbb r0, r3, r2
+; smlabb r1, r5, r4, r1
+; add r0, r0, #0x800
+; adds r2, r1, r0
+; mov r1, r1, asr #0x1f
+; adc r1, r1, r0, asr #0x1f
+; mov r0, r2, lsr #0xc
+; orr r0, r0, r1, lsl #0x14
+; add sp, sp, #0x4
+; ldmia sp!, {r4-r5,lr}
+; bx lr
+;
+; arm_func_start VEC_DotProduct
+;VEC_DotProduct:
+; stmdb sp!, {r4,lr}
+; ldr r3, [r0, #0x4]
+; ldr r2, [r1, #0x4]
+; ldr r12, [r0, #0x0]
+; smull r4, lr, r3, r2
+; ldr r2, [r1, #0x0]
+; ldr r3, [r0, #0x8]
+; smlal r4, lr, r12, r2
+; ldr r1, [r1, #0x8]
+; mov r0, #0x800
+; smlal r4, lr, r3, r1
+; adds r0, r4, r0
+; adc r1, lr, #0x0
+; mov r0, r0, lsr #0xc
+; orr r0, r0, r1, lsl #0x14
+; ldmia sp!, {r4,lr}
+; bx lr
+;
+; arm_func_start VEC_Fx16Add
+;VEC_Fx16Add: ; 0x020C55CC
+; ldrsh r12, [r0, #0x0]
+; ldrsh r3, [r1, #0x0]
+; add r3, r12, r3
+; strh r3, [r2, #0x0]
+; ldrsh r12, [r0, #0x2]
+; ldrsh r3, [r1, #0x2]
+; add r3, r12, r3
+; strh r3, [r2, #0x2]
+; ldrsh r3, [r0, #0x4]
+; ldrsh r0, [r1, #0x4]
+; add r0, r3, r0
+; strh r0, [r2, #0x4]
+; bx lr
+;
+; arm_func_start VEC_Subtract
+;VEC_Subtract: ; 0x020C5600
+; ldr r12, [r0, #0x0]
+; ldr r3, [r1, #0x0]
+; sub r3, r12, r3
+; str r3, [r2, #0x0]
+; ldr r12, [r0, #0x4]
+; ldr r3, [r1, #0x4]
+; sub r3, r12, r3
+; str r3, [r2, #0x4]
+; ldr r3, [r0, #0x8]
+; ldr r0, [r1, #0x8]
+; sub r0, r3, r0
+; str r0, [r2, #0x8]
+; bx lr
+;
+; arm_func_start VEC_Add
+;VEC_Add: ; 0x020C5634
+; ldr r12, [r0, #0x0]
+; ldr r3, [r1, #0x0]
+; add r3, r12, r3
+; str r3, [r2, #0x0]
+; ldr r12, [r0, #0x4]
+; ldr r3, [r1, #0x4]
+; add r3, r12, r3
+; str r3, [r2, #0x4]
+; ldr r3, [r0, #0x8]
+; ldr r0, [r1, #0x8]
+; add r0, r3, r0
+; str r0, [r2, #0x8]
+; bx lr
+;