1Source: https://github.com/simd-everywhere/simde/commit/87cd663a92e78a38b203a9aaa082c8fbd67781d823diff --git a/simde/x86/sse.h b/simde/x86/sse.h4index a8855f54..73a446e2 1006445--- a/simde/x86/sse.h6+++ b/simde/x86/sse.h7@@ -629,7 +629,7 @@ simde_x_mm_round_ps (simde__m128 a, int rounding, int lax_rounding)8 #elif defined(SIMDE_ARM_NEON_A32V8_NATIVE)9 r_.neon_f32 = vrndnq_f32(a_.neon_f32);10 #elif defined(SIMDE_LOONGARCH_LSX_NATIVE)11- r_.lsx_i64 = __lsx_vfrintrne_s(a_.lsx_f32);12+ r_.lsx_i64 = simde__m128_to_lsx_i64(__lsx_vfrintrne_s(a_.lsx_f32));13 #elif defined(SIMDE_WASM_SIMD128_NATIVE)14 r_.wasm_v128 = wasm_f32x4_nearest(a_.wasm_v128);15 #elif defined(simde_math_roundevenf)16@@ -648,7 +648,7 @@ simde_x_mm_round_ps (simde__m128 a, int rounding, int lax_rounding)17 #elif defined(SIMDE_ARM_NEON_A32V8_NATIVE)18 r_.neon_f32 = vrndmq_f32(a_.neon_f32);19 #elif defined(SIMDE_LOONGARCH_LSX_NATIVE)20- r_.lsx_i64 = __lsx_vfrintrm_s(a_.lsx_f32);21+ r_.lsx_i64 = simde__m128_to_lsx_i64(__lsx_vfrintrm_s(a_.lsx_f32));22 #elif defined(SIMDE_WASM_SIMD128_NATIVE)23 r_.wasm_v128 = wasm_f32x4_floor(a_.wasm_v128);24 #elif defined(simde_math_floorf)25@@ -667,7 +667,7 @@ simde_x_mm_round_ps (simde__m128 a, int rounding, int lax_rounding)26 #elif defined(SIMDE_ARM_NEON_A32V8_NATIVE)27 r_.neon_f32 = vrndpq_f32(a_.neon_f32);28 #elif defined(SIMDE_LOONGARCH_LSX_NATIVE)29- r_.lsx_i64 = __lsx_vfrintrp_s(a_.lsx_f32);30+ r_.lsx_i64 = simde__m128_to_lsx_i64(__lsx_vfrintrp_s(a_.lsx_f32));31 #elif defined(SIMDE_WASM_SIMD128_NATIVE)32 r_.wasm_v128 = wasm_f32x4_ceil(a_.wasm_v128);33 #elif defined(simde_math_ceilf)34@@ -686,7 +686,7 @@ simde_x_mm_round_ps (simde__m128 a, int rounding, int lax_rounding)35 #elif defined(SIMDE_ARM_NEON_A32V8_NATIVE)36 r_.neon_f32 = vrndq_f32(a_.neon_f32);37 #elif defined(SIMDE_LOONGARCH_LSX_NATIVE)38- r_.lsx_i64 = __lsx_vfrintrz_s(a_.lsx_f32);39+ r_.lsx_i64 = simde__m128_to_lsx_i64(__lsx_vfrintrz_s(a_.lsx_f32));40 #elif defined(SIMDE_WASM_SIMD128_NATIVE)41 r_.wasm_v128 = wasm_f32x4_trunc(a_.wasm_v128);42 #elif defined(simde_math_truncf)43diff --git a/simde/x86/sse2.h b/simde/x86/sse2.h44index be85177d..00286280 10064445--- a/simde/x86/sse2.h46+++ b/simde/x86/sse2.h47@@ -248,6 +248,9 @@ typedef union {48 #else49 typedef simde__m128d_private simde__m128d;50 #endif51+#elif defined(SIMDE_LOONGARCH_LSX_NATIVE)52+ typedef __m128i simde__m128i;53+ typedef __m128d simde__m128d;54 #elif defined(SIMDE_VECTOR_SUBSCRIPT)55 typedef int64_t simde__m128i SIMDE_ALIGN_TO_16 SIMDE_VECTOR(16) SIMDE_MAY_ALIAS;56 typedef simde_float64 simde__m128d SIMDE_ALIGN_TO_16 SIMDE_VECTOR(16) SIMDE_MAY_ALIAS;57@@ -257,9 +260,11 @@ typedef union {58 #endif5960 #if defined(SIMDE_X86_SSE2_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_SVML_ENABLE_NATIVE_ALIASES)61+#if !defined(SIMDE_LOONGARCH_LSX_NATIVE)62 typedef simde__m128i __m128i;63 typedef simde__m128d __m128d;64 #endif65+#endif6667 HEDLEY_STATIC_ASSERT(16 == sizeof(simde__m128i), "simde__m128i size incorrect");68 HEDLEY_STATIC_ASSERT(16 == sizeof(simde__m128i_private), "simde__m128i_private size incorrect");