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 -instruction-tables < %s | FileCheck %s
22 vpcmov
%xmm0
, %xmm1
, %xmm2
, %xmm3
23 vpcmov
(%rax
), %xmm0
, %xmm1
, %xmm3
24 vpcmov
%xmm0
, (%rax
), %xmm1
, %xmm3
26 vpcmov
%ymm0
, %ymm1
, %ymm2
, %ymm3
27 vpcmov
(%rax
), %ymm0
, %ymm1
, %ymm3
28 vpcmov
%ymm0
, (%rax
), %ymm1
, %ymm3
30 vpcomb $
0, %xmm0
, %xmm1
, %xmm3
31 vpcomb $
0, (%rax
), %xmm0
, %xmm3
33 vpcomd $
0, %xmm0
, %xmm1
, %xmm3
34 vpcomd $
0, (%rax
), %xmm0
, %xmm3
36 vpcomq $
0, %xmm0
, %xmm1
, %xmm3
37 vpcomq $
0, (%rax
), %xmm0
, %xmm3
39 vpcomub $
0, %xmm0
, %xmm1
, %xmm3
40 vpcomub $
0, (%rax
), %xmm0
, %xmm3
42 vpcomud $
0, %xmm0
, %xmm1
, %xmm3
43 vpcomud $
0, (%rax
), %xmm0
, %xmm3
45 vpcomuq $
0, %xmm0
, %xmm1
, %xmm3
46 vpcomuq $
0, (%rax
), %xmm0
, %xmm3
48 vpcomuw $
0, %xmm0
, %xmm1
, %xmm3
49 vpcomuw $
0, (%rax
), %xmm0
, %xmm3
51 vpcomw $
0, %xmm0
, %xmm1
, %xmm3
52 vpcomw $
0, (%rax
), %xmm0
, %xmm3
54 vpermil2pd $
0, %xmm0
, %xmm1
, %xmm2
, %xmm3
55 vpermil2pd $
0, (%rax
), %xmm0
, %xmm1
, %xmm3
56 vpermil2pd $
0, %xmm0
, (%rax
), %xmm1
, %xmm3
58 vpermil2pd $
0, %ymm0
, %ymm1
, %ymm2
, %ymm3
59 vpermil2pd $
0, (%rax
), %ymm0
, %ymm1
, %ymm3
60 vpermil2pd $
0, %ymm0
, (%rax
), %ymm1
, %ymm3
62 vpermil2ps $
0, %xmm0
, %xmm1
, %xmm2
, %xmm3
63 vpermil2ps $
0, (%rax
), %xmm0
, %xmm1
, %xmm3
64 vpermil2ps $
0, %xmm0
, (%rax
), %xmm1
, %xmm3
66 vpermil2ps $
0, %ymm0
, %ymm1
, %ymm2
, %ymm3
67 vpermil2ps $
0, (%rax
), %ymm0
, %ymm1
, %ymm3
68 vpermil2ps $
0, %ymm0
, (%rax
), %ymm1
, %ymm3
71 vphaddbd
(%rax
), %xmm3
74 vphaddbq
(%rax
), %xmm3
77 vphaddbw
(%rax
), %xmm3
80 vphadddq
(%rax
), %xmm3
82 vphaddubd
%xmm0
, %xmm3
83 vphaddubd
(%rax
), %xmm3
85 vphaddubq
%xmm0
, %xmm3
86 vphaddubq
(%rax
), %xmm3
88 vphaddubw
%xmm0
, %xmm3
89 vphaddubw
(%rax
), %xmm3
91 vphaddudq
%xmm0
, %xmm3
92 vphaddudq
(%rax
), %xmm3
94 vphadduwd
%xmm0
, %xmm3
95 vphadduwd
(%rax
), %xmm3
97 vphadduwq
%xmm0
, %xmm3
98 vphadduwq
(%rax
), %xmm3
100 vphaddwd
%xmm0
, %xmm3
101 vphaddwd
(%rax
), %xmm3
103 vphaddwq
%xmm0
, %xmm3
104 vphaddwq
(%rax
), %xmm3
106 vphsubbw
%xmm0
, %xmm3
107 vphsubbw
(%rax
), %xmm3
109 vphsubdq
%xmm0
, %xmm3
110 vphsubdq
(%rax
), %xmm3
112 vphsubwd
%xmm0
, %xmm3
113 vphsubwd
(%rax
), %xmm3
115 vpmacsdd
%xmm0
, %xmm1
, %xmm2
, %xmm3
116 vpmacsdd
%xmm0
, (%rax
), %xmm1
, %xmm3
118 vpmacsdqh
%xmm0
, %xmm1
, %xmm2
, %xmm3
119 vpmacsdqh
%xmm0
, (%rax
), %xmm1
, %xmm3
121 vpmacsdql
%xmm0
, %xmm1
, %xmm2
, %xmm3
122 vpmacsdql
%xmm0
, (%rax
), %xmm1
, %xmm3
124 vpmacssdd
%xmm0
, %xmm1
, %xmm2
, %xmm3
125 vpmacssdd
%xmm0
, (%rax
), %xmm1
, %xmm3
127 vpmacssdqh
%xmm0
, %xmm1
, %xmm2
, %xmm3
128 vpmacssdqh
%xmm0
, (%rax
), %xmm1
, %xmm3
130 vpmacssdql
%xmm0
, %xmm1
, %xmm2
, %xmm3
131 vpmacssdql
%xmm0
, (%rax
), %xmm1
, %xmm3
133 vpmacsswd
%xmm0
, %xmm1
, %xmm2
, %xmm3
134 vpmacsswd
%xmm0
, (%rax
), %xmm1
, %xmm3
136 vpmacssww
%xmm0
, %xmm1
, %xmm2
, %xmm3
137 vpmacssww
%xmm0
, (%rax
), %xmm1
, %xmm3
139 vpmacswd
%xmm0
, %xmm1
, %xmm2
, %xmm3
140 vpmacswd
%xmm0
, (%rax
), %xmm1
, %xmm3
142 vpmacsww
%xmm0
, %xmm1
, %xmm2
, %xmm3
143 vpmacsww
%xmm0
, (%rax
), %xmm1
, %xmm3
145 vpmadcsswd
%xmm0
, %xmm1
, %xmm2
, %xmm3
146 vpmadcsswd
%xmm0
, (%rax
), %xmm1
, %xmm3
148 vpmadcswd
%xmm0
, %xmm1
, %xmm2
, %xmm3
149 vpmadcswd
%xmm0
, (%rax
), %xmm1
, %xmm3
151 vpperm
%xmm0
, %xmm1
, %xmm2
, %xmm3
152 vpperm
(%rax
), %xmm0
, %xmm1
, %xmm3
153 vpperm
%xmm0
, (%rax
), %xmm1
, %xmm3
155 vprotb
%xmm0
, %xmm1
, %xmm3
156 vprotb
(%rax
), %xmm0
, %xmm3
157 vprotb
%xmm0
, (%rax
), %xmm3
159 vprotb $
0, %xmm0
, %xmm3
160 vprotb $
0, (%rax
), %xmm3
162 vprotd
%xmm0
, %xmm1
, %xmm3
163 vprotd
(%rax
), %xmm0
, %xmm3
164 vprotd
%xmm0
, (%rax
), %xmm3
166 vprotd $
0, %xmm0
, %xmm3
167 vprotd $
0, (%rax
), %xmm3
169 vprotq
%xmm0
, %xmm1
, %xmm3
170 vprotq
(%rax
), %xmm0
, %xmm3
171 vprotq
%xmm0
, (%rax
), %xmm3
173 vprotq $
0, %xmm0
, %xmm3
174 vprotq $
0, (%rax
), %xmm3
176 vprotw
%xmm0
, %xmm1
, %xmm3
177 vprotw
(%rax
), %xmm0
, %xmm3
178 vprotw
%xmm0
, (%rax
), %xmm3
180 vprotw $
0, %xmm0
, %xmm3
181 vprotw $
0, (%rax
), %xmm3
183 vpshab
%xmm0
, %xmm1
, %xmm3
184 vpshab
(%rax
), %xmm0
, %xmm3
185 vpshab
%xmm0
, (%rax
), %xmm3
187 vpshad
%xmm0
, %xmm1
, %xmm3
188 vpshad
(%rax
), %xmm0
, %xmm3
189 vpshad
%xmm0
, (%rax
), %xmm3
191 vpshaq
%xmm0
, %xmm1
, %xmm3
192 vpshaq
(%rax
), %xmm0
, %xmm3
193 vpshaq
%xmm0
, (%rax
), %xmm3
195 vpshaw
%xmm0
, %xmm1
, %xmm3
196 vpshaw
(%rax
), %xmm0
, %xmm3
197 vpshaw
%xmm0
, (%rax
), %xmm3
199 vpshlb
%xmm0
, %xmm1
, %xmm3
200 vpshlb
(%rax
), %xmm0
, %xmm3
201 vpshlb
%xmm0
, (%rax
), %xmm3
203 vpshld
%xmm0
, %xmm1
, %xmm3
204 vpshld
(%rax
), %xmm0
, %xmm3
205 vpshld
%xmm0
, (%rax
), %xmm3
207 vpshlq
%xmm0
, %xmm1
, %xmm3
208 vpshlq
(%rax
), %xmm0
, %xmm3
209 vpshlq
%xmm0
, (%rax
), %xmm3
211 vpshlw
%xmm0
, %xmm1
, %xmm3
212 vpshlw
(%rax
), %xmm0
, %xmm3
213 vpshlw
%xmm0
, (%rax
), %xmm3
215 # CHECK: Instruction Info:
216 # CHECK-NEXT: [1]: #uOps
217 # CHECK-NEXT: [2]: Latency
218 # CHECK-NEXT: [3]: RThroughput
219 # CHECK-NEXT: [4]: MayLoad
220 # CHECK-NEXT: [5]: MayStore
221 # CHECK-NEXT: [6]: HasSideEffects (U)
223 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
224 # CHECK-NEXT: 1 3 1.00 vfrczpd %xmm0, %xmm3
225 # CHECK-NEXT: 2 9 1.00 * vfrczpd (%rax), %xmm3
226 # CHECK-NEXT: 1 3 1.00 vfrczpd %ymm0, %ymm3
227 # CHECK-NEXT: 2 10 1.00 * vfrczpd (%rax), %ymm3
228 # CHECK-NEXT: 1 3 1.00 vfrczps %xmm0, %xmm3
229 # CHECK-NEXT: 2 9 1.00 * vfrczps (%rax), %xmm3
230 # CHECK-NEXT: 1 3 1.00 vfrczps %ymm0, %ymm3
231 # CHECK-NEXT: 2 10 1.00 * vfrczps (%rax), %ymm3
232 # CHECK-NEXT: 1 3 1.00 vfrczsd %xmm0, %xmm3
233 # CHECK-NEXT: 2 9 1.00 * vfrczsd (%rax), %xmm3
234 # CHECK-NEXT: 1 3 1.00 vfrczss %xmm0, %xmm3
235 # CHECK-NEXT: 2 9 1.00 * vfrczss (%rax), %xmm3
236 # CHECK-NEXT: 1 1 0.50 vpcmov %xmm0, %xmm1, %xmm2, %xmm3
237 # CHECK-NEXT: 2 7 0.50 * vpcmov (%rax), %xmm0, %xmm1, %xmm3
238 # CHECK-NEXT: 2 7 0.50 * vpcmov %xmm0, (%rax), %xmm1, %xmm3
239 # CHECK-NEXT: 1 1 1.00 vpcmov %ymm0, %ymm1, %ymm2, %ymm3
240 # CHECK-NEXT: 2 8 1.00 * vpcmov (%rax), %ymm0, %ymm1, %ymm3
241 # CHECK-NEXT: 2 8 1.00 * vpcmov %ymm0, (%rax), %ymm1, %ymm3
242 # CHECK-NEXT: 1 1 0.50 vpcomltb %xmm0, %xmm1, %xmm3
243 # CHECK-NEXT: 2 7 0.50 * vpcomltb (%rax), %xmm0, %xmm3
244 # CHECK-NEXT: 1 1 0.50 vpcomltd %xmm0, %xmm1, %xmm3
245 # CHECK-NEXT: 2 7 0.50 * vpcomltd (%rax), %xmm0, %xmm3
246 # CHECK-NEXT: 1 1 0.50 vpcomltq %xmm0, %xmm1, %xmm3
247 # CHECK-NEXT: 2 7 0.50 * vpcomltq (%rax), %xmm0, %xmm3
248 # CHECK-NEXT: 1 1 0.50 vpcomltub %xmm0, %xmm1, %xmm3
249 # CHECK-NEXT: 2 7 0.50 * vpcomltub (%rax), %xmm0, %xmm3
250 # CHECK-NEXT: 1 1 0.50 vpcomltud %xmm0, %xmm1, %xmm3
251 # CHECK-NEXT: 2 7 0.50 * vpcomltud (%rax), %xmm0, %xmm3
252 # CHECK-NEXT: 1 1 0.50 vpcomltuq %xmm0, %xmm1, %xmm3
253 # CHECK-NEXT: 2 7 0.50 * vpcomltuq (%rax), %xmm0, %xmm3
254 # CHECK-NEXT: 1 1 0.50 vpcomltuw %xmm0, %xmm1, %xmm3
255 # CHECK-NEXT: 2 7 0.50 * vpcomltuw (%rax), %xmm0, %xmm3
256 # CHECK-NEXT: 1 1 0.50 vpcomltw %xmm0, %xmm1, %xmm3
257 # CHECK-NEXT: 2 7 0.50 * vpcomltw (%rax), %xmm0, %xmm3
258 # CHECK-NEXT: 1 1 1.00 vpermil2pd $0, %xmm0, %xmm1, %xmm2, %xmm3
259 # CHECK-NEXT: 2 7 1.00 * vpermil2pd $0, (%rax), %xmm0, %xmm1, %xmm3
260 # CHECK-NEXT: 2 7 1.00 * vpermil2pd $0, %xmm0, (%rax), %xmm1, %xmm3
261 # CHECK-NEXT: 1 1 1.00 vpermil2pd $0, %ymm0, %ymm1, %ymm2, %ymm3
262 # CHECK-NEXT: 2 8 1.00 * vpermil2pd $0, (%rax), %ymm0, %ymm1, %ymm3
263 # CHECK-NEXT: 2 8 1.00 * vpermil2pd $0, %ymm0, (%rax), %ymm1, %ymm3
264 # CHECK-NEXT: 1 1 1.00 vpermil2ps $0, %xmm0, %xmm1, %xmm2, %xmm3
265 # CHECK-NEXT: 2 7 1.00 * vpermil2ps $0, (%rax), %xmm0, %xmm1, %xmm3
266 # CHECK-NEXT: 2 7 1.00 * vpermil2ps $0, %xmm0, (%rax), %xmm1, %xmm3
267 # CHECK-NEXT: 1 1 1.00 vpermil2ps $0, %ymm0, %ymm1, %ymm2, %ymm3
268 # CHECK-NEXT: 2 8 1.00 * vpermil2ps $0, (%rax), %ymm0, %ymm1, %ymm3
269 # CHECK-NEXT: 2 8 1.00 * vpermil2ps $0, %ymm0, (%rax), %ymm1, %ymm3
270 # CHECK-NEXT: 3 3 1.50 vphaddbd %xmm0, %xmm3
271 # CHECK-NEXT: 4 9 1.50 * vphaddbd (%rax), %xmm3
272 # CHECK-NEXT: 3 3 1.50 vphaddbq %xmm0, %xmm3
273 # CHECK-NEXT: 4 9 1.50 * vphaddbq (%rax), %xmm3
274 # CHECK-NEXT: 3 3 1.50 vphaddbw %xmm0, %xmm3
275 # CHECK-NEXT: 4 9 1.50 * vphaddbw (%rax), %xmm3
276 # CHECK-NEXT: 3 3 1.50 vphadddq %xmm0, %xmm3
277 # CHECK-NEXT: 4 9 1.50 * vphadddq (%rax), %xmm3
278 # CHECK-NEXT: 3 3 1.50 vphaddubd %xmm0, %xmm3
279 # CHECK-NEXT: 4 9 1.50 * vphaddubd (%rax), %xmm3
280 # CHECK-NEXT: 3 3 1.50 vphaddubq %xmm0, %xmm3
281 # CHECK-NEXT: 4 9 1.50 * vphaddubq (%rax), %xmm3
282 # CHECK-NEXT: 3 3 1.50 vphaddubw %xmm0, %xmm3
283 # CHECK-NEXT: 4 9 1.50 * vphaddubw (%rax), %xmm3
284 # CHECK-NEXT: 3 3 1.50 vphaddudq %xmm0, %xmm3
285 # CHECK-NEXT: 4 9 1.50 * vphaddudq (%rax), %xmm3
286 # CHECK-NEXT: 3 3 1.50 vphadduwd %xmm0, %xmm3
287 # CHECK-NEXT: 4 9 1.50 * vphadduwd (%rax), %xmm3
288 # CHECK-NEXT: 3 3 1.50 vphadduwq %xmm0, %xmm3
289 # CHECK-NEXT: 4 9 1.50 * vphadduwq (%rax), %xmm3
290 # CHECK-NEXT: 3 3 1.50 vphaddwd %xmm0, %xmm3
291 # CHECK-NEXT: 4 9 1.50 * vphaddwd (%rax), %xmm3
292 # CHECK-NEXT: 3 3 1.50 vphaddwq %xmm0, %xmm3
293 # CHECK-NEXT: 4 9 1.50 * vphaddwq (%rax), %xmm3
294 # CHECK-NEXT: 3 3 1.50 vphsubbw %xmm0, %xmm3
295 # CHECK-NEXT: 4 9 1.50 * vphsubbw (%rax), %xmm3
296 # CHECK-NEXT: 3 3 1.50 vphsubdq %xmm0, %xmm3
297 # CHECK-NEXT: 4 9 1.50 * vphsubdq (%rax), %xmm3
298 # CHECK-NEXT: 3 3 1.50 vphsubwd %xmm0, %xmm3
299 # CHECK-NEXT: 4 9 1.50 * vphsubwd (%rax), %xmm3
300 # CHECK-NEXT: 1 5 1.00 vpmacsdd %xmm0, %xmm1, %xmm2, %xmm3
301 # CHECK-NEXT: 2 11 1.00 * vpmacsdd %xmm0, (%rax), %xmm1, %xmm3
302 # CHECK-NEXT: 1 5 1.00 vpmacsdqh %xmm0, %xmm1, %xmm2, %xmm3
303 # CHECK-NEXT: 2 11 1.00 * vpmacsdqh %xmm0, (%rax), %xmm1, %xmm3
304 # CHECK-NEXT: 1 5 1.00 vpmacsdql %xmm0, %xmm1, %xmm2, %xmm3
305 # CHECK-NEXT: 2 11 1.00 * vpmacsdql %xmm0, (%rax), %xmm1, %xmm3
306 # CHECK-NEXT: 1 5 1.00 vpmacssdd %xmm0, %xmm1, %xmm2, %xmm3
307 # CHECK-NEXT: 2 11 1.00 * vpmacssdd %xmm0, (%rax), %xmm1, %xmm3
308 # CHECK-NEXT: 1 5 1.00 vpmacssdqh %xmm0, %xmm1, %xmm2, %xmm3
309 # CHECK-NEXT: 2 11 1.00 * vpmacssdqh %xmm0, (%rax), %xmm1, %xmm3
310 # CHECK-NEXT: 1 5 1.00 vpmacssdql %xmm0, %xmm1, %xmm2, %xmm3
311 # CHECK-NEXT: 2 11 1.00 * vpmacssdql %xmm0, (%rax), %xmm1, %xmm3
312 # CHECK-NEXT: 1 5 1.00 vpmacsswd %xmm0, %xmm1, %xmm2, %xmm3
313 # CHECK-NEXT: 2 11 1.00 * vpmacsswd %xmm0, (%rax), %xmm1, %xmm3
314 # CHECK-NEXT: 1 5 1.00 vpmacssww %xmm0, %xmm1, %xmm2, %xmm3
315 # CHECK-NEXT: 2 11 1.00 * vpmacssww %xmm0, (%rax), %xmm1, %xmm3
316 # CHECK-NEXT: 1 5 1.00 vpmacswd %xmm0, %xmm1, %xmm2, %xmm3
317 # CHECK-NEXT: 2 11 1.00 * vpmacswd %xmm0, (%rax), %xmm1, %xmm3
318 # CHECK-NEXT: 1 5 1.00 vpmacsww %xmm0, %xmm1, %xmm2, %xmm3
319 # CHECK-NEXT: 2 11 1.00 * vpmacsww %xmm0, (%rax), %xmm1, %xmm3
320 # CHECK-NEXT: 1 5 1.00 vpmadcsswd %xmm0, %xmm1, %xmm2, %xmm3
321 # CHECK-NEXT: 2 11 1.00 * vpmadcsswd %xmm0, (%rax), %xmm1, %xmm3
322 # CHECK-NEXT: 1 5 1.00 vpmadcswd %xmm0, %xmm1, %xmm2, %xmm3
323 # CHECK-NEXT: 2 11 1.00 * vpmadcswd %xmm0, (%rax), %xmm1, %xmm3
324 # CHECK-NEXT: 1 1 0.50 vpperm %xmm0, %xmm1, %xmm2, %xmm3
325 # CHECK-NEXT: 2 7 0.50 * vpperm (%rax), %xmm0, %xmm1, %xmm3
326 # CHECK-NEXT: 2 7 0.50 * vpperm %xmm0, (%rax), %xmm1, %xmm3
327 # CHECK-NEXT: 1 1 1.00 vprotb %xmm0, %xmm1, %xmm3
328 # CHECK-NEXT: 2 7 1.00 * vprotb (%rax), %xmm0, %xmm3
329 # CHECK-NEXT: 2 7 1.00 * vprotb %xmm0, (%rax), %xmm3
330 # CHECK-NEXT: 1 1 1.00 vprotb $0, %xmm0, %xmm3
331 # CHECK-NEXT: 2 7 1.00 * vprotb $0, (%rax), %xmm3
332 # CHECK-NEXT: 1 1 1.00 vprotd %xmm0, %xmm1, %xmm3
333 # CHECK-NEXT: 2 7 1.00 * vprotd (%rax), %xmm0, %xmm3
334 # CHECK-NEXT: 2 7 1.00 * vprotd %xmm0, (%rax), %xmm3
335 # CHECK-NEXT: 1 1 1.00 vprotd $0, %xmm0, %xmm3
336 # CHECK-NEXT: 2 7 1.00 * vprotd $0, (%rax), %xmm3
337 # CHECK-NEXT: 1 1 1.00 vprotq %xmm0, %xmm1, %xmm3
338 # CHECK-NEXT: 2 7 1.00 * vprotq (%rax), %xmm0, %xmm3
339 # CHECK-NEXT: 2 7 1.00 * vprotq %xmm0, (%rax), %xmm3
340 # CHECK-NEXT: 1 1 1.00 vprotq $0, %xmm0, %xmm3
341 # CHECK-NEXT: 2 7 1.00 * vprotq $0, (%rax), %xmm3
342 # CHECK-NEXT: 1 1 1.00 vprotw %xmm0, %xmm1, %xmm3
343 # CHECK-NEXT: 2 7 1.00 * vprotw (%rax), %xmm0, %xmm3
344 # CHECK-NEXT: 2 7 1.00 * vprotw %xmm0, (%rax), %xmm3
345 # CHECK-NEXT: 1 1 1.00 vprotw $0, %xmm0, %xmm3
346 # CHECK-NEXT: 2 7 1.00 * vprotw $0, (%rax), %xmm3
347 # CHECK-NEXT: 1 1 1.00 vpshab %xmm0, %xmm1, %xmm3
348 # CHECK-NEXT: 2 7 1.00 * vpshab (%rax), %xmm0, %xmm3
349 # CHECK-NEXT: 2 7 1.00 * vpshab %xmm0, (%rax), %xmm3
350 # CHECK-NEXT: 1 1 1.00 vpshad %xmm0, %xmm1, %xmm3
351 # CHECK-NEXT: 2 7 1.00 * vpshad (%rax), %xmm0, %xmm3
352 # CHECK-NEXT: 2 7 1.00 * vpshad %xmm0, (%rax), %xmm3
353 # CHECK-NEXT: 1 1 1.00 vpshaq %xmm0, %xmm1, %xmm3
354 # CHECK-NEXT: 2 7 1.00 * vpshaq (%rax), %xmm0, %xmm3
355 # CHECK-NEXT: 2 7 1.00 * vpshaq %xmm0, (%rax), %xmm3
356 # CHECK-NEXT: 1 1 1.00 vpshaw %xmm0, %xmm1, %xmm3
357 # CHECK-NEXT: 2 7 1.00 * vpshaw (%rax), %xmm0, %xmm3
358 # CHECK-NEXT: 2 7 1.00 * vpshaw %xmm0, (%rax), %xmm3
359 # CHECK-NEXT: 1 1 1.00 vpshlb %xmm0, %xmm1, %xmm3
360 # CHECK-NEXT: 2 7 1.00 * vpshlb (%rax), %xmm0, %xmm3
361 # CHECK-NEXT: 2 7 1.00 * vpshlb %xmm0, (%rax), %xmm3
362 # CHECK-NEXT: 1 1 1.00 vpshld %xmm0, %xmm1, %xmm3
363 # CHECK-NEXT: 2 7 1.00 * vpshld (%rax), %xmm0, %xmm3
364 # CHECK-NEXT: 2 7 1.00 * vpshld %xmm0, (%rax), %xmm3
365 # CHECK-NEXT: 1 1 1.00 vpshlq %xmm0, %xmm1, %xmm3
366 # CHECK-NEXT: 2 7 1.00 * vpshlq (%rax), %xmm0, %xmm3
367 # CHECK-NEXT: 2 7 1.00 * vpshlq %xmm0, (%rax), %xmm3
368 # CHECK-NEXT: 1 1 1.00 vpshlw %xmm0, %xmm1, %xmm3
369 # CHECK-NEXT: 2 7 1.00 * vpshlw (%rax), %xmm0, %xmm3
370 # CHECK-NEXT: 2 7 1.00 * vpshlw %xmm0, (%rax), %xmm3
373 # CHECK-NEXT: [0] - SBDivider
374 # CHECK-NEXT: [1] - SBFPDivider
375 # CHECK-NEXT: [2] - SBPort0
376 # CHECK-NEXT: [3] - SBPort1
377 # CHECK-NEXT: [4] - SBPort4
378 # CHECK-NEXT: [5] - SBPort5
379 # CHECK-NEXT: [6.0] - SBPort23
380 # CHECK-NEXT: [6.1] - SBPort23
382 # CHECK: Resource pressure per iteration:
383 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
384 # CHECK-NEXT: - - 68.00 68.00 - 71.00 41.50 41.50
386 # CHECK: Resource pressure by instruction:
387 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
388 # CHECK-NEXT: - - - 1.00 - - - - vfrczpd %xmm0, %xmm3
389 # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfrczpd (%rax), %xmm3
390 # CHECK-NEXT: - - - 1.00 - - - - vfrczpd %ymm0, %ymm3
391 # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfrczpd (%rax), %ymm3
392 # CHECK-NEXT: - - - 1.00 - - - - vfrczps %xmm0, %xmm3
393 # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfrczps (%rax), %xmm3
394 # CHECK-NEXT: - - - 1.00 - - - - vfrczps %ymm0, %ymm3
395 # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfrczps (%rax), %ymm3
396 # CHECK-NEXT: - - - 1.00 - - - - vfrczsd %xmm0, %xmm3
397 # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfrczsd (%rax), %xmm3
398 # CHECK-NEXT: - - - 1.00 - - - - vfrczss %xmm0, %xmm3
399 # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfrczss (%rax), %xmm3
400 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmov %xmm0, %xmm1, %xmm2, %xmm3
401 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmov (%rax), %xmm0, %xmm1, %xmm3
402 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmov %xmm0, (%rax), %xmm1, %xmm3
403 # CHECK-NEXT: - - - - - 1.00 - - vpcmov %ymm0, %ymm1, %ymm2, %ymm3
404 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcmov (%rax), %ymm0, %ymm1, %ymm3
405 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcmov %ymm0, (%rax), %ymm1, %ymm3
406 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltb %xmm0, %xmm1, %xmm3
407 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltb (%rax), %xmm0, %xmm3
408 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltd %xmm0, %xmm1, %xmm3
409 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltd (%rax), %xmm0, %xmm3
410 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltq %xmm0, %xmm1, %xmm3
411 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltq (%rax), %xmm0, %xmm3
412 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltub %xmm0, %xmm1, %xmm3
413 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltub (%rax), %xmm0, %xmm3
414 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltud %xmm0, %xmm1, %xmm3
415 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltud (%rax), %xmm0, %xmm3
416 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltuq %xmm0, %xmm1, %xmm3
417 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltuq (%rax), %xmm0, %xmm3
418 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltuw %xmm0, %xmm1, %xmm3
419 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltuw (%rax), %xmm0, %xmm3
420 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcomltw %xmm0, %xmm1, %xmm3
421 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcomltw (%rax), %xmm0, %xmm3
422 # CHECK-NEXT: - - - - - 1.00 - - vpermil2pd $0, %xmm0, %xmm1, %xmm2, %xmm3
423 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2pd $0, (%rax), %xmm0, %xmm1, %xmm3
424 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2pd $0, %xmm0, (%rax), %xmm1, %xmm3
425 # CHECK-NEXT: - - - - - 1.00 - - vpermil2pd $0, %ymm0, %ymm1, %ymm2, %ymm3
426 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2pd $0, (%rax), %ymm0, %ymm1, %ymm3
427 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2pd $0, %ymm0, (%rax), %ymm1, %ymm3
428 # CHECK-NEXT: - - - - - 1.00 - - vpermil2ps $0, %xmm0, %xmm1, %xmm2, %xmm3
429 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2ps $0, (%rax), %xmm0, %xmm1, %xmm3
430 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2ps $0, %xmm0, (%rax), %xmm1, %xmm3
431 # CHECK-NEXT: - - - - - 1.00 - - vpermil2ps $0, %ymm0, %ymm1, %ymm2, %ymm3
432 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2ps $0, (%rax), %ymm0, %ymm1, %ymm3
433 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermil2ps $0, %ymm0, (%rax), %ymm1, %ymm3
434 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddbd %xmm0, %xmm3
435 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddbd (%rax), %xmm3
436 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddbq %xmm0, %xmm3
437 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddbq (%rax), %xmm3
438 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddbw %xmm0, %xmm3
439 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddbw (%rax), %xmm3
440 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphadddq %xmm0, %xmm3
441 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphadddq (%rax), %xmm3
442 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddubd %xmm0, %xmm3
443 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddubd (%rax), %xmm3
444 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddubq %xmm0, %xmm3
445 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddubq (%rax), %xmm3
446 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddubw %xmm0, %xmm3
447 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddubw (%rax), %xmm3
448 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddudq %xmm0, %xmm3
449 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddudq (%rax), %xmm3
450 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphadduwd %xmm0, %xmm3
451 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphadduwd (%rax), %xmm3
452 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphadduwq %xmm0, %xmm3
453 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphadduwq (%rax), %xmm3
454 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddwd %xmm0, %xmm3
455 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddwd (%rax), %xmm3
456 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddwq %xmm0, %xmm3
457 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddwq (%rax), %xmm3
458 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphsubbw %xmm0, %xmm3
459 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphsubbw (%rax), %xmm3
460 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphsubdq %xmm0, %xmm3
461 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphsubdq (%rax), %xmm3
462 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphsubwd %xmm0, %xmm3
463 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphsubwd (%rax), %xmm3
464 # CHECK-NEXT: - - 1.00 - - - - - vpmacsdd %xmm0, %xmm1, %xmm2, %xmm3
465 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacsdd %xmm0, (%rax), %xmm1, %xmm3
466 # CHECK-NEXT: - - 1.00 - - - - - vpmacsdqh %xmm0, %xmm1, %xmm2, %xmm3
467 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacsdqh %xmm0, (%rax), %xmm1, %xmm3
468 # CHECK-NEXT: - - 1.00 - - - - - vpmacsdql %xmm0, %xmm1, %xmm2, %xmm3
469 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacsdql %xmm0, (%rax), %xmm1, %xmm3
470 # CHECK-NEXT: - - 1.00 - - - - - vpmacssdd %xmm0, %xmm1, %xmm2, %xmm3
471 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacssdd %xmm0, (%rax), %xmm1, %xmm3
472 # CHECK-NEXT: - - 1.00 - - - - - vpmacssdqh %xmm0, %xmm1, %xmm2, %xmm3
473 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacssdqh %xmm0, (%rax), %xmm1, %xmm3
474 # CHECK-NEXT: - - 1.00 - - - - - vpmacssdql %xmm0, %xmm1, %xmm2, %xmm3
475 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacssdql %xmm0, (%rax), %xmm1, %xmm3
476 # CHECK-NEXT: - - 1.00 - - - - - vpmacsswd %xmm0, %xmm1, %xmm2, %xmm3
477 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacsswd %xmm0, (%rax), %xmm1, %xmm3
478 # CHECK-NEXT: - - 1.00 - - - - - vpmacssww %xmm0, %xmm1, %xmm2, %xmm3
479 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacssww %xmm0, (%rax), %xmm1, %xmm3
480 # CHECK-NEXT: - - 1.00 - - - - - vpmacswd %xmm0, %xmm1, %xmm2, %xmm3
481 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacswd %xmm0, (%rax), %xmm1, %xmm3
482 # CHECK-NEXT: - - 1.00 - - - - - vpmacsww %xmm0, %xmm1, %xmm2, %xmm3
483 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmacsww %xmm0, (%rax), %xmm1, %xmm3
484 # CHECK-NEXT: - - 1.00 - - - - - vpmadcsswd %xmm0, %xmm1, %xmm2, %xmm3
485 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmadcsswd %xmm0, (%rax), %xmm1, %xmm3
486 # CHECK-NEXT: - - 1.00 - - - - - vpmadcswd %xmm0, %xmm1, %xmm2, %xmm3
487 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmadcswd %xmm0, (%rax), %xmm1, %xmm3
488 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpperm %xmm0, %xmm1, %xmm2, %xmm3
489 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpperm (%rax), %xmm0, %xmm1, %xmm3
490 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpperm %xmm0, (%rax), %xmm1, %xmm3
491 # CHECK-NEXT: - - 1.00 - - - - - vprotb %xmm0, %xmm1, %xmm3
492 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotb (%rax), %xmm0, %xmm3
493 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotb %xmm0, (%rax), %xmm3
494 # CHECK-NEXT: - - 1.00 - - - - - vprotb $0, %xmm0, %xmm3
495 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotb $0, (%rax), %xmm3
496 # CHECK-NEXT: - - 1.00 - - - - - vprotd %xmm0, %xmm1, %xmm3
497 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotd (%rax), %xmm0, %xmm3
498 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotd %xmm0, (%rax), %xmm3
499 # CHECK-NEXT: - - 1.00 - - - - - vprotd $0, %xmm0, %xmm3
500 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotd $0, (%rax), %xmm3
501 # CHECK-NEXT: - - 1.00 - - - - - vprotq %xmm0, %xmm1, %xmm3
502 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotq (%rax), %xmm0, %xmm3
503 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotq %xmm0, (%rax), %xmm3
504 # CHECK-NEXT: - - 1.00 - - - - - vprotq $0, %xmm0, %xmm3
505 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotq $0, (%rax), %xmm3
506 # CHECK-NEXT: - - 1.00 - - - - - vprotw %xmm0, %xmm1, %xmm3
507 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotw (%rax), %xmm0, %xmm3
508 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotw %xmm0, (%rax), %xmm3
509 # CHECK-NEXT: - - 1.00 - - - - - vprotw $0, %xmm0, %xmm3
510 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vprotw $0, (%rax), %xmm3
511 # CHECK-NEXT: - - 1.00 - - - - - vpshab %xmm0, %xmm1, %xmm3
512 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshab (%rax), %xmm0, %xmm3
513 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshab %xmm0, (%rax), %xmm3
514 # CHECK-NEXT: - - 1.00 - - - - - vpshad %xmm0, %xmm1, %xmm3
515 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshad (%rax), %xmm0, %xmm3
516 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshad %xmm0, (%rax), %xmm3
517 # CHECK-NEXT: - - 1.00 - - - - - vpshaq %xmm0, %xmm1, %xmm3
518 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshaq (%rax), %xmm0, %xmm3
519 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshaq %xmm0, (%rax), %xmm3
520 # CHECK-NEXT: - - 1.00 - - - - - vpshaw %xmm0, %xmm1, %xmm3
521 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshaw (%rax), %xmm0, %xmm3
522 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshaw %xmm0, (%rax), %xmm3
523 # CHECK-NEXT: - - 1.00 - - - - - vpshlb %xmm0, %xmm1, %xmm3
524 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshlb (%rax), %xmm0, %xmm3
525 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshlb %xmm0, (%rax), %xmm3
526 # CHECK-NEXT: - - 1.00 - - - - - vpshld %xmm0, %xmm1, %xmm3
527 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshld (%rax), %xmm0, %xmm3
528 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshld %xmm0, (%rax), %xmm3
529 # CHECK-NEXT: - - 1.00 - - - - - vpshlq %xmm0, %xmm1, %xmm3
530 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshlq (%rax), %xmm0, %xmm3
531 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshlq %xmm0, (%rax), %xmm3
532 # CHECK-NEXT: - - 1.00 - - - - - vpshlw %xmm0, %xmm1, %xmm3
533 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshlw (%rax), %xmm0, %xmm3
534 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshlw %xmm0, (%rax), %xmm3