aco: fix applying input modifiers to DPP8

Cc: mesa-stable

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26919>
(cherry picked from commit a90d154f62)
This commit is contained in:
Georg Lehmann
2024-01-07 11:22:19 +01:00
committed by Eric Engestrom
parent a3bcb52482
commit 7c9e93fe8c
2 changed files with 3 additions and 3 deletions

View File

@@ -1440,7 +1440,7 @@ label_instruction(opt_ctx& ctx, aco_ptr<Instruction>& instr)
instr->operands[i].setTemp(info.temp);
} else if (info.is_neg() && can_use_mod && mod_bitsize_compat &&
can_eliminate_fcanonicalize(ctx, instr, info.temp, i)) {
if (!instr->isDPP() && !instr->isSDWA())
if (!instr->isDPP16() && can_use_VOP3(ctx, instr))
instr->format = asVOP3(instr->format);
instr->operands[i].setTemp(info.temp);
if (!instr->valu().abs[i])
@@ -1448,7 +1448,7 @@ label_instruction(opt_ctx& ctx, aco_ptr<Instruction>& instr)
}
if (info.is_abs() && can_use_mod && mod_bitsize_compat &&
can_eliminate_fcanonicalize(ctx, instr, info.temp, i)) {
if (!instr->isDPP() && !instr->isSDWA())
if (!instr->isDPP16() && can_use_VOP3(ctx, instr))
instr->format = asVOP3(instr->format);
instr->operands[i] = Operand(info.temp);
instr->valu().abs[i] = true;