Mesa (main): gallivm: asst. clean-ups in lp_bld_logic.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jun 17 00:08:57 UTC 2022
Module: Mesa
Branch: main
Commit: c5521d5af18e2bab4b04ca567a92dd898119f4fc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5521d5af18e2bab4b04ca567a92dd898119f4fc
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jun 9 11:44:03 2022 -0600
gallivm: asst. clean-ups in lp_bld_logic.
Signed-off-by: Brian Paul <brianp at vmware.com>
Acked-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064>
---
src/gallium/auxiliary/gallivm/lp_bld_logic.c | 46 +++++++++++++++-------------
1 file changed, 25 insertions(+), 21 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_logic.c b/src/gallium/auxiliary/gallivm/lp_bld_logic.c
index 59baf6f02ea..711db17d9f7 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_logic.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_logic.c
@@ -62,7 +62,7 @@
* sext <4 x i1> %C to <4 x i32>
*
* is valid and supported (e.g., llvm/test/CodeGen/X86/vec_compare.ll), but
- * it causes assertion failures in LLVM 2.6. It appears to work correctly on
+ * it causes assertion failures in LLVM 2.6. It appears to work correctly on
* LLVM 2.7.
*/
@@ -92,15 +92,15 @@ lp_build_compare_ext(struct gallivm_state *gallivm,
assert(lp_check_value(type, a));
assert(lp_check_value(type, b));
- if(func == PIPE_FUNC_NEVER)
+ if (func == PIPE_FUNC_NEVER)
return zeros;
- if(func == PIPE_FUNC_ALWAYS)
+ if (func == PIPE_FUNC_ALWAYS)
return ones;
assert(func > PIPE_FUNC_NEVER);
assert(func < PIPE_FUNC_ALWAYS);
- if(type.floating) {
+ if (type.floating) {
LLVMRealPredicate op;
switch(func) {
case PIPE_FUNC_EQUAL:
@@ -181,9 +181,9 @@ lp_build_compare(struct gallivm_state *gallivm,
assert(lp_check_value(type, a));
assert(lp_check_value(type, b));
- if(func == PIPE_FUNC_NEVER)
+ if (func == PIPE_FUNC_NEVER)
return zeros;
- if(func == PIPE_FUNC_ALWAYS)
+ if (func == PIPE_FUNC_ALWAYS)
return ones;
assert(func > PIPE_FUNC_NEVER);
@@ -266,7 +266,7 @@ lp_build_select_bitwise(struct lp_build_context *bld,
return a;
}
- if(type.floating) {
+ if (type.floating) {
a = LLVMBuildBitCast(builder, a, int_vec_type, "");
b = LLVMBuildBitCast(builder, b, int_vec_type, "");
}
@@ -284,7 +284,7 @@ lp_build_select_bitwise(struct lp_build_context *bld,
res = LLVMBuildOr(builder, a, b, "");
- if(type.floating) {
+ if (type.floating) {
LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type);
res = LLVMBuildBitCast(builder, res, vec_type, "");
}
@@ -313,7 +313,7 @@ lp_build_select(struct lp_build_context *bld,
assert(lp_check_value(type, a));
assert(lp_check_value(type, b));
- if(a == b)
+ if (a == b)
return a;
if (type.length == 1) {
@@ -339,11 +339,13 @@ lp_build_select(struct lp_build_context *bld,
* what really happens is that LLVM will emit two shifts back to back.
*/
if (0) {
- LLVMValueRef shift = LLVMConstInt(bld->int_elem_type, bld->type.width - 1, 0);
+ LLVMValueRef shift =
+ LLVMConstInt(bld->int_elem_type, bld->type.width - 1, 0);
shift = lp_build_broadcast(bld->gallivm, bld->int_vec_type, shift);
mask = LLVMBuildLShr(builder, mask, shift, "");
}
- LLVMTypeRef bool_vec_type = LLVMVectorType(LLVMInt1TypeInContext(lc), type.length);
+ LLVMTypeRef bool_vec_type =
+ LLVMVectorType(LLVMInt1TypeInContext(lc), type.length);
mask = LLVMBuildTrunc(builder, mask, bool_vec_type, "");
res = LLVMBuildSelect(builder, mask, a, b, "");
@@ -363,7 +365,8 @@ lp_build_select(struct lp_build_context *bld,
LLVMTypeRef mask_type = LLVMGetElementType(LLVMTypeOf(mask));
if (LLVMGetIntTypeWidth(mask_type) != type.width) {
- LLVMTypeRef int_vec_type = LLVMVectorType(LLVMIntTypeInContext(lc, type.width), type.length);
+ LLVMTypeRef int_vec_type =
+ LLVMVectorType(LLVMIntTypeInContext(lc, type.width), type.length);
mask = LLVMBuildSExt(builder, mask, int_vec_type, "");
}
/*
@@ -440,19 +443,18 @@ lp_build_select_aos(struct lp_build_context *bld,
LLVMBuilderRef builder = bld->gallivm->builder;
const struct lp_type type = bld->type;
const unsigned n = type.length;
- unsigned i, j;
assert((mask & ~0xf) == 0);
assert(lp_check_value(type, a));
assert(lp_check_value(type, b));
- if(a == b)
+ if (a == b)
return a;
- if((mask & 0xf) == 0xf)
+ if ((mask & 0xf) == 0xf)
return a;
- if((mask & 0xf) == 0x0)
+ if ((mask & 0xf) == 0x0)
return b;
- if(a == bld->undef || b == bld->undef)
+ if (a == bld->undef || b == bld->undef)
return bld->undef;
/*
@@ -469,16 +471,18 @@ lp_build_select_aos(struct lp_build_context *bld,
LLVMTypeRef elem_type = LLVMInt32TypeInContext(bld->gallivm->context);
LLVMValueRef shuffles[LP_MAX_VECTOR_LENGTH];
- for(j = 0; j < n; j += num_channels)
- for(i = 0; i < num_channels; ++i)
+ for (unsigned j = 0; j < n; j += num_channels)
+ for (unsigned i = 0; i < num_channels; ++i)
shuffles[j + i] = LLVMConstInt(elem_type,
(mask & (1 << i) ? 0 : n) + j + i,
0);
- return LLVMBuildShuffleVector(builder, a, b, LLVMConstVector(shuffles, n), "");
+ return LLVMBuildShuffleVector(builder, a, b,
+ LLVMConstVector(shuffles, n), "");
}
else {
- LLVMValueRef mask_vec = lp_build_const_mask_aos(bld->gallivm, type, mask, num_channels);
+ LLVMValueRef mask_vec = lp_build_const_mask_aos(bld->gallivm,
+ type, mask, num_channels);
return lp_build_select(bld, mask_vec, a, b);
}
}
More information about the mesa-commit
mailing list