mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
fix arm loadu_maskz()
This commit is contained in:
parent
86accf41a3
commit
825460856f
@ -289,11 +289,11 @@ really_inline SuperVector<16> SuperVector<16>::load(void const *ptr)
|
|||||||
template <>
|
template <>
|
||||||
really_inline SuperVector<16> SuperVector<16>::loadu_maskz(void const *ptr, uint8_t const len)
|
really_inline SuperVector<16> SuperVector<16>::loadu_maskz(void const *ptr, uint8_t const len)
|
||||||
{
|
{
|
||||||
uint8_t alignment = (uintptr_t)(ptr) & 15;
|
SuperVector<16> mask = Ones() >> (16 -len);
|
||||||
SuperVector<16> maskb = Ones() << alignment;
|
mask.print8("mask");
|
||||||
SuperVector<16> maske = Ones() >> (16 -len - alignment);
|
SuperVector<16> v = loadu(ptr);
|
||||||
SuperVector<16> v = SuperVector<16>::loadu((const m128 *)ptr);
|
v.print8("v");
|
||||||
return {maskb.u.v128[0] & maske.u.v128[0] & v.u.v128[0]};
|
return mask & v;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HS_OPTIMIZE
|
#ifdef HS_OPTIMIZE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user