[opus] Patch cleaning up Opus x86 intrinsics configury

Jonathan Lennox jonathan at vidyo.com
Tue Mar 3 19:59:20 PST 2015


My patch should be against the tip, but it’s the very recent tip, including some changes this past Friday (27 Feb).  I mentioned in the IRC room a problem I discovered in creating my patch, and then later improved the fix Tim had made for the problem.  Where do you get conflicts merging it to tip?

In terms of merging, you posted your patch before I posted mine, so probably I should be the one on the hook to rebase after your fix goes in.  Looking over your patch quickly, I don’t think any of my changes should be that difficult to merge with yours.

I haven’t studied your patch in depth yet.  Does Ne10 use its own RTCD code, or do you use Opus’s?


On Mar 3, 2015, at 5:18 PM, Viswanath Puttagunta <viswanath.puttagunta at linaro.org> wrote:

> Hello Jonathan,
> I am unable to apply your patch cleanly on tip.
> Timothy/opus-dev,
> This patch has some conflicts with my ARM patch that does fft optimizations
> http://lists.xiph.org/pipermail/opus/2015-March/002904.html
> http://lists.xiph.org/pipermail/opus/2015-March/002905.html
> One of us probably has to rebase depending on which patch goes into opus first.
> Regards,
> Vish
> On 1 March 2015 at 20:47, Jonathan Lennox <jonathan at vidyo.com> wrote:
>> 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
>> _______________________________________________
>> opus mailing list
>> opus at xiph.org
>> http://lists.xiph.org/mailman/listinfo/opus

More information about the opus mailing list