[llvm] r330512 - [llvm-mca][X86] Add AVX2 resource tests
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 21 09:12:43 PDT 2018
Author: rksimon
Date: Sat Apr 21 09:12:42 2018
New Revision: 330512
URL: http://llvm.org/viewvc/llvm-project?rev=330512&view=rev
Log:
[llvm-mca][X86] Add AVX2 resource tests
Added:
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx2.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
Added: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s?rev=330512&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s Sat Apr 21 09:12:42 2018
@@ -0,0 +1,1077 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -instruction-tables < %s | FileCheck %s
+
+vbroadcasti128 (%rax), %ymm0
+
+vbroadcastsd %xmm0, %ymm0
+vbroadcastss %xmm0, %ymm0
+
+vextracti128 $1, %ymm0, %xmm2
+vextracti128 $1, %ymm0, (%rax)
+
+vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+
+vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+
+vinserti128 $1, %xmm0, %ymm1, %ymm2
+vinserti128 $1, (%rax), %ymm1, %ymm2
+
+vmovntdqa (%rax), %ymm0
+
+vmpsadbw $1, %ymm0, %ymm1, %ymm2
+vmpsadbw $1, (%rax), %ymm1, %ymm2
+
+vpabsb %ymm0, %ymm2
+vpabsb (%rax), %ymm2
+
+vpabsd %ymm0, %ymm2
+vpabsd (%rax), %ymm2
+
+vpabsw %ymm0, %ymm2
+vpabsw (%rax), %ymm2
+
+vpackssdw %ymm0, %ymm1, %ymm2
+vpackssdw (%rax), %ymm1, %ymm2
+
+vpacksswb %ymm0, %ymm1, %ymm2
+vpacksswb (%rax), %ymm1, %ymm2
+
+vpackusdw %ymm0, %ymm1, %ymm2
+vpackusdw (%rax), %ymm1, %ymm2
+
+vpackuswb %ymm0, %ymm1, %ymm2
+vpackuswb (%rax), %ymm1, %ymm2
+
+vpaddb %ymm0, %ymm1, %ymm2
+vpaddb (%rax), %ymm1, %ymm2
+
+vpaddd %ymm0, %ymm1, %ymm2
+vpaddd (%rax), %ymm1, %ymm2
+
+vpaddq %ymm0, %ymm1, %ymm2
+vpaddq (%rax), %ymm1, %ymm2
+
+vpaddsb %ymm0, %ymm1, %ymm2
+vpaddsb (%rax), %ymm1, %ymm2
+
+vpaddsw %ymm0, %ymm1, %ymm2
+vpaddsw (%rax), %ymm1, %ymm2
+
+vpaddusb %ymm0, %ymm1, %ymm2
+vpaddusb (%rax), %ymm1, %ymm2
+
+vpaddusw %ymm0, %ymm1, %ymm2
+vpaddusw (%rax), %ymm1, %ymm2
+
+vpaddw %ymm0, %ymm1, %ymm2
+vpaddw (%rax), %ymm1, %ymm2
+
+vpalignr $1, %ymm0, %ymm1, %ymm2
+vpalignr $1, (%rax), %ymm1, %ymm2
+
+vpand %ymm0, %ymm1, %ymm2
+vpand (%rax), %ymm1, %ymm2
+
+vpandn %ymm0, %ymm1, %ymm2
+vpandn (%rax), %ymm1, %ymm2
+
+vpavgb %ymm0, %ymm1, %ymm2
+vpavgb (%rax), %ymm1, %ymm2
+
+vpavgw %ymm0, %ymm1, %ymm2
+vpavgw (%rax), %ymm1, %ymm2
+
+vpblendd $11, %xmm0, %xmm1, %xmm2
+vpblendd $11, (%rax), %xmm1, %xmm2
+
+vpblendd $11, %ymm0, %ymm1, %ymm2
+vpblendd $11, (%rax), %ymm1, %ymm2
+
+vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+
+vpblendw $11, %ymm0, %ymm1, %ymm2
+vpblendw $11, (%rax), %ymm1, %ymm2
+
+vpbroadcastb %xmm0, %xmm0
+vpbroadcastb (%rax), %xmm0
+
+vpbroadcastb %xmm0, %ymm0
+vpbroadcastb (%rax), %ymm0
+
+vpbroadcastd %xmm0, %xmm0
+vpbroadcastd (%rax), %xmm0
+
+vpbroadcastd %xmm0, %ymm0
+vpbroadcastd (%rax), %ymm0
+
+vpbroadcastq %xmm0, %xmm0
+vpbroadcastq (%rax), %xmm0
+
+vpbroadcastq %xmm0, %ymm0
+vpbroadcastq (%rax), %ymm0
+
+vpbroadcastw %xmm0, %xmm0
+vpbroadcastw (%rax), %xmm0
+
+vpbroadcastw %xmm0, %ymm0
+vpbroadcastw (%rax), %ymm0
+
+vpcmpeqb %ymm0, %ymm1, %ymm2
+vpcmpeqb (%rax), %ymm1, %ymm2
+
+vpcmpeqd %ymm0, %ymm1, %ymm2
+vpcmpeqd (%rax), %ymm1, %ymm2
+
+vpcmpeqq %ymm0, %ymm1, %ymm2
+vpcmpeqq (%rax), %ymm1, %ymm2
+
+vpcmpeqw %ymm0, %ymm1, %ymm2
+vpcmpeqw (%rax), %ymm1, %ymm2
+
+vpcmpgtb %ymm0, %ymm1, %ymm2
+vpcmpgtb (%rax), %ymm1, %ymm2
+
+vpcmpgtd %ymm0, %ymm1, %ymm2
+vpcmpgtd (%rax), %ymm1, %ymm2
+
+vpcmpgtq %ymm0, %ymm1, %ymm2
+vpcmpgtq (%rax), %ymm1, %ymm2
+
+vpcmpgtw %ymm0, %ymm1, %ymm2
+vpcmpgtw (%rax), %ymm1, %ymm2
+
+vpermd %ymm0, %ymm1, %ymm2
+vpermd (%rax), %ymm1, %ymm2
+
+vpermpd $1, %ymm0, %ymm2
+vpermpd $1, (%rax), %ymm2
+
+vpermps %ymm0, %ymm1, %ymm2
+vpermps (%rax), %ymm1, %ymm2
+
+vpermq $1, %ymm0, %ymm2
+vpermq $1, (%rax), %ymm2
+
+vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+
+vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vphaddd %ymm0, %ymm1, %ymm2
+vphaddd (%rax), %ymm1, %ymm2
+
+vphaddsw %ymm0, %ymm1, %ymm2
+vphaddsw (%rax), %ymm1, %ymm2
+
+vphaddw %ymm0, %ymm1, %ymm2
+vphaddw (%rax), %ymm1, %ymm2
+
+vphsubd %ymm0, %ymm1, %ymm2
+vphsubd (%rax), %ymm1, %ymm2
+
+vphsubsw %ymm0, %ymm1, %ymm2
+vphsubsw (%rax), %ymm1, %ymm2
+
+vphsubw %ymm0, %ymm1, %ymm2
+vphsubw (%rax), %ymm1, %ymm2
+
+vpmaddubsw %ymm0, %ymm1, %ymm2
+vpmaddubsw (%rax), %ymm1, %ymm2
+
+vpmaddwd %ymm0, %ymm1, %ymm2
+vpmaddwd (%rax), %ymm1, %ymm2
+
+vpmaskmovd (%rax), %xmm0, %xmm2
+vpmaskmovd (%rax), %ymm0, %ymm2
+
+vpmaskmovd %xmm0, %xmm1, (%rax)
+vpmaskmovd %ymm0, %ymm1, (%rax)
+
+vpmaskmovq (%rax), %xmm0, %xmm2
+vpmaskmovq (%rax), %ymm0, %ymm2
+
+vpmaskmovq %xmm0, %xmm1, (%rax)
+vpmaskmovq %ymm0, %ymm1, (%rax)
+
+vpmaxsb %ymm0, %ymm1, %ymm2
+vpmaxsb (%rax), %ymm1, %ymm2
+
+vpmaxsd %ymm0, %ymm1, %ymm2
+vpmaxsd (%rax), %ymm1, %ymm2
+
+vpmaxsw %ymm0, %ymm1, %ymm2
+vpmaxsw (%rax), %ymm1, %ymm2
+
+vpmaxub %ymm0, %ymm1, %ymm2
+vpmaxub (%rax), %ymm1, %ymm2
+
+vpmaxud %ymm0, %ymm1, %ymm2
+vpmaxud (%rax), %ymm1, %ymm2
+
+vpmaxuw %ymm0, %ymm1, %ymm2
+vpmaxuw (%rax), %ymm1, %ymm2
+
+vpminsb %ymm0, %ymm1, %ymm2
+vpminsb (%rax), %ymm1, %ymm2
+
+vpminsd %ymm0, %ymm1, %ymm2
+vpminsd (%rax), %ymm1, %ymm2
+
+vpminsw %ymm0, %ymm1, %ymm2
+vpminsw (%rax), %ymm1, %ymm2
+
+vpminub %ymm0, %ymm1, %ymm2
+vpminub (%rax), %ymm1, %ymm2
+
+vpminud %ymm0, %ymm1, %ymm2
+vpminud (%rax), %ymm1, %ymm2
+
+vpminuw %ymm0, %ymm1, %ymm2
+vpminuw (%rax), %ymm1, %ymm2
+
+vpmovmskb %ymm0, %rcx
+
+vpmovsxbd %xmm0, %ymm2
+vpmovsxbd (%rax), %ymm2
+
+vpmovsxbq %xmm0, %ymm2
+vpmovsxbq (%rax), %ymm2
+
+vpmovsxbw %xmm0, %ymm2
+vpmovsxbw (%rax), %ymm2
+
+vpmovsxdq %xmm0, %ymm2
+vpmovsxdq (%rax), %ymm2
+
+vpmovsxwd %xmm0, %ymm2
+vpmovsxwd (%rax), %ymm2
+
+vpmovsxwq %xmm0, %ymm2
+vpmovsxwq (%rax), %ymm2
+
+vpmovzxbd %xmm0, %ymm2
+vpmovzxbd (%rax), %ymm2
+
+vpmovzxbq %xmm0, %ymm2
+vpmovzxbq (%rax), %ymm2
+
+vpmovzxbw %xmm0, %ymm2
+vpmovzxbw (%rax), %ymm2
+
+vpmovzxdq %xmm0, %ymm2
+vpmovzxdq (%rax), %ymm2
+
+vpmovzxwd %xmm0, %ymm2
+vpmovzxwd (%rax), %ymm2
+
+vpmovzxwq %xmm0, %ymm2
+vpmovzxwq (%rax), %ymm2
+
+vpmuldq %ymm0, %ymm1, %ymm2
+vpmuldq (%rax), %ymm1, %ymm2
+
+vpmulhrsw %ymm0, %ymm1, %ymm2
+vpmulhrsw (%rax), %ymm1, %ymm2
+
+vpmulhuw %ymm0, %ymm1, %ymm2
+vpmulhuw (%rax), %ymm1, %ymm2
+
+vpmulhw %ymm0, %ymm1, %ymm2
+vpmulhw (%rax), %ymm1, %ymm2
+
+vpmulld %ymm0, %ymm1, %ymm2
+vpmulld (%rax), %ymm1, %ymm2
+
+vpmullw %ymm0, %ymm1, %ymm2
+vpmullw (%rax), %ymm1, %ymm2
+
+vpmuludq %ymm0, %ymm1, %ymm2
+vpmuludq (%rax), %ymm1, %ymm2
+
+vpor %ymm0, %ymm1, %ymm2
+vpor (%rax), %ymm1, %ymm2
+
+vpsadbw %ymm0, %ymm1, %ymm2
+vpsadbw (%rax), %ymm1, %ymm2
+
+vpshufb %ymm0, %ymm1, %ymm2
+vpshufb (%rax), %ymm1, %ymm2
+
+vpshufd $1, %ymm0, %ymm2
+vpshufd $1, (%rax), %ymm2
+
+vpshufhw $1, %ymm0, %ymm2
+vpshufhw $1, (%rax), %ymm2
+
+vpshuflw $1, %ymm0, %ymm2
+vpshuflw $1, (%rax), %ymm2
+
+vpsignb %ymm0, %ymm1, %ymm2
+vpsignb (%rax), %ymm1, %ymm2
+
+vpsignd %ymm0, %ymm1, %ymm2
+vpsignd (%rax), %ymm1, %ymm2
+
+vpsignw %ymm0, %ymm1, %ymm2
+vpsignw (%rax), %ymm1, %ymm2
+
+vpslld $1, %ymm0, %ymm2
+vpslld %xmm0, %ymm1, %ymm2
+vpslld (%rax), %ymm1, %ymm2
+
+vpslldq $1, %ymm1, %ymm2
+
+vpsllq $1, %ymm0, %ymm2
+vpsllq %xmm0, %ymm1, %ymm2
+vpsllq (%rax), %ymm1, %ymm2
+
+vpsllvd %xmm0, %xmm1, %xmm2
+vpsllvd (%rax), %xmm1, %xmm2
+
+vpsllvd %ymm0, %ymm1, %ymm2
+vpsllvd (%rax), %ymm1, %ymm2
+
+vpsllvq %xmm0, %xmm1, %xmm2
+vpsllvq (%rax), %xmm1, %xmm2
+
+vpsllvq %ymm0, %ymm1, %ymm2
+vpsllvq (%rax), %ymm1, %ymm2
+
+vpsllw $1, %ymm0, %ymm2
+vpsllw %xmm0, %ymm1, %ymm2
+vpsllw (%rax), %ymm1, %ymm2
+
+vpsrad $1, %ymm0, %ymm2
+vpsrad %xmm0, %ymm1, %ymm2
+vpsrad (%rax), %ymm1, %ymm2
+
+vpsravd %xmm0, %xmm1, %xmm2
+vpsravd (%rax), %xmm1, %xmm2
+
+vpsravd %ymm0, %ymm1, %ymm2
+vpsravd (%rax), %ymm1, %ymm2
+
+vpsraw $1, %ymm0, %ymm2
+vpsraw %xmm0, %ymm1, %ymm2
+vpsraw (%rax), %ymm1, %ymm2
+
+vpsrld $1, %ymm0, %ymm2
+vpsrld %xmm0, %ymm1, %ymm2
+vpsrld (%rax), %ymm1, %ymm2
+
+vpsrldq $1, %ymm1, %ymm2
+
+vpsrlq $1, %ymm0, %ymm2
+vpsrlq %xmm0, %ymm1, %ymm2
+vpsrlq (%rax), %ymm1, %ymm2
+
+vpsrlvd %xmm0, %xmm1, %xmm2
+vpsrlvd (%rax), %xmm1, %xmm2
+
+vpsrlvd %ymm0, %ymm1, %ymm2
+vpsrlvd (%rax), %ymm1, %ymm2
+
+vpsrlvq %xmm0, %xmm1, %xmm2
+vpsrlvq (%rax), %xmm1, %xmm2
+
+vpsrlvq %ymm0, %ymm1, %ymm2
+vpsrlvq (%rax), %ymm1, %ymm2
+
+vpsrlw $1, %ymm0, %ymm2
+vpsrlw %xmm0, %ymm1, %ymm2
+vpsrlw (%rax), %ymm1, %ymm2
+
+vpsubb %ymm0, %ymm1, %ymm2
+vpsubb (%rax), %ymm1, %ymm2
+
+vpsubd %ymm0, %ymm1, %ymm2
+vpsubd (%rax), %ymm1, %ymm2
+
+vpsubq %ymm0, %ymm1, %ymm2
+vpsubq (%rax), %ymm1, %ymm2
+
+vpsubsb %ymm0, %ymm1, %ymm2
+vpsubsb (%rax), %ymm1, %ymm2
+
+vpsubsw %ymm0, %ymm1, %ymm2
+vpsubsw (%rax), %ymm1, %ymm2
+
+vpsubusb %ymm0, %ymm1, %ymm2
+vpsubusb (%rax), %ymm1, %ymm2
+
+vpsubusw %ymm0, %ymm1, %ymm2
+vpsubusw (%rax), %ymm1, %ymm2
+
+vpsubw %ymm0, %ymm1, %ymm2
+vpsubw (%rax), %ymm1, %ymm2
+
+vpunpckhbw %ymm0, %ymm1, %ymm2
+vpunpckhbw (%rax), %ymm1, %ymm2
+
+vpunpckhdq %ymm0, %ymm1, %ymm2
+vpunpckhdq (%rax), %ymm1, %ymm2
+
+vpunpckhqdq %ymm0, %ymm1, %ymm2
+vpunpckhqdq (%rax), %ymm1, %ymm2
+
+vpunpckhwd %ymm0, %ymm1, %ymm2
+vpunpckhwd (%rax), %ymm1, %ymm2
+
+vpunpcklbw %ymm0, %ymm1, %ymm2
+vpunpcklbw (%rax), %ymm1, %ymm2
+
+vpunpckldq %ymm0, %ymm1, %ymm2
+vpunpckldq (%rax), %ymm1, %ymm2
+
+vpunpcklqdq %ymm0, %ymm1, %ymm2
+vpunpcklqdq (%rax), %ymm1, %ymm2
+
+vpunpcklwd %ymm0, %ymm1, %ymm2
+vpunpcklwd (%rax), %ymm1, %ymm2
+
+vpxor %ymm0, %ymm1, %ymm2
+vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 6 0.50 * vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: 7 25 3.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 9 26 5.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 7 25 3.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 14 26 4.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 7 22 3.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 9 23 3.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 9 27 5.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 9 24 5.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 6 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 6 0.50 * vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 13 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpabsd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpabsw (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 8 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 5 0.50 * vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 5 0.50 * vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 7 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 7 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 16 2.00 * vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4 8 2.00 * vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 * vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4 8 2.00 * vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4 8 2.00 * vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 * vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - BWDivider
+# CHECK-NEXT: [1] - BWFPDivider
+# CHECK-NEXT: [2] - BWPort0
+# CHECK-NEXT: [3] - BWPort1
+# CHECK-NEXT: [4] - BWPort2
+# CHECK-NEXT: [5] - BWPort3
+# CHECK-NEXT: [6] - BWPort4
+# CHECK-NEXT: [7] - BWPort5
+# CHECK-NEXT: [8] - BWPort6
+# CHECK-NEXT: [9] - BWPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 94.67 58.67 85.17 85.17 13.00 235.67 2.00 1.67
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 0.25 0.25 4.00 4.00 1.00 4.25 0.25 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2
+
Added: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx2.s?rev=330512&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx2.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx2.s Sat Apr 21 09:12:42 2018
@@ -0,0 +1,1077 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -instruction-tables < %s | FileCheck %s
+
+vbroadcasti128 (%rax), %ymm0
+
+vbroadcastsd %xmm0, %ymm0
+vbroadcastss %xmm0, %ymm0
+
+vextracti128 $1, %ymm0, %xmm2
+vextracti128 $1, %ymm0, (%rax)
+
+vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+
+vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+
+vinserti128 $1, %xmm0, %ymm1, %ymm2
+vinserti128 $1, (%rax), %ymm1, %ymm2
+
+vmovntdqa (%rax), %ymm0
+
+vmpsadbw $1, %ymm0, %ymm1, %ymm2
+vmpsadbw $1, (%rax), %ymm1, %ymm2
+
+vpabsb %ymm0, %ymm2
+vpabsb (%rax), %ymm2
+
+vpabsd %ymm0, %ymm2
+vpabsd (%rax), %ymm2
+
+vpabsw %ymm0, %ymm2
+vpabsw (%rax), %ymm2
+
+vpackssdw %ymm0, %ymm1, %ymm2
+vpackssdw (%rax), %ymm1, %ymm2
+
+vpacksswb %ymm0, %ymm1, %ymm2
+vpacksswb (%rax), %ymm1, %ymm2
+
+vpackusdw %ymm0, %ymm1, %ymm2
+vpackusdw (%rax), %ymm1, %ymm2
+
+vpackuswb %ymm0, %ymm1, %ymm2
+vpackuswb (%rax), %ymm1, %ymm2
+
+vpaddb %ymm0, %ymm1, %ymm2
+vpaddb (%rax), %ymm1, %ymm2
+
+vpaddd %ymm0, %ymm1, %ymm2
+vpaddd (%rax), %ymm1, %ymm2
+
+vpaddq %ymm0, %ymm1, %ymm2
+vpaddq (%rax), %ymm1, %ymm2
+
+vpaddsb %ymm0, %ymm1, %ymm2
+vpaddsb (%rax), %ymm1, %ymm2
+
+vpaddsw %ymm0, %ymm1, %ymm2
+vpaddsw (%rax), %ymm1, %ymm2
+
+vpaddusb %ymm0, %ymm1, %ymm2
+vpaddusb (%rax), %ymm1, %ymm2
+
+vpaddusw %ymm0, %ymm1, %ymm2
+vpaddusw (%rax), %ymm1, %ymm2
+
+vpaddw %ymm0, %ymm1, %ymm2
+vpaddw (%rax), %ymm1, %ymm2
+
+vpalignr $1, %ymm0, %ymm1, %ymm2
+vpalignr $1, (%rax), %ymm1, %ymm2
+
+vpand %ymm0, %ymm1, %ymm2
+vpand (%rax), %ymm1, %ymm2
+
+vpandn %ymm0, %ymm1, %ymm2
+vpandn (%rax), %ymm1, %ymm2
+
+vpavgb %ymm0, %ymm1, %ymm2
+vpavgb (%rax), %ymm1, %ymm2
+
+vpavgw %ymm0, %ymm1, %ymm2
+vpavgw (%rax), %ymm1, %ymm2
+
+vpblendd $11, %xmm0, %xmm1, %xmm2
+vpblendd $11, (%rax), %xmm1, %xmm2
+
+vpblendd $11, %ymm0, %ymm1, %ymm2
+vpblendd $11, (%rax), %ymm1, %ymm2
+
+vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+
+vpblendw $11, %ymm0, %ymm1, %ymm2
+vpblendw $11, (%rax), %ymm1, %ymm2
+
+vpbroadcastb %xmm0, %xmm0
+vpbroadcastb (%rax), %xmm0
+
+vpbroadcastb %xmm0, %ymm0
+vpbroadcastb (%rax), %ymm0
+
+vpbroadcastd %xmm0, %xmm0
+vpbroadcastd (%rax), %xmm0
+
+vpbroadcastd %xmm0, %ymm0
+vpbroadcastd (%rax), %ymm0
+
+vpbroadcastq %xmm0, %xmm0
+vpbroadcastq (%rax), %xmm0
+
+vpbroadcastq %xmm0, %ymm0
+vpbroadcastq (%rax), %ymm0
+
+vpbroadcastw %xmm0, %xmm0
+vpbroadcastw (%rax), %xmm0
+
+vpbroadcastw %xmm0, %ymm0
+vpbroadcastw (%rax), %ymm0
+
+vpcmpeqb %ymm0, %ymm1, %ymm2
+vpcmpeqb (%rax), %ymm1, %ymm2
+
+vpcmpeqd %ymm0, %ymm1, %ymm2
+vpcmpeqd (%rax), %ymm1, %ymm2
+
+vpcmpeqq %ymm0, %ymm1, %ymm2
+vpcmpeqq (%rax), %ymm1, %ymm2
+
+vpcmpeqw %ymm0, %ymm1, %ymm2
+vpcmpeqw (%rax), %ymm1, %ymm2
+
+vpcmpgtb %ymm0, %ymm1, %ymm2
+vpcmpgtb (%rax), %ymm1, %ymm2
+
+vpcmpgtd %ymm0, %ymm1, %ymm2
+vpcmpgtd (%rax), %ymm1, %ymm2
+
+vpcmpgtq %ymm0, %ymm1, %ymm2
+vpcmpgtq (%rax), %ymm1, %ymm2
+
+vpcmpgtw %ymm0, %ymm1, %ymm2
+vpcmpgtw (%rax), %ymm1, %ymm2
+
+vpermd %ymm0, %ymm1, %ymm2
+vpermd (%rax), %ymm1, %ymm2
+
+vpermpd $1, %ymm0, %ymm2
+vpermpd $1, (%rax), %ymm2
+
+vpermps %ymm0, %ymm1, %ymm2
+vpermps (%rax), %ymm1, %ymm2
+
+vpermq $1, %ymm0, %ymm2
+vpermq $1, (%rax), %ymm2
+
+vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+
+vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vphaddd %ymm0, %ymm1, %ymm2
+vphaddd (%rax), %ymm1, %ymm2
+
+vphaddsw %ymm0, %ymm1, %ymm2
+vphaddsw (%rax), %ymm1, %ymm2
+
+vphaddw %ymm0, %ymm1, %ymm2
+vphaddw (%rax), %ymm1, %ymm2
+
+vphsubd %ymm0, %ymm1, %ymm2
+vphsubd (%rax), %ymm1, %ymm2
+
+vphsubsw %ymm0, %ymm1, %ymm2
+vphsubsw (%rax), %ymm1, %ymm2
+
+vphsubw %ymm0, %ymm1, %ymm2
+vphsubw (%rax), %ymm1, %ymm2
+
+vpmaddubsw %ymm0, %ymm1, %ymm2
+vpmaddubsw (%rax), %ymm1, %ymm2
+
+vpmaddwd %ymm0, %ymm1, %ymm2
+vpmaddwd (%rax), %ymm1, %ymm2
+
+vpmaskmovd (%rax), %xmm0, %xmm2
+vpmaskmovd (%rax), %ymm0, %ymm2
+
+vpmaskmovd %xmm0, %xmm1, (%rax)
+vpmaskmovd %ymm0, %ymm1, (%rax)
+
+vpmaskmovq (%rax), %xmm0, %xmm2
+vpmaskmovq (%rax), %ymm0, %ymm2
+
+vpmaskmovq %xmm0, %xmm1, (%rax)
+vpmaskmovq %ymm0, %ymm1, (%rax)
+
+vpmaxsb %ymm0, %ymm1, %ymm2
+vpmaxsb (%rax), %ymm1, %ymm2
+
+vpmaxsd %ymm0, %ymm1, %ymm2
+vpmaxsd (%rax), %ymm1, %ymm2
+
+vpmaxsw %ymm0, %ymm1, %ymm2
+vpmaxsw (%rax), %ymm1, %ymm2
+
+vpmaxub %ymm0, %ymm1, %ymm2
+vpmaxub (%rax), %ymm1, %ymm2
+
+vpmaxud %ymm0, %ymm1, %ymm2
+vpmaxud (%rax), %ymm1, %ymm2
+
+vpmaxuw %ymm0, %ymm1, %ymm2
+vpmaxuw (%rax), %ymm1, %ymm2
+
+vpminsb %ymm0, %ymm1, %ymm2
+vpminsb (%rax), %ymm1, %ymm2
+
+vpminsd %ymm0, %ymm1, %ymm2
+vpminsd (%rax), %ymm1, %ymm2
+
+vpminsw %ymm0, %ymm1, %ymm2
+vpminsw (%rax), %ymm1, %ymm2
+
+vpminub %ymm0, %ymm1, %ymm2
+vpminub (%rax), %ymm1, %ymm2
+
+vpminud %ymm0, %ymm1, %ymm2
+vpminud (%rax), %ymm1, %ymm2
+
+vpminuw %ymm0, %ymm1, %ymm2
+vpminuw (%rax), %ymm1, %ymm2
+
+vpmovmskb %ymm0, %rcx
+
+vpmovsxbd %xmm0, %ymm2
+vpmovsxbd (%rax), %ymm2
+
+vpmovsxbq %xmm0, %ymm2
+vpmovsxbq (%rax), %ymm2
+
+vpmovsxbw %xmm0, %ymm2
+vpmovsxbw (%rax), %ymm2
+
+vpmovsxdq %xmm0, %ymm2
+vpmovsxdq (%rax), %ymm2
+
+vpmovsxwd %xmm0, %ymm2
+vpmovsxwd (%rax), %ymm2
+
+vpmovsxwq %xmm0, %ymm2
+vpmovsxwq (%rax), %ymm2
+
+vpmovzxbd %xmm0, %ymm2
+vpmovzxbd (%rax), %ymm2
+
+vpmovzxbq %xmm0, %ymm2
+vpmovzxbq (%rax), %ymm2
+
+vpmovzxbw %xmm0, %ymm2
+vpmovzxbw (%rax), %ymm2
+
+vpmovzxdq %xmm0, %ymm2
+vpmovzxdq (%rax), %ymm2
+
+vpmovzxwd %xmm0, %ymm2
+vpmovzxwd (%rax), %ymm2
+
+vpmovzxwq %xmm0, %ymm2
+vpmovzxwq (%rax), %ymm2
+
+vpmuldq %ymm0, %ymm1, %ymm2
+vpmuldq (%rax), %ymm1, %ymm2
+
+vpmulhrsw %ymm0, %ymm1, %ymm2
+vpmulhrsw (%rax), %ymm1, %ymm2
+
+vpmulhuw %ymm0, %ymm1, %ymm2
+vpmulhuw (%rax), %ymm1, %ymm2
+
+vpmulhw %ymm0, %ymm1, %ymm2
+vpmulhw (%rax), %ymm1, %ymm2
+
+vpmulld %ymm0, %ymm1, %ymm2
+vpmulld (%rax), %ymm1, %ymm2
+
+vpmullw %ymm0, %ymm1, %ymm2
+vpmullw (%rax), %ymm1, %ymm2
+
+vpmuludq %ymm0, %ymm1, %ymm2
+vpmuludq (%rax), %ymm1, %ymm2
+
+vpor %ymm0, %ymm1, %ymm2
+vpor (%rax), %ymm1, %ymm2
+
+vpsadbw %ymm0, %ymm1, %ymm2
+vpsadbw (%rax), %ymm1, %ymm2
+
+vpshufb %ymm0, %ymm1, %ymm2
+vpshufb (%rax), %ymm1, %ymm2
+
+vpshufd $1, %ymm0, %ymm2
+vpshufd $1, (%rax), %ymm2
+
+vpshufhw $1, %ymm0, %ymm2
+vpshufhw $1, (%rax), %ymm2
+
+vpshuflw $1, %ymm0, %ymm2
+vpshuflw $1, (%rax), %ymm2
+
+vpsignb %ymm0, %ymm1, %ymm2
+vpsignb (%rax), %ymm1, %ymm2
+
+vpsignd %ymm0, %ymm1, %ymm2
+vpsignd (%rax), %ymm1, %ymm2
+
+vpsignw %ymm0, %ymm1, %ymm2
+vpsignw (%rax), %ymm1, %ymm2
+
+vpslld $1, %ymm0, %ymm2
+vpslld %xmm0, %ymm1, %ymm2
+vpslld (%rax), %ymm1, %ymm2
+
+vpslldq $1, %ymm1, %ymm2
+
+vpsllq $1, %ymm0, %ymm2
+vpsllq %xmm0, %ymm1, %ymm2
+vpsllq (%rax), %ymm1, %ymm2
+
+vpsllvd %xmm0, %xmm1, %xmm2
+vpsllvd (%rax), %xmm1, %xmm2
+
+vpsllvd %ymm0, %ymm1, %ymm2
+vpsllvd (%rax), %ymm1, %ymm2
+
+vpsllvq %xmm0, %xmm1, %xmm2
+vpsllvq (%rax), %xmm1, %xmm2
+
+vpsllvq %ymm0, %ymm1, %ymm2
+vpsllvq (%rax), %ymm1, %ymm2
+
+vpsllw $1, %ymm0, %ymm2
+vpsllw %xmm0, %ymm1, %ymm2
+vpsllw (%rax), %ymm1, %ymm2
+
+vpsrad $1, %ymm0, %ymm2
+vpsrad %xmm0, %ymm1, %ymm2
+vpsrad (%rax), %ymm1, %ymm2
+
+vpsravd %xmm0, %xmm1, %xmm2
+vpsravd (%rax), %xmm1, %xmm2
+
+vpsravd %ymm0, %ymm1, %ymm2
+vpsravd (%rax), %ymm1, %ymm2
+
+vpsraw $1, %ymm0, %ymm2
+vpsraw %xmm0, %ymm1, %ymm2
+vpsraw (%rax), %ymm1, %ymm2
+
+vpsrld $1, %ymm0, %ymm2
+vpsrld %xmm0, %ymm1, %ymm2
+vpsrld (%rax), %ymm1, %ymm2
+
+vpsrldq $1, %ymm1, %ymm2
+
+vpsrlq $1, %ymm0, %ymm2
+vpsrlq %xmm0, %ymm1, %ymm2
+vpsrlq (%rax), %ymm1, %ymm2
+
+vpsrlvd %xmm0, %xmm1, %xmm2
+vpsrlvd (%rax), %xmm1, %xmm2
+
+vpsrlvd %ymm0, %ymm1, %ymm2
+vpsrlvd (%rax), %ymm1, %ymm2
+
+vpsrlvq %xmm0, %xmm1, %xmm2
+vpsrlvq (%rax), %xmm1, %xmm2
+
+vpsrlvq %ymm0, %ymm1, %ymm2
+vpsrlvq (%rax), %ymm1, %ymm2
+
+vpsrlw $1, %ymm0, %ymm2
+vpsrlw %xmm0, %ymm1, %ymm2
+vpsrlw (%rax), %ymm1, %ymm2
+
+vpsubb %ymm0, %ymm1, %ymm2
+vpsubb (%rax), %ymm1, %ymm2
+
+vpsubd %ymm0, %ymm1, %ymm2
+vpsubd (%rax), %ymm1, %ymm2
+
+vpsubq %ymm0, %ymm1, %ymm2
+vpsubq (%rax), %ymm1, %ymm2
+
+vpsubsb %ymm0, %ymm1, %ymm2
+vpsubsb (%rax), %ymm1, %ymm2
+
+vpsubsw %ymm0, %ymm1, %ymm2
+vpsubsw (%rax), %ymm1, %ymm2
+
+vpsubusb %ymm0, %ymm1, %ymm2
+vpsubusb (%rax), %ymm1, %ymm2
+
+vpsubusw %ymm0, %ymm1, %ymm2
+vpsubusw (%rax), %ymm1, %ymm2
+
+vpsubw %ymm0, %ymm1, %ymm2
+vpsubw (%rax), %ymm1, %ymm2
+
+vpunpckhbw %ymm0, %ymm1, %ymm2
+vpunpckhbw (%rax), %ymm1, %ymm2
+
+vpunpckhdq %ymm0, %ymm1, %ymm2
+vpunpckhdq (%rax), %ymm1, %ymm2
+
+vpunpckhqdq %ymm0, %ymm1, %ymm2
+vpunpckhqdq (%rax), %ymm1, %ymm2
+
+vpunpckhwd %ymm0, %ymm1, %ymm2
+vpunpckhwd (%rax), %ymm1, %ymm2
+
+vpunpcklbw %ymm0, %ymm1, %ymm2
+vpunpcklbw (%rax), %ymm1, %ymm2
+
+vpunpckldq %ymm0, %ymm1, %ymm2
+vpunpckldq (%rax), %ymm1, %ymm2
+
+vpunpcklqdq %ymm0, %ymm1, %ymm2
+vpunpcklqdq (%rax), %ymm1, %ymm2
+
+vpunpcklwd %ymm0, %ymm1, %ymm2
+vpunpcklwd (%rax), %ymm1, %ymm2
+
+vpxor %ymm0, %ymm1, %ymm2
+vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: 12 26 2.67 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 20 27 4.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 15 25 3.67 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 34 27 6.50 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 14 23 3.33 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 22 24 5.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 15 25 3.67 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 15 28 3.67 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 14 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 9 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 12 26 2.67 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 34 27 6.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 12 26 2.67 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 20 27 4.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 22 25 5.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 22 24 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 14 23 3.33 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 22 24 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 3 9 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 3 9 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 17 2.00 * vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - HWDivider
+# CHECK-NEXT: [1] - HWFPDivider
+# CHECK-NEXT: [2] - HWPort0
+# CHECK-NEXT: [3] - HWPort1
+# CHECK-NEXT: [4] - HWPort2
+# CHECK-NEXT: [5] - HWPort3
+# CHECK-NEXT: [6] - HWPort4
+# CHECK-NEXT: [7] - HWPort5
+# CHECK-NEXT: [8] - HWPort6
+# CHECK-NEXT: [9] - HWPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 202.67 89.67 97.17 97.17 5.00 280.67 28.00 1.67
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 6.67 2.17 2.00 2.00 - 5.17 2.00 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 12.00 3.50 4.00 4.00 - 6.50 4.00 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 5.00 1.50 1.00 1.00 - 4.50 1.00 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 12.00 3.50 4.00 4.00 - 6.50 4.00 - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 6.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 5.00 1.50 1.00 1.00 - 4.50 1.00 - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2
+
Added: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s?rev=330512&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s Sat Apr 21 09:12:42 2018
@@ -0,0 +1,1077 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -instruction-tables < %s | FileCheck %s
+
+vbroadcasti128 (%rax), %ymm0
+
+vbroadcastsd %xmm0, %ymm0
+vbroadcastss %xmm0, %ymm0
+
+vextracti128 $1, %ymm0, %xmm2
+vextracti128 $1, %ymm0, (%rax)
+
+vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+
+vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+
+vinserti128 $1, %xmm0, %ymm1, %ymm2
+vinserti128 $1, (%rax), %ymm1, %ymm2
+
+vmovntdqa (%rax), %ymm0
+
+vmpsadbw $1, %ymm0, %ymm1, %ymm2
+vmpsadbw $1, (%rax), %ymm1, %ymm2
+
+vpabsb %ymm0, %ymm2
+vpabsb (%rax), %ymm2
+
+vpabsd %ymm0, %ymm2
+vpabsd (%rax), %ymm2
+
+vpabsw %ymm0, %ymm2
+vpabsw (%rax), %ymm2
+
+vpackssdw %ymm0, %ymm1, %ymm2
+vpackssdw (%rax), %ymm1, %ymm2
+
+vpacksswb %ymm0, %ymm1, %ymm2
+vpacksswb (%rax), %ymm1, %ymm2
+
+vpackusdw %ymm0, %ymm1, %ymm2
+vpackusdw (%rax), %ymm1, %ymm2
+
+vpackuswb %ymm0, %ymm1, %ymm2
+vpackuswb (%rax), %ymm1, %ymm2
+
+vpaddb %ymm0, %ymm1, %ymm2
+vpaddb (%rax), %ymm1, %ymm2
+
+vpaddd %ymm0, %ymm1, %ymm2
+vpaddd (%rax), %ymm1, %ymm2
+
+vpaddq %ymm0, %ymm1, %ymm2
+vpaddq (%rax), %ymm1, %ymm2
+
+vpaddsb %ymm0, %ymm1, %ymm2
+vpaddsb (%rax), %ymm1, %ymm2
+
+vpaddsw %ymm0, %ymm1, %ymm2
+vpaddsw (%rax), %ymm1, %ymm2
+
+vpaddusb %ymm0, %ymm1, %ymm2
+vpaddusb (%rax), %ymm1, %ymm2
+
+vpaddusw %ymm0, %ymm1, %ymm2
+vpaddusw (%rax), %ymm1, %ymm2
+
+vpaddw %ymm0, %ymm1, %ymm2
+vpaddw (%rax), %ymm1, %ymm2
+
+vpalignr $1, %ymm0, %ymm1, %ymm2
+vpalignr $1, (%rax), %ymm1, %ymm2
+
+vpand %ymm0, %ymm1, %ymm2
+vpand (%rax), %ymm1, %ymm2
+
+vpandn %ymm0, %ymm1, %ymm2
+vpandn (%rax), %ymm1, %ymm2
+
+vpavgb %ymm0, %ymm1, %ymm2
+vpavgb (%rax), %ymm1, %ymm2
+
+vpavgw %ymm0, %ymm1, %ymm2
+vpavgw (%rax), %ymm1, %ymm2
+
+vpblendd $11, %xmm0, %xmm1, %xmm2
+vpblendd $11, (%rax), %xmm1, %xmm2
+
+vpblendd $11, %ymm0, %ymm1, %ymm2
+vpblendd $11, (%rax), %ymm1, %ymm2
+
+vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+
+vpblendw $11, %ymm0, %ymm1, %ymm2
+vpblendw $11, (%rax), %ymm1, %ymm2
+
+vpbroadcastb %xmm0, %xmm0
+vpbroadcastb (%rax), %xmm0
+
+vpbroadcastb %xmm0, %ymm0
+vpbroadcastb (%rax), %ymm0
+
+vpbroadcastd %xmm0, %xmm0
+vpbroadcastd (%rax), %xmm0
+
+vpbroadcastd %xmm0, %ymm0
+vpbroadcastd (%rax), %ymm0
+
+vpbroadcastq %xmm0, %xmm0
+vpbroadcastq (%rax), %xmm0
+
+vpbroadcastq %xmm0, %ymm0
+vpbroadcastq (%rax), %ymm0
+
+vpbroadcastw %xmm0, %xmm0
+vpbroadcastw (%rax), %xmm0
+
+vpbroadcastw %xmm0, %ymm0
+vpbroadcastw (%rax), %ymm0
+
+vpcmpeqb %ymm0, %ymm1, %ymm2
+vpcmpeqb (%rax), %ymm1, %ymm2
+
+vpcmpeqd %ymm0, %ymm1, %ymm2
+vpcmpeqd (%rax), %ymm1, %ymm2
+
+vpcmpeqq %ymm0, %ymm1, %ymm2
+vpcmpeqq (%rax), %ymm1, %ymm2
+
+vpcmpeqw %ymm0, %ymm1, %ymm2
+vpcmpeqw (%rax), %ymm1, %ymm2
+
+vpcmpgtb %ymm0, %ymm1, %ymm2
+vpcmpgtb (%rax), %ymm1, %ymm2
+
+vpcmpgtd %ymm0, %ymm1, %ymm2
+vpcmpgtd (%rax), %ymm1, %ymm2
+
+vpcmpgtq %ymm0, %ymm1, %ymm2
+vpcmpgtq (%rax), %ymm1, %ymm2
+
+vpcmpgtw %ymm0, %ymm1, %ymm2
+vpcmpgtw (%rax), %ymm1, %ymm2
+
+vpermd %ymm0, %ymm1, %ymm2
+vpermd (%rax), %ymm1, %ymm2
+
+vpermpd $1, %ymm0, %ymm2
+vpermpd $1, (%rax), %ymm2
+
+vpermps %ymm0, %ymm1, %ymm2
+vpermps (%rax), %ymm1, %ymm2
+
+vpermq $1, %ymm0, %ymm2
+vpermq $1, (%rax), %ymm2
+
+vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+
+vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vphaddd %ymm0, %ymm1, %ymm2
+vphaddd (%rax), %ymm1, %ymm2
+
+vphaddsw %ymm0, %ymm1, %ymm2
+vphaddsw (%rax), %ymm1, %ymm2
+
+vphaddw %ymm0, %ymm1, %ymm2
+vphaddw (%rax), %ymm1, %ymm2
+
+vphsubd %ymm0, %ymm1, %ymm2
+vphsubd (%rax), %ymm1, %ymm2
+
+vphsubsw %ymm0, %ymm1, %ymm2
+vphsubsw (%rax), %ymm1, %ymm2
+
+vphsubw %ymm0, %ymm1, %ymm2
+vphsubw (%rax), %ymm1, %ymm2
+
+vpmaddubsw %ymm0, %ymm1, %ymm2
+vpmaddubsw (%rax), %ymm1, %ymm2
+
+vpmaddwd %ymm0, %ymm1, %ymm2
+vpmaddwd (%rax), %ymm1, %ymm2
+
+vpmaskmovd (%rax), %xmm0, %xmm2
+vpmaskmovd (%rax), %ymm0, %ymm2
+
+vpmaskmovd %xmm0, %xmm1, (%rax)
+vpmaskmovd %ymm0, %ymm1, (%rax)
+
+vpmaskmovq (%rax), %xmm0, %xmm2
+vpmaskmovq (%rax), %ymm0, %ymm2
+
+vpmaskmovq %xmm0, %xmm1, (%rax)
+vpmaskmovq %ymm0, %ymm1, (%rax)
+
+vpmaxsb %ymm0, %ymm1, %ymm2
+vpmaxsb (%rax), %ymm1, %ymm2
+
+vpmaxsd %ymm0, %ymm1, %ymm2
+vpmaxsd (%rax), %ymm1, %ymm2
+
+vpmaxsw %ymm0, %ymm1, %ymm2
+vpmaxsw (%rax), %ymm1, %ymm2
+
+vpmaxub %ymm0, %ymm1, %ymm2
+vpmaxub (%rax), %ymm1, %ymm2
+
+vpmaxud %ymm0, %ymm1, %ymm2
+vpmaxud (%rax), %ymm1, %ymm2
+
+vpmaxuw %ymm0, %ymm1, %ymm2
+vpmaxuw (%rax), %ymm1, %ymm2
+
+vpminsb %ymm0, %ymm1, %ymm2
+vpminsb (%rax), %ymm1, %ymm2
+
+vpminsd %ymm0, %ymm1, %ymm2
+vpminsd (%rax), %ymm1, %ymm2
+
+vpminsw %ymm0, %ymm1, %ymm2
+vpminsw (%rax), %ymm1, %ymm2
+
+vpminub %ymm0, %ymm1, %ymm2
+vpminub (%rax), %ymm1, %ymm2
+
+vpminud %ymm0, %ymm1, %ymm2
+vpminud (%rax), %ymm1, %ymm2
+
+vpminuw %ymm0, %ymm1, %ymm2
+vpminuw (%rax), %ymm1, %ymm2
+
+vpmovmskb %ymm0, %rcx
+
+vpmovsxbd %xmm0, %ymm2
+vpmovsxbd (%rax), %ymm2
+
+vpmovsxbq %xmm0, %ymm2
+vpmovsxbq (%rax), %ymm2
+
+vpmovsxbw %xmm0, %ymm2
+vpmovsxbw (%rax), %ymm2
+
+vpmovsxdq %xmm0, %ymm2
+vpmovsxdq (%rax), %ymm2
+
+vpmovsxwd %xmm0, %ymm2
+vpmovsxwd (%rax), %ymm2
+
+vpmovsxwq %xmm0, %ymm2
+vpmovsxwq (%rax), %ymm2
+
+vpmovzxbd %xmm0, %ymm2
+vpmovzxbd (%rax), %ymm2
+
+vpmovzxbq %xmm0, %ymm2
+vpmovzxbq (%rax), %ymm2
+
+vpmovzxbw %xmm0, %ymm2
+vpmovzxbw (%rax), %ymm2
+
+vpmovzxdq %xmm0, %ymm2
+vpmovzxdq (%rax), %ymm2
+
+vpmovzxwd %xmm0, %ymm2
+vpmovzxwd (%rax), %ymm2
+
+vpmovzxwq %xmm0, %ymm2
+vpmovzxwq (%rax), %ymm2
+
+vpmuldq %ymm0, %ymm1, %ymm2
+vpmuldq (%rax), %ymm1, %ymm2
+
+vpmulhrsw %ymm0, %ymm1, %ymm2
+vpmulhrsw (%rax), %ymm1, %ymm2
+
+vpmulhuw %ymm0, %ymm1, %ymm2
+vpmulhuw (%rax), %ymm1, %ymm2
+
+vpmulhw %ymm0, %ymm1, %ymm2
+vpmulhw (%rax), %ymm1, %ymm2
+
+vpmulld %ymm0, %ymm1, %ymm2
+vpmulld (%rax), %ymm1, %ymm2
+
+vpmullw %ymm0, %ymm1, %ymm2
+vpmullw (%rax), %ymm1, %ymm2
+
+vpmuludq %ymm0, %ymm1, %ymm2
+vpmuludq (%rax), %ymm1, %ymm2
+
+vpor %ymm0, %ymm1, %ymm2
+vpor (%rax), %ymm1, %ymm2
+
+vpsadbw %ymm0, %ymm1, %ymm2
+vpsadbw (%rax), %ymm1, %ymm2
+
+vpshufb %ymm0, %ymm1, %ymm2
+vpshufb (%rax), %ymm1, %ymm2
+
+vpshufd $1, %ymm0, %ymm2
+vpshufd $1, (%rax), %ymm2
+
+vpshufhw $1, %ymm0, %ymm2
+vpshufhw $1, (%rax), %ymm2
+
+vpshuflw $1, %ymm0, %ymm2
+vpshuflw $1, (%rax), %ymm2
+
+vpsignb %ymm0, %ymm1, %ymm2
+vpsignb (%rax), %ymm1, %ymm2
+
+vpsignd %ymm0, %ymm1, %ymm2
+vpsignd (%rax), %ymm1, %ymm2
+
+vpsignw %ymm0, %ymm1, %ymm2
+vpsignw (%rax), %ymm1, %ymm2
+
+vpslld $1, %ymm0, %ymm2
+vpslld %xmm0, %ymm1, %ymm2
+vpslld (%rax), %ymm1, %ymm2
+
+vpslldq $1, %ymm1, %ymm2
+
+vpsllq $1, %ymm0, %ymm2
+vpsllq %xmm0, %ymm1, %ymm2
+vpsllq (%rax), %ymm1, %ymm2
+
+vpsllvd %xmm0, %xmm1, %xmm2
+vpsllvd (%rax), %xmm1, %xmm2
+
+vpsllvd %ymm0, %ymm1, %ymm2
+vpsllvd (%rax), %ymm1, %ymm2
+
+vpsllvq %xmm0, %xmm1, %xmm2
+vpsllvq (%rax), %xmm1, %xmm2
+
+vpsllvq %ymm0, %ymm1, %ymm2
+vpsllvq (%rax), %ymm1, %ymm2
+
+vpsllw $1, %ymm0, %ymm2
+vpsllw %xmm0, %ymm1, %ymm2
+vpsllw (%rax), %ymm1, %ymm2
+
+vpsrad $1, %ymm0, %ymm2
+vpsrad %xmm0, %ymm1, %ymm2
+vpsrad (%rax), %ymm1, %ymm2
+
+vpsravd %xmm0, %xmm1, %xmm2
+vpsravd (%rax), %xmm1, %xmm2
+
+vpsravd %ymm0, %ymm1, %ymm2
+vpsravd (%rax), %ymm1, %ymm2
+
+vpsraw $1, %ymm0, %ymm2
+vpsraw %xmm0, %ymm1, %ymm2
+vpsraw (%rax), %ymm1, %ymm2
+
+vpsrld $1, %ymm0, %ymm2
+vpsrld %xmm0, %ymm1, %ymm2
+vpsrld (%rax), %ymm1, %ymm2
+
+vpsrldq $1, %ymm1, %ymm2
+
+vpsrlq $1, %ymm0, %ymm2
+vpsrlq %xmm0, %ymm1, %ymm2
+vpsrlq (%rax), %ymm1, %ymm2
+
+vpsrlvd %xmm0, %xmm1, %xmm2
+vpsrlvd (%rax), %xmm1, %xmm2
+
+vpsrlvd %ymm0, %ymm1, %ymm2
+vpsrlvd (%rax), %ymm1, %ymm2
+
+vpsrlvq %xmm0, %xmm1, %xmm2
+vpsrlvq (%rax), %xmm1, %xmm2
+
+vpsrlvq %ymm0, %ymm1, %ymm2
+vpsrlvq (%rax), %ymm1, %ymm2
+
+vpsrlw $1, %ymm0, %ymm2
+vpsrlw %xmm0, %ymm1, %ymm2
+vpsrlw (%rax), %ymm1, %ymm2
+
+vpsubb %ymm0, %ymm1, %ymm2
+vpsubb (%rax), %ymm1, %ymm2
+
+vpsubd %ymm0, %ymm1, %ymm2
+vpsubd (%rax), %ymm1, %ymm2
+
+vpsubq %ymm0, %ymm1, %ymm2
+vpsubq (%rax), %ymm1, %ymm2
+
+vpsubsb %ymm0, %ymm1, %ymm2
+vpsubsb (%rax), %ymm1, %ymm2
+
+vpsubsw %ymm0, %ymm1, %ymm2
+vpsubsw (%rax), %ymm1, %ymm2
+
+vpsubusb %ymm0, %ymm1, %ymm2
+vpsubusb (%rax), %ymm1, %ymm2
+
+vpsubusw %ymm0, %ymm1, %ymm2
+vpsubusw (%rax), %ymm1, %ymm2
+
+vpsubw %ymm0, %ymm1, %ymm2
+vpsubw (%rax), %ymm1, %ymm2
+
+vpunpckhbw %ymm0, %ymm1, %ymm2
+vpunpckhbw (%rax), %ymm1, %ymm2
+
+vpunpckhdq %ymm0, %ymm1, %ymm2
+vpunpckhdq (%rax), %ymm1, %ymm2
+
+vpunpckhqdq %ymm0, %ymm1, %ymm2
+vpunpckhqdq (%rax), %ymm1, %ymm2
+
+vpunpckhwd %ymm0, %ymm1, %ymm2
+vpunpckhwd (%rax), %ymm1, %ymm2
+
+vpunpcklbw %ymm0, %ymm1, %ymm2
+vpunpcklbw (%rax), %ymm1, %ymm2
+
+vpunpckldq %ymm0, %ymm1, %ymm2
+vpunpckldq (%rax), %ymm1, %ymm2
+
+vpunpcklqdq %ymm0, %ymm1, %ymm2
+vpunpcklqdq (%rax), %ymm1, %ymm2
+
+vpunpcklwd %ymm0, %ymm1, %ymm2
+vpunpcklwd (%rax), %ymm1, %ymm2
+
+vpxor %ymm0, %ymm1, %ymm2
+vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - SKLDivider
+# CHECK-NEXT: [1] - SKLFPDivider
+# CHECK-NEXT: [2] - SKLPort0
+# CHECK-NEXT: [3] - SKLPort1
+# CHECK-NEXT: [4] - SKLPort2
+# CHECK-NEXT: [5] - SKLPort3
+# CHECK-NEXT: [6] - SKLPort4
+# CHECK-NEXT: [7] - SKLPort5
+# CHECK-NEXT: [8] - SKLPort6
+# CHECK-NEXT: [9] - SKLPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 110.33 89.33 85.17 85.17 1.00 162.33 - 1.67
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2
+
Added: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s?rev=330512&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s Sat Apr 21 09:12:42 2018
@@ -0,0 +1,1077 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+
+vbroadcasti128 (%rax), %ymm0
+
+vbroadcastsd %xmm0, %ymm0
+vbroadcastss %xmm0, %ymm0
+
+vextracti128 $1, %ymm0, %xmm2
+vextracti128 $1, %ymm0, (%rax)
+
+vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+
+vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+
+vinserti128 $1, %xmm0, %ymm1, %ymm2
+vinserti128 $1, (%rax), %ymm1, %ymm2
+
+vmovntdqa (%rax), %ymm0
+
+vmpsadbw $1, %ymm0, %ymm1, %ymm2
+vmpsadbw $1, (%rax), %ymm1, %ymm2
+
+vpabsb %ymm0, %ymm2
+vpabsb (%rax), %ymm2
+
+vpabsd %ymm0, %ymm2
+vpabsd (%rax), %ymm2
+
+vpabsw %ymm0, %ymm2
+vpabsw (%rax), %ymm2
+
+vpackssdw %ymm0, %ymm1, %ymm2
+vpackssdw (%rax), %ymm1, %ymm2
+
+vpacksswb %ymm0, %ymm1, %ymm2
+vpacksswb (%rax), %ymm1, %ymm2
+
+vpackusdw %ymm0, %ymm1, %ymm2
+vpackusdw (%rax), %ymm1, %ymm2
+
+vpackuswb %ymm0, %ymm1, %ymm2
+vpackuswb (%rax), %ymm1, %ymm2
+
+vpaddb %ymm0, %ymm1, %ymm2
+vpaddb (%rax), %ymm1, %ymm2
+
+vpaddd %ymm0, %ymm1, %ymm2
+vpaddd (%rax), %ymm1, %ymm2
+
+vpaddq %ymm0, %ymm1, %ymm2
+vpaddq (%rax), %ymm1, %ymm2
+
+vpaddsb %ymm0, %ymm1, %ymm2
+vpaddsb (%rax), %ymm1, %ymm2
+
+vpaddsw %ymm0, %ymm1, %ymm2
+vpaddsw (%rax), %ymm1, %ymm2
+
+vpaddusb %ymm0, %ymm1, %ymm2
+vpaddusb (%rax), %ymm1, %ymm2
+
+vpaddusw %ymm0, %ymm1, %ymm2
+vpaddusw (%rax), %ymm1, %ymm2
+
+vpaddw %ymm0, %ymm1, %ymm2
+vpaddw (%rax), %ymm1, %ymm2
+
+vpalignr $1, %ymm0, %ymm1, %ymm2
+vpalignr $1, (%rax), %ymm1, %ymm2
+
+vpand %ymm0, %ymm1, %ymm2
+vpand (%rax), %ymm1, %ymm2
+
+vpandn %ymm0, %ymm1, %ymm2
+vpandn (%rax), %ymm1, %ymm2
+
+vpavgb %ymm0, %ymm1, %ymm2
+vpavgb (%rax), %ymm1, %ymm2
+
+vpavgw %ymm0, %ymm1, %ymm2
+vpavgw (%rax), %ymm1, %ymm2
+
+vpblendd $11, %xmm0, %xmm1, %xmm2
+vpblendd $11, (%rax), %xmm1, %xmm2
+
+vpblendd $11, %ymm0, %ymm1, %ymm2
+vpblendd $11, (%rax), %ymm1, %ymm2
+
+vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+
+vpblendw $11, %ymm0, %ymm1, %ymm2
+vpblendw $11, (%rax), %ymm1, %ymm2
+
+vpbroadcastb %xmm0, %xmm0
+vpbroadcastb (%rax), %xmm0
+
+vpbroadcastb %xmm0, %ymm0
+vpbroadcastb (%rax), %ymm0
+
+vpbroadcastd %xmm0, %xmm0
+vpbroadcastd (%rax), %xmm0
+
+vpbroadcastd %xmm0, %ymm0
+vpbroadcastd (%rax), %ymm0
+
+vpbroadcastq %xmm0, %xmm0
+vpbroadcastq (%rax), %xmm0
+
+vpbroadcastq %xmm0, %ymm0
+vpbroadcastq (%rax), %ymm0
+
+vpbroadcastw %xmm0, %xmm0
+vpbroadcastw (%rax), %xmm0
+
+vpbroadcastw %xmm0, %ymm0
+vpbroadcastw (%rax), %ymm0
+
+vpcmpeqb %ymm0, %ymm1, %ymm2
+vpcmpeqb (%rax), %ymm1, %ymm2
+
+vpcmpeqd %ymm0, %ymm1, %ymm2
+vpcmpeqd (%rax), %ymm1, %ymm2
+
+vpcmpeqq %ymm0, %ymm1, %ymm2
+vpcmpeqq (%rax), %ymm1, %ymm2
+
+vpcmpeqw %ymm0, %ymm1, %ymm2
+vpcmpeqw (%rax), %ymm1, %ymm2
+
+vpcmpgtb %ymm0, %ymm1, %ymm2
+vpcmpgtb (%rax), %ymm1, %ymm2
+
+vpcmpgtd %ymm0, %ymm1, %ymm2
+vpcmpgtd (%rax), %ymm1, %ymm2
+
+vpcmpgtq %ymm0, %ymm1, %ymm2
+vpcmpgtq (%rax), %ymm1, %ymm2
+
+vpcmpgtw %ymm0, %ymm1, %ymm2
+vpcmpgtw (%rax), %ymm1, %ymm2
+
+vpermd %ymm0, %ymm1, %ymm2
+vpermd (%rax), %ymm1, %ymm2
+
+vpermpd $1, %ymm0, %ymm2
+vpermpd $1, (%rax), %ymm2
+
+vpermps %ymm0, %ymm1, %ymm2
+vpermps (%rax), %ymm1, %ymm2
+
+vpermq $1, %ymm0, %ymm2
+vpermq $1, (%rax), %ymm2
+
+vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+
+vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vphaddd %ymm0, %ymm1, %ymm2
+vphaddd (%rax), %ymm1, %ymm2
+
+vphaddsw %ymm0, %ymm1, %ymm2
+vphaddsw (%rax), %ymm1, %ymm2
+
+vphaddw %ymm0, %ymm1, %ymm2
+vphaddw (%rax), %ymm1, %ymm2
+
+vphsubd %ymm0, %ymm1, %ymm2
+vphsubd (%rax), %ymm1, %ymm2
+
+vphsubsw %ymm0, %ymm1, %ymm2
+vphsubsw (%rax), %ymm1, %ymm2
+
+vphsubw %ymm0, %ymm1, %ymm2
+vphsubw (%rax), %ymm1, %ymm2
+
+vpmaddubsw %ymm0, %ymm1, %ymm2
+vpmaddubsw (%rax), %ymm1, %ymm2
+
+vpmaddwd %ymm0, %ymm1, %ymm2
+vpmaddwd (%rax), %ymm1, %ymm2
+
+vpmaskmovd (%rax), %xmm0, %xmm2
+vpmaskmovd (%rax), %ymm0, %ymm2
+
+vpmaskmovd %xmm0, %xmm1, (%rax)
+vpmaskmovd %ymm0, %ymm1, (%rax)
+
+vpmaskmovq (%rax), %xmm0, %xmm2
+vpmaskmovq (%rax), %ymm0, %ymm2
+
+vpmaskmovq %xmm0, %xmm1, (%rax)
+vpmaskmovq %ymm0, %ymm1, (%rax)
+
+vpmaxsb %ymm0, %ymm1, %ymm2
+vpmaxsb (%rax), %ymm1, %ymm2
+
+vpmaxsd %ymm0, %ymm1, %ymm2
+vpmaxsd (%rax), %ymm1, %ymm2
+
+vpmaxsw %ymm0, %ymm1, %ymm2
+vpmaxsw (%rax), %ymm1, %ymm2
+
+vpmaxub %ymm0, %ymm1, %ymm2
+vpmaxub (%rax), %ymm1, %ymm2
+
+vpmaxud %ymm0, %ymm1, %ymm2
+vpmaxud (%rax), %ymm1, %ymm2
+
+vpmaxuw %ymm0, %ymm1, %ymm2
+vpmaxuw (%rax), %ymm1, %ymm2
+
+vpminsb %ymm0, %ymm1, %ymm2
+vpminsb (%rax), %ymm1, %ymm2
+
+vpminsd %ymm0, %ymm1, %ymm2
+vpminsd (%rax), %ymm1, %ymm2
+
+vpminsw %ymm0, %ymm1, %ymm2
+vpminsw (%rax), %ymm1, %ymm2
+
+vpminub %ymm0, %ymm1, %ymm2
+vpminub (%rax), %ymm1, %ymm2
+
+vpminud %ymm0, %ymm1, %ymm2
+vpminud (%rax), %ymm1, %ymm2
+
+vpminuw %ymm0, %ymm1, %ymm2
+vpminuw (%rax), %ymm1, %ymm2
+
+vpmovmskb %ymm0, %rcx
+
+vpmovsxbd %xmm0, %ymm2
+vpmovsxbd (%rax), %ymm2
+
+vpmovsxbq %xmm0, %ymm2
+vpmovsxbq (%rax), %ymm2
+
+vpmovsxbw %xmm0, %ymm2
+vpmovsxbw (%rax), %ymm2
+
+vpmovsxdq %xmm0, %ymm2
+vpmovsxdq (%rax), %ymm2
+
+vpmovsxwd %xmm0, %ymm2
+vpmovsxwd (%rax), %ymm2
+
+vpmovsxwq %xmm0, %ymm2
+vpmovsxwq (%rax), %ymm2
+
+vpmovzxbd %xmm0, %ymm2
+vpmovzxbd (%rax), %ymm2
+
+vpmovzxbq %xmm0, %ymm2
+vpmovzxbq (%rax), %ymm2
+
+vpmovzxbw %xmm0, %ymm2
+vpmovzxbw (%rax), %ymm2
+
+vpmovzxdq %xmm0, %ymm2
+vpmovzxdq (%rax), %ymm2
+
+vpmovzxwd %xmm0, %ymm2
+vpmovzxwd (%rax), %ymm2
+
+vpmovzxwq %xmm0, %ymm2
+vpmovzxwq (%rax), %ymm2
+
+vpmuldq %ymm0, %ymm1, %ymm2
+vpmuldq (%rax), %ymm1, %ymm2
+
+vpmulhrsw %ymm0, %ymm1, %ymm2
+vpmulhrsw (%rax), %ymm1, %ymm2
+
+vpmulhuw %ymm0, %ymm1, %ymm2
+vpmulhuw (%rax), %ymm1, %ymm2
+
+vpmulhw %ymm0, %ymm1, %ymm2
+vpmulhw (%rax), %ymm1, %ymm2
+
+vpmulld %ymm0, %ymm1, %ymm2
+vpmulld (%rax), %ymm1, %ymm2
+
+vpmullw %ymm0, %ymm1, %ymm2
+vpmullw (%rax), %ymm1, %ymm2
+
+vpmuludq %ymm0, %ymm1, %ymm2
+vpmuludq (%rax), %ymm1, %ymm2
+
+vpor %ymm0, %ymm1, %ymm2
+vpor (%rax), %ymm1, %ymm2
+
+vpsadbw %ymm0, %ymm1, %ymm2
+vpsadbw (%rax), %ymm1, %ymm2
+
+vpshufb %ymm0, %ymm1, %ymm2
+vpshufb (%rax), %ymm1, %ymm2
+
+vpshufd $1, %ymm0, %ymm2
+vpshufd $1, (%rax), %ymm2
+
+vpshufhw $1, %ymm0, %ymm2
+vpshufhw $1, (%rax), %ymm2
+
+vpshuflw $1, %ymm0, %ymm2
+vpshuflw $1, (%rax), %ymm2
+
+vpsignb %ymm0, %ymm1, %ymm2
+vpsignb (%rax), %ymm1, %ymm2
+
+vpsignd %ymm0, %ymm1, %ymm2
+vpsignd (%rax), %ymm1, %ymm2
+
+vpsignw %ymm0, %ymm1, %ymm2
+vpsignw (%rax), %ymm1, %ymm2
+
+vpslld $1, %ymm0, %ymm2
+vpslld %xmm0, %ymm1, %ymm2
+vpslld (%rax), %ymm1, %ymm2
+
+vpslldq $1, %ymm1, %ymm2
+
+vpsllq $1, %ymm0, %ymm2
+vpsllq %xmm0, %ymm1, %ymm2
+vpsllq (%rax), %ymm1, %ymm2
+
+vpsllvd %xmm0, %xmm1, %xmm2
+vpsllvd (%rax), %xmm1, %xmm2
+
+vpsllvd %ymm0, %ymm1, %ymm2
+vpsllvd (%rax), %ymm1, %ymm2
+
+vpsllvq %xmm0, %xmm1, %xmm2
+vpsllvq (%rax), %xmm1, %xmm2
+
+vpsllvq %ymm0, %ymm1, %ymm2
+vpsllvq (%rax), %ymm1, %ymm2
+
+vpsllw $1, %ymm0, %ymm2
+vpsllw %xmm0, %ymm1, %ymm2
+vpsllw (%rax), %ymm1, %ymm2
+
+vpsrad $1, %ymm0, %ymm2
+vpsrad %xmm0, %ymm1, %ymm2
+vpsrad (%rax), %ymm1, %ymm2
+
+vpsravd %xmm0, %xmm1, %xmm2
+vpsravd (%rax), %xmm1, %xmm2
+
+vpsravd %ymm0, %ymm1, %ymm2
+vpsravd (%rax), %ymm1, %ymm2
+
+vpsraw $1, %ymm0, %ymm2
+vpsraw %xmm0, %ymm1, %ymm2
+vpsraw (%rax), %ymm1, %ymm2
+
+vpsrld $1, %ymm0, %ymm2
+vpsrld %xmm0, %ymm1, %ymm2
+vpsrld (%rax), %ymm1, %ymm2
+
+vpsrldq $1, %ymm1, %ymm2
+
+vpsrlq $1, %ymm0, %ymm2
+vpsrlq %xmm0, %ymm1, %ymm2
+vpsrlq (%rax), %ymm1, %ymm2
+
+vpsrlvd %xmm0, %xmm1, %xmm2
+vpsrlvd (%rax), %xmm1, %xmm2
+
+vpsrlvd %ymm0, %ymm1, %ymm2
+vpsrlvd (%rax), %ymm1, %ymm2
+
+vpsrlvq %xmm0, %xmm1, %xmm2
+vpsrlvq (%rax), %xmm1, %xmm2
+
+vpsrlvq %ymm0, %ymm1, %ymm2
+vpsrlvq (%rax), %ymm1, %ymm2
+
+vpsrlw $1, %ymm0, %ymm2
+vpsrlw %xmm0, %ymm1, %ymm2
+vpsrlw (%rax), %ymm1, %ymm2
+
+vpsubb %ymm0, %ymm1, %ymm2
+vpsubb (%rax), %ymm1, %ymm2
+
+vpsubd %ymm0, %ymm1, %ymm2
+vpsubd (%rax), %ymm1, %ymm2
+
+vpsubq %ymm0, %ymm1, %ymm2
+vpsubq (%rax), %ymm1, %ymm2
+
+vpsubsb %ymm0, %ymm1, %ymm2
+vpsubsb (%rax), %ymm1, %ymm2
+
+vpsubsw %ymm0, %ymm1, %ymm2
+vpsubsw (%rax), %ymm1, %ymm2
+
+vpsubusb %ymm0, %ymm1, %ymm2
+vpsubusb (%rax), %ymm1, %ymm2
+
+vpsubusw %ymm0, %ymm1, %ymm2
+vpsubusw (%rax), %ymm1, %ymm2
+
+vpsubw %ymm0, %ymm1, %ymm2
+vpsubw (%rax), %ymm1, %ymm2
+
+vpunpckhbw %ymm0, %ymm1, %ymm2
+vpunpckhbw (%rax), %ymm1, %ymm2
+
+vpunpckhdq %ymm0, %ymm1, %ymm2
+vpunpckhdq (%rax), %ymm1, %ymm2
+
+vpunpckhqdq %ymm0, %ymm1, %ymm2
+vpunpckhqdq (%rax), %ymm1, %ymm2
+
+vpunpckhwd %ymm0, %ymm1, %ymm2
+vpunpckhwd (%rax), %ymm1, %ymm2
+
+vpunpcklbw %ymm0, %ymm1, %ymm2
+vpunpcklbw (%rax), %ymm1, %ymm2
+
+vpunpckldq %ymm0, %ymm1, %ymm2
+vpunpckldq (%rax), %ymm1, %ymm2
+
+vpunpcklqdq %ymm0, %ymm1, %ymm2
+vpunpcklqdq (%rax), %ymm1, %ymm2
+
+vpunpcklwd %ymm0, %ymm1, %ymm2
+vpunpcklwd (%rax), %ymm1, %ymm2
+
+vpxor %ymm0, %ymm1, %ymm2
+vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 10 0.67 vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 3 17 0.67 * vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.33 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - SKXDivider
+# CHECK-NEXT: [1] - SKXFPDivider
+# CHECK-NEXT: [2] - SKXPort0
+# CHECK-NEXT: [3] - SKXPort1
+# CHECK-NEXT: [4] - SKXPort2
+# CHECK-NEXT: [5] - SKXPort3
+# CHECK-NEXT: [6] - SKXPort4
+# CHECK-NEXT: [7] - SKXPort5
+# CHECK-NEXT: [8] - SKXPort6
+# CHECK-NEXT: [9] - SKXPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 107.00 86.00 85.17 85.17 1.00 169.00 - 1.67
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2
+
Added: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx2.s?rev=330512&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx2.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx2.s Sat Apr 21 09:12:42 2018
@@ -0,0 +1,1079 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -instruction-tables < %s | FileCheck %s
+
+vbroadcasti128 (%rax), %ymm0
+
+vbroadcastsd %xmm0, %ymm0
+vbroadcastss %xmm0, %ymm0
+
+vextracti128 $1, %ymm0, %xmm2
+vextracti128 $1, %ymm0, (%rax)
+
+vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+
+vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+
+vinserti128 $1, %xmm0, %ymm1, %ymm2
+vinserti128 $1, (%rax), %ymm1, %ymm2
+
+vmovntdqa (%rax), %ymm0
+
+vmpsadbw $1, %ymm0, %ymm1, %ymm2
+vmpsadbw $1, (%rax), %ymm1, %ymm2
+
+vpabsb %ymm0, %ymm2
+vpabsb (%rax), %ymm2
+
+vpabsd %ymm0, %ymm2
+vpabsd (%rax), %ymm2
+
+vpabsw %ymm0, %ymm2
+vpabsw (%rax), %ymm2
+
+vpackssdw %ymm0, %ymm1, %ymm2
+vpackssdw (%rax), %ymm1, %ymm2
+
+vpacksswb %ymm0, %ymm1, %ymm2
+vpacksswb (%rax), %ymm1, %ymm2
+
+vpackusdw %ymm0, %ymm1, %ymm2
+vpackusdw (%rax), %ymm1, %ymm2
+
+vpackuswb %ymm0, %ymm1, %ymm2
+vpackuswb (%rax), %ymm1, %ymm2
+
+vpaddb %ymm0, %ymm1, %ymm2
+vpaddb (%rax), %ymm1, %ymm2
+
+vpaddd %ymm0, %ymm1, %ymm2
+vpaddd (%rax), %ymm1, %ymm2
+
+vpaddq %ymm0, %ymm1, %ymm2
+vpaddq (%rax), %ymm1, %ymm2
+
+vpaddsb %ymm0, %ymm1, %ymm2
+vpaddsb (%rax), %ymm1, %ymm2
+
+vpaddsw %ymm0, %ymm1, %ymm2
+vpaddsw (%rax), %ymm1, %ymm2
+
+vpaddusb %ymm0, %ymm1, %ymm2
+vpaddusb (%rax), %ymm1, %ymm2
+
+vpaddusw %ymm0, %ymm1, %ymm2
+vpaddusw (%rax), %ymm1, %ymm2
+
+vpaddw %ymm0, %ymm1, %ymm2
+vpaddw (%rax), %ymm1, %ymm2
+
+vpalignr $1, %ymm0, %ymm1, %ymm2
+vpalignr $1, (%rax), %ymm1, %ymm2
+
+vpand %ymm0, %ymm1, %ymm2
+vpand (%rax), %ymm1, %ymm2
+
+vpandn %ymm0, %ymm1, %ymm2
+vpandn (%rax), %ymm1, %ymm2
+
+vpavgb %ymm0, %ymm1, %ymm2
+vpavgb (%rax), %ymm1, %ymm2
+
+vpavgw %ymm0, %ymm1, %ymm2
+vpavgw (%rax), %ymm1, %ymm2
+
+vpblendd $11, %xmm0, %xmm1, %xmm2
+vpblendd $11, (%rax), %xmm1, %xmm2
+
+vpblendd $11, %ymm0, %ymm1, %ymm2
+vpblendd $11, (%rax), %ymm1, %ymm2
+
+vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+
+vpblendw $11, %ymm0, %ymm1, %ymm2
+vpblendw $11, (%rax), %ymm1, %ymm2
+
+vpbroadcastb %xmm0, %xmm0
+vpbroadcastb (%rax), %xmm0
+
+vpbroadcastb %xmm0, %ymm0
+vpbroadcastb (%rax), %ymm0
+
+vpbroadcastd %xmm0, %xmm0
+vpbroadcastd (%rax), %xmm0
+
+vpbroadcastd %xmm0, %ymm0
+vpbroadcastd (%rax), %ymm0
+
+vpbroadcastq %xmm0, %xmm0
+vpbroadcastq (%rax), %xmm0
+
+vpbroadcastq %xmm0, %ymm0
+vpbroadcastq (%rax), %ymm0
+
+vpbroadcastw %xmm0, %xmm0
+vpbroadcastw (%rax), %xmm0
+
+vpbroadcastw %xmm0, %ymm0
+vpbroadcastw (%rax), %ymm0
+
+vpcmpeqb %ymm0, %ymm1, %ymm2
+vpcmpeqb (%rax), %ymm1, %ymm2
+
+vpcmpeqd %ymm0, %ymm1, %ymm2
+vpcmpeqd (%rax), %ymm1, %ymm2
+
+vpcmpeqq %ymm0, %ymm1, %ymm2
+vpcmpeqq (%rax), %ymm1, %ymm2
+
+vpcmpeqw %ymm0, %ymm1, %ymm2
+vpcmpeqw (%rax), %ymm1, %ymm2
+
+vpcmpgtb %ymm0, %ymm1, %ymm2
+vpcmpgtb (%rax), %ymm1, %ymm2
+
+vpcmpgtd %ymm0, %ymm1, %ymm2
+vpcmpgtd (%rax), %ymm1, %ymm2
+
+vpcmpgtq %ymm0, %ymm1, %ymm2
+vpcmpgtq (%rax), %ymm1, %ymm2
+
+vpcmpgtw %ymm0, %ymm1, %ymm2
+vpcmpgtw (%rax), %ymm1, %ymm2
+
+vpermd %ymm0, %ymm1, %ymm2
+vpermd (%rax), %ymm1, %ymm2
+
+vpermpd $1, %ymm0, %ymm2
+vpermpd $1, (%rax), %ymm2
+
+vpermps %ymm0, %ymm1, %ymm2
+vpermps (%rax), %ymm1, %ymm2
+
+vpermq $1, %ymm0, %ymm2
+vpermq $1, (%rax), %ymm2
+
+vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+
+vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+
+vphaddd %ymm0, %ymm1, %ymm2
+vphaddd (%rax), %ymm1, %ymm2
+
+vphaddsw %ymm0, %ymm1, %ymm2
+vphaddsw (%rax), %ymm1, %ymm2
+
+vphaddw %ymm0, %ymm1, %ymm2
+vphaddw (%rax), %ymm1, %ymm2
+
+vphsubd %ymm0, %ymm1, %ymm2
+vphsubd (%rax), %ymm1, %ymm2
+
+vphsubsw %ymm0, %ymm1, %ymm2
+vphsubsw (%rax), %ymm1, %ymm2
+
+vphsubw %ymm0, %ymm1, %ymm2
+vphsubw (%rax), %ymm1, %ymm2
+
+vpmaddubsw %ymm0, %ymm1, %ymm2
+vpmaddubsw (%rax), %ymm1, %ymm2
+
+vpmaddwd %ymm0, %ymm1, %ymm2
+vpmaddwd (%rax), %ymm1, %ymm2
+
+vpmaskmovd (%rax), %xmm0, %xmm2
+vpmaskmovd (%rax), %ymm0, %ymm2
+
+vpmaskmovd %xmm0, %xmm1, (%rax)
+vpmaskmovd %ymm0, %ymm1, (%rax)
+
+vpmaskmovq (%rax), %xmm0, %xmm2
+vpmaskmovq (%rax), %ymm0, %ymm2
+
+vpmaskmovq %xmm0, %xmm1, (%rax)
+vpmaskmovq %ymm0, %ymm1, (%rax)
+
+vpmaxsb %ymm0, %ymm1, %ymm2
+vpmaxsb (%rax), %ymm1, %ymm2
+
+vpmaxsd %ymm0, %ymm1, %ymm2
+vpmaxsd (%rax), %ymm1, %ymm2
+
+vpmaxsw %ymm0, %ymm1, %ymm2
+vpmaxsw (%rax), %ymm1, %ymm2
+
+vpmaxub %ymm0, %ymm1, %ymm2
+vpmaxub (%rax), %ymm1, %ymm2
+
+vpmaxud %ymm0, %ymm1, %ymm2
+vpmaxud (%rax), %ymm1, %ymm2
+
+vpmaxuw %ymm0, %ymm1, %ymm2
+vpmaxuw (%rax), %ymm1, %ymm2
+
+vpminsb %ymm0, %ymm1, %ymm2
+vpminsb (%rax), %ymm1, %ymm2
+
+vpminsd %ymm0, %ymm1, %ymm2
+vpminsd (%rax), %ymm1, %ymm2
+
+vpminsw %ymm0, %ymm1, %ymm2
+vpminsw (%rax), %ymm1, %ymm2
+
+vpminub %ymm0, %ymm1, %ymm2
+vpminub (%rax), %ymm1, %ymm2
+
+vpminud %ymm0, %ymm1, %ymm2
+vpminud (%rax), %ymm1, %ymm2
+
+vpminuw %ymm0, %ymm1, %ymm2
+vpminuw (%rax), %ymm1, %ymm2
+
+vpmovmskb %ymm0, %rcx
+
+vpmovsxbd %xmm0, %ymm2
+vpmovsxbd (%rax), %ymm2
+
+vpmovsxbq %xmm0, %ymm2
+vpmovsxbq (%rax), %ymm2
+
+vpmovsxbw %xmm0, %ymm2
+vpmovsxbw (%rax), %ymm2
+
+vpmovsxdq %xmm0, %ymm2
+vpmovsxdq (%rax), %ymm2
+
+vpmovsxwd %xmm0, %ymm2
+vpmovsxwd (%rax), %ymm2
+
+vpmovsxwq %xmm0, %ymm2
+vpmovsxwq (%rax), %ymm2
+
+vpmovzxbd %xmm0, %ymm2
+vpmovzxbd (%rax), %ymm2
+
+vpmovzxbq %xmm0, %ymm2
+vpmovzxbq (%rax), %ymm2
+
+vpmovzxbw %xmm0, %ymm2
+vpmovzxbw (%rax), %ymm2
+
+vpmovzxdq %xmm0, %ymm2
+vpmovzxdq (%rax), %ymm2
+
+vpmovzxwd %xmm0, %ymm2
+vpmovzxwd (%rax), %ymm2
+
+vpmovzxwq %xmm0, %ymm2
+vpmovzxwq (%rax), %ymm2
+
+vpmuldq %ymm0, %ymm1, %ymm2
+vpmuldq (%rax), %ymm1, %ymm2
+
+vpmulhrsw %ymm0, %ymm1, %ymm2
+vpmulhrsw (%rax), %ymm1, %ymm2
+
+vpmulhuw %ymm0, %ymm1, %ymm2
+vpmulhuw (%rax), %ymm1, %ymm2
+
+vpmulhw %ymm0, %ymm1, %ymm2
+vpmulhw (%rax), %ymm1, %ymm2
+
+vpmulld %ymm0, %ymm1, %ymm2
+vpmulld (%rax), %ymm1, %ymm2
+
+vpmullw %ymm0, %ymm1, %ymm2
+vpmullw (%rax), %ymm1, %ymm2
+
+vpmuludq %ymm0, %ymm1, %ymm2
+vpmuludq (%rax), %ymm1, %ymm2
+
+vpor %ymm0, %ymm1, %ymm2
+vpor (%rax), %ymm1, %ymm2
+
+vpsadbw %ymm0, %ymm1, %ymm2
+vpsadbw (%rax), %ymm1, %ymm2
+
+vpshufb %ymm0, %ymm1, %ymm2
+vpshufb (%rax), %ymm1, %ymm2
+
+vpshufd $1, %ymm0, %ymm2
+vpshufd $1, (%rax), %ymm2
+
+vpshufhw $1, %ymm0, %ymm2
+vpshufhw $1, (%rax), %ymm2
+
+vpshuflw $1, %ymm0, %ymm2
+vpshuflw $1, (%rax), %ymm2
+
+vpsignb %ymm0, %ymm1, %ymm2
+vpsignb (%rax), %ymm1, %ymm2
+
+vpsignd %ymm0, %ymm1, %ymm2
+vpsignd (%rax), %ymm1, %ymm2
+
+vpsignw %ymm0, %ymm1, %ymm2
+vpsignw (%rax), %ymm1, %ymm2
+
+vpslld $1, %ymm0, %ymm2
+vpslld %xmm0, %ymm1, %ymm2
+vpslld (%rax), %ymm1, %ymm2
+
+vpslldq $1, %ymm1, %ymm2
+
+vpsllq $1, %ymm0, %ymm2
+vpsllq %xmm0, %ymm1, %ymm2
+vpsllq (%rax), %ymm1, %ymm2
+
+vpsllvd %xmm0, %xmm1, %xmm2
+vpsllvd (%rax), %xmm1, %xmm2
+
+vpsllvd %ymm0, %ymm1, %ymm2
+vpsllvd (%rax), %ymm1, %ymm2
+
+vpsllvq %xmm0, %xmm1, %xmm2
+vpsllvq (%rax), %xmm1, %xmm2
+
+vpsllvq %ymm0, %ymm1, %ymm2
+vpsllvq (%rax), %ymm1, %ymm2
+
+vpsllw $1, %ymm0, %ymm2
+vpsllw %xmm0, %ymm1, %ymm2
+vpsllw (%rax), %ymm1, %ymm2
+
+vpsrad $1, %ymm0, %ymm2
+vpsrad %xmm0, %ymm1, %ymm2
+vpsrad (%rax), %ymm1, %ymm2
+
+vpsravd %xmm0, %xmm1, %xmm2
+vpsravd (%rax), %xmm1, %xmm2
+
+vpsravd %ymm0, %ymm1, %ymm2
+vpsravd (%rax), %ymm1, %ymm2
+
+vpsraw $1, %ymm0, %ymm2
+vpsraw %xmm0, %ymm1, %ymm2
+vpsraw (%rax), %ymm1, %ymm2
+
+vpsrld $1, %ymm0, %ymm2
+vpsrld %xmm0, %ymm1, %ymm2
+vpsrld (%rax), %ymm1, %ymm2
+
+vpsrldq $1, %ymm1, %ymm2
+
+vpsrlq $1, %ymm0, %ymm2
+vpsrlq %xmm0, %ymm1, %ymm2
+vpsrlq (%rax), %ymm1, %ymm2
+
+vpsrlvd %xmm0, %xmm1, %xmm2
+vpsrlvd (%rax), %xmm1, %xmm2
+
+vpsrlvd %ymm0, %ymm1, %ymm2
+vpsrlvd (%rax), %ymm1, %ymm2
+
+vpsrlvq %xmm0, %xmm1, %xmm2
+vpsrlvq (%rax), %xmm1, %xmm2
+
+vpsrlvq %ymm0, %ymm1, %ymm2
+vpsrlvq (%rax), %ymm1, %ymm2
+
+vpsrlw $1, %ymm0, %ymm2
+vpsrlw %xmm0, %ymm1, %ymm2
+vpsrlw (%rax), %ymm1, %ymm2
+
+vpsubb %ymm0, %ymm1, %ymm2
+vpsubb (%rax), %ymm1, %ymm2
+
+vpsubd %ymm0, %ymm1, %ymm2
+vpsubd (%rax), %ymm1, %ymm2
+
+vpsubq %ymm0, %ymm1, %ymm2
+vpsubq (%rax), %ymm1, %ymm2
+
+vpsubsb %ymm0, %ymm1, %ymm2
+vpsubsb (%rax), %ymm1, %ymm2
+
+vpsubsw %ymm0, %ymm1, %ymm2
+vpsubsw (%rax), %ymm1, %ymm2
+
+vpsubusb %ymm0, %ymm1, %ymm2
+vpsubusb (%rax), %ymm1, %ymm2
+
+vpsubusw %ymm0, %ymm1, %ymm2
+vpsubusw (%rax), %ymm1, %ymm2
+
+vpsubw %ymm0, %ymm1, %ymm2
+vpsubw (%rax), %ymm1, %ymm2
+
+vpunpckhbw %ymm0, %ymm1, %ymm2
+vpunpckhbw (%rax), %ymm1, %ymm2
+
+vpunpckhdq %ymm0, %ymm1, %ymm2
+vpunpckhdq (%rax), %ymm1, %ymm2
+
+vpunpckhqdq %ymm0, %ymm1, %ymm2
+vpunpckhqdq (%rax), %ymm1, %ymm2
+
+vpunpckhwd %ymm0, %ymm1, %ymm2
+vpunpckhwd (%rax), %ymm1, %ymm2
+
+vpunpcklbw %ymm0, %ymm1, %ymm2
+vpunpcklbw (%rax), %ymm1, %ymm2
+
+vpunpckldq %ymm0, %ymm1, %ymm2
+vpunpckldq (%rax), %ymm1, %ymm2
+
+vpunpcklqdq %ymm0, %ymm1, %ymm2
+vpunpcklqdq (%rax), %ymm1, %ymm2
+
+vpunpcklwd %ymm0, %ymm1, %ymm2
+vpunpcklwd (%rax), %ymm1, %ymm2
+
+vpxor %ymm0, %ymm1, %ymm2
+vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: 1 100 0.25 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 1 100 0.25 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 1 2 0.25 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 * vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: 1 100 - * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 1 100 - * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 100 - * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 1 2 0.25 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: 1 100 - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpabsd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpabsw (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 1 0.50 vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.50 * vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 1.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 1.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.33 vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 0.50 * vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: 1 2 0.25 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 2 8 2.00 * vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.25 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: 1 2 0.25 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.25 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: 1 2 0.25 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.25 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: 1 2 0.25 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 2 8 2.00 * vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.25 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.25 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 0.25 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 107 0.50 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 100 0.25 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 107 0.50 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.25 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 1 100 - * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 100 - * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 1 100 - * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 100 - * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1 100 - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 1 100 - * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 1 100 - * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 2 8 1.00 * vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.50 * vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: 1 100 - * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 1 100 - * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 1 1 0.25 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 2.00 vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: 1 1 0.25 vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.50 vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.50 vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.50 vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.50 vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.50 vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.50 vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 2.00 vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 2.00 * vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 1.00 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 2 1.00 vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 1.00 * vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.25 vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpxor (%rax), %ymm1, %ymm2
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - ZnAGU0
+# CHECK-NEXT: [1] - ZnAGU1
+# CHECK-NEXT: [2] - ZnALU0
+# CHECK-NEXT: [3] - ZnALU1
+# CHECK-NEXT: [4] - ZnALU2
+# CHECK-NEXT: [5] - ZnALU3
+# CHECK-NEXT: [6] - ZnDivider
+# CHECK-NEXT: [7] - ZnFPU0
+# CHECK-NEXT: [8] - ZnFPU1
+# CHECK-NEXT: [9] - ZnFPU2
+# CHECK-NEXT: [10] - ZnFPU3
+# CHECK-NEXT: [11] - ZnMultiplier
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
+# CHECK-NEXT: 63.50 63.50 - - - - - 77.17 70.67 80.00 47.17 -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 2.00 - - vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 2.00 - - - - vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %ymm1, %ymm2
+
More information about the llvm-commits
mailing list