From 8676af12c8e8e223f186059705f189ae7d3cae60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 29 Oct 2018 17:22:03 -0400 Subject: [PATCH] ac: fix ac_build_fdiv for f64 trivial Fixes: a5f35aa742c --- src/amd/common/ac_llvm_build.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index c54a50dcd86..1392ec0f238 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -597,7 +597,8 @@ ac_build_fdiv(struct ac_llvm_context *ctx, * If we do (num * (1 / den)), LLVM does: * return num * v_rcp_f32(den); */ - LLVMValueRef rcp = LLVMBuildFDiv(ctx->builder, ctx->f32_1, den, ""); + LLVMValueRef one = LLVMTypeOf(num) == ctx->f64 ? ctx->f64_1 : ctx->f32_1; + LLVMValueRef rcp = LLVMBuildFDiv(ctx->builder, one, den, ""); LLVMValueRef ret = LLVMBuildFMul(ctx->builder, num, rcp, ""); /* Use v_rcp_f32 instead of precise division. */