Commit 9c18b679 authored by Hidayat Khan's avatar Hidayat Khan Committed by Michael R. Crusoe

sse2: added NEON impl for mm_cvtsd_f64

parent 9f4dbf6c
...@@ -2352,8 +2352,12 @@ simde_mm_cvtsd_f64 (simde__m128d a) { ...@@ -2352,8 +2352,12 @@ simde_mm_cvtsd_f64 (simde__m128d a) {
return _mm_cvtsd_f64(a); return _mm_cvtsd_f64(a);
#else #else
simde__m128d_private a_ = simde__m128d_to_private(a); simde__m128d_private a_ = simde__m128d_to_private(a);
#if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
return HEDLEY_STATIC_CAST(simde_float64, vgetq_lane_f64(a_.neon_f64, 0));
#else
return a_.f64[0]; return a_.f64[0];
#endif #endif
#endif
} }
#if defined(SIMDE_X86_SSE2_ENABLE_NATIVE_ALIASES) #if defined(SIMDE_X86_SSE2_ENABLE_NATIVE_ALIASES)
#define _mm_cvtsd_f64(a) simde_mm_cvtsd_f64(a) #define _mm_cvtsd_f64(a) simde_mm_cvtsd_f64(a)
...@@ -4135,7 +4139,7 @@ simde_mm_mul_su32 (simde__m64 a, simde__m64 b) { ...@@ -4135,7 +4139,7 @@ simde_mm_mul_su32 (simde__m64 a, simde__m64 b) {
b_ = simde__m64_to_private(b); b_ = simde__m64_to_private(b);
#if defined(SIMDE_ARM_NEON_A32V7_NATIVE) #if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
r_.u64[0] = vreinterpret_s64_u64(vget_low_u64(vmull_u32(vreinterpret_u32_s64(a), vreinterpret_u32_s64(b)))); r_.u64[0] = vget_lane_u64(vget_low_u64(vmull_u32(vreinterpret_u32_s64(a_.neon_i64), vreinterpret_u32_s64(b_.neon_i64))), 0);
#else #else
r_.u64[0] = HEDLEY_STATIC_CAST(uint64_t, a_.u32[0]) * HEDLEY_STATIC_CAST(uint64_t, b_.u32[0]); r_.u64[0] = HEDLEY_STATIC_CAST(uint64_t, a_.u32[0]) * HEDLEY_STATIC_CAST(uint64_t, b_.u32[0]);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment