Skip to content

Commit 38994f4

Browse files
authored
[llvm-mca][AArch64] Refactor Neoverse tests to split out common inputs (NFC) (#170324)
For many of these tests the inputs are very similiar with slight divergences, ideally we'd have common sources where we can to avoid subtle differences. Changes: - For basic tests there's a relatively large diff between V1 and all other cores because of 24f0901 (#128892) which makes it more complete. I've been thru the entire diff and 99% of the time V1 makes more sense, except for a couple of small changes (might post a separate patch for). Therefore I decided it's best to take V1-basic-instructions.s as the common source. - Split out FEAT_RCPC_IMMO tests from basic since N1 doesnt have this feature. - Split out FEAT_MTE tests. V2/V3 also have this feature but were missing tests, so I've added them. - Take 16-bit load/store register offset from V2/V3 (better coverage). The NEON and SVE tests are also quite substantial and could be made common, but there's also subtle differences that take time to go thru.
1 parent 1efb537 commit 38994f4

20 files changed

+3939
-10548
lines changed

llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/basic-instructions.s

Lines changed: 1448 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
irg x0, x1
2+
irg sp, x1
3+
irg x0, sp
4+
irg x0, x1, x2
5+
irg sp, x1, x2
6+
addg x0, x1, #0, #1
7+
addg sp, x2, #32, #3
8+
addg x0, sp, #64, #5
9+
addg x3, x4, #1008, #6
10+
addg x5, x6, #112, #15
11+
subg x0, x1, #0, #1
12+
subg sp, x2, #32, #3
13+
subg x0, sp, #64, #5
14+
subg x3, x4, #1008, #6
15+
subg x5, x6, #112, #15
16+
gmi x0, x1, x2
17+
gmi x3, sp, x4
18+
gmi xzr, x0, x30
19+
gmi x30, x0, xzr
20+
subp x0, x1, x2
21+
subps x0, x1, x2
22+
subp x0, sp, sp
23+
subps x0, sp, sp
24+
subps xzr, x0, x1
25+
subps xzr, sp, sp
26+
stg x0, [x1, #-4096]
27+
stg x1, [x2, #4080]
28+
stg x2, [sp, #16]
29+
stg x3, [x1]
30+
stg sp, [x1]
31+
stzg x0, [x1, #-4096]
32+
stzg x1, [x2, #4080]
33+
stzg x2, [sp, #16]
34+
stzg x3, [x1]
35+
stzg sp, [x1]
36+
stg x0, [x1, #-4096]!
37+
stg x1, [x2, #4080]!
38+
stg x2, [sp, #16]!
39+
stg sp, [sp, #16]!
40+
stzg x0, [x1, #-4096]!
41+
stzg x1, [x2, #4080]!
42+
stzg x2, [sp, #16]!
43+
stzg sp, [sp, #16]!
44+
stg x0, [x1], #-4096
45+
stg x1, [x2], #4080
46+
stg x2, [sp], #16
47+
stg sp, [sp], #16
48+
stzg x0, [x1], #-4096
49+
stzg x1, [x2], #4080
50+
stzg x2, [sp], #16
51+
stzg sp, [sp], #16
52+
st2g x0, [x1, #-4096]
53+
st2g x1, [x2, #4080]
54+
st2g x2, [sp, #16]
55+
st2g x3, [x1]
56+
st2g sp, [x1]
57+
stz2g x0, [x1, #-4096]
58+
stz2g x1, [x2, #4080]
59+
stz2g x2, [sp, #16]
60+
stz2g x3, [x1]
61+
stz2g sp, [x1]
62+
st2g x0, [x1, #-4096]!
63+
st2g x1, [x2, #4080]!
64+
st2g x2, [sp, #16]!
65+
st2g sp, [sp, #16]!
66+
stz2g x0, [x1, #-4096]!
67+
stz2g x1, [x2, #4080]!
68+
stz2g x2, [sp, #16]!
69+
stz2g sp, [sp, #16]!
70+
st2g x0, [x1], #-4096
71+
st2g x1, [x2], #4080
72+
st2g x2, [sp], #16
73+
st2g sp, [sp], #16
74+
stz2g x0, [x1], #-4096
75+
stz2g x1, [x2], #4080
76+
stz2g x2, [sp], #16
77+
stz2g sp, [sp], #16
78+
stgp x0, x1, [x2, #-1024]
79+
stgp x0, x1, [x2, #1008]
80+
stgp x0, x1, [sp, #16]
81+
stgp xzr, x1, [x2, #16]
82+
stgp x0, xzr, [x2, #16]
83+
stgp x0, xzr, [x2]
84+
stgp x0, x1, [x2, #-1024]!
85+
stgp x0, x1, [x2, #1008]!
86+
stgp x0, x1, [sp, #16]!
87+
stgp xzr, x1, [x2, #16]!
88+
stgp x0, xzr, [x2, #16]!
89+
stgp x0, x1, [x2], #-1024
90+
stgp x0, x1, [x2], #1008
91+
stgp x0, x1, [sp], #16
92+
stgp xzr, x1, [x2], #16
93+
stgp x0, xzr, [x2], #16
94+
ldg x0, [x1]
95+
ldg x2, [sp, #-4096]
96+
ldg x3, [x4, #4080]
97+
ldgm x0, [x1]
98+
ldgm x1, [sp]
99+
ldgm xzr, [x2]
100+
stgm x0, [x1]
101+
stgm x1, [sp]
102+
stgm xzr, [x2]
103+
stzgm x0, [x1]
104+
stzgm x1, [sp]
105+
stzgm xzr, [x2]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#------------------------------------------------------------------------------
2+
# Load-acquire/store-release
3+
#------------------------------------------------------------------------------
4+
5+
ldapur w7, [x24]
6+
ldapur x20, [x13]
7+
ldapurb w13, [x17]
8+
ldapurh w3, [x22]
9+
ldapursb w7, [x8]
10+
ldapursb x29, [x7]
11+
ldapursh w17, [x19]
12+
ldapursh x3, [x3]
13+
ldapursw x3, [x18]
14+
stlur w3, [x27]
15+
stlur x23, [x25]
16+
stlurb w30, [x17]
17+
stlurh w9, [x29]

0 commit comments

Comments
 (0)