diff --git a/.pick_status.json b/.pick_status.json index 8ff300d613d..1f35c601ac3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3154,7 +3154,7 @@ "description": "brw: Handle scalars and swizzles correctly in is_const_zero", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "96cde9cc01dc0cfa4d4edf70d47df118ca57e5c0", "notes": null diff --git a/src/intel/compiler/brw/brw_from_nir.cpp b/src/intel/compiler/brw/brw_from_nir.cpp index 7970eba3a21..63bf37f2277 100644 --- a/src/intel/compiler/brw/brw_from_nir.cpp +++ b/src/intel/compiler/brw/brw_from_nir.cpp @@ -874,9 +874,9 @@ try_emit_b2fi_of_inot(nir_to_brw_state &ntb, const brw_builder &bld, } static bool -is_const_zero(const nir_src &src) +is_const_zero(const nir_alu_src &src) { - return nir_src_is_const(src) && nir_src_as_int(src) == 0; + return nir_src_is_const(src.src) && nir_alu_src_as_uint(src) == 0; } static void @@ -1639,7 +1639,7 @@ brw_from_nir_emit_alu(nir_to_brw_state &ntb, nir_alu_instr *instr, * either 0 or src0. Replacing the 0 with another value can eliminate a * temporary register. */ - if (is_const_zero(instr->src[2].src)) + if (is_const_zero(instr->src[2])) bld.BFI2(result, op[0], op[1], op[0]); else bld.BFI2(result, op[0], op[1], op[2]);