diff --git a/src/codegen/llvm/Builder.zig b/src/codegen/llvm/Builder.zig index 3745ba1ced..a2f97d462e 100644 --- a/src/codegen/llvm/Builder.zig +++ b/src/codegen/llvm/Builder.zig @@ -13581,8 +13581,9 @@ pub fn toBitcode(self: *Builder, allocator: Allocator) bitcode_writer.Error![]co .x86_fp80 => { const extra = self.constantExtraData(Constant.Fp80, data); try constants_block.writeAbbrev(Constants.Fp80{ - .lo = @as(u64, extra.lo_hi) << 32 | @as(u64, extra.lo_lo), - .hi = @intCast(extra.hi), + .hi = @as(u64, extra.hi) << 48 | @as(u64, extra.lo_hi) << 16 | + extra.lo_lo >> 16, + .lo = @truncate(extra.lo_lo), }); }, .fp128, diff --git a/src/codegen/llvm/ir.zig b/src/codegen/llvm/ir.zig index 1b855cb7df..08d9ce62d0 100644 --- a/src/codegen/llvm/ir.zig +++ b/src/codegen/llvm/ir.zig @@ -425,8 +425,8 @@ pub const Constants = struct { .{ .vbr = 6 }, .{ .vbr = 6 }, }; - lo: u64, - hi: u16, + hi: u64, + lo: u16, }; pub const Fp128 = struct {