x86_64: fix rare miscomp that clobbers memory

This commit is contained in:
Jacob Young
2025-03-22 04:28:44 -04:00
parent 2361468e23
commit 3c3a6c937b

View File

@@ -105447,10 +105447,19 @@ const Temp = struct {
.dst_temps = .{ .{ .ref = .src0 }, .unused },
.each = .{ .once = &.{} },
}, .{
.required_features = .{ .fast_imm16, null, null, null },
.src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
.patterns = &.{
.{ .src = .{ .mut_mem, .none, .none } },
},
.dst_temps = .{ .{ .ref = .src0 }, .unused },
.clobbers = .{ .eflags = true },
.each = .{ .once = &.{
.{ ._, ._, .@"and", .dst0w, .ua(.src0, .add_umax), ._, ._ },
} },
}, .{
.required_features = .{ .fast_imm16, null, null, null },
.src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
.patterns = &.{
.{ .src = .{ .to_mut_gpr, .none, .none } },
},
.dst_temps = .{ .{ .ref = .src0 }, .unused },