From: Rhys Perry Date: Wed, 2 Nov 2022 16:45:08 +0000 (+0000) Subject: nir/lower_bit_size: lower uadd_carry X-Git-Tag: upstream/22.3.5~403 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=df7dc583e726886b28c44914b91547f46522d9ab;p=platform%2Fupstream%2Fmesa.git 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: (cherry picked from commit da30fb5df705d38e6d3aefadf769ec4517b9b20e) --- diff --git a/.pick_status.json b/.pick_status.json index f9a8943..772ef6a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2110,7 +2110,7 @@ "description": "nir/lower_bit_size: lower uadd_carry", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/compiler/nir/nir_lower_bit_size.c b/src/compiler/nir/nir_lower_bit_size.c index 79653be..7740992 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);