From: Nathan Moinvaziri Date: Thu, 15 Jan 2026 07:53:18 +0000 (-0800) Subject: Reduce code size and directly call in adler32_copy X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=238b72add8bd607a100b220d4c04dcab0143531e;p=thirdparty%2Fzlib-ng.git Reduce code size and directly call in adler32_copy There is no need for _impl when there is no const int COPY being used --- diff --git a/arch/power/adler32_vmx.c b/arch/power/adler32_vmx.c index d002f21e3..de8cd4040 100644 --- a/arch/power/adler32_vmx.c +++ b/arch/power/adler32_vmx.c @@ -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; } diff --git a/arch/x86/adler32_ssse3.c b/arch/x86/adler32_ssse3.c index d3f8f089e..3b2616295 100644 --- a/arch/x86/adler32_ssse3.c +++ b/arch/x86/adler32_ssse3.c @@ -14,11 +14,9 @@ #include -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; }