diff --git a/include/simd/Vector.hpp b/include/simd/Vector.hpp index 7dd77ad..3ca26d5 100644 --- a/include/simd/Vector.hpp +++ b/include/simd/Vector.hpp @@ -359,12 +359,12 @@ inline Vector operator~(const Vector& a) { /** `a << b` */ inline Vector operator<<(const Vector& a, const int& b) { - return Vector(_mm_slli_epi32(a.v, b)); + return Vector(_mm_sll_epi32(a.v, _mm_cvtsi32_si128(b))); } /** `a >> b` */ inline Vector operator>>(const Vector& a, const int& b) { - return Vector(_mm_srli_epi32(a.v, b)); + return Vector(_mm_srl_epi32(a.v, _mm_cvtsi32_si128(b))); }