From edd23e06067b41ba5ced5b60abbe1f6b05ce0b39 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 17 Feb 2017 14:26:07 +0100 Subject: [PATCH] ac/llvm: fix various findMSB bugs sffbh needs to be suffixed with ".i32" Reviewed-by: Dave Airlie --- src/amd/common/ac_llvm_build.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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), -- 2.30.2