Skip to content

Commit 654257d

Browse files
committed
Disable f128 math on x86_64
1 parent 4c309ed commit 654257d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

library/std/build.rs

+7
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,18 @@ fn main() {
139139
// LLVM is currenlty adding missing routines, <https://github.com/llvm/llvm-project/issues/93566>
140140
let has_reliable_f16_math = has_reliable_f16
141141
&& match (target_arch.as_str(), target_os.as_str()) {
142+
// Currently nothing special. Hooray!
143+
// This will change as platforms gain better better support for standard ops but math
144+
// lags behind.
142145
_ => true,
143146
};
144147

145148
let has_reliable_f128_math = has_reliable_f128
146149
&& match (target_arch.as_str(), target_os.as_str()) {
150+
// LLVM lowers `fp128` math to `long double` symbols even on platforms where
151+
// `long double` is not IEEE binary128. See
152+
// <https://github.com/llvm/llvm-project/issues/44744>.
153+
("x86_64", _) => false,
147154
_ => true,
148155
};
149156

0 commit comments

Comments
 (0)