aco: Assert that operands have the same byte offset when reassigning split vectors
This can not happen because the post-RA optimizer doesn't support sub dword writes at the moment, but everytime I look at this I wonder if there might be a bug here. Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22821>
This commit is contained in:
@@ -657,6 +657,11 @@ try_reassign_split_vector(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr)
|
||||
if (op.regClass() == s2 && reg.reg() % 2 != 0)
|
||||
break;
|
||||
|
||||
/* Sub dword operands might need updates to SDWA/opsel,
|
||||
* but we only track full register writes at the moment.
|
||||
*/
|
||||
assert(op.physReg().byte() == reg.byte());
|
||||
|
||||
/* If there is only one use (left), recolor the split_vector definition */
|
||||
if (ctx.uses[op.tempId()] == 1)
|
||||
def.setFixed(reg);
|
||||
|
||||
Reference in New Issue
Block a user