diff options
| author | Nathan Moinvaziri <nathan@nathanm.com> | 2026-03-11 20:03:11 -0700 |
|---|---|---|
| committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2026-03-14 02:14:34 +0100 |
| commit | 98712c1eee5ca6416a00c39f34279d5c49b92f13 (patch) | |
| tree | 59002760e46eb7e08093d7db1865b1c906840a0a | |
| parent | 352c1a00c7786a0a169ce557d11c3804e88761fa (diff) | |
| download | Project-Tick-98712c1eee5ca6416a00c39f34279d5c49b92f13.tar.gz Project-Tick-98712c1eee5ca6416a00c39f34279d5c49b92f13.zip | |
Add copy fallback for Adler32 ARM when building with no-unaligned-access
| -rw-r--r-- | arch/arm/adler32_neon.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/adler32_neon.c b/arch/arm/adler32_neon.c index 44d274dd9f..48532e6cd1 100644 --- a/arch/arm/adler32_neon.c +++ b/arch/arm/adler32_neon.c @@ -333,7 +333,14 @@ Z_INTERNAL uint32_t adler32_neon(uint32_t adler, const uint8_t *src, size_t len) } Z_INTERNAL uint32_t adler32_copy_neon(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len) { +#if OPTIMAL_CMP >= 32 return adler32_copy_impl(adler, dst, src, len, 1); +#else + /* Without unaligned access, interleaved stores get decomposed into byte ops */ + adler = adler32_neon(adler, src, len); + memcpy(dst, src, len); + return adler; +#endif } #endif |
