inline fn negvXi(comptime ST: type, a: ST) ST
inline fn negvXi(comptime ST: type, a: ST) ST { const UT = switch (ST) { i32 => u32, i64 => u64, i128 => u128, else => unreachable, }; const N: UT = @bitSizeOf(ST); const min: ST = @as(ST, @bitCast((@as(UT, 1) << (N - 1)))); if (a == min) @panic("compiler_rt negv: overflow"); return -a; }