]> git.ipfire.org Git - thirdparty/zlib-ng.git/commit
Fold a copy into the adler32 function for UPDATEWINDOW for neon
authorAdam Stylinski <kungfujesus06@gmail.com>
Sat, 30 Nov 2024 17:01:28 +0000 (12:01 -0500)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Wed, 5 Mar 2025 21:17:55 +0000 (22:17 +0100)
commit50e9ca06e29867a9014ea187eb0f46fff5125ed2
tree3930c666f40d27592400e3f9c852b829f78c3878
parent356a7976db0abcdaf2a57a3abc1cb9e18ddfc1ea
Fold a copy into the adler32 function for UPDATEWINDOW for neon

So a lot of alterations had to be done to make this not worse and
so far, it's not really better, either. I had to force inlining for
the adler routine, I had to remove the x4 load instruction otherwise
pipelining stalled, and I had to use restrict pointers with a copy
idiom for GCC to inline a copy routine for the tail.

Still, we see a small benefit in benchmarks, particularly when done
with size of our window or larger. There's also an added benefit that
this will fix #1824.
arch/arm/adler32_neon.c
arch/arm/arm_functions.h
arch/arm/neon_intrins.h
functable.c
test/benchmarks/benchmark_adler32_copy.cc
zbuild.h