aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-05-09 22:23:44 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2023-05-10 15:16:50 -0400
commitc5b96c7447efde0d10de9689f03d151afcafbad5 (patch)
tree5defce62f9cca4ee233197487c786ac197a7fb75 /src/codegen
parent2d2d79a05b8423c7638348dc5a89793c1e0cafce (diff)
downloadzig-c5b96c7447efde0d10de9689f03d151afcafbad5.tar.gz
zig-c5b96c7447efde0d10de9689f03d151afcafbad5.zip
llvm: fix `@max`/`@min` of unsupported float types
Closes #15611
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/llvm.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index d697a41988..2189663338 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -7034,7 +7034,7 @@ pub const FuncGen = struct {
const rhs = try self.resolveInst(bin_op.rhs);
const scalar_ty = self.air.typeOfIndex(inst).scalarType();
- if (scalar_ty.isAnyFloat()) return self.builder.buildMinNum(lhs, rhs, "");
+ if (scalar_ty.isAnyFloat()) return self.buildFloatOp(.fmin, scalar_ty, 2, .{ lhs, rhs });
if (scalar_ty.isSignedInt()) return self.builder.buildSMin(lhs, rhs, "");
return self.builder.buildUMin(lhs, rhs, "");
}
@@ -7045,7 +7045,7 @@ pub const FuncGen = struct {
const rhs = try self.resolveInst(bin_op.rhs);
const scalar_ty = self.air.typeOfIndex(inst).scalarType();
- if (scalar_ty.isAnyFloat()) return self.builder.buildMaxNum(lhs, rhs, "");
+ if (scalar_ty.isAnyFloat()) return self.buildFloatOp(.fmax, scalar_ty, 2, .{ lhs, rhs });
if (scalar_ty.isSignedInt()) return self.builder.buildSMax(lhs, rhs, "");
return self.builder.buildUMax(lhs, rhs, "");
}