[Mesa-dev] [PATCH 1/3] gallivm: only do rcp/mul for floating

Dave Airlie airlied at gmail.com
Tue Feb 28 07:59:14 PST 2012


From: Dave Airlie <airlied at redhat.com>

rcp asserts on type.floating so don't go passing non-floating
things into it.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/gallium/auxiliary/gallivm/lp_bld_arit.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
index 6001844..4cc421d 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
@@ -612,7 +612,8 @@ lp_build_div(struct lp_build_context *bld,
          return LLVMConstUDiv(a, b);
    }
 
-   if(util_cpu_caps.has_sse && type.width == 32 && type.length == 4)
+   if(util_cpu_caps.has_sse && type.width == 32 && type.length == 4 &&
+      type.floating)
       return lp_build_mul(bld, a, lp_build_rcp(bld, b));
 
    if (type.floating)
-- 
1.7.6



More information about the mesa-dev mailing list