| ... | @@ -4229,16 +4229,12 @@ fn airFloatSign(self: *Self, inst: Air.Inst.Index) !void { | ... | @@ -4229,16 +4229,12 @@ fn airFloatSign(self: *Self, inst: Air.Inst.Index) !void { |
| 4229 | | 4229 | |
| 4230 | const tag = self.air.instructions.items(.tag)[inst]; | 4230 | const tag = self.air.instructions.items(.tag)[inst]; |
| 4231 | try self.genBinOpMir(switch (ty_bits) { | 4231 | try self.genBinOpMir(switch (ty_bits) { |
| 4232 | 32 => switch (tag) { | 4232 | // No point using an extra prefix byte for *pd which performs the same operation. |
| | 4233 | 32, 64 => switch (tag) { |
| 4233 | .neg => .xorps, | 4234 | .neg => .xorps, |
| 4234 | .fabs => .andnps, | 4235 | .fabs => .andnps, |
| 4235 | else => unreachable, | 4236 | else => unreachable, |
| 4236 | }, | 4237 | }, |
| 4237 | 64 => switch (tag) { | | |
| 4238 | .neg => .xorpd, | | |
| 4239 | .fabs => .andnpd, | | |
| 4240 | else => unreachable, | | |
| 4241 | }, | | |
| 4242 | else => return self.fail("TODO implement airFloatSign for {}", .{ | 4238 | else => return self.fail("TODO implement airFloatSign for {}", .{ |
| 4243 | ty.fmt(self.bin_file.options.module.?), | 4239 | ty.fmt(self.bin_file.options.module.?), |
| 4244 | }), | 4240 | }), |