From 1490c5a61f4eac6dd7a4e9849c807388e8e9c23a Mon Sep 17 00:00:00 2001 From: Christopher Berner Date: Sat, 2 Mar 2024 09:31:56 -0800 Subject: [PATCH] Fix alignment error on ARM --- src/octets.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/octets.rs b/src/octets.rs index d610f40..a564571 100644 --- a/src/octets.rs +++ b/src/octets.rs @@ -689,8 +689,10 @@ unsafe fn store_neon(ptr: *mut uint8x16_t, value: uint8x16_t) { // TODO: replace with vst1q_u8 when it's supported let reinterp = vreinterpretq_u64_u8(value); - *(ptr as *mut u64) = vgetq_lane_u64(reinterp, 0); - *(ptr as *mut u64).add(1) = vgetq_lane_u64(reinterp, 1); + (ptr as *mut u64).write_unaligned(vgetq_lane_u64(reinterp, 0)); + (ptr as *mut u64) + .add(1) + .write_unaligned(vgetq_lane_u64(reinterp, 1)); } #[cfg(all(target_arch = "aarch64", feature = "std"))]