Mesa (master): ac: add ac_get_i1_sgpr_mask

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 23 15:31:11 UTC 2019


Module: Mesa
Branch: master
Commit: 35cd57df2ef2a5def5d45d5201438cafcdfa14c5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=35cd57df2ef2a5def5d45d5201438cafcdfa14c5

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Feb 12 15:00:53 2019 -0500

ac: add ac_get_i1_sgpr_mask

Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
Acked-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/amd/common/ac_llvm_build.c | 16 ++++++++++++++++
 src/amd/common/ac_llvm_build.h |  2 ++
 2 files changed, 18 insertions(+)

diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index d75b28e1b82..4fdf73c99ba 100644
--- a/src/amd/common/ac_llvm_build.c
+++ b/src/amd/common/ac_llvm_build.c
@@ -461,6 +461,22 @@ ac_build_ballot(struct ac_llvm_context *ctx,
 				  AC_FUNC_ATTR_CONVERGENT);
 }
 
+LLVMValueRef ac_get_i1_sgpr_mask(struct ac_llvm_context *ctx,
+				 LLVMValueRef value)
+{
+	LLVMValueRef args[3] = {
+		value,
+		ctx->i1false,
+		LLVMConstInt(ctx->i32, LLVMIntNE, 0),
+	};
+
+	assert(HAVE_LLVM >= 0x0800);
+	return ac_build_intrinsic(ctx, "llvm.amdgcn.icmp.i1", ctx->i64, args, 3,
+				  AC_FUNC_ATTR_NOUNWIND |
+				  AC_FUNC_ATTR_READNONE |
+				  AC_FUNC_ATTR_CONVERGENT);
+}
+
 LLVMValueRef
 ac_build_vote_all(struct ac_llvm_context *ctx, LLVMValueRef value)
 {
diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h
index debc029f192..f4cee667153 100644
--- a/src/amd/common/ac_llvm_build.h
+++ b/src/amd/common/ac_llvm_build.h
@@ -153,6 +153,8 @@ void ac_build_optimization_barrier(struct ac_llvm_context *ctx,
 LLVMValueRef ac_build_shader_clock(struct ac_llvm_context *ctx);
 
 LLVMValueRef ac_build_ballot(struct ac_llvm_context *ctx, LLVMValueRef value);
+LLVMValueRef ac_get_i1_sgpr_mask(struct ac_llvm_context *ctx,
+				 LLVMValueRef value);
 
 LLVMValueRef ac_build_vote_all(struct ac_llvm_context *ctx, LLVMValueRef value);
 




More information about the mesa-commit mailing list