Mesa (master): ac: fix ac_build_fdiv for f64

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Oct 29 21:24:44 UTC 2018


Module: Mesa
Branch: master
Commit: 8676af12c8e8e223f186059705f189ae7d3cae60
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8676af12c8e8e223f186059705f189ae7d3cae60

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Oct 29 17:22:03 2018 -0400

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 c54a50dcd8..1392ec0f23 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. */




More information about the mesa-commit mailing list