diff --git a/include/xsimd/types/xsimd_rvv_register.hpp b/include/xsimd/types/xsimd_rvv_register.hpp index 8c727b8fb..be86bd177 100644 --- a/include/xsimd/types/xsimd_rvv_register.hpp +++ b/include/xsimd/types/xsimd_rvv_register.hpp @@ -147,21 +147,21 @@ namespace xsimd rvv_type_info::bitcast<__rvv_uint8m1_t>( __rvv_uint8m1_t x) noexcept { - return __riscv_vreinterpret_i16m1(x); + return __riscv_vreinterpret_i16m1(__riscv_vreinterpret_u16m1(x)); } template <> XSIMD_INLINE rvv_type_info::type rvv_type_info::bitcast<__rvv_uint8m1_t>( __rvv_uint8m1_t x) noexcept { - return __riscv_vreinterpret_i32m1(x); + return __riscv_vreinterpret_i32m1(__riscv_vreinterpret_u32m1(x)); } template <> XSIMD_INLINE rvv_type_info::type rvv_type_info::bitcast<__rvv_uint8m1_t>( __rvv_uint8m1_t x) noexcept { - return __riscv_vreinterpret_i64m1(x); + return __riscv_vreinterpret_i64m1(__riscv_vreinterpret_u64m1(x)); } template <> XSIMD_INLINE rvv_type_info::type