]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Reduce code size and directly call in adler32_copy
authorNathan Moinvaziri <nathan@nathanm.com>
Thu, 15 Jan 2026 07:53:18 +0000 (23:53 -0800)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Sat, 24 Jan 2026 00:25:43 +0000 (01:25 +0100)
There is no need for _impl when there is no const int COPY being used

arch/power/adler32_vmx.c
arch/x86/adler32_ssse3.c

index d002f21e36870da5bd2eb8d8d7bfa1a2f80e1be7..de8cd40404b74c924b33415951aa446be80a519a 100644 (file)
@@ -118,7 +118,7 @@ static void vmx_accum32(uint32_t *s, const uint8_t *buf, size_t len) {
     vec_ste(s2acc, 0, s+1);
 }
 
-Z_FORCEINLINE static uint32_t adler32_impl(uint32_t adler, const uint8_t *buf, size_t len) {
+Z_INTERNAL uint32_t adler32_vmx(uint32_t adler, const uint8_t *buf, size_t len) {
     /* Split Adler-32 into component sums */
     uint32_t sum2 = (adler >> 16) & 0xffff;
     adler &= 0xffff;
@@ -172,13 +172,9 @@ Z_FORCEINLINE static uint32_t adler32_impl(uint32_t adler, const uint8_t *buf, s
     return (pair[1] << 16) | pair[0];
 }
 
-Z_INTERNAL uint32_t adler32_vmx(uint32_t adler, const uint8_t *buf, size_t len) {
-    return adler32_impl(adler, buf, len);
-}
-
 /* VMX stores can have higher latency than optimized memcpy */
 Z_INTERNAL uint32_t adler32_copy_vmx(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len) {
-    adler = adler32_impl(adler, src, len);
+    adler = adler32_vmx(adler, src, len);
     memcpy(dst, src, len);
     return adler;
 }
index d3f8f089e1762e1c5853822628c64f0e93cfd93c..3b261629556c0a4acd33c81838d0f80b84b1f728 100644 (file)
 
 #include <immintrin.h>
 
-Z_FORCEINLINE static uint32_t adler32_impl(uint32_t adler, const uint8_t *buf, size_t len) {
-    uint32_t sum2;
-
-     /* split Adler-32 into component sums */
-    sum2 = (adler >> 16) & 0xffff;
+Z_INTERNAL uint32_t adler32_ssse3(uint32_t adler, const uint8_t *buf, size_t len) {
+    /* split Adler-32 into component sums */
+    uint32_t sum2 = (adler >> 16) & 0xffff;
     adler &= 0xffff;
 
     /* in case user likes doing a byte at a time, keep it fast */
@@ -149,13 +147,9 @@ unaligned_jmp:
     return adler32_copy_len_16(adler, NULL, buf, len, sum2, 0);
 }
 
-Z_INTERNAL uint32_t adler32_ssse3(uint32_t adler, const uint8_t *buf, size_t len) {
-    return adler32_impl(adler, buf, len);
-}
-
 /* SSSE3 unaligned stores have a huge penalty, so we use memcpy. */
 Z_INTERNAL uint32_t adler32_copy_ssse3(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len) {
-    adler = adler32_impl(adler, src, len);
+    adler = adler32_ssse3(adler, src, len);
     memcpy(dst, src, len);
     return adler;
 }