aports

Custom Alpine Linux aports

git clone git://git.lin.moe/aports.git

 1Source: https://github.com/simd-everywhere/simde/commit/87cd663a92e78a38b203a9aaa082c8fbd67781d8
 2
 3diff --git a/simde/x86/sse.h b/simde/x86/sse.h
 4index a8855f54..73a446e2 100644
 5--- a/simde/x86/sse.h
 6+++ b/simde/x86/sse.h
 7@@ -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.h
44index be85177d..00286280 100644
45--- a/simde/x86/sse2.h
46+++ b/simde/x86/sse2.h
47@@ -248,6 +248,9 @@ typedef union {
48   #else
49      typedef simde__m128d_private simde__m128d;
50   #endif
51+#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 #endif
59 
60 #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 #endif
65+#endif
66 
67 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");