commit
c8589a315b
|
@ -175,7 +175,8 @@ macro_rules! add {
|
||||||
// correct result in that case.
|
// correct result in that case.
|
||||||
if round_guard_sticky > 0x4 { result += one; }
|
if round_guard_sticky > 0x4 { result += one; }
|
||||||
if round_guard_sticky == 0x4 { result += result & one; }
|
if round_guard_sticky == 0x4 { result += result & one; }
|
||||||
return (<$ty>::from_repr(result.0));
|
|
||||||
|
<$ty>::from_repr(result.0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -191,8 +191,7 @@ pub extern "C" fn __udivmoddi4(n: u64, d: u64, rem: Option<&mut u64>) -> u64 {
|
||||||
// 1 <= sr <= u32::bits() - 1
|
// 1 <= sr <= u32::bits() - 1
|
||||||
q = n << (u64::bits() - sr);
|
q = n << (u64::bits() - sr);
|
||||||
r = n >> sr;
|
r = n >> sr;
|
||||||
} else {
|
} else if d.high() == 0 {
|
||||||
if d.high() == 0 {
|
|
||||||
// K X
|
// K X
|
||||||
// ---
|
// ---
|
||||||
// 0 K
|
// 0 K
|
||||||
|
@ -234,7 +233,6 @@ pub extern "C" fn __udivmoddi4(n: u64, d: u64, rem: Option<&mut u64>) -> u64 {
|
||||||
q = n << (u64::bits() - sr);
|
q = n << (u64::bits() - sr);
|
||||||
r = n >> sr;
|
r = n >> sr;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Not a special case
|
// Not a special case
|
||||||
// q and r are initialized with
|
// q and r are initialized with
|
||||||
|
|
Loading…
Reference in New Issue