@@ -2743,38 +2743,38 @@ namespace xsimd
27432743 }
27442744
27452745 /* ***************
2746- * rotate_right *
2746+ * rotate_left *
27472747 ****************/
27482748 namespace wrap
27492749 {
27502750 template <size_t N>
2751- XSIMD_INLINE uint8x16_t rotate_right_u8 (uint8x16_t a, uint8x16_t b) noexcept { return vextq_u8 (a, b, N); }
2751+ XSIMD_INLINE uint8x16_t rotate_left_u8 (uint8x16_t a, uint8x16_t b) noexcept { return vextq_u8 (a, b, N); }
27522752 template <size_t N>
2753- XSIMD_INLINE int8x16_t rotate_right_s8 (int8x16_t a, int8x16_t b) noexcept { return vextq_s8 (a, b, N); }
2753+ XSIMD_INLINE int8x16_t rotate_left_s8 (int8x16_t a, int8x16_t b) noexcept { return vextq_s8 (a, b, N); }
27542754 template <size_t N>
2755- XSIMD_INLINE uint16x8_t rotate_right_u16 (uint16x8_t a, uint16x8_t b) noexcept { return vextq_u16 (a, b, N); }
2755+ XSIMD_INLINE uint16x8_t rotate_left_u16 (uint16x8_t a, uint16x8_t b) noexcept { return vextq_u16 (a, b, N); }
27562756 template <size_t N>
2757- XSIMD_INLINE int16x8_t rotate_right_s16 (int16x8_t a, int16x8_t b) noexcept { return vextq_s16 (a, b, N); }
2757+ XSIMD_INLINE int16x8_t rotate_left_s16 (int16x8_t a, int16x8_t b) noexcept { return vextq_s16 (a, b, N); }
27582758 template <size_t N>
2759- XSIMD_INLINE uint32x4_t rotate_right_u32 (uint32x4_t a, uint32x4_t b) noexcept { return vextq_u32 (a, b, N); }
2759+ XSIMD_INLINE uint32x4_t rotate_left_u32 (uint32x4_t a, uint32x4_t b) noexcept { return vextq_u32 (a, b, N); }
27602760 template <size_t N>
2761- XSIMD_INLINE int32x4_t rotate_right_s32 (int32x4_t a, int32x4_t b) noexcept { return vextq_s32 (a, b, N); }
2761+ XSIMD_INLINE int32x4_t rotate_left_s32 (int32x4_t a, int32x4_t b) noexcept { return vextq_s32 (a, b, N); }
27622762 template <size_t N>
2763- XSIMD_INLINE uint64x2_t rotate_right_u64 (uint64x2_t a, uint64x2_t b) noexcept { return vextq_u64 (a, b, N); }
2763+ XSIMD_INLINE uint64x2_t rotate_left_u64 (uint64x2_t a, uint64x2_t b) noexcept { return vextq_u64 (a, b, N); }
27642764 template <size_t N>
2765- XSIMD_INLINE int64x2_t rotate_right_s64 (int64x2_t a, int64x2_t b) noexcept { return vextq_s64 (a, b, N); }
2765+ XSIMD_INLINE int64x2_t rotate_left_s64 (int64x2_t a, int64x2_t b) noexcept { return vextq_s64 (a, b, N); }
27662766 template <size_t N>
2767- XSIMD_INLINE float32x4_t rotate_right_f32 (float32x4_t a, float32x4_t b) noexcept { return vextq_f32 (a, b, N); }
2767+ XSIMD_INLINE float32x4_t rotate_left_f32 (float32x4_t a, float32x4_t b) noexcept { return vextq_f32 (a, b, N); }
27682768 }
27692769
27702770 template <size_t N, class A , class T , detail::enable_neon_type_t <T> = 0 >
2771- XSIMD_INLINE batch<T, A> rotate_right (batch<T, A> const & a, requires_arch<neon>) noexcept
2771+ XSIMD_INLINE batch<T, A> rotate_left (batch<T, A> const & a, requires_arch<neon>) noexcept
27722772 {
27732773 using register_type = typename batch<T, A>::register_type;
27742774 const detail::neon_dispatcher::binary dispatcher = {
2775- std::make_tuple (wrap::rotate_right_u8 <N>, wrap::rotate_right_s8 <N>, wrap::rotate_right_u16 <N>, wrap::rotate_right_s16 <N>,
2776- wrap::rotate_right_u32 <N>, wrap::rotate_right_s32 <N>, wrap::rotate_right_u64 <N>, wrap::rotate_right_s64 <N>,
2777- wrap::rotate_right_f32 <N>)
2775+ std::make_tuple (wrap::rotate_left_u8 <N>, wrap::rotate_left_s8 <N>, wrap::rotate_left_u16 <N>, wrap::rotate_left_s16 <N>,
2776+ wrap::rotate_left_u32 <N>, wrap::rotate_left_s32 <N>, wrap::rotate_left_u64 <N>, wrap::rotate_left_s64 <N>,
2777+ wrap::rotate_left_f32 <N>)
27782778 };
27792779 return dispatcher.apply (register_type (a), register_type (a));
27802780 }
0 commit comments