sse4.1: add move_s{s,d}-based fallbacks for simde_mm_round_s{s,d}
Fixes
@@ -1854,6 +1854,8 @@ simde_mm_round_sd (simde__m128d a, simde__m128d b, int rounding)
}
#if defined(SIMDE_X86_SSE4_1_NATIVE)
# define simde_mm_round_sd(a, b, rounding) _mm_round_sd(a, b, rounding)
+#elif SIMDE_NATURAL_VECTOR_SIZE_GE(128)
+# define simde_mm_round_sd(a, b, rounding) simde_mm_move_sd(a, simde_mm_round_pd(b, rounding))
#endif
#if defined(SIMDE_X86_SSE4_1_ENABLE_NATIVE_ALIASES)
#undef _mm_round_sd
@@ -1902,6 +1904,8 @@ simde_mm_round_ss (simde__m128 a, simde__m128 b, int rounding)
}
#if defined(SIMDE_X86_SSE4_1_NATIVE)
# define simde_mm_round_ss(a, b, rounding) _mm_round_ss(a, b, rounding)
+#elif SIMDE_NATURAL_VECTOR_SIZE_GE(128)
+# define simde_mm_round_ss(a, b, rounding) simde_mm_move_ss(a, simde_mm_round_ps(b, rounding))
#endif
#if defined(SIMDE_X86_SSE4_1_ENABLE_NATIVE_ALIASES)
#undef _mm_round_ss
