From 825460856f750d067063e4fb54f5949f2b53be84 Mon Sep 17 00:00:00 2001 From: Konstantinos Margaritis Date: Tue, 20 Jul 2021 11:38:19 +0000 Subject: [PATCH] fix arm loadu_maskz() --- src/util/supervector/arch/arm/impl.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/util/supervector/arch/arm/impl.cpp b/src/util/supervector/arch/arm/impl.cpp index 678ebdfb..2c4cf3d6 100644 --- a/src/util/supervector/arch/arm/impl.cpp +++ b/src/util/supervector/arch/arm/impl.cpp @@ -289,11 +289,11 @@ really_inline SuperVector<16> SuperVector<16>::load(void const *ptr) template <> really_inline SuperVector<16> SuperVector<16>::loadu_maskz(void const *ptr, uint8_t const len) { - uint8_t alignment = (uintptr_t)(ptr) & 15; - SuperVector<16> maskb = Ones() << alignment; - SuperVector<16> maske = Ones() >> (16 -len - alignment); - SuperVector<16> v = SuperVector<16>::loadu((const m128 *)ptr); - return {maskb.u.v128[0] & maske.u.v128[0] & v.u.v128[0]}; + SuperVector<16> mask = Ones() >> (16 -len); + mask.print8("mask"); + SuperVector<16> v = loadu(ptr); + v.print8("v"); + return mask & v; } #ifdef HS_OPTIMIZE