Enable f128
tests on all non-buggy platforms 🎉
With the `compiler-builtins` update to 0.1.137 [1], we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to 64-bit linux, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs. This patch additionally disables the following: 1. MIPS [2] 2. 32-bit x86 [3] Math support is still off by default since those symbols are not yet available. [1]: https://github.com/rust-lang/rust/pull/132433 [2]: https://github.com/llvm/llvm-project/issues/96432 [3]: https://github.com/llvm/llvm-project/issues/77401
This commit is contained in:
parent
95ecf0c262
commit
c0fc25cc20
@ -122,19 +122,24 @@ fn main() {
|
|||||||
_ if is_miri => true,
|
_ if is_miri => true,
|
||||||
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
|
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
|
||||||
("arm64ec", _) => false,
|
("arm64ec", _) => false,
|
||||||
// ABI and precision bugs <https://github.com/rust-lang/rust/issues/125109>
|
// Selection bug <https://github.com/llvm/llvm-project/issues/96432>
|
||||||
// <https://github.com/rust-lang/rust/issues/125102>
|
("mips64" | "mips64r6", _) => false,
|
||||||
("powerpc" | "powerpc64", _) => false,
|
|
||||||
// Selection bug <https://github.com/llvm/llvm-project/issues/95471>
|
// Selection bug <https://github.com/llvm/llvm-project/issues/95471>
|
||||||
("nvptx64", _) => false,
|
("nvptx64", _) => false,
|
||||||
|
// ABI bugs <https://github.com/rust-lang/rust/issues/125109> et al. (full
|
||||||
|
// list at <https://github.com/rust-lang/rust/issues/116909>)
|
||||||
|
("powerpc" | "powerpc64", _) => false,
|
||||||
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
|
// ABI unsupported <https://github.com/llvm/llvm-project/issues/41838>
|
||||||
("sparc", _) => false,
|
("sparc", _) => false,
|
||||||
|
// Stack alignment bug <https://github.com/llvm/llvm-project/issues/77401>. NB: tests may
|
||||||
|
// not fail if our compiler-builtins is linked.
|
||||||
|
("x86", _) => false,
|
||||||
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
|
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
|
||||||
("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false,
|
("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false,
|
||||||
// 64-bit Linux is about the only platform to have f128 symbols by default
|
// There are no known problems on other platforms, so the only requirement is that symbols
|
||||||
(_, "linux") if target_pointer_width == 64 => true,
|
// are available. `compiler-builtins` provides all symbols required for core `f128`
|
||||||
// Almost all OSs are missing symbol. compiler-builtins will have to add them.
|
// support, so this should work for everything else.
|
||||||
_ => false,
|
_ => true,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Configure platforms that have reliable basics but may have unreliable math.
|
// Configure platforms that have reliable basics but may have unreliable math.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user