Use a C-safe return type for __rust_[ui]128_* overflowing intrinsics by tgross35 · Pull Request #735 · rust-lang/compiler-builtins (original) (raw)

Most of our Rust-specific overflowing intrinsics currently return (i128, bool), which is not guaranteed to have a stable ABI. Switch to returning the overflow via a mutable parameter and only directly returning the integer result.

__rust_i128_mulo now matches the function signature of __muloti4, but they do not share the same ABI on Windows so we cannot easily deduplicate them.