|
@@ -189,6 +189,7 @@ use core::mem;
|
|
|
target_os = "linux",
|
|
|
test)))]
|
|
|
use std::mem;
|
|
|
+
|
|
|
use compiler_builtins::float::add::__adddf3;
|
|
|
|
|
|
fn mk_f64(x: u64) -> f64 {
|
|
@@ -828,11 +829,22 @@ fn divsi3() {
|
|
|
}
|
|
|
|
|
|
fn prologue() -> &'static str {
|
|
|
- "
|
|
|
+ r#"
|
|
|
+#[cfg(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test))]
|
|
|
+use core::mem;
|
|
|
+#[cfg(not(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test)))]
|
|
|
+use std::mem;
|
|
|
+
|
|
|
use compiler_builtins::int::sdiv::__divti3;
|
|
|
|
|
|
static TEST_CASES: &[((i128, i128), i128)] = &[
|
|
|
-"
|
|
|
+"#
|
|
|
}
|
|
|
|
|
|
fn epilogue() -> &'static str {
|
|
@@ -842,7 +854,7 @@ static TEST_CASES: &[((i128, i128), i128)] = &[
|
|
|
#[test]
|
|
|
fn divti3() {
|
|
|
for &((a, b), c) in TEST_CASES {
|
|
|
- let c_ = __divti3(a, b);
|
|
|
+ let c_: i128 = unsafe { mem::transmute(__divti3(a, b)) };
|
|
|
assert_eq!(((a, b), c), ((a, b), c_));
|
|
|
}
|
|
|
}
|
|
@@ -1895,11 +1907,22 @@ fn modsi3() {
|
|
|
}
|
|
|
|
|
|
fn prologue() -> &'static str {
|
|
|
- "
|
|
|
+ r#"
|
|
|
+#[cfg(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test))]
|
|
|
+use core::mem;
|
|
|
+#[cfg(not(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test)))]
|
|
|
+use std::mem;
|
|
|
+
|
|
|
use compiler_builtins::int::sdiv::__modti3;
|
|
|
|
|
|
static TEST_CASES: &[((i128, i128), i128)] = &[
|
|
|
-"
|
|
|
+"#
|
|
|
}
|
|
|
|
|
|
fn epilogue() -> &'static str {
|
|
@@ -1909,7 +1932,7 @@ static TEST_CASES: &[((i128, i128), i128)] = &[
|
|
|
#[test]
|
|
|
fn modti3() {
|
|
|
for &((a, b), c) in TEST_CASES {
|
|
|
- let c_ = __modti3(a, b);
|
|
|
+ let c_: i128 = unsafe { mem::transmute(__modti3(a, b)) };
|
|
|
assert_eq!(((a, b), c), ((a, b), c_));
|
|
|
}
|
|
|
}
|
|
@@ -2913,11 +2936,22 @@ fn udivmodsi4() {
|
|
|
}
|
|
|
|
|
|
fn prologue() -> &'static str {
|
|
|
- "
|
|
|
+ r#"
|
|
|
+#[cfg(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test))]
|
|
|
+use core::mem;
|
|
|
+#[cfg(not(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test)))]
|
|
|
+use std::mem;
|
|
|
+
|
|
|
use compiler_builtins::int::udiv::__udivmodti4;
|
|
|
|
|
|
static TEST_CASES: &[((u128, u128), (u128, u128))] = &[
|
|
|
-"
|
|
|
+"#
|
|
|
}
|
|
|
|
|
|
fn epilogue() -> &'static str {
|
|
@@ -2928,7 +2962,7 @@ static TEST_CASES: &[((u128, u128), (u128, u128))] = &[
|
|
|
fn udivmodti4() {
|
|
|
for &((a, b), (c, rem)) in TEST_CASES {
|
|
|
let mut rem_ = 0;
|
|
|
- let c_ = __udivmodti4(a, b, Some(&mut rem_));
|
|
|
+ let c_: u128 = unsafe { mem::transmute(__udivmodti4(a, b, Some(&mut rem_))) };
|
|
|
assert_eq!(((a, b), (c, rem)), ((a, b), (c_, rem_)));
|
|
|
}
|
|
|
}
|
|
@@ -3036,11 +3070,22 @@ fn udivsi3() {
|
|
|
}
|
|
|
|
|
|
fn prologue() -> &'static str {
|
|
|
- "
|
|
|
+ r#"
|
|
|
+#[cfg(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test))]
|
|
|
+use core::mem;
|
|
|
+#[cfg(not(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test)))]
|
|
|
+use std::mem;
|
|
|
+
|
|
|
use compiler_builtins::int::udiv::__udivti3;
|
|
|
|
|
|
static TEST_CASES: &[((u128, u128), u128)] = &[
|
|
|
-"
|
|
|
+"#
|
|
|
}
|
|
|
|
|
|
fn epilogue() -> &'static str {
|
|
@@ -3050,7 +3095,7 @@ static TEST_CASES: &[((u128, u128), u128)] = &[
|
|
|
#[test]
|
|
|
fn udivti3() {
|
|
|
for &((a, b), c) in TEST_CASES {
|
|
|
- let c_ = __udivti3(a, b);
|
|
|
+ let c_: u128 = unsafe { mem::transmute(__udivti3(a, b)) };
|
|
|
assert_eq!(((a, b), c), ((a, b), c_));
|
|
|
}
|
|
|
}
|
|
@@ -3219,11 +3264,22 @@ fn umodsi3() {
|
|
|
}
|
|
|
|
|
|
fn prologue() -> &'static str {
|
|
|
- "
|
|
|
+ r#"
|
|
|
+#[cfg(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test))]
|
|
|
+use core::mem;
|
|
|
+#[cfg(not(all(target_arch = "arm",
|
|
|
+ not(any(target_env = "gnu", target_env = "musl")),
|
|
|
+ target_os = "linux",
|
|
|
+ test)))]
|
|
|
+use std::mem;
|
|
|
+
|
|
|
use compiler_builtins::int::udiv::__umodti3;
|
|
|
|
|
|
static TEST_CASES: &[((u128, u128), u128)] = &[
|
|
|
-"
|
|
|
+"#
|
|
|
}
|
|
|
|
|
|
fn epilogue() -> &'static str {
|
|
@@ -3233,7 +3289,7 @@ static TEST_CASES: &[((u128, u128), u128)] = &[
|
|
|
#[test]
|
|
|
fn umodti3() {
|
|
|
for &((a, b), c) in TEST_CASES {
|
|
|
- let c_ = __umodti3(a, b);
|
|
|
+ let c_: u128 = unsafe { mem::transmute(__umodti3(a, b)) };
|
|
|
assert_eq!(((a, b), c), ((a, b), c_));
|
|
|
}
|
|
|
}
|