@@ -14,6 +14,8 @@ mod builtins_configure {
14
14
}
15
15
16
16
fn main ( ) {
17
+ println ! ( "cargo::rerun-if-changed=../configure.rs" ) ;
18
+
17
19
let target = builtins_configure:: Target :: from_env ( ) ;
18
20
let mut features = HashSet :: new ( ) ;
19
21
@@ -27,7 +29,7 @@ fn main() {
27
29
|| ( target. os == "windows" && target. env == "gnu" )
28
30
// FIXME(llvm): There is an ABI incompatibility between GCC and Clang on 32-bit x86.
29
31
// See <https://github.com/llvm/llvm-project/issues/77401>.
30
- || target. arch == "i686 "
32
+ || target. arch == "x86 "
31
33
// 32-bit PowerPC and 64-bit LE gets code generated that Qemu cannot handle. See
32
34
// <https://github.com/rust-lang/compiler-builtins/pull/606#issuecomment-2105635926>.
33
35
|| target. arch == "powerpc"
@@ -41,7 +43,7 @@ fn main() {
41
43
features. insert ( Feature :: NoSysF16F128Convert ) ;
42
44
}
43
45
44
- if target. arch == "i586" || target . arch == "i686 " {
46
+ if target. arch == "x86 " {
45
47
// 32-bit x86 does not have `__fixunstfti`/`__fixtfti` but does have everything else
46
48
features. insert ( Feature :: NoSysF128IntConvert ) ;
47
49
// FIXME: 32-bit x86 has a bug in `f128 -> f16` system libraries
@@ -55,7 +57,7 @@ fn main() {
55
57
|| target. arch == "powerpc"
56
58
|| target. arch == "powerpc64"
57
59
|| target. arch == "powerpc64le"
58
- || target. arch == "i586"
60
+ || ( target. arch == "x86" && !target . has_feature ( "sse" ) )
59
61
|| target. os == "windows"
60
62
// Linking says "error: function signature mismatch: __extendhfsf2" and seems to
61
63
// think the signature is either `(i32) -> f32` or `(f32) -> f32`. See
@@ -72,11 +74,11 @@ fn main() {
72
74
Feature :: NoSysF128 => ( "no-sys-f128" , "using apfloat fallback for f128" ) ,
73
75
Feature :: NoSysF128IntConvert => (
74
76
"no-sys-f128-int-convert" ,
75
- "using apfloat fallback for f128 to int conversions" ,
77
+ "using apfloat fallback for f128 <-> int conversions" ,
76
78
) ,
77
79
Feature :: NoSysF16F128Convert => (
78
80
"no-sys-f16-f128-convert" ,
79
- "skipping using apfloat fallback for f16 <-> f128 conversions" ,
81
+ "using apfloat fallback for f16 <-> f128 conversions" ,
80
82
) ,
81
83
Feature :: NoSysF16 => ( "no-sys-f16" , "using apfloat fallback for f16" ) ,
82
84
} ;
0 commit comments