commit 8e0b2f0e52b195933ae7df9d66f8763fd53b0281 (tree)
parent f9481402f0c6f2eb4618bb0385aff18c12912c26
Author: LemonBoy <thatlemon@gmail.com>
Date: Thu, 15 Apr 2021 18:14:25 +0200
compiler-rt: Fix typo in implementation of fp truncation ops
The problem went unnoticed for years, yay.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/std/special/compiler_rt/truncXfYf2.zig b/lib/std/special/compiler_rt/truncXfYf2.zig
@@ -122,7 +122,7 @@ fn truncXfYf2(comptime dst_t: type, comptime src_t: type, a: src_t) dst_t {
if (shift > srcSigBits) {
absResult = 0;
} else {
- const sticky: src_rep_t = significand << @intCast(SrcShift, srcBits - shift);
+ const sticky: src_rep_t = @boolToInt(significand << @intCast(SrcShift, srcBits - shift) != 0);
const denormalizedSignificand: src_rep_t = significand >> @intCast(SrcShift, shift) | sticky;
absResult = @intCast(dst_rep_t, denormalizedSignificand >> (srcSigBits - dstSigBits));
const roundBits: src_rep_t = denormalizedSignificand & roundMask;