[llvm] [AArch64] Enable cmp + bcc fusion and cmp + csel fusion for Neoverse V2 (PR #94309)

Mingming Liu via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 3 22:29:12 PDT 2024


https://github.com/minglotus-6 updated https://github.com/llvm/llvm-project/pull/94309

>From 161a2cca652564c2d1b32df2f4e71e331798fb91 Mon Sep 17 00:00:00 2001
From: mingmingl <mingmingl at google.com>
Date: Mon, 3 Jun 2024 21:43:20 -0700
Subject: [PATCH 1/2] [Neoverse-V2]Enable cmp + bcc fusion and cmp + csel
 fusion for Neoverse V2

---
 llvm/lib/Target/AArch64/AArch64Processors.td | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td
index f2286ae17dba5..c16019357be4e 100644
--- a/llvm/lib/Target/AArch64/AArch64Processors.td
+++ b/llvm/lib/Target/AArch64/AArch64Processors.td
@@ -485,6 +485,8 @@ def TuneNeoverseV2 : SubtargetFeature<"neoversev2", "ARMProcFamily", "NeoverseV2
                                       "Neoverse V2 ARM processors", [
                                       FeatureFuseAES,
                                       FeatureFuseAdrpAdd,
+                                      FeatureCmpBccFusion,
+                                      FeatureFuseCCSelect,
                                       FeatureALULSLFast,
                                       FeaturePostRAScheduler,
                                       FeatureEnableSelectOptimize,

>From 77fc8bfb8d70bb75338aef7f86469423cff387aa Mon Sep 17 00:00:00 2001
From: mingmingl <mingmingl at google.com>
Date: Mon, 3 Jun 2024 22:28:55 -0700
Subject: [PATCH 2/2] Undo cmp+bcc fusion as pr90608 tracks cmp+bcc with
 benchmarking data

---
 llvm/lib/Target/AArch64/AArch64Processors.td | 1 -
 1 file changed, 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td
index c16019357be4e..3fd852eb45dd4 100644
--- a/llvm/lib/Target/AArch64/AArch64Processors.td
+++ b/llvm/lib/Target/AArch64/AArch64Processors.td
@@ -485,7 +485,6 @@ def TuneNeoverseV2 : SubtargetFeature<"neoversev2", "ARMProcFamily", "NeoverseV2
                                       "Neoverse V2 ARM processors", [
                                       FeatureFuseAES,
                                       FeatureFuseAdrpAdd,
-                                      FeatureCmpBccFusion,
                                       FeatureFuseCCSelect,
                                       FeatureALULSLFast,
                                       FeaturePostRAScheduler,



More information about the llvm-commits mailing list