aco/ra: don't allocate vector space for MIMG NSA operands
In this case, the MIMG vaddr components are not vector-aligned anymore, anyway. Totals from 11866 (7.90% of 150170) affected shaders: (GFX10.3) VGPRs: 733064 -> 728408 (-0.64%); split: -0.66%, +0.02% CodeSize: 67968356 -> 67968440 (+0.00%); split: -0.02%, +0.02% MaxWaves: 214022 -> 214014 (-0.00%) Instrs: 12798200 -> 12797232 (-0.01%); split: -0.02%, +0.01% Latency: 196427665 -> 196418706 (-0.00%); split: -0.02%, +0.01% InvThroughput: 37082037 -> 37080799 (-0.00%); split: -0.02%, +0.02% VClause: 246097 -> 246031 (-0.03%); split: -0.16%, +0.13% Copies: 494852 -> 493923 (-0.19%); split: -0.52%, +0.34% Branches: 220323 -> 220294 (-0.01%); split: -0.03%, +0.02% Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11980>
This commit is contained in:

committed by
Marge Bot

parent
8250f2ae29
commit
3870c52159
@@ -1454,6 +1454,10 @@ get_reg_vector(ra_ctx& ctx, RegisterFile& reg_file, Temp temp, aco_ptr<Instructi
|
||||
reg.reg_b += (our_offset - their_offset);
|
||||
if (get_reg_specified(ctx, reg_file, temp.regClass(), instr, reg))
|
||||
return {reg, true};
|
||||
|
||||
/* return if MIMG vaddr components don't remain vector-aligned */
|
||||
if (vec->format == Format::MIMG)
|
||||
return {{}, false};
|
||||
}
|
||||
their_offset += op.bytes();
|
||||
}
|
||||
|
Reference in New Issue
Block a user