@@ -1627,15 +1627,16 @@ HWY_RVV_FOREACH(HWY_RVV_LOAD, Load, le, _ALL_VIRT)
16271627
16281628// There is no native BF16, treat as int16_t.
16291629template <size_t N, int kPow2 >
1630- HWY_API VFromD<Simd<int16_t , N, kPow2 >> Load (Simd<bfloat16_t , N, kPow2 > d,
1630+ HWY_API VFromD<Simd<int16_t , N, kPow2 >> LoadU (Simd<bfloat16_t , N, kPow2 > d,
16311631 const bfloat16_t * HWY_RESTRICT p) {
1632- return Load (RebindToSigned<decltype (d)>(),
1632+ return LoadU (RebindToSigned<decltype (d)>(),
16331633 reinterpret_cast <const int16_t * HWY_RESTRICT>(p));
16341634}
16351635
16361636template <size_t N, int kPow2 >
16371637HWY_API void Store (VFromD<Simd<int16_t , N, kPow2 >> v,
16381638 Simd<bfloat16_t , N, kPow2 > d, bfloat16_t * HWY_RESTRICT p) {
1639+ HWY_DASSERT_ALIGNED (d, p);
16391640 Store (v, RebindToSigned<decltype (d)>(),
16401641 reinterpret_cast <int16_t * HWY_RESTRICT>(p));
16411642}
@@ -1644,26 +1645,26 @@ HWY_API void Store(VFromD<Simd<int16_t, N, kPow2>> v,
16441645
16451646// NOTE: different type for float16_t than bfloat16_t, see Set().
16461647template <size_t N, int kPow2 >
1647- HWY_API VFromD<Simd<uint16_t , N, kPow2 >> Load (Simd<float16_t , N, kPow2 > d,
1648+ HWY_API VFromD<Simd<uint16_t , N, kPow2 >> LoadU (Simd<float16_t , N, kPow2 > d,
16481649 const float16_t * HWY_RESTRICT p) {
16491650 return Load (RebindToUnsigned<decltype (d)>(),
16501651 reinterpret_cast <const uint16_t * HWY_RESTRICT>(p));
16511652}
16521653
16531654template <size_t N, int kPow2 >
1654- HWY_API void Store (VFromD<Simd<uint16_t , N, kPow2 >> v,
1655+ HWY_API void StoreU (VFromD<Simd<uint16_t , N, kPow2 >> v,
16551656 Simd<float16_t , N, kPow2 > d, float16_t * HWY_RESTRICT p) {
1656- Store (v, RebindToUnsigned<decltype (d)>(),
1657+ StoreU (v, RebindToUnsigned<decltype (d)>(),
16571658 reinterpret_cast <uint16_t * HWY_RESTRICT>(p));
16581659}
16591660
16601661#endif // !HWY_HAVE_FLOAT16
16611662
1662- // ------------------------------ LoadU
16631663template <class D >
1664- HWY_API VFromD<D> LoadU (D d, const TFromD<D>* HWY_RESTRICT p) {
1664+ HWY_API VFromD<D> Load (D d, const TFromD<D>* HWY_RESTRICT p) {
1665+ HWY_DASSERT_ALIGNED (d, p);
16651666 // RVV only requires element alignment, not vector alignment.
1666- return Load (d, p);
1667+ return LoadU (d, p);
16671668}
16681669
16691670// ------------------------------ MaskedLoad
@@ -1858,11 +1859,12 @@ HWY_API void StoreN(VFromD<D> v, D /*d*/, T* HWY_RESTRICT p,
18581859 reinterpret_cast <TStore * HWY_RESTRICT>(p));
18591860}
18601861
1861- // ------------------------------ StoreU
1862+ // ------------------------------ Store
18621863template <class V , class D >
1863- HWY_API void StoreU (const V v, D d, TFromD<D>* HWY_RESTRICT p) {
1864+ HWY_API void Store (const V v, D d, TFromD<D>* HWY_RESTRICT p) {
1865+ HWY_DASSERT_ALIGNED (d, p);
18641866 // RVV only requires element alignment, not vector alignment.
1865- Store (v, d, p);
1867+ StoreU (v, d, p);
18661868}
18671869
18681870// ------------------------------ Stream
0 commit comments