|
@@ -120,7 +120,7 @@ intrinsics! {
|
|
|
cmp(a, b).to_ge_abi()
|
|
|
}
|
|
|
|
|
|
- #[arm_aeabi_alias = fcmpun]
|
|
|
+ #[arm_aeabi_alias = __aeabi_fcmpun]
|
|
|
pub extern "C" fn __unordsf2(a: f32, b: f32) -> i32 {
|
|
|
unord(a, b) as i32
|
|
|
}
|
|
@@ -149,7 +149,7 @@ intrinsics! {
|
|
|
cmp(a, b).to_ge_abi()
|
|
|
}
|
|
|
|
|
|
- #[arm_aeabi_alias = dcmpun]
|
|
|
+ #[arm_aeabi_alias = __aeabi_dcmpun]
|
|
|
pub extern "C" fn __unorddf2(a: f64, b: f64) -> i32 {
|
|
|
unord(a, b) as i32
|
|
|
}
|
|
@@ -166,7 +166,50 @@ intrinsics! {
|
|
|
cmp(a, b).to_le_abi()
|
|
|
}
|
|
|
|
|
|
- pub extern "C" fn __gtdf2(a: f32, b: f32) -> i32 {
|
|
|
+ pub extern "C" fn __gtdf2(a: f64, b: f64) -> i32 {
|
|
|
cmp(a, b).to_ge_abi()
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+#[cfg(target_arch = "arm")]
|
|
|
+intrinsics! {
|
|
|
+ pub extern "aapcs" fn __aeabi_fcmple(a: f32, b: f32) -> i32 {
|
|
|
+ (__lesf2(a, b) < 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_fcmpge(a: f32, b: f32) -> i32 {
|
|
|
+ (__gesf2(a, b) >= 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_fcmpeq(a: f32, b: f32) -> i32 {
|
|
|
+ (__eqsf2(a, b) == 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_fcmplt(a: f32, b: f32) -> i32 {
|
|
|
+ (__ltsf2(a, b) < 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_fcmpgt(a: f32, b: f32) -> i32 {
|
|
|
+ (__gtsf2(a, b) > 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_dcmple(a: f64, b: f64) -> i32 {
|
|
|
+ (__ledf2(a, b) <= 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_dcmpge(a: f64, b: f64) -> i32 {
|
|
|
+ (__gedf2(a, b) >= 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_dcmpeq(a: f64, b: f64) -> i32 {
|
|
|
+ (__eqdf2(a, b) == 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_dcmplt(a: f64, b: f64) -> i32 {
|
|
|
+ (__ltdf2(a, b) < 0) as i32
|
|
|
+ }
|
|
|
+
|
|
|
+ pub extern "aapcs" fn __aeabi_dcmpgt(a: f64, b: f64) -> i32 {
|
|
|
+ (__gtdf2(a, b) > 0) as i32
|
|
|
+ }
|
|
|
+}
|