build: modify N_PREFETCH on Arm N2 to achieve best perf 53/39353/8
authorJieqiang Wang <jieqiang.wang@arm.com>
Tue, 4 Jul 2023 04:05:33 +0000 (12:05 +0800)
committerDamjan Marion <dmarion@0xa5.net>
Sun, 1 Oct 2023 21:11:32 +0000 (21:11 +0000)
From GCC 12, march=armv9-a option is supported, which includes the sve
and crc options needed. Furthermore, VPP L3Fwd benchmark results on N2
based servers show that N_PREFETCH set to 6 gives the best performance.

Type: feature

Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Change-Id: I9c4fcad84d4db1189d956dabab22b26d020fbfd6

src/cmake/cpu.cmake

index f683b62..18a1210 100644 (file)
@@ -194,10 +194,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
     N_PREFETCHES 6
     CACHE_PREFETCH_BYTES 64
   )
-
   add_vpp_march_variant(neoversen2
-    FLAGS -march=armv8.6-a+crc+crypto+sve2 -mtune=neoverse-n2
-    N_PREFETCHES 8
+    FLAGS -march=armv9-a+crypto -mtune=neoverse-n2
+    N_PREFETCHES 6
     CACHE_PREFETCH_BYTES 64
     OFF
   )