udivmodti4.zig (886B) - Raw
1 const std = @import("std"); 2 const builtin = @import("builtin"); 3 const udivmod = @import("udivmod.zig").udivmod; 4 const common = @import("common.zig"); 5 6 pub const panic = common.panic; 7 8 comptime { 9 if (common.want_windows_v2u64_abi) { 10 @export(&__udivmodti4_windows_x86_64, .{ .name = "__udivmodti4", .linkage = common.linkage, .visibility = common.visibility }); 11 } else { 12 @export(&__udivmodti4, .{ .name = "__udivmodti4", .linkage = common.linkage, .visibility = common.visibility }); 13 } 14 } 15 16 pub fn __udivmodti4(a: u128, b: u128, maybe_rem: ?*u128) callconv(.c) u128 { 17 return udivmod(u128, a, b, maybe_rem); 18 } 19 20 const v2u64 = @Vector(2, u64); 21 22 fn __udivmodti4_windows_x86_64(a: v2u64, b: v2u64, maybe_rem: ?*u128) callconv(.c) v2u64 { 23 return @bitCast(udivmod(u128, @bitCast(a), @bitCast(b), maybe_rem)); 24 } 25 26 test { 27 _ = @import("udivmodti4_test.zig"); 28 }