[opus] Patch cleaning up Opus x86 intrinsics configury

Jonathan Lennox jonathan at vidyo.com
Sun Mar 1 18:47:30 PST 2015


The attached patch cleans up Opus's x86 intrinsics configury.

It:
* Makes —enable-intrinsics work with clang and other non-GCC compilers
* Enables RTCD for the floating-point-mode SSE code in Celt.
* Disables use of RTCD in cases where the compiler targets an instruction set by default.
* Enables the SSE4.1 Silk optimizations that apply to the common parts of Silk when Opus is built in floating-point mode, not just in fixed-point mode.
* Enables the SSE intrinsics (with RTCD when appropriate) in the Win32 build.
* Fixes a case where GCC would compile SSE2 code as SSE4.1, causing a crash on non-SSE4.1 CPUs.
* Allows configuration with compilers with non-GCC-flavor flags for enabling architecture options.
* Hopefully makes the configuration and ifdef’s easier to follow and understand.

This does not yet switch —enable-intrinsics to be enabled by default on supported architectures, but I think it’d be ready to do so.

Comments are welcome!



—
Jonathan Lennox
jonathan at vidyo.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/opus/attachments/20150302/4cbd95bb/attachment-0001.htm 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cleanup-x86-configure.patch.txt
Url: http://lists.xiph.org/pipermail/opus/attachments/20150302/4cbd95bb/attachment-0001.txt 


More information about the opus mailing list