From: José Fonseca Date: Wed, 11 Aug 2010 17:44:17 +0000 (+0100) Subject: gallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b481a1237e00e1e1fb68ffca0653df3a96f21788;p=mesa.git gallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp(). Thanks to Michal for spotting this. --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index cf2feeb1633..816ee701194 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -1274,7 +1274,7 @@ lp_build_rcp(struct lp_build_context *bld, * when we have a better system in place to track minimum precision. */ -#if 0 +#if 1 /* * Do one Newton-Raphson step to improve precision: * @@ -1291,7 +1291,7 @@ lp_build_rcp(struct lp_build_context *bld, res = LLVMBuildFSub(bld->builder, two, res, ""); res = LLVMBuildFMul(bld->builder, res, rcp_a, ""); - return rcp_a; + return res; #else return lp_build_intrinsic_unary(bld->builder, "llvm.x86.sse.rcp.ps", lp_build_vec_type(type), a); #endif