Skip to content

Commit 23f876a

Browse files
committed
[utils] fix xxh3
1 parent 55e5bb3 commit 23f876a

2 files changed

Lines changed: 17 additions & 8 deletions

File tree

src/uwvm2/utils/hash/xxh3.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::hash
834834

835835
if(element_count >= 8u)
836836
{
837-
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::svpattern::SV_VL8)};
837+
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::SV_VL8)};
838838
auto vacc{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc)};
839839
auto accrnd{[&] UWVM_ALWAYS_INLINE(::uwvm2::utils::intrinsics::arm_sve::svuint64_t & acc, unsigned offset) constexpr noexcept -> void
840840
{
@@ -852,7 +852,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::hash
852852
}
853853
else if(element_count == 2u)
854854
{ /* sve128 */
855-
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::svpattern::SV_VL2)};
855+
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::SV_VL2)};
856856
auto acc0{svld1_u64(mask, xacc + 0u)};
857857
auto acc1{svld1_u64(mask, xacc + 2u)};
858858
auto acc2{svld1_u64(mask, xacc + 4u)};
@@ -879,7 +879,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::hash
879879
}
880880
else
881881
{
882-
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::svpattern::SV_VL4)};
882+
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::SV_VL4)};
883883
auto acc0{svld1_u64(mask, xacc + 0u)};
884884
auto acc1{svld1_u64(mask, xacc + 4u)};
885885
auto accrnd{[&] UWVM_ALWAYS_INLINE(::uwvm2::utils::intrinsics::arm_sve::svuint64_t & acc, unsigned offset) constexpr noexcept -> void
@@ -915,7 +915,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::hash
915915

916916
if(element_count >= 8u)
917917
{
918-
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::svpattern::SV_VL8)};
918+
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::SV_VL8)};
919919
auto vacc{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc)};
920920
auto accrnd{[&] UWVM_ALWAYS_INLINE(::uwvm2::utils::intrinsics::arm_sve::svuint64_t & acc, unsigned offset) constexpr noexcept -> void
921921
{
@@ -933,7 +933,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::hash
933933
}
934934
else if(element_count == 2u)
935935
{ /* sve128 */
936-
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::svpattern::SV_VL2)};
936+
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::SV_VL2)};
937937
auto acc0{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc + 0u)};
938938
auto acc1{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc + 2u)};
939939
auto acc2{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc + 4u)};
@@ -960,7 +960,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::hash
960960
}
961961
else
962962
{
963-
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::svpattern::SV_VL4)};
963+
auto mask{::uwvm2::utils::intrinsics::arm_sve::svptrue_pat_b64(::uwvm2::utils::intrinsics::arm_sve::SV_VL4)};
964964
auto acc0{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc + 0u)};
965965
auto acc1{::uwvm2::utils::intrinsics::arm_sve::svld1_u64(mask, xacc + 4u)};
966966
auto accrnd{[&] UWVM_ALWAYS_INLINE(::uwvm2::utils::intrinsics::arm_sve::svuint64_t & acc, unsigned offset) constexpr noexcept -> void

src/uwvm2/utils/intrinsics/arm_sve.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::intrinsics::arm_sve
145145
[[__gnu__::__nodebug__]]
146146
extern ::std::uint64_t svcntd() noexcept;
147147

148-
enum class svpattern
148+
enum svpattern
149149
{
150150
SV_POW2 = 0,
151151
SV_VL1 = 1,
@@ -169,8 +169,17 @@ UWVM_MODULE_EXPORT namespace uwvm2::utils::intrinsics::arm_sve
169169
[[clang::__clang_arm_builtin_alias(__builtin_sve_svptrue_pat_b64)]]
170170
[[__gnu__::__always_inline__]]
171171
[[__gnu__::__nodebug__]]
172-
extern svbool_t svptrue_pat_b64(svpattern) noexcept;
172+
extern svbool_t svptrue_pat_b64(enum svpattern) noexcept;
173173

174+
[[clang::__clang_arm_builtin_alias(__builtin_sve_svindex_u64)]]
175+
[[__gnu__::__always_inline__]]
176+
[[__gnu__::__nodebug__]]
177+
extern svuint64_t svptrue_pat_b64(::std::uint64_t, ::std::uint64_t) noexcept;
178+
179+
[[clang::__clang_arm_builtin_alias(__builtin_sve_svst1_u64)]]
180+
[[__gnu__::__always_inline__]]
181+
[[__gnu__::__nodebug__]]
182+
extern void svst1_u64(svbool_t, ::std::uint64_t *, svuint64_t) noexcept;
174183
// clang-format on
175184

176185
# elif defined(__GNUC__)

0 commit comments

Comments
 (0)