commit 70c4b2424bc05a375dedd7c3ee527c9ba608b545 (tree)
parent 9636d76b6d26d142f7d23e6d25eec1c28cf571b4
Author: Pavel Verigo <paul.verigo@gmail.com>
Date: Thu, 16 Apr 2026 20:19:09 +0200
limb64: make fixLastLimb endian aware
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/compiler_rt/limb64.zig b/lib/compiler_rt/limb64.zig
@@ -57,9 +57,10 @@ fn fixLastLimb(out_ptr: [*]u64, is_signed: bool, bits: u16) void {
if (limb_cnt == true_limb_cnt) return;
const true_out = out_ptr[0..true_limb_cnt];
- const sign: u64 = if (!is_signed or @as(i64, @bitCast(true_out[limb_cnt - 1])) >= 0) 0 else ~@as(u64, 0);
+ const ms = limbGet(true_out, limb_cnt - 1);
+ const sign: u64 = if (!is_signed or @as(i64, @bitCast(ms)) >= 0) 0 else ~@as(u64, 0);
for (limb_cnt..true_limb_cnt) |i| {
- true_out[i] = sign;
+ limbSet(true_out, i, sign);
}
}