From aa06e90e982a0b2c69ec0345104d78d6cf823d48 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Sat, 1 Mar 2025 19:32:06 +0000 Subject: [PATCH] Disable `f16` on AArch64 without the `neon` feature There is an LLVM regression that breaks some `f16`-related code when `fp-armv8` is disabled [1]. Since Rust ties that feature to `neon`, disable `f16` if `neon` is not available. [1]: https://github.com/llvm/llvm-project/issues/129394 --- configure.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure.rs b/configure.rs index ff52e88da..2bb0f8383 100644 --- a/configure.rs +++ b/configure.rs @@ -71,6 +71,8 @@ pub fn configure_f16_f128(target: &Target) { let f16_enabled = match target.arch.as_str() { // Unsupported "arm64ec" => false, + // Crash in LLVM20 + "aarch64" if !target.features.iter().any(|f| f == "neon") => false, // Selection failure "s390x" => false, // Infinite recursion