diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/codecs/libwma/wmadeci.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/codecs/libwma/wmadeci.c b/apps/codecs/libwma/wmadeci.c index b09dd0edd2..b8996c1b16 100644 --- a/apps/codecs/libwma/wmadeci.c +++ b/apps/codecs/libwma/wmadeci.c @@ -154,10 +154,13 @@ void vector_fmul_add_add(fixed32 *dst, const fixed32 *data, "movclr.l %%acc1, %%d1;" "movclr.l %%acc2, %%d2;" "movclr.l %%acc3, %%d3;" - "add.l %%d0, (%[dst])+;" - "add.l %%d1, (%[dst])+;" - "add.l %%d2, (%[dst])+;" - "add.l %%d3, (%[dst])+;" + "movem.l (%[dst]), %%d4-%%d5/%%a0-%%a1;" + "add.l %%d4, %%d0;" + "add.l %%d5, %%d1;" + "add.l %%a0, %%d2;" + "add.l %%a1, %%d3;" + "movem.l %%d0-%%d3, (%[dst]);" + "lea.l (16, %[dst]), %[dst];" "subq.l #4, %[n];" "jne 0b;" : [d] "+a" (data), [w] "+a" (window), [dst] "+a" (dst), [n] "+d" (n) |