xref: /llvm-project/llvm/test/tools/llvm-mca/X86/read-after-ld-2.s (revision a7441289e2eb8ccf71c1a60b71d898069e82b22b)
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown  -mcpu=haswell -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,HASWELL
3
4# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDWELL
5
6# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE
7
8# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE
9
10# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER1
11
12# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER2
13
14# Code Snippet from "Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks"
15# Charith Mendis, Saman Amarasinghe, Michael Carbin
16add     $1, %edx
17vpaddd (%r8), %ymm0, %ymm0
18add     $32, %r8
19cmp     %edi, %edx
20
21# ALL:          Iterations:        100
22# ALL-NEXT:     Instructions:      400
23
24# BDWELL-NEXT:  Total Cycles:      142
25# BDWELL-NEXT:  Total uOps:        500
26
27# HASWELL-NEXT: Total Cycles:      143
28# HASWELL-NEXT: Total uOps:        500
29
30# SKYLAKE-NEXT: Total Cycles:      110
31# SKYLAKE-NEXT: Total uOps:        500
32
33# ZNVER1-NEXT:  Total Cycles:      143
34# ZNVER1-NEXT:  Total uOps:        500
35
36# ZNVER2-NEXT:  Total Cycles:      110
37# ZNVER2-NEXT:  Total uOps:        400
38
39# BDWELL:       Dispatch Width:    4
40# BDWELL-NEXT:  uOps Per Cycle:    3.52
41# BDWELL-NEXT:  IPC:               2.82
42# BDWELL-NEXT:  Block RThroughput: 1.3
43
44# HASWELL:      Dispatch Width:    4
45# HASWELL-NEXT: uOps Per Cycle:    3.50
46# HASWELL-NEXT: IPC:               2.80
47# HASWELL-NEXT: Block RThroughput: 1.3
48
49# SKYLAKE:      Dispatch Width:    6
50# SKYLAKE-NEXT: uOps Per Cycle:    4.55
51# SKYLAKE-NEXT: IPC:               3.64
52# SKYLAKE-NEXT: Block RThroughput: 0.8
53
54# ZNVER1:       Dispatch Width:    4
55# ZNVER1-NEXT:  uOps Per Cycle:    3.50
56# ZNVER1-NEXT:  IPC:               2.80
57# ZNVER1-NEXT:  Block RThroughput: 1.3
58
59# ZNVER2:       Dispatch Width:    4
60# ZNVER2-NEXT:  uOps Per Cycle:    3.64
61# ZNVER2-NEXT:  IPC:               3.64
62# ZNVER2-NEXT:  Block RThroughput: 1.0
63
64# ALL:          Timeline view:
65
66# BDWELL-NEXT:                      0123456789
67# BDWELL-NEXT:  Index     0123456789          01
68
69# HASWELL-NEXT:                     0123456789
70# HASWELL-NEXT: Index     0123456789          012
71
72# SKYLAKE-NEXT:                     0123456789
73# SKYLAKE-NEXT: Index     0123456789
74
75# ZNVER1-NEXT:                      0123456789
76# ZNVER1-NEXT:  Index     0123456789          012
77
78# ZNVER2-NEXT:                      0123456789
79# ZNVER2-NEXT:  Index     0123456789
80
81# BDWELL:       [0,0]     DeER .    .    .    ..   addl	$1, %edx
82# BDWELL-NEXT:  [0,1]     DeeeeeeeER.    .    ..   vpaddd	(%r8), %ymm0, %ymm0
83# BDWELL-NEXT:  [0,2]     DeE------R.    .    ..   addq	$32, %r8
84# BDWELL-NEXT:  [0,3]     .DeE-----R.    .    ..   cmpl	%edi, %edx
85# BDWELL-NEXT:  [1,0]     .DeE-----R.    .    ..   addl	$1, %edx
86# BDWELL-NEXT:  [1,1]     .DeeeeeeeER    .    ..   vpaddd	(%r8), %ymm0, %ymm0
87# BDWELL-NEXT:  [1,2]     . DeE-----R    .    ..   addq	$32, %r8
88# BDWELL-NEXT:  [1,3]     . DeE-----R    .    ..   cmpl	%edi, %edx
89# BDWELL-NEXT:  [2,0]     . DeE-----R    .    ..   addl	$1, %edx
90# BDWELL-NEXT:  [2,1]     .  DeeeeeeeER  .    ..   vpaddd	(%r8), %ymm0, %ymm0
91# BDWELL-NEXT:  [2,2]     .  DeE------R  .    ..   addq	$32, %r8
92# BDWELL-NEXT:  [2,3]     .  DeE------R  .    ..   cmpl	%edi, %edx
93# BDWELL-NEXT:  [3,0]     .   DeE-----R  .    ..   addl	$1, %edx
94# BDWELL-NEXT:  [3,1]     .   DeeeeeeeER .    ..   vpaddd	(%r8), %ymm0, %ymm0
95# BDWELL-NEXT:  [3,2]     .   DeE------R .    ..   addq	$32, %r8
96# BDWELL-NEXT:  [3,3]     .    DeE-----R .    ..   cmpl	%edi, %edx
97# BDWELL-NEXT:  [4,0]     .    DeE-----R .    ..   addl	$1, %edx
98# BDWELL-NEXT:  [4,1]     .    DeeeeeeeER.    ..   vpaddd	(%r8), %ymm0, %ymm0
99# BDWELL-NEXT:  [4,2]     .    .DeE-----R.    ..   addq	$32, %r8
100# BDWELL-NEXT:  [4,3]     .    .DeE-----R.    ..   cmpl	%edi, %edx
101# BDWELL-NEXT:  [5,0]     .    .DeE-----R.    ..   addl	$1, %edx
102# BDWELL-NEXT:  [5,1]     .    . DeeeeeeeER   ..   vpaddd	(%r8), %ymm0, %ymm0
103# BDWELL-NEXT:  [5,2]     .    . DeE------R   ..   addq	$32, %r8
104# BDWELL-NEXT:  [5,3]     .    . DeE------R   ..   cmpl	%edi, %edx
105# BDWELL-NEXT:  [6,0]     .    .  DeE-----R   ..   addl	$1, %edx
106# BDWELL-NEXT:  [6,1]     .    .  DeeeeeeeER  ..   vpaddd	(%r8), %ymm0, %ymm0
107# BDWELL-NEXT:  [6,2]     .    .  DeE------R  ..   addq	$32, %r8
108# BDWELL-NEXT:  [6,3]     .    .   DeE-----R  ..   cmpl	%edi, %edx
109# BDWELL-NEXT:  [7,0]     .    .   DeE-----R  ..   addl	$1, %edx
110# BDWELL-NEXT:  [7,1]     .    .   DeeeeeeeER ..   vpaddd	(%r8), %ymm0, %ymm0
111# BDWELL-NEXT:  [7,2]     .    .    DeE-----R ..   addq	$32, %r8
112# BDWELL-NEXT:  [7,3]     .    .    DeE-----R ..   cmpl	%edi, %edx
113# BDWELL-NEXT:  [8,0]     .    .    DeE-----R ..   addl	$1, %edx
114# BDWELL-NEXT:  [8,1]     .    .    .DeeeeeeeER.   vpaddd	(%r8), %ymm0, %ymm0
115# BDWELL-NEXT:  [8,2]     .    .    .DeE------R.   addq	$32, %r8
116# BDWELL-NEXT:  [8,3]     .    .    .DeE------R.   cmpl	%edi, %edx
117# BDWELL-NEXT:  [9,0]     .    .    . DeE-----R.   addl	$1, %edx
118# BDWELL-NEXT:  [9,1]     .    .    . DeeeeeeeER   vpaddd	(%r8), %ymm0, %ymm0
119# BDWELL-NEXT:  [9,2]     .    .    . DeE------R   addq	$32, %r8
120# BDWELL-NEXT:  [9,3]     .    .    .  DeE-----R   cmpl	%edi, %edx
121
122# HASWELL:      [0,0]     DeER .    .    .    . .   addl	$1, %edx
123# HASWELL-NEXT: [0,1]     DeeeeeeeeER    .    . .   vpaddd	(%r8), %ymm0, %ymm0
124# HASWELL-NEXT: [0,2]     DeE-------R    .    . .   addq	$32, %r8
125# HASWELL-NEXT: [0,3]     .DeE------R    .    . .   cmpl	%edi, %edx
126# HASWELL-NEXT: [1,0]     .DeE------R    .    . .   addl	$1, %edx
127# HASWELL-NEXT: [1,1]     .DeeeeeeeeER   .    . .   vpaddd	(%r8), %ymm0, %ymm0
128# HASWELL-NEXT: [1,2]     . DeE------R   .    . .   addq	$32, %r8
129# HASWELL-NEXT: [1,3]     . DeE------R   .    . .   cmpl	%edi, %edx
130# HASWELL-NEXT: [2,0]     . DeE------R   .    . .   addl	$1, %edx
131# HASWELL-NEXT: [2,1]     .  DeeeeeeeeER .    . .   vpaddd	(%r8), %ymm0, %ymm0
132# HASWELL-NEXT: [2,2]     .  DeE-------R .    . .   addq	$32, %r8
133# HASWELL-NEXT: [2,3]     .  DeE-------R .    . .   cmpl	%edi, %edx
134# HASWELL-NEXT: [3,0]     .   DeE------R .    . .   addl	$1, %edx
135# HASWELL-NEXT: [3,1]     .   DeeeeeeeeER.    . .   vpaddd	(%r8), %ymm0, %ymm0
136# HASWELL-NEXT: [3,2]     .   DeE-------R.    . .   addq	$32, %r8
137# HASWELL-NEXT: [3,3]     .    DeE------R.    . .   cmpl	%edi, %edx
138# HASWELL-NEXT: [4,0]     .    DeE------R.    . .   addl	$1, %edx
139# HASWELL-NEXT: [4,1]     .    DeeeeeeeeER    . .   vpaddd	(%r8), %ymm0, %ymm0
140# HASWELL-NEXT: [4,2]     .    .DeE------R    . .   addq	$32, %r8
141# HASWELL-NEXT: [4,3]     .    .DeE------R    . .   cmpl	%edi, %edx
142# HASWELL-NEXT: [5,0]     .    .DeE------R    . .   addl	$1, %edx
143# HASWELL-NEXT: [5,1]     .    . DeeeeeeeeER  . .   vpaddd	(%r8), %ymm0, %ymm0
144# HASWELL-NEXT: [5,2]     .    . DeE-------R  . .   addq	$32, %r8
145# HASWELL-NEXT: [5,3]     .    . DeE-------R  . .   cmpl	%edi, %edx
146# HASWELL-NEXT: [6,0]     .    .  DeE------R  . .   addl	$1, %edx
147# HASWELL-NEXT: [6,1]     .    .  DeeeeeeeeER . .   vpaddd	(%r8), %ymm0, %ymm0
148# HASWELL-NEXT: [6,2]     .    .  DeE-------R . .   addq	$32, %r8
149# HASWELL-NEXT: [6,3]     .    .   DeE------R . .   cmpl	%edi, %edx
150# HASWELL-NEXT: [7,0]     .    .   DeE------R . .   addl	$1, %edx
151# HASWELL-NEXT: [7,1]     .    .   DeeeeeeeeER. .   vpaddd	(%r8), %ymm0, %ymm0
152# HASWELL-NEXT: [7,2]     .    .    DeE------R. .   addq	$32, %r8
153# HASWELL-NEXT: [7,3]     .    .    DeE------R. .   cmpl	%edi, %edx
154# HASWELL-NEXT: [8,0]     .    .    DeE------R. .   addl	$1, %edx
155# HASWELL-NEXT: [8,1]     .    .    .DeeeeeeeeER.   vpaddd	(%r8), %ymm0, %ymm0
156# HASWELL-NEXT: [8,2]     .    .    .DeE-------R.   addq	$32, %r8
157# HASWELL-NEXT: [8,3]     .    .    .DeE-------R.   cmpl	%edi, %edx
158# HASWELL-NEXT: [9,0]     .    .    . DeE------R.   addl	$1, %edx
159# HASWELL-NEXT: [9,1]     .    .    . DeeeeeeeeER   vpaddd	(%r8), %ymm0, %ymm0
160# HASWELL-NEXT: [9,2]     .    .    . DeE-------R   addq	$32, %r8
161# HASWELL-NEXT: [9,3]     .    .    .  DeE------R   cmpl	%edi, %edx
162
163# SKYLAKE:      [0,0]     DeER .    .    .   .   addl	$1, %edx
164# SKYLAKE-NEXT: [0,1]     DeeeeeeeeER    .   .   vpaddd	(%r8), %ymm0, %ymm0
165# SKYLAKE-NEXT: [0,2]     DeE-------R    .   .   addq	$32, %r8
166# SKYLAKE-NEXT: [0,3]     D=eE------R    .   .   cmpl	%edi, %edx
167# SKYLAKE-NEXT: [1,0]     D=eE------R    .   .   addl	$1, %edx
168# SKYLAKE-NEXT: [1,1]     .DeeeeeeeeER   .   .   vpaddd	(%r8), %ymm0, %ymm0
169# SKYLAKE-NEXT: [1,2]     .DeE-------R   .   .   addq	$32, %r8
170# SKYLAKE-NEXT: [1,3]     .D=eE------R   .   .   cmpl	%edi, %edx
171# SKYLAKE-NEXT: [2,0]     .D=eE------R   .   .   addl	$1, %edx
172# SKYLAKE-NEXT: [2,1]     . DeeeeeeeeER  .   .   vpaddd	(%r8), %ymm0, %ymm0
173# SKYLAKE-NEXT: [2,2]     . DeE-------R  .   .   addq	$32, %r8
174# SKYLAKE-NEXT: [2,3]     . D=eE------R  .   .   cmpl	%edi, %edx
175# SKYLAKE-NEXT: [3,0]     . D=eE------R  .   .   addl	$1, %edx
176# SKYLAKE-NEXT: [3,1]     .  DeeeeeeeeER .   .   vpaddd	(%r8), %ymm0, %ymm0
177# SKYLAKE-NEXT: [3,2]     .  DeE-------R .   .   addq	$32, %r8
178# SKYLAKE-NEXT: [3,3]     .  D=eE------R .   .   cmpl	%edi, %edx
179# SKYLAKE-NEXT: [4,0]     .  D=eE------R .   .   addl	$1, %edx
180# SKYLAKE-NEXT: [4,1]     .   DeeeeeeeeER.   .   vpaddd	(%r8), %ymm0, %ymm0
181# SKYLAKE-NEXT: [4,2]     .   DeE-------R.   .   addq	$32, %r8
182# SKYLAKE-NEXT: [4,3]     .   D=eE------R.   .   cmpl	%edi, %edx
183# SKYLAKE-NEXT: [5,0]     .   D=eE------R.   .   addl	$1, %edx
184# SKYLAKE-NEXT: [5,1]     .    DeeeeeeeeER   .   vpaddd	(%r8), %ymm0, %ymm0
185# SKYLAKE-NEXT: [5,2]     .    DeE-------R   .   addq	$32, %r8
186# SKYLAKE-NEXT: [5,3]     .    D=eE------R   .   cmpl	%edi, %edx
187# SKYLAKE-NEXT: [6,0]     .    D=eE------R   .   addl	$1, %edx
188# SKYLAKE-NEXT: [6,1]     .    .DeeeeeeeeER  .   vpaddd	(%r8), %ymm0, %ymm0
189# SKYLAKE-NEXT: [6,2]     .    .DeE-------R  .   addq	$32, %r8
190# SKYLAKE-NEXT: [6,3]     .    .D=eE------R  .   cmpl	%edi, %edx
191# SKYLAKE-NEXT: [7,0]     .    .D=eE------R  .   addl	$1, %edx
192# SKYLAKE-NEXT: [7,1]     .    . DeeeeeeeeER .   vpaddd	(%r8), %ymm0, %ymm0
193# SKYLAKE-NEXT: [7,2]     .    . DeE-------R .   addq	$32, %r8
194# SKYLAKE-NEXT: [7,3]     .    . D=eE------R .   cmpl	%edi, %edx
195# SKYLAKE-NEXT: [8,0]     .    . D=eE------R .   addl	$1, %edx
196# SKYLAKE-NEXT: [8,1]     .    .  DeeeeeeeeER.   vpaddd	(%r8), %ymm0, %ymm0
197# SKYLAKE-NEXT: [8,2]     .    .  DeE-------R.   addq	$32, %r8
198# SKYLAKE-NEXT: [8,3]     .    .  D=eE------R.   cmpl	%edi, %edx
199# SKYLAKE-NEXT: [9,0]     .    .  D=eE------R.   addl	$1, %edx
200# SKYLAKE-NEXT: [9,1]     .    .   DeeeeeeeeER   vpaddd	(%r8), %ymm0, %ymm0
201# SKYLAKE-NEXT: [9,2]     .    .   DeE-------R   addq	$32, %r8
202# SKYLAKE-NEXT: [9,3]     .    .   D=eE------R   cmpl	%edi, %edx
203
204# ZNVER1:       [0,0]     DeER .    .    .    . .   addl	$1, %edx
205# ZNVER1-NEXT:  [0,1]     DeeeeeeeeER    .    . .   vpaddd	(%r8), %ymm0, %ymm0
206# ZNVER1-NEXT:  [0,2]     DeE-------R    .    . .   addq	$32, %r8
207# ZNVER1-NEXT:  [0,3]     .DeE------R    .    . .   cmpl	%edi, %edx
208# ZNVER1-NEXT:  [1,0]     .DeE------R    .    . .   addl	$1, %edx
209# ZNVER1-NEXT:  [1,1]     .DeeeeeeeeER   .    . .   vpaddd	(%r8), %ymm0, %ymm0
210# ZNVER1-NEXT:  [1,2]     . DeE------R   .    . .   addq	$32, %r8
211# ZNVER1-NEXT:  [1,3]     . DeE------R   .    . .   cmpl	%edi, %edx
212# ZNVER1-NEXT:  [2,0]     . DeE------R   .    . .   addl	$1, %edx
213# ZNVER1-NEXT:  [2,1]     .  DeeeeeeeeER .    . .   vpaddd	(%r8), %ymm0, %ymm0
214# ZNVER1-NEXT:  [2,2]     .  DeE-------R .    . .   addq	$32, %r8
215# ZNVER1-NEXT:  [2,3]     .  DeE-------R .    . .   cmpl	%edi, %edx
216# ZNVER1-NEXT:  [3,0]     .   DeE------R .    . .   addl	$1, %edx
217# ZNVER1-NEXT:  [3,1]     .   DeeeeeeeeER.    . .   vpaddd	(%r8), %ymm0, %ymm0
218# ZNVER1-NEXT:  [3,2]     .   DeE-------R.    . .   addq	$32, %r8
219# ZNVER1-NEXT:  [3,3]     .    DeE------R.    . .   cmpl	%edi, %edx
220# ZNVER1-NEXT:  [4,0]     .    DeE------R.    . .   addl	$1, %edx
221# ZNVER1-NEXT:  [4,1]     .    DeeeeeeeeER    . .   vpaddd	(%r8), %ymm0, %ymm0
222# ZNVER1-NEXT:  [4,2]     .    .DeE------R    . .   addq	$32, %r8
223# ZNVER1-NEXT:  [4,3]     .    .DeE------R    . .   cmpl	%edi, %edx
224# ZNVER1-NEXT:  [5,0]     .    .DeE------R    . .   addl	$1, %edx
225# ZNVER1-NEXT:  [5,1]     .    . DeeeeeeeeER  . .   vpaddd	(%r8), %ymm0, %ymm0
226# ZNVER1-NEXT:  [5,2]     .    . DeE-------R  . .   addq	$32, %r8
227# ZNVER1-NEXT:  [5,3]     .    . DeE-------R  . .   cmpl	%edi, %edx
228# ZNVER1-NEXT:  [6,0]     .    .  DeE------R  . .   addl	$1, %edx
229# ZNVER1-NEXT:  [6,1]     .    .  DeeeeeeeeER . .   vpaddd	(%r8), %ymm0, %ymm0
230# ZNVER1-NEXT:  [6,2]     .    .  DeE-------R . .   addq	$32, %r8
231# ZNVER1-NEXT:  [6,3]     .    .   DeE------R . .   cmpl	%edi, %edx
232# ZNVER1-NEXT:  [7,0]     .    .   DeE------R . .   addl	$1, %edx
233# ZNVER1-NEXT:  [7,1]     .    .   DeeeeeeeeER. .   vpaddd	(%r8), %ymm0, %ymm0
234# ZNVER1-NEXT:  [7,2]     .    .    DeE------R. .   addq	$32, %r8
235# ZNVER1-NEXT:  [7,3]     .    .    DeE------R. .   cmpl	%edi, %edx
236# ZNVER1-NEXT:  [8,0]     .    .    DeE------R. .   addl	$1, %edx
237# ZNVER1-NEXT:  [8,1]     .    .    .DeeeeeeeeER.   vpaddd	(%r8), %ymm0, %ymm0
238# ZNVER1-NEXT:  [8,2]     .    .    .DeE-------R.   addq	$32, %r8
239# ZNVER1-NEXT:  [8,3]     .    .    .DeE-------R.   cmpl	%edi, %edx
240# ZNVER1-NEXT:  [9,0]     .    .    . DeE------R.   addl	$1, %edx
241# ZNVER1-NEXT:  [9,1]     .    .    . DeeeeeeeeER   vpaddd	(%r8), %ymm0, %ymm0
242# ZNVER1-NEXT:  [9,2]     .    .    . DeE-------R   addq	$32, %r8
243# ZNVER1-NEXT:  [9,3]     .    .    .  DeE------R   cmpl	%edi, %edx
244
245# ZNVER2:       [0,0]     DeER .    .    .   .   addl	$1, %edx
246# ZNVER2-NEXT:  [0,1]     DeeeeeeeeER    .   .   vpaddd	(%r8), %ymm0, %ymm0
247# ZNVER2-NEXT:  [0,2]     DeE-------R    .   .   addq	$32, %r8
248# ZNVER2-NEXT:  [0,3]     D=eE------R    .   .   cmpl	%edi, %edx
249# ZNVER2-NEXT:  [1,0]     .DeE------R    .   .   addl	$1, %edx
250# ZNVER2-NEXT:  [1,1]     .DeeeeeeeeER   .   .   vpaddd	(%r8), %ymm0, %ymm0
251# ZNVER2-NEXT:  [1,2]     .DeE-------R   .   .   addq	$32, %r8
252# ZNVER2-NEXT:  [1,3]     .D=eE------R   .   .   cmpl	%edi, %edx
253# ZNVER2-NEXT:  [2,0]     . DeE------R   .   .   addl	$1, %edx
254# ZNVER2-NEXT:  [2,1]     . DeeeeeeeeER  .   .   vpaddd	(%r8), %ymm0, %ymm0
255# ZNVER2-NEXT:  [2,2]     . DeE-------R  .   .   addq	$32, %r8
256# ZNVER2-NEXT:  [2,3]     . D=eE------R  .   .   cmpl	%edi, %edx
257# ZNVER2-NEXT:  [3,0]     .  DeE------R  .   .   addl	$1, %edx
258# ZNVER2-NEXT:  [3,1]     .  DeeeeeeeeER .   .   vpaddd	(%r8), %ymm0, %ymm0
259# ZNVER2-NEXT:  [3,2]     .  DeE-------R .   .   addq	$32, %r8
260# ZNVER2-NEXT:  [3,3]     .  D=eE------R .   .   cmpl	%edi, %edx
261# ZNVER2-NEXT:  [4,0]     .   DeE------R .   .   addl	$1, %edx
262# ZNVER2-NEXT:  [4,1]     .   DeeeeeeeeER.   .   vpaddd	(%r8), %ymm0, %ymm0
263# ZNVER2-NEXT:  [4,2]     .   DeE-------R.   .   addq	$32, %r8
264# ZNVER2-NEXT:  [4,3]     .   D=eE------R.   .   cmpl	%edi, %edx
265# ZNVER2-NEXT:  [5,0]     .    DeE------R.   .   addl	$1, %edx
266# ZNVER2-NEXT:  [5,1]     .    DeeeeeeeeER   .   vpaddd	(%r8), %ymm0, %ymm0
267# ZNVER2-NEXT:  [5,2]     .    DeE-------R   .   addq	$32, %r8
268# ZNVER2-NEXT:  [5,3]     .    D=eE------R   .   cmpl	%edi, %edx
269# ZNVER2-NEXT:  [6,0]     .    .DeE------R   .   addl	$1, %edx
270# ZNVER2-NEXT:  [6,1]     .    .DeeeeeeeeER  .   vpaddd	(%r8), %ymm0, %ymm0
271# ZNVER2-NEXT:  [6,2]     .    .DeE-------R  .   addq	$32, %r8
272# ZNVER2-NEXT:  [6,3]     .    .D=eE------R  .   cmpl	%edi, %edx
273# ZNVER2-NEXT:  [7,0]     .    . DeE------R  .   addl	$1, %edx
274# ZNVER2-NEXT:  [7,1]     .    . DeeeeeeeeER .   vpaddd	(%r8), %ymm0, %ymm0
275# ZNVER2-NEXT:  [7,2]     .    . DeE-------R .   addq	$32, %r8
276# ZNVER2-NEXT:  [7,3]     .    . D=eE------R .   cmpl	%edi, %edx
277# ZNVER2-NEXT:  [8,0]     .    .  DeE------R .   addl	$1, %edx
278# ZNVER2-NEXT:  [8,1]     .    .  DeeeeeeeeER.   vpaddd	(%r8), %ymm0, %ymm0
279# ZNVER2-NEXT:  [8,2]     .    .  DeE-------R.   addq	$32, %r8
280# ZNVER2-NEXT:  [8,3]     .    .  D=eE------R.   cmpl	%edi, %edx
281# ZNVER2-NEXT:  [9,0]     .    .   DeE------R.   addl	$1, %edx
282# ZNVER2-NEXT:  [9,1]     .    .   DeeeeeeeeER   vpaddd	(%r8), %ymm0, %ymm0
283# ZNVER2-NEXT:  [9,2]     .    .   DeE-------R   addq	$32, %r8
284# ZNVER2-NEXT:  [9,3]     .    .   D=eE------R   cmpl	%edi, %edx
285
286# ALL:          Average Wait times (based on the timeline view):
287# ALL-NEXT:     [0]: Executions
288# ALL-NEXT:     [1]: Average time spent waiting in a scheduler's queue
289# ALL-NEXT:     [2]: Average time spent waiting in a scheduler's queue while ready
290# ALL-NEXT:     [3]: Average time elapsed from WB until retire stage
291
292# ALL:                [0]    [1]    [2]    [3]
293
294# BDWELL-NEXT:  0.     10    1.0    0.4    4.5       addl	$1, %edx
295# HASWELL-NEXT: 0.     10    1.0    0.4    5.4       addl	$1, %edx
296# SKYLAKE-NEXT: 0.     10    1.9    0.1    5.4       addl	$1, %edx
297# ZNVER1-NEXT:  0.     10    1.0    0.4    5.4       addl	$1, %edx
298# ZNVER2-NEXT:  0.     10    1.0    0.1    5.4       addl	$1, %edx
299
300# ALL-NEXT:     1.     10    1.0    0.1    0.0       vpaddd	(%r8), %ymm0, %ymm0
301
302# BDWELL-NEXT:  2.     10    1.0    0.4    5.7       addq	$32, %r8
303# BDWELL-NEXT:  3.     10    1.0    0.0    5.3       cmpl	%edi, %edx
304# BDWELL-NEXT:         10    1.0    0.2    3.9       <total>
305
306# HASWELL-NEXT: 2.     10    1.0    0.4    6.7       addq	$32, %r8
307# HASWELL-NEXT: 3.     10    1.0    0.0    6.3       cmpl	%edi, %edx
308# HASWELL-NEXT:        10    1.0    0.2    4.6       <total>
309
310# SKYLAKE-NEXT: 2.     10    1.0    0.1    7.0       addq	$32, %r8
311# SKYLAKE-NEXT: 3.     10    2.0    0.0    6.0       cmpl	%edi, %edx
312# SKYLAKE-NEXT:        10    1.5    0.1    4.6       <total>
313
314# ZNVER1-NEXT:  2.     10    1.0    0.4    6.7       addq	$32, %r8
315# ZNVER1-NEXT:  3.     10    1.0    0.0    6.3       cmpl	%edi, %edx
316# ZNVER1-NEXT:         10    1.0    0.2    4.6       <total>
317
318# ZNVER2-NEXT:  2.     10    1.0    0.1    7.0       addq	$32, %r8
319# ZNVER2-NEXT:  3.     10    2.0    0.0    6.0       cmpl	%edi, %edx
320# ZNVER2-NEXT:         10    1.3    0.1    4.6       <total>
321