ac: fix ac_build_bit_count() for 16-bit integer type
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 26 Mar 2019 10:34:43 +0000 (11:34 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 1 Apr 2019 07:51:49 +0000 (09:51 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/common/ac_llvm_build.c

index eb9e4504248c88d52dca7895eda984662b08abcb..aff8f67827d0b0fa4ed3b741d49247448f927fdf 100644 (file)
@@ -2547,6 +2547,8 @@ LLVMValueRef ac_build_bit_count(struct ac_llvm_context *ctx, LLVMValueRef src0)
                result = ac_build_intrinsic(ctx, "llvm.ctpop.i16", ctx->i16,
                                            (LLVMValueRef []) { src0 }, 1,
                                            AC_FUNC_ATTR_READNONE);
+
+               result = LLVMBuildZExt(ctx->builder, result, ctx->i32, "");
                break;
        default:
                unreachable(!"invalid bitsize");