From: Samuel Pitoiset Date: Tue, 12 Dec 2017 17:10:20 +0000 (+0100) Subject: radeonsi: make use of ac_build_fdiv() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d43e72fd8cb7cde6fa4aa4331539faa34100e68d;p=mesa.git radeonsi: make use of ac_build_fdiv() And move the comment to amd/common. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index b2bf1bf7b51..baa921d6559 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -439,6 +439,7 @@ ac_build_fdiv(struct ac_llvm_context *ctx, { LLVMValueRef ret = LLVMBuildFDiv(ctx->builder, num, den, ""); + /* Use v_rcp_f32 instead of precise division. */ if (!LLVMIsConstant(ret)) LLVMSetMetadata(ret, ctx->fpmath_md_kind, ctx->fpmath_md_2p5_ulp); return ret; diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c index a27586b3fff..cec33c38b4e 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c @@ -668,13 +668,7 @@ static void emit_fdiv(const struct lp_build_tgsi_action *action, struct si_shader_context *ctx = si_shader_context(bld_base); emit_data->output[emit_data->chan] = - LLVMBuildFDiv(ctx->ac.builder, - emit_data->args[0], emit_data->args[1], ""); - - /* Use v_rcp_f32 instead of precise division. */ - if (!LLVMIsConstant(emit_data->output[emit_data->chan])) - LLVMSetMetadata(emit_data->output[emit_data->chan], - ctx->fpmath_md_kind, ctx->fpmath_md_2p5_ulp); + ac_build_fdiv(&ctx->ac, emit_data->args[0], emit_data->args[1]); } /* 1/sqrt is translated to rsq for f32 if fp32 denormals are not enabled in