ac: add 8-bit support to ac_build_bit_count()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 1 Apr 2019 14:18:07 +0000 (16:18 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 1 Apr 2019 16:53:52 +0000 (18:53 +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 fe280b31368ee09c7fb1a06c00715e7f44a8fd44..6d26ab31a66dd9d3ed981810a0811c7f3ac91cdf 100644 (file)
@@ -2553,6 +2553,13 @@ LLVMValueRef ac_build_bit_count(struct ac_llvm_context *ctx, LLVMValueRef src0)
                                            (LLVMValueRef []) { src0 }, 1,
                                            AC_FUNC_ATTR_READNONE);
 
+               result = LLVMBuildZExt(ctx->builder, result, ctx->i32, "");
+               break;
+       case 8:
+               result = ac_build_intrinsic(ctx, "llvm.ctpop.i8", ctx->i8,
+                                           (LLVMValueRef []) { src0 }, 1,
+                                           AC_FUNC_ATTR_READNONE);
+
                result = LLVMBuildZExt(ctx->builder, result, ctx->i32, "");
                break;
        default: