aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/x86_64/CodeGen.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-10-03 06:47:37 -0400
committerJacob Young <15544577+jacobly0@users.noreply.github.com>2025-10-03 12:18:53 -0400
commit07c3f9ef8e0a5a557dce70322334b0d1b49fe154 (patch)
treecad27d4e914e9c4ef2f516731121f1bc1bc0ae65 /src/codegen/x86_64/CodeGen.zig
parent12ed0ff1efa71d11f6220d9cf94202b888e177fc (diff)
downloadzig-07c3f9ef8e0a5a557dce70322334b0d1b49fe154.tar.gz
zig-07c3f9ef8e0a5a557dce70322334b0d1b49fe154.zip
x86_64: fix bool vector init register clobber
Closes #25439
Diffstat (limited to 'src/codegen/x86_64/CodeGen.zig')
-rw-r--r--src/codegen/x86_64/CodeGen.zig2
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)),