2017-08-19 05:20:03 +08:00
|
|
|
const udivmod = @import("udivmod.zig").udivmod;
|
2017-08-27 17:44:03 +08:00
|
|
|
const builtin = @import("builtin");
|
2018-04-29 10:03:07 +08:00
|
|
|
const compiler_rt = @import("index.zig");
|
2017-08-19 04:26:09 +08:00
|
|
|
|
2018-05-31 22:56:59 +08:00
|
|
|
pub extern fn __udivmodti4(a: u128, b: u128, maybe_rem: ?*u128) u128 {
|
2018-01-25 14:46:12 +08:00
|
|
|
@setRuntimeSafety(builtin.is_test);
|
2017-08-19 05:20:03 +08:00
|
|
|
return udivmod(u128, a, b, maybe_rem);
|
2017-08-19 04:26:09 +08:00
|
|
|
}
|
|
|
|
|
2018-05-31 22:56:59 +08:00
|
|
|
pub extern fn __udivmodti4_windows_x86_64(a: *const u128, b: *const u128, maybe_rem: ?*u128) void {
|
2018-04-29 10:03:07 +08:00
|
|
|
@setRuntimeSafety(builtin.is_test);
|
2018-05-01 13:53:04 +08:00
|
|
|
compiler_rt.setXmm0(u128, udivmod(u128, a.*, b.*, maybe_rem));
|
2018-04-29 10:03:07 +08:00
|
|
|
}
|
|
|
|
|
2017-08-19 04:26:09 +08:00
|
|
|
test "import udivmodti4" {
|
|
|
|
_ = @import("udivmodti4_test.zig");
|
|
|
|
}
|