diff --git a/lib/std/zig/target.zig b/lib/std/zig/target.zig index 651adfcfe2d1500a64c17913e1b6fd707278cd2f..13eb7f8e2847da097f4da8978330ec2bdce0ae83 100644 --- a/lib/std/zig/target.zig +++ b/lib/std/zig/target.zig @@ -472,8 +472,9 @@ fn eqlIgnoreCase(ignore_case: bool, a: []const u8, b: []const u8) bool { } } -pub fn intByteSize(target: *const std.Target, bits: u16) u19 { - return std.mem.alignForward(u19, @intCast((@as(u17, bits) + 7) / 8), intAlignment(target, bits)); +pub fn intByteSize(target: *const std.Target, bits: u16) u16 { + const previous_aligned = std.mem.alignBackward(u16, bits, 8); + return std.mem.alignForward(u16, @divExact(previous_aligned, 8) + @intFromBool(previous_aligned != bits), intAlignment(target, bits)); } pub fn intAlignment(target: *const std.Target, bits: u16) u16 {