[llvm] [AArch64] Update latencies for Cortex-A510 scheduling model (PR #87293)
Usman Nadeem via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 16 16:19:41 PDT 2024
================
@@ -467,12 +467,12 @@ def : InstRW<[CortexA510Write<4, CortexA510UnitVALU>], (instregex "[SU]MULLv", "
// ASIMD polynomial (8x8) multiply long
def : InstRW<[CortexA510Write<4, CortexA510UnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
// ASIMD pairwise add and accumulate
-def : InstRW<[CortexA510MCWrite<8, 2, CortexA510UnitVALU>], (instregex "[SU]ADALPv")>;
+def : InstRW<[CortexA510MCWrite<7, 2, CortexA510UnitVALU>], (instregex "[SU]ADALPv")>;
// ASIMD shift accumulate
-def : InstRW<[CortexA510MCWrite<8, 2, CortexA510UnitVALU>], (instregex "[SU]SRA(d|v2i32|v4i16|v8i8)")>;
-def : InstRW<[CortexA510MCWrite<8, 2, CortexA510UnitVALU>], (instregex "[SU]SRAv(16i8|2i64|4i32|8i16)")>;
+def : InstRW<[CortexA510Write<3, CortexA510UnitVALU>], (instregex "[SU]SRA(d|v2i32|v4i16|v8i8)")>;
----------------
UsmanNadeem wrote:
These also had a higher throughput, so I changed these from `CortexA510MCWrite` to `CortexA510Write` which does not set `ReleaseAtCycles`.
Correct me if I am wrong but `ReleaseAtCycles` seems to be a proxy for setting the throughput.
https://github.com/llvm/llvm-project/pull/87293
More information about the llvm-commits
mailing list