Marcus Asteborg
2020-Jun-14 06:00 UTC
[opus] Prefer SSE and ASM implementation of float2int before lrintf for MSVC patch
This commit https://github.com/xiph/opus/commit/94b68f341cadd5433a10d346c1c248a641d8be57 Enabled HAVE_LRINTF defined in CMake builds. As later versions of visual studio have LRINTF it got enabled by default due to precedence over SSE in MSVC. The use of lrintf is a lot slower which can easily be seen in the tests>From test result Windows X64 (similar results on X86):LRINTF 4/4 Test #4: test_opus_encode ................. Passed 225.96 sec SSE 4/4 Test #4: test_opus_encode ................. Passed 56.30 sec The patch simply moves MSVC SSE and ASM up before HAVE_LRINT. Change the types to opus types and verified that mm_load compiled to same code as mm_set in later versions of MSVC x64. //Marcus -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/opus/attachments/20200614/47918191/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Prefer-SSE-and-ASM-implementation-of-float2int-befor.patch Type: application/octet-stream Size: 2829 bytes Desc: 0001-Prefer-SSE-and-ASM-implementation-of-float2int-befor.patch URL: <http://lists.xiph.org/pipermail/opus/attachments/20200614/47918191/attachment.obj>