[ARM64] Fix constexpr -> const for NEON vector types.

constexpr uint8x16_t isn't valid on all compilers since vcombine_u8/vcreate_u8
aren't constexpr
This commit is contained in:
Herman S.
2026-03-15 22:10:38 +09:00
parent b04cc23670
commit 3bf6823e5b

View File

@@ -484,7 +484,7 @@ void copy_and_swap_16_unaligned(void* dst_ptr, const void* src_ptr,
auto dst = reinterpret_cast<uint8_t*>(dst_ptr); auto dst = reinterpret_cast<uint8_t*>(dst_ptr);
auto src = reinterpret_cast<const uint8_t*>(src_ptr); auto src = reinterpret_cast<const uint8_t*>(src_ptr);
constexpr uint8x16_t tbl_idx = const uint8x16_t tbl_idx =
vcombine_u8(vcreate_u8(UINT64_C(0x0607040502030001)), vcombine_u8(vcreate_u8(UINT64_C(0x0607040502030001)),
vcreate_u8(UINT64_C(0x0E0F0C0D0A0B0809))); vcreate_u8(UINT64_C(0x0E0F0C0D0A0B0809)));
@@ -518,7 +518,7 @@ void copy_and_swap_32_unaligned(void* dst_ptr, const void* src_ptr,
auto dst = reinterpret_cast<uint8_t*>(dst_ptr); auto dst = reinterpret_cast<uint8_t*>(dst_ptr);
auto src = reinterpret_cast<const uint8_t*>(src_ptr); auto src = reinterpret_cast<const uint8_t*>(src_ptr);
constexpr uint8x16_t tbl_idx = const uint8x16_t tbl_idx =
vcombine_u8(vcreate_u8(UINT64_C(0x405060700010203)), vcombine_u8(vcreate_u8(UINT64_C(0x405060700010203)),
vcreate_u8(UINT64_C(0x0C0D0E0F08090A0B))); vcreate_u8(UINT64_C(0x0C0D0E0F08090A0B)));
@@ -550,7 +550,7 @@ void copy_and_swap_64_unaligned(void* dst_ptr, const void* src_ptr,
auto dst = reinterpret_cast<uint8_t*>(dst_ptr); auto dst = reinterpret_cast<uint8_t*>(dst_ptr);
auto src = reinterpret_cast<const uint8_t*>(src_ptr); auto src = reinterpret_cast<const uint8_t*>(src_ptr);
constexpr uint8x16_t tbl_idx = const uint8x16_t tbl_idx =
vcombine_u8(vcreate_u8(UINT64_C(0x0001020304050607)), vcombine_u8(vcreate_u8(UINT64_C(0x0001020304050607)),
vcreate_u8(UINT64_C(0x08090A0B0C0D0E0F))); vcreate_u8(UINT64_C(0x08090A0B0C0D0E0F)));