[speex-dev] [PATCH] SSE Assmebly for Win32

Aron Rosenberg aron at sightspeed.com
Wed Oct 22 12:26:43 PDT 2003


Jean Marc, et al.

        Attached is a patch adding the Win32 Assembly needed for the SSE 
optimizations. It is against speex-1.0.2. We have implemented the patch as 
two new files, filters_sse_win32.h and ltp_sse_win32.h. In addition, there 
are modifications in filters.c and ltp.c adding a new ifdef called 
_USE_SSE_WIN32. The patch is fully functional and sees marked improvement 
in CPU usage with Pentium III or IV based systems.

However, don't just apply the patch, there are a couple of architecture 
changes that we think should be made with respect to using SSE.

1. Since there is no run time check for SSE support can you add a new CTL 
call which will enable/disable the use of the sse functions at run time 
instead of compile time.

2. If you do (1), you should either combine all the filter calls or rename 
the functions like filter_mem2_msvc_win32 and filter_mem2_gcc_x86

We are in favor of both 1 and 2 since it is easier to read and understand 
than giant functions with ifdefs around them.

Aron Rosenberg
SightSpeed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: win32_asm.diff.gz
Type: application/octet-stream
Size: 2595 bytes
Desc: win32_asm.diff.gz
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20031022/e4c0ccb2/win32_asm.diff-0001.obj


More information about the Speex-dev mailing list