From: Marek Olšák Date: Fri, 17 Feb 2017 13:26:07 +0000 (+0100) Subject: ac/llvm: fix various findMSB bugs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=edd23e06067b41ba5ced5b60abbe1f6b05ce0b39;p=mesa.git ac/llvm: fix various findMSB bugs sffbh needs to be suffixed with ".i32" Reviewed-by: Dave Airlie --- diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index ed31a5606e8..9751a9329dd 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -769,7 +769,8 @@ ac_emit_imsb(struct ac_llvm_context *ctx, LLVMValueRef arg, LLVMTypeRef dst_type) { - const char *intr_name = (HAVE_LLVM < 0x0400) ? "llvm.AMDGPU.flbit.i32" : "llvm.amdgcn.sffbh"; + const char *intr_name = (HAVE_LLVM < 0x0400) ? "llvm.AMDGPU.flbit.i32" : + "llvm.amdgcn.sffbh.i32"; LLVMValueRef msb = ac_emit_llvm_intrinsic(ctx, intr_name, dst_type, &arg, 1, AC_FUNC_ATTR_READNONE); @@ -796,7 +797,7 @@ ac_emit_umsb(struct ac_llvm_context *ctx, { LLVMValueRef args[2] = { arg, - LLVMConstInt(ctx->i32, 1, 0), + LLVMConstInt(ctx->i1, 1, 0), }; LLVMValueRef msb = ac_emit_llvm_intrinsic(ctx, "llvm.ctlz.i32", dst_type, args, ARRAY_SIZE(args),