aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm.zig
diff options
context:
space:
mode:
authorWilliam Sengir <william@sengir.com>2022-03-26 15:30:13 -0700
committerWilliam Sengir <william@sengir.com>2022-03-26 16:29:48 -0700
commitadc2824fa405beeea25edacd9362d1f66f8f9520 (patch)
treee21fb9787b9aa171b87e9f97a805ec6c1f01b728 /src/codegen/llvm.zig
parent6a48345649de9d0ad5c948ca1ddd3277de046567 (diff)
downloadzig-adc2824fa405beeea25edacd9362d1f66f8f9520.tar.gz
zig-adc2824fa405beeea25edacd9362d1f66f8f9520.zip
stage2: simplify `scalar_ty` for `mul_add` in LLVM backend
Diffstat (limited to 'src/codegen/llvm.zig')
-rw-r--r--src/codegen/llvm.zig6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index df7f05948d..049f7bfad6 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -5218,6 +5218,7 @@ pub const FuncGen = struct {
const ty = self.air.typeOfIndex(inst);
const llvm_ty = try self.dg.llvmType(ty);
+ const scalar_ty = ty.scalarType();
const target = self.dg.module.getTarget();
const Strat = union(enum) {
@@ -5225,11 +5226,6 @@ pub const FuncGen = struct {
libc: [*:0]const u8,
};
- const scalar_ty = if (ty.zigTypeTag() == .Vector)
- ty.elemType()
- else
- ty;
-
const strat: Strat = switch (scalar_ty.floatBits(target)) {
16, 32, 64 => Strat.intrinsic,
80 => if (CType.longdouble.sizeInBits(target) == 80) Strat{ .intrinsic = {} } else Strat{ .libc = "__fmax" },