mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-15 18:38:05 +02:00
aco/ra: fix v3b VALU at byte>0
This can happen with v_cndmask_b32, if we were required to take the sub-dword path in get_reg_simple(). Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41018>
This commit is contained in:
parent
62a268eb5f
commit
2d5478fc3f
1 changed files with 7 additions and 2 deletions
|
|
@ -645,7 +645,9 @@ get_subdword_operand_stride(amd_gfx_level gfx_level, const aco_ptr<Instruction>&
|
|||
return rc.bytes() % 2 == 0 ? 2 : 1;
|
||||
}
|
||||
|
||||
assert(rc.bytes() <= 2);
|
||||
if (rc.bytes() > 2)
|
||||
return 4;
|
||||
|
||||
if (instr->isVALU()) {
|
||||
if (can_use_SDWA(gfx_level, instr, false))
|
||||
return rc.bytes();
|
||||
|
|
@ -766,8 +768,11 @@ DefInfo::get_subdword_definition_info(Program* program, const aco_ptr<Instructio
|
|||
}
|
||||
|
||||
if (instr->isVALU()) {
|
||||
if (rc.bytes() == 3)
|
||||
if (rc.bytes() == 3) {
|
||||
rc = v1;
|
||||
stride = 4;
|
||||
return;
|
||||
}
|
||||
|
||||
if (can_use_SDWA(gfx_level, instr, false))
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue