jay/register_allocate: tie predicated-defaults

(if we can)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41064>
This commit is contained in:
Alyssa Rosenzweig 2026-04-15 14:32:59 -04:00 committed by Marge Bot
parent d74ada78c0
commit 2ab8a614dd

View file

@ -795,6 +795,12 @@ pick_regs(jay_ra_state *ra,
!(min_stride <= stride && stride <= max_stride))
continue;
/* Try to tie predicated default values, otherwise post-RA lowering needs
* to insert a predicated-MOV or SEL.
*/
if (I->predication == JAY_PREDICATED_DEFAULT && !is_src)
cost += jay_inst_get_default(I)->reg != r;
/* Assigning a stride that is too big may result in SIMDness splitting.
* Model that cost so we prefer packed registers.
*/