commit 8d14765b988ba3d95476b5490d966ccaea7ae0c7
parent 264e3d51c8fc1611e87f8636fef926245544b96d
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Fri, 10 Nov 2023 04:57:01 +0000
Fix for MSVC 19.37 ICE
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/include/kfr/simd/impl/backend_generic.hpp b/include/kfr/simd/impl/backend_generic.hpp
@@ -521,7 +521,11 @@ KFR_INTRIN_SHUFFLE_LINEAR(i32, 4, 2, _mm_cvtsi64_si128(x.whole))
// slice
KFR_INTRIN_SHUFFLE_LINEAR(i32, 1, 4, _mm_cvtsi128_si32(x))
KFR_INTRIN_SHUFFLE_LINEAR(u32, 1, 4, _mm_cvtsi128_si32(x))
+#if defined CMT_COMPILER_IS_MSVC && _MSC_VER > 1936
+KFR_INTRIN_SHUFFLE_LINEAR(i64, 1, 2, i64(x.m128i_i64[0]))
+#else
KFR_INTRIN_SHUFFLE_LINEAR(i64, 1, 2, _mm_cvtsi128_si64(x))
+#endif
KFR_INTRIN_SHUFFLE_LINEAR(u64, 1, 2, _mm_cvtsi128_si64(x))
KFR_INTRIN_SHUFFLE_LINEAR(f32, 1, 4, _mm_cvtss_f32(x))
KFR_INTRIN_SHUFFLE_LINEAR(f32, 2, 4, bitcast_anything<simd<float, 2>>(_mm_cvtsd_f64(_mm_castps_pd(x))))