[llvm-mca][X86] Add AVX2 resource tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 21 Apr 2018 16:12:42 +0000 (16:12 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 21 Apr 2018 16:12:42 +0000 (16:12 +0000)
llvm-svn: 330512

llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s [new file with mode: 0644]
llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s [new file with mode: 0644]
llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s [new file with mode: 0644]
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s [new file with mode: 0644]
llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s [new file with mode: 0644]

diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
new file mode 100644 (file)
index 0000000..3d9da71
--- /dev/null
@@ -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
+
diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s
new file mode 100644 (file)
index 0000000..97353fe
--- /dev/null
@@ -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
+
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
new file mode 100644 (file)
index 0000000..7b87bfd
--- /dev/null
@@ -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
+
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
new file mode 100644 (file)
index 0000000..c41b396
--- /dev/null
@@ -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
+
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
new file mode 100644 (file)
index 0000000..4f35373
--- /dev/null
@@ -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
+