forked from PAWPAW-Mirror/lib_xua
Fixed run-time exception in mixer (when MAX_MIX_COUNT > 0) on xcore200
This commit is contained in:
@@ -4,6 +4,52 @@
|
|||||||
#define MIX_INPUTS 18
|
#define MIX_INPUTS 18
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__XS2A__)
|
||||||
|
|
||||||
|
#define DOMIX_TOP(i) \
|
||||||
|
.cc_top doMix##i.function,doMix##i; \
|
||||||
|
.align 4 ;\
|
||||||
|
.globl doMix##i ;\
|
||||||
|
.type doMix##i, @function ;\
|
||||||
|
.globl doMix##i##.nstackwords ;\
|
||||||
|
.globl doMix##i##.maxthreads ; \
|
||||||
|
.globl doMix##i##.maxtimers ; \
|
||||||
|
.globl doMix##i##.maxchanends ; \
|
||||||
|
.globl doMix##i##.maxsync ;\
|
||||||
|
.linkset doMix##i##.locnoside, 1; \
|
||||||
|
.linkset doMix##i##.locnochandec, 1;\
|
||||||
|
.linkset doMix##i##.nstackwords, 0 ;\
|
||||||
|
.linkset doMix##i##.maxchanends, 0 ;\
|
||||||
|
.linkset doMix##i##.maxtimers, 0 ;\
|
||||||
|
.linkset doMix##i##.maxthreads, 1; \
|
||||||
|
doMix##i##: ;\
|
||||||
|
ENTSP_lu6 0; \
|
||||||
|
set cp, r0; \
|
||||||
|
set dp, r1; \
|
||||||
|
lsub r0, r1, r0, r0, r0;\
|
||||||
|
.label_##i##:
|
||||||
|
|
||||||
|
#define DOMIX_BOT(i) \
|
||||||
|
ldap r11, _dp; \
|
||||||
|
set dp, r11;\
|
||||||
|
ldap r11, _cp;\
|
||||||
|
set cp, r11;\
|
||||||
|
\
|
||||||
|
mov r0, r1;\
|
||||||
|
ldc r2, 0x19;\
|
||||||
|
sext r0, r2;\
|
||||||
|
eq r0, r0, r1;\
|
||||||
|
bf r0, .L20; \
|
||||||
|
\
|
||||||
|
shl r0, r1, 0x7;\
|
||||||
|
retsp 0x0;\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
.size doMix##i, .-doMix##i; \
|
||||||
|
.cc_bottom doMix##i##.function;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
|
||||||
#define DOMIX_TOP(i) \
|
#define DOMIX_TOP(i) \
|
||||||
.cc_top doMix##i.function,doMix##i; \
|
.cc_top doMix##i.function,doMix##i; \
|
||||||
@@ -46,6 +92,8 @@ doMix##i##: ;\
|
|||||||
.size doMix##i, .-doMix##i; \
|
.size doMix##i, .-doMix##i; \
|
||||||
.cc_bottom doMix##i##.function;
|
.cc_bottom doMix##i##.function;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#define N MIX_INPUTS
|
#define N MIX_INPUTS
|
||||||
#define BODY(i) \
|
#define BODY(i) \
|
||||||
ldw r2,cp[i]; \
|
ldw r2,cp[i]; \
|
||||||
|
|||||||
Reference in New Issue
Block a user