commit e06725ed1fd70a142acdcd52cbe9cdeb7a2731cf
parent 4c2ec92f1da1c8ac0759dcad0779abb7d8fedcf6
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Thu, 14 Nov 2019 20:59:48 +0000
Fix GCC bug
Diffstat:
3 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/include/kfr/simd/impl/backend_generic.hpp b/include/kfr/simd/impl/backend_generic.hpp
@@ -534,6 +534,8 @@ KFR_INTRIN_SHUFFLE_CONCAT(u16, 8, KFR_mm256_setr_m128i(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(u32, 4, KFR_mm256_setr_m128i(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(u64, 2, KFR_mm256_setr_m128i(x, y))
+#ifndef CMT_COMPILER_GCC
+// GCC bug workaround
KFR_INTRIN_SHUFFLE_CONCAT(i8, 1, simd<i8, 2>(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(u8, 1, simd<u8, 2>(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(i16, 1, simd<i16, 2>(x, y))
@@ -541,6 +543,7 @@ KFR_INTRIN_SHUFFLE_CONCAT(u16, 1, simd<u16, 2>(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(i32, 1, simd<i32, 2>(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(u32, 1, simd<u32, 2>(x, y))
KFR_INTRIN_SHUFFLE_CONCAT(f32, 1, simd<f32, 2>{ x, y })
+#endif
KFR_INTRIN_SHUFFLE_CONCAT(f64, 1, _mm_setr_pd(x, y))
diff --git a/tests/unit/math/abs.cpp b/tests/unit/math/abs.cpp
@@ -6,6 +6,8 @@
#include <kfr/math/abs.hpp>
+#include <kfr/io.hpp>
+
namespace kfr
{
inline namespace CMT_ARCH_NAME
diff --git a/tests/unit/math/min_max.cpp b/tests/unit/math/min_max.cpp
@@ -6,6 +6,8 @@
#include <kfr/math/min_max.hpp>
+#include <kfr/io.hpp>
+
namespace kfr
{
inline namespace CMT_ARCH_NAME