From: Rhys Perry Date: Fri, 22 Nov 2019 15:00:04 +0000 (+0000) Subject: aco: improve can_use_VOP3() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=84b9f3786b949c3a2b81d03687550a7530d4f71b;p=mesa.git aco: improve can_use_VOP3() No pipeline-db changes Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index a589fbbe73e..da169694ffb 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -416,6 +416,9 @@ bool can_swap_operands(aco_ptr& instr) bool can_use_VOP3(aco_ptr& instr) { + if (instr->isVOP3()) + return true; + if (instr->operands.size() && instr->operands[0].isLiteral()) return false; @@ -426,6 +429,10 @@ bool can_use_VOP3(aco_ptr& instr) 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_readlane_b32 && instr->opcode != aco_opcode::v_writelane_b32 && instr->opcode != aco_opcode::v_readfirstlane_b32;