DescriptionIntegrate SIMD optimisations for zlib
These optimisations have been published on zlib mailing list and at
https://github.com/jtkukunas/zlib/
This change merges the following optimisation patches:
- "For x86, add CPUID check."
- "Adds SSE2 optimized hash shifting to fill_window."
- "add SSE4.2 optimized hash function"
- "add PCLMULQDQ optimized CRC folding"
From Jim Kukunas <james.t.kukunas@linux.intel.com> and adapts them to the
current zlib version in Chromium.
The optimisations are enabled at runtime if all the necessary CPU features are
present. As the optimisations require extra cflags to enable the compiler to
use the instructions the optimisations are held in their own static library
with a stub implementation to allow linking on other platforms.
TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance
improvement seen on RoboHornet benchmark on Linux Desktop
BUG=401517
Committed: https://crrev.com/e045ec106de29562ae94eafccde49a7b73848471
Cr-Commit-Position: refs/heads/master@{#300866}
Patch Set 1 #Patch Set 2 : Address lack of inline keyword on MSVC for C (vs C++) #Patch Set 3 : Fix issues in fallback (non-SIMD) code #
Total comments: 7
Patch Set 4 : Remove ifdefs and move simd code to specific static library #Patch Set 5 : fix gn build (uses different cflags -Wunused-variable) #
Total comments: 12
Patch Set 6 : Stop being linux only, formatting fixes and stub x86 checking code correctly #Patch Set 7 : Singleton on Windows, add reference frame data from optimised version #
Total comments: 20
Patch Set 8 : Coding style fixes and use memcmp() for alternate frame data handling #Patch Set 9 : Improve README.chromium and fix reference to cpu.h #Patch Set 10 : ios also has gyp/cflags bug (#420616) #Patch Set 11 : Fix stub build - broken by earlier head file rearrangement #Patch Set 12 : Add host toolset for android builds to static library #Patch Set 13 : Ensure input buffer for deflate used by WebRtcRtpDumpWriter is a multiple of 16 bytes #Patch Set 14 : Fix crc_fold_copy to work with inputs where len % 16 > 0 #
Total comments: 1
Messages
Total messages: 30 (8 generated)
|