|
@@ -80,7 +80,10 @@ intrinsics! {
|
|
|
int_to_float!(i, i32, f64)
|
|
|
}
|
|
|
|
|
|
- #[use_c_shim_if(all(target_arch = "x86", not(target_env = "msvc")))]
|
|
|
+ #[use_c_shim_if(any(
|
|
|
+ all(target_arch = "x86", not(target_env = "msvc")),
|
|
|
+ all(target_arch = "x86_64", not(windows)),
|
|
|
+ ))]
|
|
|
#[arm_aeabi_alias = __aeabi_l2f]
|
|
|
pub extern "C" fn __floatdisf(i: i64) -> f32 {
|
|
|
// On x86_64 LLVM will use native instructions for this conversion, we
|
|
@@ -124,17 +127,19 @@ intrinsics! {
|
|
|
int_to_float!(i, u32, f64)
|
|
|
}
|
|
|
|
|
|
- #[use_c_shim_if(all(not(target_env = "msvc"),
|
|
|
- any(target_arch = "x86",
|
|
|
- all(not(windows), target_arch = "x86_64"))))]
|
|
|
+ #[use_c_shim_if(any(
|
|
|
+ all(target_arch = "x86", not(target_env = "msvc")),
|
|
|
+ all(target_arch = "x86_64", not(windows)),
|
|
|
+ ))]
|
|
|
#[arm_aeabi_alias = __aeabi_ul2f]
|
|
|
pub extern "C" fn __floatundisf(i: u64) -> f32 {
|
|
|
int_to_float!(i, u64, f32)
|
|
|
}
|
|
|
|
|
|
- #[use_c_shim_if(all(not(target_env = "msvc"),
|
|
|
- any(target_arch = "x86",
|
|
|
- all(not(windows), target_arch = "x86_64"))))]
|
|
|
+ #[use_c_shim_if(any(
|
|
|
+ all(target_arch = "x86", not(target_env = "msvc")),
|
|
|
+ all(target_arch = "x86_64", not(windows)),
|
|
|
+ ))]
|
|
|
#[arm_aeabi_alias = __aeabi_ul2d]
|
|
|
pub extern "C" fn __floatundidf(i: u64) -> f64 {
|
|
|
int_to_float!(i, u64, f64)
|