Skip to content

Commit 30c27a4

Browse files
committed
[AArch64] Initial sched model for Neoverse V3, V3AE
Add the scheduling models for Neoverse V3 and Neoverse V3AE based on information taken from the V3 Software Optimization guide: https://developer.arm.com/documentation/109678/300/?lang=en and on information taken from the V3AE Software Optimization guide: https://developer.arm.com/documentation/109703/300/?lang=en Implements #134977 Change-Id: I8c938c2a49b16531e82e919cc68db77e015febf2
1 parent 8e36b5f commit 30c27a4

File tree

1 file changed

+30
-25
lines changed

1 file changed

+30
-25
lines changed
Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
22
# RUN: llvm-mca -mtriple=aarch64 -mcpu=cortex-x4 -instruction-tables < %s | FileCheck %s
33

4-
# Check the Neoverse V2 model is used.
4+
# Check the Neoverse V3 model is used.
55

66
addhnb z0.b, z1.h, z31.h
77

@@ -17,31 +17,36 @@ addhnb z0.b, z1.h, z31.h
1717
# CHECK-NEXT: 1 2 0.25 addhnb z0.b, z1.h, z31.h
1818

1919
# CHECK: Resources:
20-
# CHECK-NEXT: [0.0] - V2UnitB
21-
# CHECK-NEXT: [0.1] - V2UnitB
22-
# CHECK-NEXT: [1.0] - V2UnitD
23-
# CHECK-NEXT: [1.1] - V2UnitD
24-
# CHECK-NEXT: [2.0] - V2UnitFlg
25-
# CHECK-NEXT: [2.1] - V2UnitFlg
26-
# CHECK-NEXT: [2.2] - V2UnitFlg
27-
# CHECK-NEXT: [3] - V2UnitL2
28-
# CHECK-NEXT: [4.0] - V2UnitL01
29-
# CHECK-NEXT: [4.1] - V2UnitL01
30-
# CHECK-NEXT: [5] - V2UnitM0
31-
# CHECK-NEXT: [6] - V2UnitM1
32-
# CHECK-NEXT: [7] - V2UnitS0
33-
# CHECK-NEXT: [8] - V2UnitS1
34-
# CHECK-NEXT: [9] - V2UnitS2
35-
# CHECK-NEXT: [10] - V2UnitS3
36-
# CHECK-NEXT: [11] - V2UnitV0
37-
# CHECK-NEXT: [12] - V2UnitV1
38-
# CHECK-NEXT: [13] - V2UnitV2
39-
# CHECK-NEXT: [14] - V2UnitV3
20+
# CHECK-NEXT: [0.0] - V3UnitB
21+
# CHECK-NEXT: [0.1] - V3UnitB
22+
# CHECK-NEXT: [0.2] - V3UnitB
23+
# CHECK-NEXT: [1.0] - V3UnitD
24+
# CHECK-NEXT: [1.1] - V3UnitD
25+
# CHECK-NEXT: [2.0] - V3UnitFlg
26+
# CHECK-NEXT: [2.1] - V3UnitFlg
27+
# CHECK-NEXT: [2.2] - V3UnitFlg
28+
# CHECK-NEXT: [2.3] - V3UnitFlg
29+
# CHECK-NEXT: [3.0] - V3UnitL12
30+
# CHECK-NEXT: [3.1] - V3UnitL12
31+
# CHECK-NEXT: [4] - V3UnitLS0
32+
# CHECK-NEXT: [5] - V3UnitM0
33+
# CHECK-NEXT: [6] - V3UnitM1
34+
# CHECK-NEXT: [7] - V3UnitS0
35+
# CHECK-NEXT: [8] - V3UnitS1
36+
# CHECK-NEXT: [9] - V3UnitS2
37+
# CHECK-NEXT: [10] - V3UnitS3
38+
# CHECK-NEXT: [11] - V3UnitS4
39+
# CHECK-NEXT: [12] - V3UnitS5
40+
# CHECK-NEXT: [13] - V3UnitST1
41+
# CHECK-NEXT: [14] - V3UnitV0
42+
# CHECK-NEXT: [15] - V3UnitV1
43+
# CHECK-NEXT: [16] - V3UnitV2
44+
# CHECK-NEXT: [17] - V3UnitV3
4045

4146
# CHECK: Resource pressure per iteration:
42-
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
43-
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25
47+
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
48+
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25
4449

4550
# CHECK: Resource pressure by instruction:
46-
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Instructions:
47-
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addhnb z0.b, z1.h, z31.h
51+
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions:
52+
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addhnb z0.b, z1.h, z31.h

0 commit comments

Comments
 (0)