intel/brw: Use ASR over SHR for SHADER_OPCODE_ISUB_SAT

src[1]/src0 is signed and Xe2+ SHR don't support operations over signed
data types so lets switch this over ASR that supports signed data
types.

Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37557>
This commit is contained in:
José Roberto de Souza 2025-09-24 13:55:00 -07:00 committed by Marge Bot
parent c45f442d5c
commit 141a225ca1

View file

@ -235,7 +235,7 @@ brw_lower_sub_sat(brw_shader &s)
brw_inst *add;
brw_reg tmp = ibld.vgrf(inst->src[0].type);
ibld.SHR(tmp, inst->src[1], brw_imm_d(1));
ibld.ASR(tmp, inst->src[1], brw_imm_ud(1));
brw_reg s1_sub_t = ibld.ADD(inst->src[1], negate(tmp));
brw_reg sat_s0_sub_t = ibld.ADD(inst->src[0], negate(tmp), &add);