authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-02-04 14:49:59-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-02-06 16:14:53-05:00
log96ed1a2b46cd13adda1ceba3a03c55a4cae528cd
treec8c85ed518f6f1ca2d69e0ea883fe1339b3debba
parentfa9b0fa6d37f5ce61e7b36acd48cccb0d4fe71cc

x86_64: remove cases that are impossible to lower


1 files changed, 1 insertions(+), 70 deletions(-)

src/arch/x86_64/CodeGen.zig+1-70
......@@ -6887,7 +6887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
68876887 .any,
68886888 },
68896889 .patterns = &.{
6890 .{ .src = .{ .mem, .mem, .none } },
6890 .{ .src = .{ .to_mem, .to_mem, .none } },
68916891 },
68926892 .call_frame = .{ .size = 16, .alignment = .@"16" },
68936893 .extra_temps = .{
......@@ -6914,75 +6914,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
69146914 .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ },
69156915 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
69166916 } },
6917 }, .{
6918 .required_features = .{ .x87, null, null, null },
6919 .src_constraints = .{
6920 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
6921 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
6922 .any,
6923 },
6924 .patterns = &.{
6925 .{ .src = .{ .to_x87, .mem, .none } },
6926 },
6927 .call_frame = .{ .size = 16, .alignment = .@"16" },
6928 .extra_temps = .{
6929 .{ .type = .f80, .kind = .{ .reg = .st7 } },
6930 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
6931 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6932 else => unreachable,
6933 .zero => "__truncx",
6934 .down => "__floorx",
6935 } } } },
6936 .unused,
6937 .unused,
6938 .unused,
6939 .unused,
6940 .unused,
6941 .unused,
6942 },
6943 .dst_temps = .{.{ .reg = .st0 }},
6944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6945 .each = .{ .once = &.{
6946 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
6947 .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },
6948 .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ },
6949 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
6950 } },
6951 }, .{
6952 .required_features = .{ .x87, null, null, null },
6953 .src_constraints = .{
6954 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
6955 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
6956 .any,
6957 },
6958 .patterns = &.{
6959 .{ .src = .{ .mem, .to_x87, .none } },
6960 .{ .src = .{ .to_x87, .to_x87, .none } },
6961 },
6962 .call_frame = .{ .size = 16, .alignment = .@"16" },
6963 .extra_temps = .{
6964 .{ .type = .f80, .kind = .{ .reg = .st7 } },
6965 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
6966 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6967 else => unreachable,
6968 .zero => "__truncx",
6969 .down => "__floorx",
6970 } } } },
6971 .unused,
6972 .unused,
6973 .unused,
6974 .unused,
6975 .unused,
6976 .unused,
6977 },
6978 .dst_temps = .{.{ .reg = .st0 }},
6979 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6980 .each = .{ .once = &.{
6981 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
6982 .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },
6983 .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ },
6984 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
6985 } },
69866917 }, .{
69876918 .required_features = .{ .x87, null, null, null },
69886919 .src_constraints = .{