aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-02-04 14:49:59 -0500
committerJacob Young <jacobly0@users.noreply.github.com>2025-02-06 16:14:53 -0500
commit96ed1a2b46cd13adda1ceba3a03c55a4cae528cd (patch)
treec8c85ed518f6f1ca2d69e0ea883fe1339b3debba /src
parentfa9b0fa6d37f5ce61e7b36acd48cccb0d4fe71cc (diff)
downloadzig-96ed1a2b46cd13adda1ceba3a03c55a4cae528cd.tar.gz
zig-96ed1a2b46cd13adda1ceba3a03c55a4cae528cd.zip
x86_64: remove cases that are impossible to lower
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86_64/CodeGen.zig71
1 files changed, 1 insertions, 70 deletions
diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig
index d34a7bc133..affd5b3b4e 100644
--- a/src/arch/x86_64/CodeGen.zig
+++ b/src/arch/x86_64/CodeGen.zig
@@ -6887,7 +6887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
.any,
},
.patterns = &.{
- .{ .src = .{ .mem, .mem, .none } },
+ .{ .src = .{ .to_mem, .to_mem, .none } },
},
.call_frame = .{ .size = 16, .alignment = .@"16" },
.extra_temps = .{
@@ -6917,75 +6917,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
}, .{
.required_features = .{ .x87, null, null, null },
.src_constraints = .{
- .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
- .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
- .any,
- },
- .patterns = &.{
- .{ .src = .{ .to_x87, .mem, .none } },
- },
- .call_frame = .{ .size = 16, .alignment = .@"16" },
- .extra_temps = .{
- .{ .type = .f80, .kind = .{ .reg = .st7 } },
- .{ .type = .f80, .kind = .{ .frame = .call_frame } },
- .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
- else => unreachable,
- .zero => "__truncx",
- .down => "__floorx",
- } } } },
- .unused,
- .unused,
- .unused,
- .unused,
- .unused,
- .unused,
- },
- .dst_temps = .{.{ .reg = .st0 }},
- .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
- .each = .{ .once = &.{
- .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
- .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },
- .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ },
- .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
- } },
- }, .{
- .required_features = .{ .x87, null, null, null },
- .src_constraints = .{
- .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
- .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
- .any,
- },
- .patterns = &.{
- .{ .src = .{ .mem, .to_x87, .none } },
- .{ .src = .{ .to_x87, .to_x87, .none } },
- },
- .call_frame = .{ .size = 16, .alignment = .@"16" },
- .extra_temps = .{
- .{ .type = .f80, .kind = .{ .reg = .st7 } },
- .{ .type = .f80, .kind = .{ .frame = .call_frame } },
- .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
- else => unreachable,
- .zero => "__truncx",
- .down => "__floorx",
- } } } },
- .unused,
- .unused,
- .unused,
- .unused,
- .unused,
- .unused,
- },
- .dst_temps = .{.{ .reg = .st0 }},
- .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
- .each = .{ .once = &.{
- .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
- .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },
- .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ },
- .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
- } },
- }, .{
- .required_features = .{ .x87, null, null, null },
- .src_constraints = .{
.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
.any,