From b481a1237e00e1e1fb68ffca0653df3a96f21788 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 11 Aug 2010 18:44:17 +0100 Subject: gallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp(). Thanks to Michal for spotting this. --- src/gallium/auxiliary/gallivm/lp_bld_arit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium/auxiliary/gallivm') diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index cf2feeb163..816ee70119 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 -- cgit v1.2.3