From a5e50891cbd66c740afba722e94f841a2b43c1fc Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Tue, 2 May 2023 21:22:30 -0400 Subject: [PATCH] x86_64: optimize code size for double neg/abs --- src/arch/x86_64/CodeGen.zig | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index 9487cc33c2..9e50e6b5b4 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -4229,16 +4229,12 @@ fn airFloatSign(self: *Self, inst: Air.Inst.Index) !void { const tag = self.air.instructions.items(.tag)[inst]; try self.genBinOpMir(switch (ty_bits) { - 32 => switch (tag) { + // No point using an extra prefix byte for *pd which performs the same operation. + 32, 64 => switch (tag) { .neg => .xorps, .fabs => .andnps, else => unreachable, }, - 64 => switch (tag) { - .neg => .xorpd, - .fabs => .andnpd, - else => unreachable, - }, else => return self.fail("TODO implement airFloatSign for {}", .{ ty.fmt(self.bin_file.options.module.?), }),