summaryrefslogtreecommitdiff
path: root/apps/dsp_arm.S
AgeCommit message (Collapse)Author
2010-06-11FS#11335 by me: make ARM assembly functions thumb-friendlyRafaël Carré
We can't pop into pc on ARMv4t when using thumb: the T bit won't be modified if we are returning to a thumb function Code running on ARMv4t should use the new ldrpc / ldmpc macros instead of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc} No modification on pure ARM builds and ARMv5+ Note: USE_THUMB is currently never defined, no targets can currently be built with -mthumb, see FS#6734 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-05-11ARM DSP: Add assembly custom sound channel processing. 13% to 14% faster ↵Michael Sevakis
than currently-used default C code on ARMv4. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25949 a1c6a512-1295-4272-9138-f99709370657
2010-05-11ARM DSP: Get an instruction out of the crossfeed main loop and improve loads ↵Michael Sevakis
and interlocks for stacked vars. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25946 a1c6a512-1295-4272-9138-f99709370657
2010-05-11ARM DSP: Remove a couple comments that no longer apply.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25945 a1c6a512-1295-4272-9138-f99709370657
2010-05-11ARM DSP: fore some reason I neglected dsp_downsample completely. Do a small ↵Michael Sevakis
reordering. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25944 a1c6a512-1295-4272-9138-f99709370657
2010-05-11ARM DSP: Make things a little more pipeline friendly. Reduce nonvolatile ↵Michael Sevakis
register stacking where possible. Routines now handle odd sample counts properly and will not over-write in that case. Remove a few pointless labels. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25943 a1c6a512-1295-4272-9138-f99709370657
2010-04-25Optimized DSP sample out functions for armv6. (For stereo output) ~9% faster ↵Michael Sevakis
than SVN asm and about 4% faster than SVN asm rearranged to observe pipeline hazards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25717 a1c6a512-1295-4272-9138-f99709370657
2010-04-11Use r12 to save 1 register.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25597 a1c6a512-1295-4272-9138-f99709370657
2010-04-11Add arm assembler for dsp_apply_gain(). Speeds up this routine by 30-40% on ↵Andree Buschmann
PP502x. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25596 a1c6a512-1295-4272-9138-f99709370657
2009-07-12* ARM asm DSP and codec/plugin functions: Use r12 scratch register properlyJens Arnold
* Fix saving another unused reg in dsp code * Use less regs in the generic ARM mpegplayer adding idct pure DC case * Fix ARMv6 mpegplayer adding idct using an unsaved register in pure DC case git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21803 a1c6a512-1295-4272-9138-f99709370657
2009-06-12FS#8894 - Add time stretching feature to all SWCODEC targets - the current ↵Steve Bavin
algorithm is best for spoken word. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21258 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-03-19Commit FS#8750. Add ARM assembler for the dsp-functions ↵Andree Buschmann
channels_process_sound_chan_mono(), channels_process_sound_chan_karaoke(), sample_output_mono() and sample_output_stereo(). By measurement the speed up is ~75% for the first three functions and ~40% for sample_output_stereo(). Additionally avoid calling yield() to often in dsp.c -- it is now limited to once per tick. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16717 a1c6a512-1295-4272-9138-f99709370657
2007-03-11ARM assembler for resampling. Should provide some gains, though not huge ones.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12732 a1c6a512-1295-4272-9138-f99709370657
2007-02-27Adapt ARM crossfeed assembler to work like the Coldfire one. Remove ↵Thom Johansen
SWITCHPARAM cruft as it's no longer needed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12507 a1c6a512-1295-4272-9138-f99709370657
2006-08-16Assembler optimised crossfeed routine for ARM. Performance improvement is ↵Thom Johansen
more than double. Should work fine, but watch your ears nevertheless. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10608 a1c6a512-1295-4272-9138-f99709370657