]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Don't let the compiler switch to 64bit vectors behind our back.
authorNiLuJe <ninuje@gmail.com>
Sun, 2 Aug 2020 18:18:57 +0000 (20:18 +0200)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Sun, 16 Aug 2020 12:36:12 +0000 (14:36 +0200)
On ARMv7, they have more stringent alignment requirements,
which aren't accounted for.

arch/arm/chunkset_neon.c

index 2721596c60c4eb9b4297905528303ad09cc65637..f2da73af8a1df23fee592648117515c8e70c4052 100644 (file)
@@ -114,12 +114,11 @@ static inline uint8_t *chunkmemset_6(uint8_t *out, uint8_t *from, unsigned dist,
 #endif
 
 static inline void loadchunk(uint8_t const *s, chunk_t *chunk) {
-    *chunk = *(chunk_t *)s;
+    *chunk = vld1q_u8(s);
 }
 
 static inline void storechunk(uint8_t *out, chunk_t *chunk) {
-    /* Cast to chunk_t pointer to avoid compiler error on MSVC ARM */
-    memcpy((chunk_t *)out, chunk, sizeof(chunk_t));
+    vst1q_u8(out, *chunk);
 }
 
 #include "chunkset_tpl.h"