Misc: Fix ARM32 build (again)
This commit is contained in:
@ -66,8 +66,10 @@ ALWAYS_INLINE_RELEASE static void MemsetPtrs(T* ptr, T value, u32 count)
|
||||
|
||||
#if defined(CPU_ARCH_SSE)
|
||||
const __m128i svalue = _mm_set1_epi64x(reinterpret_cast<intptr_t>(value));
|
||||
#elif defined(CPU_ARCH_NEON)
|
||||
#elif defined(CPU_ARCH_NEON) && defined(CPU_ARCH_ARM64)
|
||||
const uint64x2_t svalue = vdupq_n_u64(reinterpret_cast<uintptr_t>(value));
|
||||
#elif defined(CPU_ARCH_NEON) && defined(CPU_ARCH_ARM32)
|
||||
const uint32x4_t svalue = vdupq_n_u32(reinterpret_cast<uintptr_t>(value));
|
||||
#endif
|
||||
|
||||
// Clang gets way too eager and tries to unroll these, emitting thousands of instructions.
|
||||
@ -78,8 +80,10 @@ ALWAYS_INLINE_RELEASE static void MemsetPtrs(T* ptr, T value, u32 count)
|
||||
{
|
||||
#if defined(CPU_ARCH_SSE)
|
||||
_mm_store_si128(reinterpret_cast<__m128i*>(dest), svalue);
|
||||
#elif defined(CPU_ARCH_NEON)
|
||||
#elif defined(CPU_ARCH_NEON) && defined(CPU_ARCH_ARM64)
|
||||
vst1q_u64(reinterpret_cast<u64*>(dest), svalue);
|
||||
#elif defined(CPU_ARCH_NEON) && defined(CPU_ARCH_ARM32)
|
||||
vst1q_u32(reinterpret_cast<u32*>(dest), svalue);
|
||||
#endif
|
||||
dest += PTRS_PER_VECTOR;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user