Commit 7bd2bb70 authored by Michael R. Crusoe's avatar Michael R. Crusoe Committed by GitHub

arm neon `_vext_p6`: reverse logic to avoid GCC14 i586 bug (#1251)

Co-authored-by: default avatarEgor Ignatov <egori@altlinux.org>
parent b4bf72e1
...@@ -1075,7 +1075,7 @@ simde_vext_p64(simde_poly64x1_t a, simde_poly64x1_t b, const int n) ...@@ -1075,7 +1075,7 @@ simde_vext_p64(simde_poly64x1_t a, simde_poly64x1_t b, const int n)
const size_t n_ = HEDLEY_STATIC_CAST(size_t, n); const size_t n_ = HEDLEY_STATIC_CAST(size_t, n);
for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) { for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
size_t src = i + n_; size_t src = i + n_;
r_.values[i] = (src < (sizeof(r_.values) / sizeof(r_.values[0]))) ? a_.values[src] : b_.values[src & 0]; r_.values[i] = (src >= (sizeof(r_.values) / sizeof(r_.values[0]))) ? b_.values[src & 0] : a_.values[src];
} }
return simde_poly64x1_from_private(r_); return simde_poly64x1_from_private(r_);
#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