From 97698e564acc9ee560fade47bd566fe9cdeae3dc Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Tue, 20 Feb 2024 16:31:54 +0000 Subject: [PATCH] aco: add SFPU/ValuPseudoScalarTrans instr class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The latency is from LLVM's SISchedule.td Signed-off-by: Rhys Perry Reviewed-by: Georg Lehmann Acked-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_opcodes.py | 2 ++ src/amd/compiler/aco_statistics.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/amd/compiler/aco_opcodes.py b/src/amd/compiler/aco_opcodes.py index a424400045a95..bed1f1533ed15 100644 --- a/src/amd/compiler/aco_opcodes.py +++ b/src/amd/compiler/aco_opcodes.py @@ -23,8 +23,10 @@ class InstrClass(Enum): ValuDoubleAdd = "valu_double_add" ValuDoubleConvert = "valu_double_convert" ValuDoubleTranscendental = "valu_double_transcendental" + ValuPseudoScalarTrans = "valu_pseudo_scalar_trans" WMMA = "wmma" Salu = "salu" + SFPU = "sfpu" SMem = "smem" Barrier = "barrier" Branch = "branch" diff --git a/src/amd/compiler/aco_statistics.cpp b/src/amd/compiler/aco_statistics.cpp index 65777f8fb6b0b..9260ed94b183d 100644 --- a/src/amd/compiler/aco_statistics.cpp +++ b/src/amd/compiler/aco_statistics.cpp @@ -183,6 +183,9 @@ get_perf_info(const Program& program, const Instruction& instr) case instr_class::valu_double_transcendental: return {24, WAIT_USE(valu, 16), WAIT_USE(valu_complex, 16)}; case instr_class::salu: return {2, WAIT_USE(scalar, 1)}; + case instr_class::sfpu: return {4, WAIT_USE(scalar, 1)}; + case instr_class::valu_pseudo_scalar_trans: + return {7, WAIT_USE(valu, 1), WAIT_USE(valu_complex, 1)}; case instr_class::smem: return {0, WAIT_USE(scalar, 1)}; case instr_class::branch: case instr_class::sendmsg: return {0, WAIT_USE(branch_sendmsg, 1)};