diff options
Diffstat (limited to 'lib/std/special/compiler_rt/umodti3.zig')
| -rw-r--r-- | lib/std/special/compiler_rt/umodti3.zig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/std/special/compiler_rt/umodti3.zig b/lib/std/special/compiler_rt/umodti3.zig new file mode 100644 index 0000000000..7add0b2ffe --- /dev/null +++ b/lib/std/special/compiler_rt/umodti3.zig @@ -0,0 +1,15 @@ +const udivmodti4 = @import("udivmodti4.zig"); +const builtin = @import("builtin"); +const compiler_rt = @import("../compiler_rt.zig"); + +pub extern fn __umodti3(a: u128, b: u128) u128 { + @setRuntimeSafety(builtin.is_test); + var r: u128 = undefined; + _ = udivmodti4.__udivmodti4(a, b, &r); + return r; +} + +const v128 = @Vector(2, u64); +pub extern fn __umodti3_windows_x86_64(a: v128, b: v128) v128 { + return @bitCast(v128, @inlineCall(__umodti3, @bitCast(u128, a), @bitCast(u128, b))); +} |
