From 1139d870f38e7458155c192e1b5a3fe322a7c63c Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 3 Jul 2023 18:36:28 +0100 Subject: [PATCH] nir/unsigned_upper_bound: fix phi(bcsel) This was looking at the wrong sources. src0 is the condition. Signed-off-by: Rhys Perry Reviewed-by: Konstantin Seurer Fixes: 72ac3f60261 ("nir: add nir_unsigned_upper_bound and nir_addition_might_overflow") Part-of: --- src/compiler/nir/nir_range_analysis.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compiler/nir/nir_range_analysis.c b/src/compiler/nir/nir_range_analysis.c index c85530e1388..927eb6c0e56 100644 --- a/src/compiler/nir/nir_range_analysis.c +++ b/src/compiler/nir/nir_range_analysis.c @@ -1418,12 +1418,12 @@ search_phi_bcsel(nir_ssa_scalar scalar, nir_ssa_scalar *buf, unsigned buf_size, nir_op op = nir_ssa_scalar_alu_op(scalar); if ((op == nir_op_bcsel || op == nir_op_b32csel) && buf_size >= 2) { - nir_ssa_scalar src0 = nir_ssa_scalar_chase_alu_src(scalar, 0); nir_ssa_scalar src1 = nir_ssa_scalar_chase_alu_src(scalar, 1); + nir_ssa_scalar src2 = nir_ssa_scalar_chase_alu_src(scalar, 2); - unsigned added = search_phi_bcsel(src0, buf, buf_size - 1, visited); + unsigned added = search_phi_bcsel(src1, buf, buf_size - 1, visited); buf_size -= added; - added += search_phi_bcsel(src1, buf + added, buf_size, visited); + added += search_phi_bcsel(src2, buf + added, buf_size, visited); return added; } }