diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2025-10-03 06:47:37 -0400 |
|---|---|---|
| committer | Jacob Young <15544577+jacobly0@users.noreply.github.com> | 2025-10-03 12:18:53 -0400 |
| commit | 07c3f9ef8e0a5a557dce70322334b0d1b49fe154 (patch) | |
| tree | cad27d4e914e9c4ef2f516731121f1bc1bc0ae65 /src/codegen | |
| parent | 12ed0ff1efa71d11f6220d9cf94202b888e177fc (diff) | |
| download | zig-07c3f9ef8e0a5a557dce70322334b0d1b49fe154.tar.gz zig-07c3f9ef8e0a5a557dce70322334b0d1b49fe154.zip | |
x86_64: fix bool vector init register clobber
Closes #25439
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/x86_64/CodeGen.zig | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/codegen/x86_64/CodeGen.zig b/src/codegen/x86_64/CodeGen.zig index 18e6576514..2278a3df83 100644 --- a/src/codegen/x86_64/CodeGen.zig +++ b/src/codegen/x86_64/CodeGen.zig @@ -181543,6 +181543,8 @@ fn airAggregateInit(self: *CodeGen, inst: Air.Inst.Index) !void { ); const result_size: u32 = @intCast(result_ty.abiSize(zcu)); const dst_reg = try self.register_manager.allocReg(inst, abi.RegisterClass.gp); + const dst_lock = self.register_manager.lockRegAssumeUnused(dst_reg); + defer self.register_manager.unlockReg(dst_lock); try self.asmRegisterRegister( .{ ._, .xor }, registerAlias(dst_reg, @min(result_size, 4)), |
