llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 15 Dec 2009 12:13:43 +0000 (12:13 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 15 Dec 2009 13:15:16 +0000 (13:15 +0000)
It should be a bitcast  as the integer value is actually an encoded FP
already.

src/gallium/drivers/llvmpipe/lp_bld_arit.c

index 9c59677..4fd459e 100644 (file)
@@ -1285,7 +1285,7 @@ lp_build_log2_approx(struct lp_build_context *bld,
       /* mant = (float) mantissa(x) */
       mant = LLVMBuildAnd(bld->builder, i, mantmask, "");
       mant = LLVMBuildOr(bld->builder, mant, one, "");
-      mant = LLVMBuildSIToFP(bld->builder, mant, vec_type, "");
+      mant = LLVMBuildBitCast(bld->builder, mant, vec_type, "");
 
       logmant = lp_build_polynomial(bld, mant, lp_build_log2_polynomial,
                                     Elements(lp_build_log2_polynomial));