[Mesa-dev] [PATCH 3/6] ac: add 8-bit support to ac_find_lsb()

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Apr 1 14:18:08 UTC 2019


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/common/ac_llvm_build.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index 6d26ab31a66..f8d28a59cfe 100644
--- a/src/amd/common/ac_llvm_build.c
+++ b/src/amd/common/ac_llvm_build.c
@@ -2931,6 +2931,11 @@ LLVMValueRef ac_find_lsb(struct ac_llvm_context *ctx,
 		type = ctx->i16;
 		zero = ctx->i16_0;
 		break;
+	case 8:
+		intrin_name = "llvm.cttz.i8";
+		type = ctx->i8;
+		zero = ctx->i8_0;
+		break;
 	default:
 		unreachable(!"invalid bitsize");
 	}
@@ -2956,7 +2961,7 @@ LLVMValueRef ac_find_lsb(struct ac_llvm_context *ctx,
 
 	if (src0_bitsize == 64) {
 		lsb = LLVMBuildTrunc(ctx->builder, lsb, ctx->i32, "");
-	} else if (src0_bitsize == 16) {
+	} else if (src0_bitsize < 32) {
 		lsb = LLVMBuildSExt(ctx->builder, lsb, ctx->i32, "");
 	}
 
-- 
2.21.0



More information about the mesa-dev mailing list