From 03b7054c30517ebcd365beeaf95a84cfd4434fd3 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 6 Aug 2025 13:25:14 +0200 Subject: [PATCH] pan/midgard: avoid implicit cast-warning on Clang BITFIELD_MASK() returns a 32-bit unsigned integer, and Clang complains if we assign it to a 16-bit unsigned integer without a cast. Let's add that cast. While we're at it, add an assert() to make it clear to the compiler that the condition in BITFIELD_MASK() can be optimized away. Reviewed-by: Yiwei Zhang Tested-by: Yiwei Zhang Reviewed-by: Eric R. Smith Part-of: --- src/panfrost/midgard/midgard_compile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 135b1bd9fdd..2d63e74fce8 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -1642,7 +1642,8 @@ emit_intrinsic(compiler_context *ctx, nir_intrinsic_instr *instr) ins.dest_type = ins.src_types[1] = nir_type_uint | instr->def.bit_size; - ins.mask = BITFIELD_MASK(instr->def.num_components); + assert(instr->def.num_components <= 4); + ins.mask = (uint16_t)BITFIELD_MASK(instr->def.num_components); emit_mir_instruction(ctx, &ins); break; }