notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixup buread & buwrite being undefined.
[pcsx_rearmed.git]
/
plugins
/
dfsound
/
arm_utils.S
diff --git
a/plugins/dfsound/arm_utils.S
b/plugins/dfsound/arm_utils.S
index
1726389
..
8ac7c30
100644
(file)
--- a/
plugins/dfsound/arm_utils.S
+++ b/
plugins/dfsound/arm_utils.S
@@
-10,25
+10,24
@@
#include "arm_features.h"
#include "arm_features.h"
-#ifdef
__MACH__
+#ifdef
TEXRELS_FORBIDDEN
.data
.align 2
ptr_ChanBuf: .word ESYM(ChanBuf)
.data
.align 2
ptr_ChanBuf: .word ESYM(ChanBuf)
-ptr_SSumLR: .word ESYM(SSumLR)
#endif
.text
.align 2
.macro load_varadr reg var
#endif
.text
.align 2
.macro load_varadr reg var
-#if defined(__ARM_ARCH_7A__) && !defined(__PIC__)
- movw \reg, #:lower16:ESYM(\var)
- movt \reg, #:upper16:ESYM(\var)
-#elif defined(__ARM_ARCH_7A__) && defined(__MACH__)
+#if defined(HAVE_ARMV7) && defined(TEXRELS_FORBIDDEN)
movw \reg, #:lower16:(ptr_\var-(1678f+8))
movt \reg, #:upper16:(ptr_\var-(1678f+8))
1678:
ldr \reg, [pc, \reg]
movw \reg, #:lower16:(ptr_\var-(1678f+8))
movt \reg, #:upper16:(ptr_\var-(1678f+8))
1678:
ldr \reg, [pc, \reg]
+#elif defined(HAVE_ARMV7) && !defined(__PIC__)
+ movw \reg, #:lower16:ESYM(\var)
+ movt \reg, #:upper16:ESYM(\var)
#else
ldr \reg, =ESYM(\var)
#endif
#else
ldr \reg, =ESYM(\var)
#endif
@@
-36,14
+35,11
@@
ptr_SSumLR: .word ESYM(SSumLR)
#ifdef __ARM_NEON__
#ifdef __ARM_NEON__
-FUNCTION(mix_chan): @ (int
start
, int count, int lv, int rv)
+FUNCTION(mix_chan): @ (int
*SSumLR
, int count, int lv, int rv)
vmov.32 d14[0], r2
vmov.32 d14[1], r3 @ multipliers
vmov.32 d14[0], r2
vmov.32 d14[1], r3 @ multipliers
- mov r
1
2, r0
+ mov r2, r0
load_varadr r0, ChanBuf
load_varadr r0, ChanBuf
- load_varadr r2, SSumLR
- add r0, r12, lsl #2
- add r2, r12, lsl #3
0:
vldmia r0!, {d0-d1}
vldmia r2, {d2-d5}
0:
vldmia r0!, {d0-d1}
vldmia r2, {d2-d5}
@@
-69,16
+65,12
@@
mc_finish:
bx lr
bx lr
-FUNCTION(mix_chan_rvb): @ (int
start
, int count, int lv, int rv, int *rvb)
+FUNCTION(mix_chan_rvb): @ (int
*SSumLR
, int count, int lv, int rv, int *rvb)
vmov.32 d14[0], r2
vmov.32 d14[1], r3 @ multipliers
vmov.32 d14[0], r2
vmov.32 d14[1], r3 @ multipliers
- mov r
1
2, r0
+ mov r2, r0
load_varadr r0, ChanBuf
ldr r3, [sp] @ rvb
load_varadr r0, ChanBuf
ldr r3, [sp] @ rvb
- load_varadr r2, SSumLR
- add r0, r12, lsl #2
- add r2, r12, lsl #3
- add r3, r12, lsl #3
0:
vldmia r0!, {d0-d1}
vldmia r2, {d2-d5}
0:
vldmia r0!, {d0-d1}
vldmia r2, {d2-d5}
@@
-112,15
+104,12
@@
mcr_finish:
#elif defined(HAVE_ARMV5)
#elif defined(HAVE_ARMV5)
-FUNCTION(mix_chan): @ (int
start
, int count, int lv, int rv)
+FUNCTION(mix_chan): @ (int
*SSumLR
, int count, int lv, int rv)
stmfd sp!, {r4-r8,lr}
orr r3, r2, r3, lsl #16
lsl r3, #1 @ packed multipliers << 1
stmfd sp!, {r4-r8,lr}
orr r3, r2, r3, lsl #16
lsl r3, #1 @ packed multipliers << 1
- mov r
1
2, r0
+ mov r2, r0
load_varadr r0, ChanBuf
load_varadr r0, ChanBuf
- load_varadr r2, SSumLR
- add r0, r12, lsl #2
- add r2, r12, lsl #3
0:
ldmia r0!, {r4,r5}
ldmia r2, {r6-r8,lr}
0:
ldmia r0!, {r4,r5}
ldmia r2, {r6-r8,lr}
@@
-141,16
+130,13
@@
mc_finish:
ldmfd sp!, {r4-r8,pc}
ldmfd sp!, {r4-r8,pc}
-FUNCTION(mix_chan_rvb): @ (int
start
, int count, int lv, int rv, int *rvb)
+FUNCTION(mix_chan_rvb): @ (int
*SSumLR
, int count, int lv, int rv, int *rvb)
stmfd sp!, {r4-r8,lr}
orr lr, r2, r3, lsl #16
lsl lr, #1
stmfd sp!, {r4-r8,lr}
orr lr, r2, r3, lsl #16
lsl lr, #1
- ldr r3, [sp] @ rvb
- load_varadr r2, SSumLR
- load_varadr r4, ChanBuf
- add r2, r2, r0, lsl #3
- add r3, r3, r0, lsl #3
- add r0, r4, r0, lsl #2
+ mov r2, r0
+ load_varadr r0, ChanBuf
+ ldr r3, [sp, #6*4] @ rvb
0:
ldr r4, [r0], #4
ldmia r2, {r6,r7}
0:
ldr r4, [r0], #4
ldmia r2, {r6,r7}