Module: Mesa
Branch: master
Commit: ebed22ec675dd8feb96edc900cb720ef74845fff
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebed22ec675dd8feb96edc900cb720ef74845fff

Author: Dave Airlie <[email protected]>
Date:   Thu Feb 16 03:54:01 2017 +0000

radv/ac: use shared umsb helper.

Reviewed-by: Edward O'Callaghan <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>

---

 src/amd/common/ac_nir_to_llvm.c | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index d3c02ce..b3dc63c 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -936,23 +936,7 @@ static LLVMValueRef emit_ifind_msb(struct 
nir_to_llvm_context *ctx,
 static LLVMValueRef emit_ufind_msb(struct nir_to_llvm_context *ctx,
                                   LLVMValueRef src0)
 {
-       LLVMValueRef args[2] = {
-               src0,
-               ctx->i32one,
-       };
-       LLVMValueRef msb = ac_emit_llvm_intrinsic(&ctx->ac, "llvm.ctlz.i32",
-                                              ctx->i32, args, ARRAY_SIZE(args),
-                                              AC_FUNC_ATTR_READNONE);
-
-       /* The HW returns the last bit index from MSB, but NIR wants
-        * the index from LSB. Invert it by doing "31 - msb". */
-       msb = LLVMBuildSub(ctx->builder, LLVMConstInt(ctx->i32, 31, false),
-                          msb, "");
-
-       return LLVMBuildSelect(ctx->builder,
-                              LLVMBuildICmp(ctx->builder, LLVMIntEQ, src0,
-                                            ctx->i32zero, ""),
-                              LLVMConstInt(ctx->i32, -1, true), msb, "");
+       return ac_emit_umsb(&ctx->ac, src0, ctx->i32);
 }
 
 static LLVMValueRef emit_minmax_int(struct nir_to_llvm_context *ctx,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to