Module: Mesa Branch: main Commit: 5af891a747d125f2fec95eb248f9055c33f1c155 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5af891a747d125f2fec95eb248f9055c33f1c155
Author: Rhys Perry <[email protected]> Date: Wed Jan 4 14:53:00 2023 +0000 aco: add more opcodes to can_use_DPP() Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Georg Lehmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20251> --- src/amd/compiler/aco_ir.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index 1dc0d5d9e1c..44a975b6f4e 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -343,7 +343,7 @@ can_use_DPP(const aco_ptr<Instruction>& instr, bool pre_ra, bool dpp8) if (instr->operands.size() && instr->operands[0].isLiteral()) return false; - if (instr->isSDWA()) + if (instr->isSDWA() || instr->isVOP3P()) return false; if (!pre_ra && (instr->isVOPC() || instr->definitions.size() > 1) && @@ -368,6 +368,8 @@ can_use_DPP(const aco_ptr<Instruction>& instr, bool pre_ra, bool dpp8) /* there are more cases but those all take 64-bit inputs */ return instr->opcode != aco_opcode::v_madmk_f32 && instr->opcode != aco_opcode::v_madak_f32 && instr->opcode != aco_opcode::v_madmk_f16 && instr->opcode != aco_opcode::v_madak_f16 && + instr->opcode != aco_opcode::v_fmamk_f32 && instr->opcode != aco_opcode::v_fmaak_f32 && + instr->opcode != aco_opcode::v_fmamk_f16 && instr->opcode != aco_opcode::v_fmaak_f16 && instr->opcode != aco_opcode::v_readfirstlane_b32 && instr->opcode != aco_opcode::v_cvt_f64_i32 && instr->opcode != aco_opcode::v_cvt_f64_f32 && instr->opcode != aco_opcode::v_cvt_f64_u32;
