[llvm] Fix to Neoverse V2 scheduling model (PR #88130)

Maciej Gabka via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 9 07:03:37 PDT 2024


https://github.com/mgabka created https://github.com/llvm/llvm-project/pull/88130

The size of ROB was incorrecty copied from the Neoverse N2, while it has actually higher value as descibed in
https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/arm-neoverse-v2-platform-best-in-class-cloud-and-ai-ml-performance

>From 75f8f50e398022ecb5950c64b9d55bfa1439e5de Mon Sep 17 00:00:00 2001
From: Maciej Gabka <maciej.gabka at arm.com>
Date: Mon, 8 Apr 2024 08:41:18 +0000
Subject: [PATCH] Fix to Neoverse V2 scheduling model

The size of ROB was incorrecty copied from the Neoverse N2,
while it has actually higher value as descibed in
https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/arm-neoverse-v2-platform-best-in-class-cloud-and-ai-ml-performance
---
 llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
index 4d7f44e7b9b9ab..7fed8fed900171 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
@@ -15,7 +15,7 @@
 
 def NeoverseV2Model : SchedMachineModel {
   let IssueWidth            =  16; // Micro-ops dispatched at a time.
-  let MicroOpBufferSize     = 160; // Entries in micro-op re-order buffer. NOTE: Copied from N2.
+  let MicroOpBufferSize     = 320; // Entries in micro-op re-order buffer.
   let LoadLatency           =   4; // Optimistic load latency.
   let MispredictPenalty     =  10; // Extra cycles for mispredicted branch.  NOTE: Copied from N2.
   let LoopMicroOpBufferSize =  16; // NOTE: Copied from Cortex-A57.



More information about the llvm-commits mailing list