commit 21885e8f41c3116b2cbeba4a416ac50b69e14ddd
parent 2e60de46cd0e2af522126e4d6eff86365df6f75e
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Tue, 26 Jul 2016 13:18:41 +0300
Fix infinite recursion in abs(i64)
Diffstat:
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/include/kfr/base/abs.hpp b/include/kfr/base/abs.hpp
@@ -40,11 +40,7 @@ KFR_SINTRIN vec<T, N> abs(vec<T, N> x)
#if defined CID_ARCH_SSSE3
-template <typename T, size_t N>
-KFR_SINTRIN vec<i64, N> abs(vec<i64, N> x)
-{
- return select(x >= T(), x, -x);
-}
+KFR_SINTRIN i64sse abs(i64sse x) { return select(x >= 0, x, -x); }
KFR_SINTRIN i32sse abs(i32sse value) { return _mm_abs_epi32(*value); }
KFR_SINTRIN i16sse abs(i16sse value) { return _mm_abs_epi16(*value); }
KFR_SINTRIN i8sse abs(i8sse value) { return _mm_abs_epi8(*value); }