[pulseaudio-discuss] ARM NEON optimized code

Peter Meerwald pmeerw at pmeerw.net
Mon Jan 9 03:14:41 PST 2012


Hello,

I am about to prepare some ARM NEON optimized code for PulseAudio; 
attached is a stand-alone test program demonstrating 
sconv_s16le_from_float() and sconv_s16le_to_float() on 1019 samples

questions:
is it acceptable to use ARM NEON intrinsics?
or is __asm__ __volatile or assembler source preferred? 
or Orc code?

I picked intrinsics due to simplicity... the generated code (gcc-4.6, 
-O2) looks clean


# ./sconv_neon 
checking NEON sconv_s16le_from_float(2038)
NEON: 3723 usec.
ref: 64516 usec.
checking NEON sconv_s16le_to_float(2038)
NEON: 1923 usec.
ref: 18280 usec.

runtime is for 1000 repetitions on a Beagleboard-XM (NEON vs. reference C 
code)


if it looks OK to you, I'll go ahead and submit patches to integrate with 
PA...

regards, p.

-- 

Peter Meerwald
+43-664-2444418 (mobile)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sconv_neon.c
Type: text/x-csrc
Size: 5642 bytes
Desc: 
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20120109/265f0089/attachment-0001.c>


More information about the pulseaudio-discuss mailing list