[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / llvm-mca / X86 / SkylakeServer / resources-avx2.s
blob7d5257c2699ecc9f0a434d0a1b4fe4d1ba24971b
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
4 vbroadcasti128 (%rax), %ymm0
6 vbroadcastsd %xmm0, %ymm0
7 vbroadcastss %xmm0, %ymm0
9 vextracti128 $1, %ymm0, %xmm2
10 vextracti128 $1, %ymm0, (%rax)
12 vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
13 vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
15 vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
16 vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
18 vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
19 vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
21 vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
22 vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
24 vinserti128 $1, %xmm0, %ymm1, %ymm2
25 vinserti128 $1, (%rax), %ymm1, %ymm2
27 vmovntdqa (%rax), %ymm0
29 vmpsadbw $1, %ymm0, %ymm1, %ymm2
30 vmpsadbw $1, (%rax), %ymm1, %ymm2
32 vpabsb %ymm0, %ymm2
33 vpabsb (%rax), %ymm2
35 vpabsd %ymm0, %ymm2
36 vpabsd (%rax), %ymm2
38 vpabsw %ymm0, %ymm2
39 vpabsw (%rax), %ymm2
41 vpackssdw %ymm0, %ymm1, %ymm2
42 vpackssdw (%rax), %ymm1, %ymm2
44 vpacksswb %ymm0, %ymm1, %ymm2
45 vpacksswb (%rax), %ymm1, %ymm2
47 vpackusdw %ymm0, %ymm1, %ymm2
48 vpackusdw (%rax), %ymm1, %ymm2
50 vpackuswb %ymm0, %ymm1, %ymm2
51 vpackuswb (%rax), %ymm1, %ymm2
53 vpaddb %ymm0, %ymm1, %ymm2
54 vpaddb (%rax), %ymm1, %ymm2
56 vpaddd %ymm0, %ymm1, %ymm2
57 vpaddd (%rax), %ymm1, %ymm2
59 vpaddq %ymm0, %ymm1, %ymm2
60 vpaddq (%rax), %ymm1, %ymm2
62 vpaddsb %ymm0, %ymm1, %ymm2
63 vpaddsb (%rax), %ymm1, %ymm2
65 vpaddsw %ymm0, %ymm1, %ymm2
66 vpaddsw (%rax), %ymm1, %ymm2
68 vpaddusb %ymm0, %ymm1, %ymm2
69 vpaddusb (%rax), %ymm1, %ymm2
71 vpaddusw %ymm0, %ymm1, %ymm2
72 vpaddusw (%rax), %ymm1, %ymm2
74 vpaddw %ymm0, %ymm1, %ymm2
75 vpaddw (%rax), %ymm1, %ymm2
77 vpalignr $1, %ymm0, %ymm1, %ymm2
78 vpalignr $1, (%rax), %ymm1, %ymm2
80 vpand %ymm0, %ymm1, %ymm2
81 vpand (%rax), %ymm1, %ymm2
83 vpandn %ymm0, %ymm1, %ymm2
84 vpandn (%rax), %ymm1, %ymm2
86 vpavgb %ymm0, %ymm1, %ymm2
87 vpavgb (%rax), %ymm1, %ymm2
89 vpavgw %ymm0, %ymm1, %ymm2
90 vpavgw (%rax), %ymm1, %ymm2
92 vpblendd $11, %xmm0, %xmm1, %xmm2
93 vpblendd $11, (%rax), %xmm1, %xmm2
95 vpblendd $11, %ymm0, %ymm1, %ymm2
96 vpblendd $11, (%rax), %ymm1, %ymm2
98 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
99 vpblendvb %ymm3, (%rax), %ymm1, %ymm2
101 vpblendw $11, %ymm0, %ymm1, %ymm2
102 vpblendw $11, (%rax), %ymm1, %ymm2
104 vpbroadcastb %xmm0, %xmm0
105 vpbroadcastb (%rax), %xmm0
107 vpbroadcastb %xmm0, %ymm0
108 vpbroadcastb (%rax), %ymm0
110 vpbroadcastd %xmm0, %xmm0
111 vpbroadcastd (%rax), %xmm0
113 vpbroadcastd %xmm0, %ymm0
114 vpbroadcastd (%rax), %ymm0
116 vpbroadcastq %xmm0, %xmm0
117 vpbroadcastq (%rax), %xmm0
119 vpbroadcastq %xmm0, %ymm0
120 vpbroadcastq (%rax), %ymm0
122 vpbroadcastw %xmm0, %xmm0
123 vpbroadcastw (%rax), %xmm0
125 vpbroadcastw %xmm0, %ymm0
126 vpbroadcastw (%rax), %ymm0
128 vpcmpeqb %ymm0, %ymm1, %ymm2
129 vpcmpeqb (%rax), %ymm1, %ymm2
131 vpcmpeqd %ymm0, %ymm1, %ymm2
132 vpcmpeqd (%rax), %ymm1, %ymm2
134 vpcmpeqq %ymm0, %ymm1, %ymm2
135 vpcmpeqq (%rax), %ymm1, %ymm2
137 vpcmpeqw %ymm0, %ymm1, %ymm2
138 vpcmpeqw (%rax), %ymm1, %ymm2
140 vpcmpgtb %ymm0, %ymm1, %ymm2
141 vpcmpgtb (%rax), %ymm1, %ymm2
143 vpcmpgtd %ymm0, %ymm1, %ymm2
144 vpcmpgtd (%rax), %ymm1, %ymm2
146 vpcmpgtq %ymm0, %ymm1, %ymm2
147 vpcmpgtq (%rax), %ymm1, %ymm2
149 vpcmpgtw %ymm0, %ymm1, %ymm2
150 vpcmpgtw (%rax), %ymm1, %ymm2
152 vperm2i128 $1, %ymm0, %ymm1, %ymm2
153 vperm2i128 $1, (%rax), %ymm1, %ymm2
155 vpermd %ymm0, %ymm1, %ymm2
156 vpermd (%rax), %ymm1, %ymm2
158 vpermpd $1, %ymm0, %ymm2
159 vpermpd $1, (%rax), %ymm2
161 vpermps %ymm0, %ymm1, %ymm2
162 vpermps (%rax), %ymm1, %ymm2
164 vpermq $1, %ymm0, %ymm2
165 vpermq $1, (%rax), %ymm2
167 vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
168 vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
170 vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
171 vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
173 vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
174 vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
176 vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
177 vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
179 vphaddd %ymm0, %ymm1, %ymm2
180 vphaddd (%rax), %ymm1, %ymm2
182 vphaddsw %ymm0, %ymm1, %ymm2
183 vphaddsw (%rax), %ymm1, %ymm2
185 vphaddw %ymm0, %ymm1, %ymm2
186 vphaddw (%rax), %ymm1, %ymm2
188 vphsubd %ymm0, %ymm1, %ymm2
189 vphsubd (%rax), %ymm1, %ymm2
191 vphsubsw %ymm0, %ymm1, %ymm2
192 vphsubsw (%rax), %ymm1, %ymm2
194 vphsubw %ymm0, %ymm1, %ymm2
195 vphsubw (%rax), %ymm1, %ymm2
197 vpmaddubsw %ymm0, %ymm1, %ymm2
198 vpmaddubsw (%rax), %ymm1, %ymm2
200 vpmaddwd %ymm0, %ymm1, %ymm2
201 vpmaddwd (%rax), %ymm1, %ymm2
203 vpmaskmovd (%rax), %xmm0, %xmm2
204 vpmaskmovd (%rax), %ymm0, %ymm2
206 vpmaskmovd %xmm0, %xmm1, (%rax)
207 vpmaskmovd %ymm0, %ymm1, (%rax)
209 vpmaskmovq (%rax), %xmm0, %xmm2
210 vpmaskmovq (%rax), %ymm0, %ymm2
212 vpmaskmovq %xmm0, %xmm1, (%rax)
213 vpmaskmovq %ymm0, %ymm1, (%rax)
215 vpmaxsb %ymm0, %ymm1, %ymm2
216 vpmaxsb (%rax), %ymm1, %ymm2
218 vpmaxsd %ymm0, %ymm1, %ymm2
219 vpmaxsd (%rax), %ymm1, %ymm2
221 vpmaxsw %ymm0, %ymm1, %ymm2
222 vpmaxsw (%rax), %ymm1, %ymm2
224 vpmaxub %ymm0, %ymm1, %ymm2
225 vpmaxub (%rax), %ymm1, %ymm2
227 vpmaxud %ymm0, %ymm1, %ymm2
228 vpmaxud (%rax), %ymm1, %ymm2
230 vpmaxuw %ymm0, %ymm1, %ymm2
231 vpmaxuw (%rax), %ymm1, %ymm2
233 vpminsb %ymm0, %ymm1, %ymm2
234 vpminsb (%rax), %ymm1, %ymm2
236 vpminsd %ymm0, %ymm1, %ymm2
237 vpminsd (%rax), %ymm1, %ymm2
239 vpminsw %ymm0, %ymm1, %ymm2
240 vpminsw (%rax), %ymm1, %ymm2
242 vpminub %ymm0, %ymm1, %ymm2
243 vpminub (%rax), %ymm1, %ymm2
245 vpminud %ymm0, %ymm1, %ymm2
246 vpminud (%rax), %ymm1, %ymm2
248 vpminuw %ymm0, %ymm1, %ymm2
249 vpminuw (%rax), %ymm1, %ymm2
251 vpmovmskb %ymm0, %rcx
253 vpmovsxbd %xmm0, %ymm2
254 vpmovsxbd (%rax), %ymm2
256 vpmovsxbq %xmm0, %ymm2
257 vpmovsxbq (%rax), %ymm2
259 vpmovsxbw %xmm0, %ymm2
260 vpmovsxbw (%rax), %ymm2
262 vpmovsxdq %xmm0, %ymm2
263 vpmovsxdq (%rax), %ymm2
265 vpmovsxwd %xmm0, %ymm2
266 vpmovsxwd (%rax), %ymm2
268 vpmovsxwq %xmm0, %ymm2
269 vpmovsxwq (%rax), %ymm2
271 vpmovzxbd %xmm0, %ymm2
272 vpmovzxbd (%rax), %ymm2
274 vpmovzxbq %xmm0, %ymm2
275 vpmovzxbq (%rax), %ymm2
277 vpmovzxbw %xmm0, %ymm2
278 vpmovzxbw (%rax), %ymm2
280 vpmovzxdq %xmm0, %ymm2
281 vpmovzxdq (%rax), %ymm2
283 vpmovzxwd %xmm0, %ymm2
284 vpmovzxwd (%rax), %ymm2
286 vpmovzxwq %xmm0, %ymm2
287 vpmovzxwq (%rax), %ymm2
289 vpmuldq %ymm0, %ymm1, %ymm2
290 vpmuldq (%rax), %ymm1, %ymm2
292 vpmulhrsw %ymm0, %ymm1, %ymm2
293 vpmulhrsw (%rax), %ymm1, %ymm2
295 vpmulhuw %ymm0, %ymm1, %ymm2
296 vpmulhuw (%rax), %ymm1, %ymm2
298 vpmulhw %ymm0, %ymm1, %ymm2
299 vpmulhw (%rax), %ymm1, %ymm2
301 vpmulld %ymm0, %ymm1, %ymm2
302 vpmulld (%rax), %ymm1, %ymm2
304 vpmullw %ymm0, %ymm1, %ymm2
305 vpmullw (%rax), %ymm1, %ymm2
307 vpmuludq %ymm0, %ymm1, %ymm2
308 vpmuludq (%rax), %ymm1, %ymm2
310 vpor %ymm0, %ymm1, %ymm2
311 vpor (%rax), %ymm1, %ymm2
313 vpsadbw %ymm0, %ymm1, %ymm2
314 vpsadbw (%rax), %ymm1, %ymm2
316 vpshufb %ymm0, %ymm1, %ymm2
317 vpshufb (%rax), %ymm1, %ymm2
319 vpshufd $1, %ymm0, %ymm2
320 vpshufd $1, (%rax), %ymm2
322 vpshufhw $1, %ymm0, %ymm2
323 vpshufhw $1, (%rax), %ymm2
325 vpshuflw $1, %ymm0, %ymm2
326 vpshuflw $1, (%rax), %ymm2
328 vpsignb %ymm0, %ymm1, %ymm2
329 vpsignb (%rax), %ymm1, %ymm2
331 vpsignd %ymm0, %ymm1, %ymm2
332 vpsignd (%rax), %ymm1, %ymm2
334 vpsignw %ymm0, %ymm1, %ymm2
335 vpsignw (%rax), %ymm1, %ymm2
337 vpslld $1, %ymm0, %ymm2
338 vpslld %xmm0, %ymm1, %ymm2
339 vpslld (%rax), %ymm1, %ymm2
341 vpslldq $1, %ymm1, %ymm2
343 vpsllq $1, %ymm0, %ymm2
344 vpsllq %xmm0, %ymm1, %ymm2
345 vpsllq (%rax), %ymm1, %ymm2
347 vpsllvd %xmm0, %xmm1, %xmm2
348 vpsllvd (%rax), %xmm1, %xmm2
350 vpsllvd %ymm0, %ymm1, %ymm2
351 vpsllvd (%rax), %ymm1, %ymm2
353 vpsllvq %xmm0, %xmm1, %xmm2
354 vpsllvq (%rax), %xmm1, %xmm2
356 vpsllvq %ymm0, %ymm1, %ymm2
357 vpsllvq (%rax), %ymm1, %ymm2
359 vpsllw $1, %ymm0, %ymm2
360 vpsllw %xmm0, %ymm1, %ymm2
361 vpsllw (%rax), %ymm1, %ymm2
363 vpsrad $1, %ymm0, %ymm2
364 vpsrad %xmm0, %ymm1, %ymm2
365 vpsrad (%rax), %ymm1, %ymm2
367 vpsravd %xmm0, %xmm1, %xmm2
368 vpsravd (%rax), %xmm1, %xmm2
370 vpsravd %ymm0, %ymm1, %ymm2
371 vpsravd (%rax), %ymm1, %ymm2
373 vpsraw $1, %ymm0, %ymm2
374 vpsraw %xmm0, %ymm1, %ymm2
375 vpsraw (%rax), %ymm1, %ymm2
377 vpsrld $1, %ymm0, %ymm2
378 vpsrld %xmm0, %ymm1, %ymm2
379 vpsrld (%rax), %ymm1, %ymm2
381 vpsrldq $1, %ymm1, %ymm2
383 vpsrlq $1, %ymm0, %ymm2
384 vpsrlq %xmm0, %ymm1, %ymm2
385 vpsrlq (%rax), %ymm1, %ymm2
387 vpsrlvd %xmm0, %xmm1, %xmm2
388 vpsrlvd (%rax), %xmm1, %xmm2
390 vpsrlvd %ymm0, %ymm1, %ymm2
391 vpsrlvd (%rax), %ymm1, %ymm2
393 vpsrlvq %xmm0, %xmm1, %xmm2
394 vpsrlvq (%rax), %xmm1, %xmm2
396 vpsrlvq %ymm0, %ymm1, %ymm2
397 vpsrlvq (%rax), %ymm1, %ymm2
399 vpsrlw $1, %ymm0, %ymm2
400 vpsrlw %xmm0, %ymm1, %ymm2
401 vpsrlw (%rax), %ymm1, %ymm2
403 vpsubb %ymm0, %ymm1, %ymm2
404 vpsubb (%rax), %ymm1, %ymm2
406 vpsubd %ymm0, %ymm1, %ymm2
407 vpsubd (%rax), %ymm1, %ymm2
409 vpsubq %ymm0, %ymm1, %ymm2
410 vpsubq (%rax), %ymm1, %ymm2
412 vpsubsb %ymm0, %ymm1, %ymm2
413 vpsubsb (%rax), %ymm1, %ymm2
415 vpsubsw %ymm0, %ymm1, %ymm2
416 vpsubsw (%rax), %ymm1, %ymm2
418 vpsubusb %ymm0, %ymm1, %ymm2
419 vpsubusb (%rax), %ymm1, %ymm2
421 vpsubusw %ymm0, %ymm1, %ymm2
422 vpsubusw (%rax), %ymm1, %ymm2
424 vpsubw %ymm0, %ymm1, %ymm2
425 vpsubw (%rax), %ymm1, %ymm2
427 vpunpckhbw %ymm0, %ymm1, %ymm2
428 vpunpckhbw (%rax), %ymm1, %ymm2
430 vpunpckhdq %ymm0, %ymm1, %ymm2
431 vpunpckhdq (%rax), %ymm1, %ymm2
433 vpunpckhqdq %ymm0, %ymm1, %ymm2
434 vpunpckhqdq (%rax), %ymm1, %ymm2
436 vpunpckhwd %ymm0, %ymm1, %ymm2
437 vpunpckhwd (%rax), %ymm1, %ymm2
439 vpunpcklbw %ymm0, %ymm1, %ymm2
440 vpunpcklbw (%rax), %ymm1, %ymm2
442 vpunpckldq %ymm0, %ymm1, %ymm2
443 vpunpckldq (%rax), %ymm1, %ymm2
445 vpunpcklqdq %ymm0, %ymm1, %ymm2
446 vpunpcklqdq (%rax), %ymm1, %ymm2
448 vpunpcklwd %ymm0, %ymm1, %ymm2
449 vpunpcklwd (%rax), %ymm1, %ymm2
451 vpxor %ymm0, %ymm1, %ymm2
452 vpxor (%rax), %ymm1, %ymm2
454 # CHECK: Instruction Info:
455 # CHECK-NEXT: [1]: #uOps
456 # CHECK-NEXT: [2]: Latency
457 # CHECK-NEXT: [3]: RThroughput
458 # CHECK-NEXT: [4]: MayLoad
459 # CHECK-NEXT: [5]: MayStore
460 # CHECK-NEXT: [6]: HasSideEffects (U)
462 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
463 # CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
464 # CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
465 # CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
466 # CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
467 # CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
468 # CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
469 # CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
470 # CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
471 # CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
472 # CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
473 # CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
474 # CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
475 # CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
476 # CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
477 # CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
478 # CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0
479 # CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2
480 # CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2
481 # CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2
482 # CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2
483 # CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2
484 # CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2
485 # CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2
486 # CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2
487 # CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
488 # CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2
489 # CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
490 # CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2
491 # CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
492 # CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2
493 # CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
494 # CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2
495 # CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2
496 # CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2
497 # CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2
498 # CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2
499 # CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2
500 # CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2
501 # CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
502 # CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2
503 # CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
504 # CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2
505 # CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
506 # CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2
507 # CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
508 # CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2
509 # CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2
510 # CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2
511 # CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
512 # CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
513 # CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2
514 # CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2
515 # CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2
516 # CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2
517 # CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
518 # CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2
519 # CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
520 # CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2
521 # CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2
522 # CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2
523 # CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2
524 # CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2
525 # CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
526 # CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
527 # CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2
528 # CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2
529 # CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0
530 # CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0
531 # CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0
532 # CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0
533 # CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0
534 # CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0
535 # CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0
536 # CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0
537 # CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0
538 # CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0
539 # CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0
540 # CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0
541 # CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0
542 # CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0
543 # CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0
544 # CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0
545 # CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
546 # CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
547 # CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
548 # CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
549 # CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
550 # CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
551 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
552 # CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
553 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
554 # CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
555 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
556 # CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
557 # CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2
558 # CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
559 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
560 # CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561 # CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562 # CHECK-NEXT: 2 10 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
563 # CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
564 # CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
565 # CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
566 # CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2
567 # CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2
568 # CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2
569 # CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2
570 # CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2
571 # CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
572 # CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
573 # CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
574 # CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
575 # CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
576 # CHECK-NEXT: 5 25 1.00 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
577 # CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
578 # CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
579 # CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2
580 # CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2
581 # CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2
582 # CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2
583 # CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2
584 # CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2
585 # CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2
586 # CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2
587 # CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2
588 # CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2
589 # CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
590 # CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2
591 # CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2
592 # CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
593 # CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2
594 # CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
595 # CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
596 # CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
597 # CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
598 # CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
599 # CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2
600 # CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2
601 # CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
602 # CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
603 # CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
604 # CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
605 # CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
606 # CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
607 # CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
608 # CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
609 # CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
610 # CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2
611 # CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
612 # CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2
613 # CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
614 # CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
615 # CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
616 # CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2
617 # CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
618 # CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2
619 # CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
620 # CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2
621 # CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2
622 # CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2
623 # CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2
624 # CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2
625 # CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
626 # CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
627 # CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx
628 # CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2
629 # CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2
630 # CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2
631 # CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2
632 # CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2
633 # CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2
634 # CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2
635 # CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2
636 # CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2
637 # CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2
638 # CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2
639 # CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2
640 # CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2
641 # CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2
642 # CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2
643 # CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2
644 # CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2
645 # CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2
646 # CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2
647 # CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2
648 # CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2
649 # CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2
650 # CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
651 # CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2
652 # CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2
653 # CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2
654 # CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2
655 # CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
656 # CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2
657 # CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
658 # CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2
659 # CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2
660 # CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2
661 # CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2
662 # CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2
663 # CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2
664 # CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2
665 # CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2
666 # CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
667 # CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
668 # CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
669 # CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2
670 # CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
671 # CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2
672 # CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2
673 # CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2
674 # CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2
675 # CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2
676 # CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2
677 # CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2
678 # CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
679 # CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2
680 # CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
681 # CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2
682 # CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
683 # CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2
684 # CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2
685 # CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2
686 # CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2
687 # CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2
688 # CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2
689 # CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2
690 # CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2
691 # CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2
692 # CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2
693 # CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2
694 # CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2
695 # CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2
696 # CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2
697 # CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2
698 # CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2
699 # CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2
700 # CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2
701 # CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2
702 # CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2
703 # CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2
704 # CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2
705 # CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2
706 # CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2
707 # CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2
708 # CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2
709 # CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2
710 # CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2
711 # CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2
712 # CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2
713 # CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2
714 # CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2
715 # CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2
716 # CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2
717 # CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2
718 # CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2
719 # CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2
720 # CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2
721 # CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2
722 # CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2
723 # CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2
724 # CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2
725 # CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2
726 # CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2
727 # CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2
728 # CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2
729 # CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2
730 # CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2
731 # CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2
732 # CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2
733 # CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2
734 # CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2
735 # CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2
736 # CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
737 # CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2
738 # CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
739 # CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2
740 # CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
741 # CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2
742 # CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
743 # CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2
744 # CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2
745 # CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2
746 # CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
747 # CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
748 # CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
749 # CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
750 # CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
751 # CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
752 # CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
753 # CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
754 # CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
755 # CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
756 # CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
757 # CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
758 # CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
759 # CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
760 # CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
761 # CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
762 # CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2
763 # CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2
765 # CHECK: Resources:
766 # CHECK-NEXT: [0] - SKXDivider
767 # CHECK-NEXT: [1] - SKXFPDivider
768 # CHECK-NEXT: [2] - SKXPort0
769 # CHECK-NEXT: [3] - SKXPort1
770 # CHECK-NEXT: [4] - SKXPort2
771 # CHECK-NEXT: [5] - SKXPort3
772 # CHECK-NEXT: [6] - SKXPort4
773 # CHECK-NEXT: [7] - SKXPort5
774 # CHECK-NEXT: [8] - SKXPort6
775 # CHECK-NEXT: [9] - SKXPort7
777 # CHECK: Resource pressure per iteration:
778 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
779 # CHECK-NEXT: - - 110.33 89.33 85.67 85.67 1.00 164.33 - 1.67
781 # CHECK: Resource pressure by instruction:
782 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
783 # CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0
784 # CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0
785 # CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0
786 # CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2
787 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax)
788 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
789 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
790 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
791 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
792 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
793 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
794 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
795 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
796 # CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
797 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
798 # CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0
799 # CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
800 # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
801 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2
802 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2
803 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2
804 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2
805 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2
806 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2
807 # CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
808 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
809 # CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
810 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
811 # CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
812 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
813 # CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
814 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
815 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2
816 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2
817 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2
818 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2
819 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2
820 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2
821 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2
822 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2
823 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2
824 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2
825 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2
826 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2
827 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2
828 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2
829 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2
830 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2
831 # CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
832 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
833 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2
834 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2
835 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2
836 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2
837 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2
838 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2
839 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2
840 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2
841 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2
842 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
843 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2
844 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
845 # CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
846 # CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
847 # CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2
848 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2
849 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0
850 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0
851 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0
852 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0
853 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0
854 # CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0
855 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0
856 # CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0
857 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0
858 # CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0
859 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0
860 # CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0
861 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0
862 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0
863 # CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0
864 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0
865 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2
866 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2
867 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2
868 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2
869 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2
870 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2
871 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2
872 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2
873 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2
874 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2
875 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2
876 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2
877 # CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2
878 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2
879 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
880 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2
881 # CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
882 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
883 # CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
884 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
885 # CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2
886 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2
887 # CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2
888 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2
889 # CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2
890 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2
891 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
892 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
893 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
894 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
895 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
896 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
897 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
898 # CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
899 # CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2
900 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2
901 # CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2
902 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2
903 # CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2
904 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2
905 # CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2
906 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2
907 # CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2
908 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2
909 # CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2
910 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2
911 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
912 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2
913 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
914 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2
915 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2
916 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2
917 # CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax)
918 # CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax)
919 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2
920 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2
921 # CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax)
922 # CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax)
923 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2
924 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2
925 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2
926 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2
927 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2
928 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2
929 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2
930 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2
931 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2
932 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2
933 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2
934 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2
935 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2
936 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2
937 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2
938 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2
939 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2
940 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2
941 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2
942 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2
943 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2
944 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2
945 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2
946 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2
947 # CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx
948 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2
949 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2
950 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2
951 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2
952 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2
953 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2
954 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2
955 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2
956 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2
957 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2
958 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2
959 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2
960 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2
961 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2
962 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2
963 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2
964 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2
965 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2
966 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2
967 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2
968 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2
969 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2
970 # CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2
971 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2
972 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
973 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2
974 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
975 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2
976 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
977 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2
978 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
979 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2
980 # CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm0, %ymm1, %ymm2
981 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2
982 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %ymm0, %ymm1, %ymm2
983 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2
984 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
985 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2
986 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2
987 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2
988 # CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2
989 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2
990 # CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
991 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2
992 # CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2
993 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2
994 # CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2
995 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2
996 # CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2
997 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2
998 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2
999 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2
1000 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2
1001 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2
1002 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2
1003 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2
1004 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2
1005 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
1006 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2
1007 # CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
1008 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2
1009 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
1010 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2
1011 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2
1012 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2
1013 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2
1014 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2
1015 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
1016 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2
1017 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
1018 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2
1019 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2
1020 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
1021 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2
1022 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2
1023 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
1024 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2
1025 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2
1026 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2
1027 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2
1028 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2
1029 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2
1030 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
1031 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2
1032 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2
1033 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
1034 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2
1035 # CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
1036 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2
1037 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
1038 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2
1039 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2
1040 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2
1041 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2
1042 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2
1043 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
1044 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2
1045 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
1046 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2
1047 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2
1048 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
1049 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2
1050 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2
1051 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2
1052 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2
1053 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2
1054 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2
1055 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2
1056 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2
1057 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2
1058 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2
1059 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2
1060 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2
1061 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2
1062 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2
1063 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2
1064 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2
1065 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2
1066 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
1067 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
1068 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
1069 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
1070 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
1071 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
1072 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
1073 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
1074 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
1075 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
1076 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
1077 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
1078 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
1079 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
1080 # CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
1081 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
1082 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2
1083 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2