fn divwide(comptime T: type, _u1: T, _u0: T, v: T, r: *T) T
fn divwide(comptime T: type, _u1: T, _u0: T, v: T, r: *T) T { @setRuntimeSafety(compiler_rt.test_safety); if (T == u64 and builtin.target.cpu.arch == .x86_64 and builtin.target.os.tag != .windows) { var rem: T = undefined; const quo = asm ( \\divq %[v] : [_] "={rax}" (-> T), [_] "={rdx}" (rem), : [v] "r" (v), [_] "{rax}" (_u0), [_] "{rdx}" (_u1), ); r.* = rem; return quo; } else { return divwide_generic(T, _u1, _u0, v, r); } }