• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BARCELONA
3# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDVER2
4# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BTVER2
5# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER1
6# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER2
7# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,HASWELL
8# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BROADWELL
9# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE
10
11#LLVM-MCA-BEGIN  test_sqrtss
12leaq 8(%rsp, %rdi, 2), %rax
13sqrtss (%rax), %xmm1
14#LLVM-MCA-END
15
16#LLVM-MCA-BEGIN  test_sqrtsd
17leaq 8(%rsp, %rdi, 2), %rax
18sqrtsd (%rax), %xmm1
19#LLVM-MCA-END
20
21#LLVM-MCA-BEGIN  test_rsqrtss
22leaq 8(%rsp, %rdi, 2), %rax
23rsqrtss (%rax), %xmm1
24#LLVM-MCA-END
25
26#LLVM-MCA-BEGIN  test_rcp
27leaq 8(%rsp, %rdi, 2), %rax
28rcpss (%rax), %xmm1
29#LLVM-MCA-END
30
31# ALL:            [0] Code Region - test_sqrtss
32
33# ALL:            Timeline view:
34
35# BARCELONA-NEXT:                     0123456789
36# BARCELONA-NEXT: Index     0123456789          0123
37
38# BDVER2-NEXT:                        012345678
39# BDVER2-NEXT:    Index     0123456789
40
41# BROADWELL-NEXT:                     0123456789
42# BROADWELL-NEXT: Index     0123456789
43
44# BTVER2-NEXT:                        0123456789          0
45# BTVER2-NEXT:    Index     0123456789          0123456789
46
47# HASWELL-NEXT:                       0123456789
48# HASWELL-NEXT:   Index     0123456789
49
50# SKYLAKE-NEXT:                       0123456789
51# SKYLAKE-NEXT:   Index     0123456789          0
52
53# ZNVER1-NEXT:                        0123456789          0
54# ZNVER1-NEXT:    Index     0123456789          0123456789
55
56# ZNVER2-NEXT:                        0123456789          0
57# ZNVER2-NEXT:    Index     0123456789          0123456789
58
59# BARCELONA:      [0,0]     DeER .    .    .    .  .   leaq	8(%rsp,%rdi,2), %rax
60# BARCELONA-NEXT: [0,1]     D=eeeeeeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
61
62# BDVER2:         [0,0]     DeeER.    .    .  .   leaq	8(%rsp,%rdi,2), %rax
63# BDVER2-NEXT:    [0,1]     D==eeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
64
65# BROADWELL:      [0,0]     DeER .    .    .   .   leaq	8(%rsp,%rdi,2), %rax
66# BROADWELL-NEXT: [0,1]     D=eeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
67
68# BTVER2:         [0,0]     DeeER.    .    .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
69# BTVER2-NEXT:    [0,1]     D==eeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
70
71# HASWELL:        [0,0]     DeER .    .    .   .   leaq	8(%rsp,%rdi,2), %rax
72# HASWELL-NEXT:   [0,1]     D=eeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
73
74# SKYLAKE:        [0,0]     DeER .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
75# SKYLAKE-NEXT:   [0,1]     D=eeeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
76
77# ZNVER1:         [0,0]     DeER .    .    .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
78# ZNVER1-NEXT:    [0,1]     D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
79
80# ZNVER2:         [0,0]     DeER .    .    .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
81# ZNVER2-NEXT:    [0,1]     D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtss	(%rax), %xmm1
82
83# ALL:            Average Wait times (based on the timeline view):
84# ALL-NEXT:       [0]: Executions
85# ALL-NEXT:       [1]: Average time spent waiting in a scheduler's queue
86# ALL-NEXT:       [2]: Average time spent waiting in a scheduler's queue while ready
87# ALL-NEXT:       [3]: Average time elapsed from WB until retire stage
88
89# ALL:                  [0]    [1]    [2]    [3]
90# ALL-NEXT:       0.     1     1.0    1.0    0.0       leaq	8(%rsp,%rdi,2), %rax
91
92# BARCELONA-NEXT: 1.     1     2.0    0.0    0.0       sqrtss	(%rax), %xmm1
93# BARCELONA-NEXT:        1     1.5    0.5    0.0       <total>
94
95# BDVER2-NEXT:    1.     1     3.0    0.0    0.0       sqrtss	(%rax), %xmm1
96# BDVER2-NEXT:           1     2.0    0.5    0.0       <total>
97
98# BROADWELL-NEXT: 1.     1     2.0    0.0    0.0       sqrtss	(%rax), %xmm1
99# BROADWELL-NEXT:        1     1.5    0.5    0.0       <total>
100
101# BTVER2-NEXT:    1.     1     3.0    0.0    0.0       sqrtss	(%rax), %xmm1
102# BTVER2-NEXT:           1     2.0    0.5    0.0       <total>
103
104# HASWELL-NEXT:   1.     1     2.0    0.0    0.0       sqrtss	(%rax), %xmm1
105# HASWELL-NEXT:          1     1.5    0.5    0.0       <total>
106
107# SKYLAKE-NEXT:   1.     1     2.0    0.0    0.0       sqrtss	(%rax), %xmm1
108# SKYLAKE-NEXT:          1     1.5    0.5    0.0       <total>
109
110# ZNVER1-NEXT:    1.     1     2.0    0.0    0.0       sqrtss	(%rax), %xmm1
111# ZNVER1-NEXT:           1     1.5    0.5    0.0       <total>
112
113# ZNVER2-NEXT:    1.     1     2.0    0.0    0.0       sqrtss	(%rax), %xmm1
114# ZNVER2-NEXT:           1     1.5    0.5    0.0       <total>
115
116# ALL:            [1] Code Region - test_sqrtsd
117
118# ALL:            Timeline view:
119
120# BARCELONA-NEXT:                     0123456789          0
121# BARCELONA-NEXT: Index     0123456789          0123456789
122
123# BDVER2-NEXT:                        012345678
124# BDVER2-NEXT:    Index     0123456789
125
126# BROADWELL-NEXT:                     0123456789
127# BROADWELL-NEXT: Index     0123456789          01234
128
129# BTVER2-NEXT:                        0123456789          0123456
130# BTVER2-NEXT:    Index     0123456789          0123456789
131
132# HASWELL-NEXT:                       0123456789
133# HASWELL-NEXT:   Index     0123456789          01234
134
135# SKYLAKE-NEXT:                       0123456789
136# SKYLAKE-NEXT:   Index     0123456789          0123456
137
138# ZNVER1-NEXT:                        0123456789          0
139# ZNVER1-NEXT:    Index     0123456789          0123456789
140
141# ZNVER2-NEXT:                        0123456789          0
142# ZNVER2-NEXT:    Index     0123456789          0123456789
143
144# BARCELONA:      [0,0]     DeER .    .    .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
145# BARCELONA-NEXT: [0,1]     D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
146
147# BDVER2:         [0,0]     DeeER.    .    .  .   leaq	8(%rsp,%rdi,2), %rax
148# BDVER2-NEXT:    [0,1]     D==eeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
149
150# BROADWELL:      [0,0]     DeER .    .    .    .   .   leaq	8(%rsp,%rdi,2), %rax
151# BROADWELL-NEXT: [0,1]     D=eeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
152
153# BTVER2:         [0,0]     DeeER.    .    .    .    .    .    ..   leaq	8(%rsp,%rdi,2), %rax
154# BTVER2-NEXT:    [0,1]     D==eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
155
156# HASWELL:        [0,0]     DeER .    .    .    .   .   leaq	8(%rsp,%rdi,2), %rax
157# HASWELL-NEXT:   [0,1]     D=eeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
158
159# SKYLAKE:        [0,0]     DeER .    .    .    .    ..   leaq	8(%rsp,%rdi,2), %rax
160# SKYLAKE-NEXT:   [0,1]     D=eeeeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
161
162# ZNVER1:         [0,0]     DeER .    .    .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
163# ZNVER1-NEXT:    [0,1]     D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
164
165# ZNVER2:         [0,0]     DeER .    .    .    .    .    .   leaq	8(%rsp,%rdi,2), %rax
166# ZNVER2-NEXT:    [0,1]     D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER   sqrtsd	(%rax), %xmm1
167
168# ALL:            Average Wait times (based on the timeline view):
169# ALL-NEXT:       [0]: Executions
170# ALL-NEXT:       [1]: Average time spent waiting in a scheduler's queue
171# ALL-NEXT:       [2]: Average time spent waiting in a scheduler's queue while ready
172# ALL-NEXT:       [3]: Average time elapsed from WB until retire stage
173
174# ALL:                  [0]    [1]    [2]    [3]
175# ALL-NEXT:       0.     1     1.0    1.0    0.0       leaq	8(%rsp,%rdi,2), %rax
176
177# BARCELONA-NEXT: 1.     1     2.0    0.0    0.0       sqrtsd	(%rax), %xmm1
178# BARCELONA-NEXT:        1     1.5    0.5    0.0       <total>
179
180# BDVER2-NEXT:    1.     1     3.0    0.0    0.0       sqrtsd	(%rax), %xmm1
181# BDVER2-NEXT:           1     2.0    0.5    0.0       <total>
182
183# BROADWELL-NEXT: 1.     1     2.0    0.0    0.0       sqrtsd	(%rax), %xmm1
184# BROADWELL-NEXT:        1     1.5    0.5    0.0       <total>
185
186# BTVER2-NEXT:    1.     1     3.0    0.0    0.0       sqrtsd	(%rax), %xmm1
187# BTVER2-NEXT:           1     2.0    0.5    0.0       <total>
188
189# HASWELL-NEXT:   1.     1     2.0    0.0    0.0       sqrtsd	(%rax), %xmm1
190# HASWELL-NEXT:          1     1.5    0.5    0.0       <total>
191
192# SKYLAKE-NEXT:   1.     1     2.0    0.0    0.0       sqrtsd	(%rax), %xmm1
193# SKYLAKE-NEXT:          1     1.5    0.5    0.0       <total>
194
195# ZNVER1-NEXT:    1.     1     2.0    0.0    0.0       sqrtsd	(%rax), %xmm1
196# ZNVER1-NEXT:           1     1.5    0.5    0.0       <total>
197
198# ZNVER2-NEXT:    1.     1     2.0    0.0    0.0       sqrtsd	(%rax), %xmm1
199# ZNVER2-NEXT:           1     1.5    0.5    0.0       <total>
200
201# ALL:            [2] Code Region - test_rsqrtss
202
203# ALL:            Timeline view:
204
205# BARCELONA-NEXT:                     01234
206# BDVER2-NEXT:                        01234
207# BROADWELL-NEXT:                     0123
208# BTVER2-NEXT:                        01
209# HASWELL-NEXT:                       0123
210# SKYLAKE-NEXT:                       012
211# ZNVER1-NEXT:                        012345
212# ZNVER2-NEXT:                        012345
213
214# ALL-NEXT:       Index     0123456789
215
216# BARCELONA:      [0,0]     DeER .    .   .   leaq	8(%rsp,%rdi,2), %rax
217# BARCELONA-NEXT: [0,1]     D=eeeeeeeeeeeER   rsqrtss	(%rax), %xmm1
218
219# BDVER2:         [0,0]     DeeER.    .   .   leaq	8(%rsp,%rdi,2), %rax
220# BDVER2-NEXT:    [0,1]     D==eeeeeeeeeeER   rsqrtss	(%rax), %xmm1
221
222# BROADWELL:      [0,0]     DeER .    .  .   leaq	8(%rsp,%rdi,2), %rax
223# BROADWELL-NEXT: [0,1]     D=eeeeeeeeeeER   rsqrtss	(%rax), %xmm1
224
225# BTVER2:         [0,0]     DeeER.    ..   leaq	8(%rsp,%rdi,2), %rax
226# BTVER2-NEXT:    [0,1]     D==eeeeeeeER   rsqrtss	(%rax), %xmm1
227
228# HASWELL:        [0,0]     DeER .    .  .   leaq	8(%rsp,%rdi,2), %rax
229# HASWELL-NEXT:   [0,1]     D=eeeeeeeeeeER   rsqrtss	(%rax), %xmm1
230
231# SKYLAKE:        [0,0]     DeER .    . .   leaq	8(%rsp,%rdi,2), %rax
232# SKYLAKE-NEXT:   [0,1]     D=eeeeeeeeeER   rsqrtss	(%rax), %xmm1
233
234# ZNVER1:         [0,0]     DeER .    .    .   leaq	8(%rsp,%rdi,2), %rax
235# ZNVER1-NEXT:    [0,1]     D=eeeeeeeeeeeeER   rsqrtss	(%rax), %xmm1
236
237# ZNVER2:         [0,0]     DeER .    .    .   leaq	8(%rsp,%rdi,2), %rax
238# ZNVER2-NEXT:    [0,1]     D=eeeeeeeeeeeeER   rsqrtss	(%rax), %xmm1
239
240# ALL:            Average Wait times (based on the timeline view):
241# ALL-NEXT:       [0]: Executions
242# ALL-NEXT:       [1]: Average time spent waiting in a scheduler's queue
243# ALL-NEXT:       [2]: Average time spent waiting in a scheduler's queue while ready
244# ALL-NEXT:       [3]: Average time elapsed from WB until retire stage
245
246# ALL:                  [0]    [1]    [2]    [3]
247# ALL-NEXT:       0.     1     1.0    1.0    0.0       leaq	8(%rsp,%rdi,2), %rax
248
249# BARCELONA-NEXT: 1.     1     2.0    0.0    0.0       rsqrtss	(%rax), %xmm1
250# BARCELONA-NEXT:        1     1.5    0.5    0.0       <total>
251
252# BDVER2-NEXT:    1.     1     3.0    0.0    0.0       rsqrtss	(%rax), %xmm1
253# BDVER2-NEXT:           1     2.0    0.5    0.0       <total>
254
255# BROADWELL-NEXT: 1.     1     2.0    0.0    0.0       rsqrtss	(%rax), %xmm1
256# BROADWELL-NEXT:        1     1.5    0.5    0.0       <total>
257
258# BTVER2-NEXT:    1.     1     3.0    0.0    0.0       rsqrtss	(%rax), %xmm1
259# BTVER2-NEXT:           1     2.0    0.5    0.0       <total>
260
261# HASWELL-NEXT:   1.     1     2.0    0.0    0.0       rsqrtss	(%rax), %xmm1
262# HASWELL-NEXT:          1     1.5    0.5    0.0       <total>
263
264# SKYLAKE-NEXT:   1.     1     2.0    0.0    0.0       rsqrtss	(%rax), %xmm1
265# SKYLAKE-NEXT:          1     1.5    0.5    0.0       <total>
266
267# ZNVER1-NEXT:    1.     1     2.0    0.0    0.0       rsqrtss	(%rax), %xmm1
268# ZNVER1-NEXT:           1     1.5    0.5    0.0       <total>
269
270# ZNVER2-NEXT:    1.     1     2.0    0.0    0.0       rsqrtss	(%rax), %xmm1
271# ZNVER2-NEXT:           1     1.5    0.5    0.0       <total>
272
273# ALL:            [3] Code Region - test_rcp
274
275# ALL:            Timeline view:
276
277# BARCELONA-NEXT:                     01234
278# BDVER2-NEXT:                        01234
279# BROADWELL-NEXT:                     0123
280# BTVER2-NEXT:                        01
281# HASWELL-NEXT:                       0123
282# SKYLAKE-NEXT:                       012
283# ZNVER1-NEXT:                        012345
284# ZNVER2-NEXT:                        012345
285
286# ALL-NEXT:       Index     0123456789
287
288# BARCELONA:      [0,0]     DeER .    .   .   leaq	8(%rsp,%rdi,2), %rax
289# BARCELONA-NEXT: [0,1]     D=eeeeeeeeeeeER   rcpss	(%rax), %xmm1
290
291# BDVER2:         [0,0]     DeeER.    .   .   leaq	8(%rsp,%rdi,2), %rax
292# BDVER2-NEXT:    [0,1]     D==eeeeeeeeeeER   rcpss	(%rax), %xmm1
293
294# BROADWELL:      [0,0]     DeER .    .  .   leaq	8(%rsp,%rdi,2), %rax
295# BROADWELL-NEXT: [0,1]     D=eeeeeeeeeeER   rcpss	(%rax), %xmm1
296
297# BTVER2:         [0,0]     DeeER.    ..   leaq	8(%rsp,%rdi,2), %rax
298# BTVER2-NEXT:    [0,1]     D==eeeeeeeER   rcpss	(%rax), %xmm1
299
300# HASWELL:        [0,0]     DeER .    .  .   leaq	8(%rsp,%rdi,2), %rax
301# HASWELL-NEXT:   [0,1]     D=eeeeeeeeeeER   rcpss	(%rax), %xmm1
302
303# SKYLAKE:        [0,0]     DeER .    . .   leaq	8(%rsp,%rdi,2), %rax
304# SKYLAKE-NEXT:   [0,1]     D=eeeeeeeeeER   rcpss	(%rax), %xmm1
305
306# ZNVER1:         [0,0]     DeER .    .    .   leaq	8(%rsp,%rdi,2), %rax
307# ZNVER1-NEXT:    [0,1]     D=eeeeeeeeeeeeER   rcpss	(%rax), %xmm1
308
309# ZNVER2:         [0,0]     DeER .    .    .   leaq	8(%rsp,%rdi,2), %rax
310# ZNVER2-NEXT:    [0,1]     D=eeeeeeeeeeeeER   rcpss	(%rax), %xmm1
311
312# ALL:            Average Wait times (based on the timeline view):
313# ALL-NEXT:       [0]: Executions
314# ALL-NEXT:       [1]: Average time spent waiting in a scheduler's queue
315# ALL-NEXT:       [2]: Average time spent waiting in a scheduler's queue while ready
316# ALL-NEXT:       [3]: Average time elapsed from WB until retire stage
317
318# ALL:                  [0]    [1]    [2]    [3]
319# ALL-NEXT:       0.     1     1.0    1.0    0.0       leaq	8(%rsp,%rdi,2), %rax
320
321# BARCELONA-NEXT: 1.     1     2.0    0.0    0.0       rcpss	(%rax), %xmm1
322# BARCELONA-NEXT:        1     1.5    0.5    0.0       <total>
323
324# BDVER2-NEXT:    1.     1     3.0    0.0    0.0       rcpss	(%rax), %xmm1
325# BDVER2-NEXT:           1     2.0    0.5    0.0       <total>
326
327# BROADWELL-NEXT: 1.     1     2.0    0.0    0.0       rcpss	(%rax), %xmm1
328# BROADWELL-NEXT:        1     1.5    0.5    0.0       <total>
329
330# BTVER2-NEXT:    1.     1     3.0    0.0    0.0       rcpss	(%rax), %xmm1
331# BTVER2-NEXT:           1     2.0    0.5    0.0       <total>
332
333# HASWELL-NEXT:   1.     1     2.0    0.0    0.0       rcpss	(%rax), %xmm1
334# HASWELL-NEXT:          1     1.5    0.5    0.0       <total>
335
336# SKYLAKE-NEXT:   1.     1     2.0    0.0    0.0       rcpss	(%rax), %xmm1
337# SKYLAKE-NEXT:          1     1.5    0.5    0.0       <total>
338
339# ZNVER1-NEXT:    1.     1     2.0    0.0    0.0       rcpss	(%rax), %xmm1
340# ZNVER1-NEXT:           1     1.5    0.5    0.0       <total>
341
342# ZNVER2-NEXT:    1.     1     2.0    0.0    0.0       rcpss	(%rax), %xmm1
343# ZNVER2-NEXT:           1     1.5    0.5    0.0       <total>
344