From 5ebf0c916186e106a9120ce07780ff2da1216ca8 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 12 May 2026 09:09:18 -0400 Subject: [PATCH] jay: elide atomic dests simd16 results. kinda noisy but obviously the right thing to do. Totals from 45 (1.70% of 2647) affected shaders: Instrs: 59182 -> 59194 (+0.02%); split: -0.11%, +0.14% CodeSize: 905200 -> 904752 (-0.05%); split: -0.17%, +0.12% Signed-off-by: Alyssa Rosenzweig Reviewed-by: Kenneth Graunke Part-of: --- src/intel/compiler/jay/jay_from_nir.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/intel/compiler/jay/jay_from_nir.c b/src/intel/compiler/jay/jay_from_nir.c index 9bae97ba942..ec9f4019f37 100644 --- a/src/intel/compiler/jay/jay_from_nir.c +++ b/src/intel/compiler/jay/jay_from_nir.c @@ -1014,6 +1014,13 @@ jay_emit_mem_access(struct nir_to_jay_state *nj, nir_intrinsic_instr *intr) lsc_bits_to_data_size(ndata->bit_size), cmask ? BITFIELD_MASK(nr) : nr, transpose, cache); + /* Unlike most SENDs, we may skip the destination of atomics. We do this here + * instead of DCE so we don't need to fix up message descriptors later. + */ + if (nir_intrinsic_has_atomic_op(intr) && nir_def_is_unused(&intr->def)) { + dst = jay_null(); + } + jay_def tmp = dst; if (dst.file == UGPR) {