aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfsound/arm_utils.S
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dfsound/arm_utils.S')
-rw-r--r--plugins/dfsound/arm_utils.S12
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/dfsound/arm_utils.S b/plugins/dfsound/arm_utils.S
index 1726389..2511bb3 100644
--- a/plugins/dfsound/arm_utils.S
+++ b/plugins/dfsound/arm_utils.S
@@ -39,9 +39,10 @@ ptr_SSumLR: .word ESYM(SSumLR)
FUNCTION(mix_chan): @ (int start, int count, int lv, int rv)
vmov.32 d14[0], r2
vmov.32 d14[1], r3 @ multipliers
+ load_varadr r2, SSumLR
mov r12, r0
load_varadr r0, ChanBuf
- load_varadr r2, SSumLR
+ ldr r2, [r2]
add r0, r12, lsl #2
add r2, r12, lsl #3
0:
@@ -72,10 +73,11 @@ mc_finish:
FUNCTION(mix_chan_rvb): @ (int start, int count, int lv, int rv, int *rvb)
vmov.32 d14[0], r2
vmov.32 d14[1], r3 @ multipliers
+ load_varadr r2, SSumLR
mov r12, r0
load_varadr r0, ChanBuf
ldr r3, [sp] @ rvb
- load_varadr r2, SSumLR
+ ldr r2, [r2]
add r0, r12, lsl #2
add r2, r12, lsl #3
add r3, r12, lsl #3
@@ -116,9 +118,10 @@ FUNCTION(mix_chan): @ (int start, int count, int lv, int rv)
stmfd sp!, {r4-r8,lr}
orr r3, r2, r3, lsl #16
lsl r3, #1 @ packed multipliers << 1
+ load_varadr r2, SSumLR
mov r12, r0
load_varadr r0, ChanBuf
- load_varadr r2, SSumLR
+ ldr r2, [r2]
add r0, r12, lsl #2
add r2, r12, lsl #3
0:
@@ -145,8 +148,9 @@ FUNCTION(mix_chan_rvb): @ (int start, int count, int lv, int rv, int *rvb)
stmfd sp!, {r4-r8,lr}
orr lr, r2, r3, lsl #16
lsl lr, #1
- ldr r3, [sp] @ rvb
load_varadr r2, SSumLR
+ ldr r3, [sp] @ rvb
+ ldr r2, [r2]
load_varadr r4, ChanBuf
add r2, r2, r0, lsl #3
add r3, r3, r0, lsl #3