avx512vl: work around simde_mm256_broadcast_f64x2 bug in clang 10
@@ -814,7 +814,10 @@ simde_mm256_broadcast_f64x2 (simde__m128d a) {
simde__m256d_private r_;
simde__m128d_private a_ = simde__m128d_to_private(a);
- #if defined(SIMDE_VECTOR_SUBSCRIPT) && HEDLEY_HAS_BUILTIN(__builtin_shufflevector)
+ /* I don't have a bug # for this, but when compiled with clang-10 without optimization on aarch64
+ * the __builtin_shufflevector version doesn't work correctly. clang 9 and 11 aren't a problem */
+ #if defined(SIMDE_VECTOR_SUBSCRIPT) && HEDLEY_HAS_BUILTIN(__builtin_shufflevector) && \
+ (!defined(__clang__) || (SIMDE_DETECT_CLANG_VERSION < 100000 || SIMDE_DETECT_CLANG_VERSION > 100000))
r_.f64 = __builtin_shufflevector(a_.f64, a_.f64, 0, 1, 0, 1);
#else
SIMDE_VECTORIZE
