diff --git a/Src/Core/Memory.c b/Src/Core/Memory.c index c9e0b99..27b8ee5 100644 --- a/Src/Core/Memory.c +++ b/Src/Core/Memory.c @@ -150,7 +150,7 @@ HallocyError hallocy_copy_memory(void *destination, void *source, const size_t s uint8x16_t simd_value; while (destination_bytes - end_address >= SIMD_128_WIDTH) { - simd_value = vdupq_n_u8(source_bytes); + simd_value = vdupq_n_u8(*source_bytes); vst1q_u8(destination_bytes, simd_value); destination_bytes += SIMD_128_WIDTH; source_bytes += SIMD_128_WIDTH; @@ -311,7 +311,7 @@ HallocyError hallocy_move_memory(void *destination, void *source, const size_t s destination_bytes -= SIMD_128_WIDTH; source_bytes -= SIMD_128_WIDTH; - simd_value = vdupq_n_u8(source_bytes); + simd_value = vdupq_n_u8(*source_bytes); vst1q_u8(destination_bytes, simd_value); } break; @@ -466,8 +466,8 @@ bool hallocy_compare_memory(void *left_side, void *right_side, const size_t size } while (end_address - destination_bytes >= SIMD_128_WIDTH) { - uint8x16_t simd_left_side_value = vdupq_n_u8(left_side_bytes); - uint8x16_t simd_right_side_value = vdupq_n_u8(right_side_bytes); + uint8x16_t simd_left_side_value = vdupq_n_u8(*left_side_bytes); + uint8x16_t simd_right_side_value = vdupq_n_u8(*right_side_bytes); uint8x16_t result = vceqq_u8(simd_left_side_value, simd_right_side_value); if (vmaxvq_u8(result) != 0xFF) {