spu: start offload code to TI C64x DSP
[pcsx_rearmed.git] / plugins / dfsound / arm_utils.S
index 1726389..2511bb3 100644 (file)
@@ -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