From da30fb5df705d38e6d3aefadf769ec4517b9b20e Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Wed, 2 Nov 2022 16:45:08 +0000 Subject: [PATCH] nir/lower_bit_size: lower uadd_carry 8/16-bit uadd_carry can exist in SPIR-V. Signed-off-by: Rhys Perry Reviewed-by: Georg Lehmann Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7615 Cc: mesa-stable Part-of: --- src/compiler/nir/nir_lower_bit_size.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compiler/nir/nir_lower_bit_size.c b/src/compiler/nir/nir_lower_bit_size.c index 79653be96bb..7740992f817 100644 --- a/src/compiler/nir/nir_lower_bit_size.c +++ b/src/compiler/nir/nir_lower_bit_size.c @@ -79,6 +79,8 @@ lower_alu_instr(nir_builder *bld, nir_alu_instr *alu, unsigned bit_size) lowered_dst = nir_ushr_imm(bld, lowered_dst, dst_bit_size); else lowered_dst = nir_ishr_imm(bld, lowered_dst, dst_bit_size); + } else if (op == nir_op_uadd_carry) { + lowered_dst = nir_ushr_imm(bld, nir_iadd(bld, srcs[0], srcs[1]), dst_bit_size); } else { lowered_dst = nir_build_alu_src_arr(bld, op, srcs);