#ifdef __MACH__
.data
.align 2
-ptr_ChanBuf: .word _ChanBuf
-ptr_SSumLR: .word _SSumLR
-ptr_sRVBStart: .word _sRVBStart
+ptr_ChanBuf: .word ESYM(ChanBuf)
+ptr_SSumLR: .word ESYM(SSumLR)
#endif
.text
movw \reg, #:lower16:ESYM(\var)
movt \reg, #:upper16:ESYM(\var)
#elif defined(__ARM_ARCH_7A__) && defined(__MACH__)
- movw \reg, #:lower16:(ptr_\var-(1678f+4))
- movt \reg, #:upper16:(ptr_\var-(1678f+4))
+ movw \reg, #:lower16:(ptr_\var-(1678f+8))
+ movt \reg, #:upper16:(ptr_\var-(1678f+8))
1678:
ldr \reg, [pc, \reg]
#else
bx lr
-FUNCTION(mix_chan_rvb): @ (int start, int count, int lv, int rv)
+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
mov r12, r0
load_varadr r0, ChanBuf
- load_varadr r3, sRVBStart
+ ldr r3, [sp] @ rvb
load_varadr r2, SSumLR
- ldr r3, [r3]
add r0, r12, lsl #2
add r2, r12, lsl #3
add r3, r12, lsl #3
ldmfd sp!, {r4-r8,pc}
-FUNCTION(mix_chan_rvb): @ (int start, int count, int lv, int rv)
+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
- load_varadr r3, sRVBStart
+ ldr r3, [sp] @ rvb
load_varadr r2, SSumLR
load_varadr r4, ChanBuf
- ldr r3, [r3]
add r2, r2, r0, lsl #3
add r3, r3, r0, lsl #3
add r0, r4, r0, lsl #2