[MCA][X86] Add missing test coverage for BWI instructions
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 20 Nov 2022 17:19:50 +0000 (17:19 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 20 Nov 2022 17:19:58 +0000 (17:19 +0000)
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s

index df1a9eb..f028580 100644 (file)
@@ -3,23 +3,52 @@
 
 kaddd             %k0, %k1, %k2
 kaddq             %k0, %k1, %k2
+
 kandd             %k0, %k1, %k2
 kandq             %k0, %k1, %k2
+
 kandnd            %k0, %k1, %k2
 kandnq            %k0, %k1, %k2
+
+kmovd             %k0, %k2
+kmovd             (%rax), %k2
+kmovd             %k0, (%rax)
+kmovd             %eax, %k2
+kmovd             %k0, %eax
+
+kmovq             %k0, %k2
+kmovq             (%rax), %k2
+kmovq             %k0, (%rax)
+kmovq             %rax, %k2
+kmovq             %k0, %rax
+
+knotd             %k0, %k2
+knotq             %k0, %k2
+
 kord              %k0, %k1, %k2
 korq              %k0, %k1, %k2
-kxnord            %k0, %k1, %k2
-kxnorq            %k0, %k1, %k2
-kxord             %k0, %k1, %k2
-kxorq             %k0, %k1, %k2
+
+kortestd          %k0, %k2
+kortestq          %k0, %k2
+
 kshiftld          $2, %k1, %k2
 kshiftlq          $2, %k1, %k2
+
 kshiftrd          $2, %k1, %k2
 kshiftrq          $2, %k1, %k2
+
+ktestd            %k0, %k2
+ktestq            %k0, %k2
+
 kunpckdq          %k0, %k1, %k2
 kunpckwd          %k0, %k1, %k2
 
+kxnord            %k0, %k1, %k2
+kxnorq            %k0, %k1, %k2
+
+kxord             %k0, %k1, %k2
+kxorq             %k0, %k1, %k2
+
 vdbpsadbw         $0, %zmm16, %zmm17, %zmm19
 vdbpsadbw         $0, (%rax), %zmm17, %zmm19
 vdbpsadbw         $0, %zmm16, %zmm17, %zmm19 {k1}
@@ -94,6 +123,34 @@ vpaddb            (%rax), %zmm17, %zmm19 {k1}
 vpaddb            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpaddb            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpaddsb           %zmm16, %zmm17, %zmm19
+vpaddsb           (%rax), %zmm17, %zmm19
+vpaddsb           %zmm16, %zmm17, %zmm19 {k1}
+vpaddsb           (%rax), %zmm17, %zmm19 {k1}
+vpaddsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddsw           %zmm16, %zmm17, %zmm19
+vpaddsw           (%rax), %zmm17, %zmm19
+vpaddsw           %zmm16, %zmm17, %zmm19 {k1}
+vpaddsw           (%rax), %zmm17, %zmm19 {k1}
+vpaddsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddusb          %zmm16, %zmm17, %zmm19
+vpaddusb          (%rax), %zmm17, %zmm19
+vpaddusb          %zmm16, %zmm17, %zmm19 {k1}
+vpaddusb          (%rax), %zmm17, %zmm19 {k1}
+vpaddusb          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddusb          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddusw          %zmm16, %zmm17, %zmm19
+vpaddusw          (%rax), %zmm17, %zmm19
+vpaddusw          %zmm16, %zmm17, %zmm19 {k1}
+vpaddusw          (%rax), %zmm17, %zmm19 {k1}
+vpaddusw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddusw          (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpaddw            %zmm16, %zmm17, %zmm19
 vpaddw            (%rax), %zmm17, %zmm19
 vpaddw            %zmm16, %zmm17, %zmm19 {k1}
@@ -108,19 +165,53 @@ vpalignr          $1, (%rax), %zmm17, %zmm19 {k1}
 vpalignr          $1, %zmm16, %zmm17, %zmm19 {z}{k1}
 vpalignr          $1, (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpavgb            %zmm16, %zmm17, %zmm19
+vpavgb            (%rax), %zmm17, %zmm19
+vpavgb            %zmm16, %zmm17, %zmm19 {k1}
+vpavgb            (%rax), %zmm17, %zmm19 {k1}
+vpavgb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpavgb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpavgw            %zmm16, %zmm17, %zmm19
+vpavgw            (%rax), %zmm17, %zmm19
+vpavgw            %zmm16, %zmm17, %zmm19 {k1}
+vpavgw            (%rax), %zmm17, %zmm19 {k1}
+vpavgw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpavgw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpblendmb         %zmm16, %zmm17, %zmm19
+vpblendmb         (%rax), %zmm17, %zmm19
+vpblendmb         %zmm16, %zmm17, %zmm19 {k1}
+vpblendmb         (%rax), %zmm17, %zmm19 {k1}
+vpblendmb         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpblendmb         (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpblendmw         %zmm16, %zmm17, %zmm19
+vpblendmw         (%rax), %zmm17, %zmm19
+vpblendmw         %zmm16, %zmm17, %zmm19 {k1}
+vpblendmw         (%rax), %zmm17, %zmm19 {k1}
+vpblendmw         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpblendmw         (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpbroadcastb      %xmm16, %zmm19
 vpbroadcastb      (%rax), %zmm19
+vpbroadcastb      %eax, %zmm19
 vpbroadcastb      %xmm16, %zmm19 {k1}
 vpbroadcastb      (%rax), %zmm19 {k1}
+vpbroadcastb      %eax, %zmm19 {k1}
 vpbroadcastb      %xmm16, %zmm19 {z}{k1}
 vpbroadcastb      (%rax), %zmm19 {z}{k1}
+vpbroadcastb      %eax, %zmm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %zmm19
 vpbroadcastw      (%rax), %zmm19
+vpbroadcastw      %eax, %zmm19
 vpbroadcastw      %xmm16, %zmm19 {k1}
 vpbroadcastw      (%rax), %zmm19 {k1}
+vpbroadcastw      %eax, %zmm19 {k1}
 vpbroadcastw      %xmm16, %zmm19 {z}{k1}
 vpbroadcastw      (%rax), %zmm19 {z}{k1}
+vpbroadcastw      %eax, %zmm19 {z}{k1}
 
 vpcmpb            $0, %zmm0, %zmm1, %k2
 vpcmpb            $0, (%rax), %zmm1, %k2
@@ -162,6 +253,18 @@ vpcmpw            $0, (%rax), %zmm1, %k2
 vpcmpw            $0, %zmm0, %zmm1, %k2 {k3}
 vpcmpw            $0, (%rax), %zmm1, %k2 {k3}
 
+vpextrb           $0, %xmm16, %rax
+vpextrb           $0, %xmm16, (%rax)
+
+vpextrw           $0, %xmm16, %rax
+vpextrw           $0, %xmm16, (%rax)
+
+vpinsrb           $0, %rax, %xmm16, %xmm19
+vpinsrb           $0, (%rax), %xmm16, %xmm19
+
+vpinsrw           $0, %rax, %xmm16, %xmm19
+vpinsrw           $0, (%rax), %xmm16, %xmm19
+
 vpermw            %zmm16, %zmm17, %zmm19
 vpermw            (%rax), %zmm17, %zmm19
 vpermw            %zmm16, %zmm17, %zmm19 {k1}
@@ -169,6 +272,96 @@ vpermw            (%rax), %zmm17, %zmm19 {k1}
 vpermw            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpermw            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpermi2w          %zmm16, %zmm17, %zmm19
+vpermi2w          (%rax), %zmm17, %zmm19
+vpermi2w          %zmm16, %zmm17, %zmm19 {k1}
+vpermi2w          (%rax), %zmm17, %zmm19 {k1}
+vpermi2w          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermi2w          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpermt2w          %zmm16, %zmm17, %zmm19
+vpermt2w          (%rax), %zmm17, %zmm19
+vpermt2w          %zmm16, %zmm17, %zmm19 {k1}
+vpermt2w          (%rax), %zmm17, %zmm19 {k1}
+vpermt2w          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermt2w          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaddubsw        %zmm16, %zmm17, %zmm19
+vpmaddubsw        (%rax), %zmm17, %zmm19
+vpmaddubsw        %zmm16, %zmm17, %zmm19 {k1}
+vpmaddubsw        (%rax), %zmm17, %zmm19 {k1}
+vpmaddubsw        %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaddubsw        (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaddwd          %zmm16, %zmm17, %zmm19
+vpmaddwd          (%rax), %zmm17, %zmm19
+vpmaddwd          %zmm16, %zmm17, %zmm19 {k1}
+vpmaddwd          (%rax), %zmm17, %zmm19 {k1}
+vpmaddwd          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaddwd          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxsb           %zmm16, %zmm17, %zmm19
+vpmaxsb           (%rax), %zmm17, %zmm19
+vpmaxsb           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxsb           (%rax), %zmm17, %zmm19 {k1}
+vpmaxsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxsw           %zmm16, %zmm17, %zmm19
+vpmaxsw           (%rax), %zmm17, %zmm19
+vpmaxsw           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxsw           (%rax), %zmm17, %zmm19 {k1}
+vpmaxsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxub           %zmm16, %zmm17, %zmm19
+vpmaxub           (%rax), %zmm17, %zmm19
+vpmaxub           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxub           (%rax), %zmm17, %zmm19 {k1}
+vpmaxub           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxub           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxuw           %zmm16, %zmm17, %zmm19
+vpmaxuw           (%rax), %zmm17, %zmm19
+vpmaxuw           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxuw           (%rax), %zmm17, %zmm19 {k1}
+vpmaxuw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxuw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminsb           %zmm16, %zmm17, %zmm19
+vpminsb           (%rax), %zmm17, %zmm19
+vpminsb           %zmm16, %zmm17, %zmm19 {k1}
+vpminsb           (%rax), %zmm17, %zmm19 {k1}
+vpminsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminsw           %zmm16, %zmm17, %zmm19
+vpminsw           (%rax), %zmm17, %zmm19
+vpminsw           %zmm16, %zmm17, %zmm19 {k1}
+vpminsw           (%rax), %zmm17, %zmm19 {k1}
+vpminsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminub           %zmm16, %zmm17, %zmm19
+vpminub           (%rax), %zmm17, %zmm19
+vpminub           %zmm16, %zmm17, %zmm19 {k1}
+vpminub           (%rax), %zmm17, %zmm19 {k1}
+vpminub           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminub           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminuw           %zmm16, %zmm17, %zmm19
+vpminuw           (%rax), %zmm17, %zmm19
+vpminuw           %zmm16, %zmm17, %zmm19 {k1}
+vpminuw           (%rax), %zmm17, %zmm19 {k1}
+vpminuw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminuw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmovb2m          %zmm0, %k0
+vpmovw2m          %zmm0, %k0
+
+vpmovm2b          %k0, %zmm0
+vpmovm2w          %k0, %zmm0
+
 vpmovsxbw         %ymm16, %zmm19
 vpmovsxbw         (%rax), %zmm19
 vpmovsxbw         %ymm16, %zmm19 {k1}
@@ -176,6 +369,21 @@ vpmovsxbw         (%rax), %zmm19 {k1}
 vpmovsxbw         %ymm16, %zmm19 {z}{k1}
 vpmovsxbw         (%rax), %zmm19 {z}{k1}
 
+vpmovswb          %zmm16, %ymm19
+vpmovswb          %zmm16, (%rax)
+vpmovswb          %zmm16, %ymm19 {k1}
+vpmovswb          %zmm16, (%rax) {k1}
+
+vpmovuswb         %zmm16, %ymm19
+vpmovuswb         %zmm16, (%rax)
+vpmovuswb         %zmm16, %ymm19 {k1}
+vpmovuswb         %zmm16, (%rax) {k1}
+
+vpmovwb           %zmm16, %ymm19
+vpmovwb           %zmm16, (%rax)
+vpmovwb           %zmm16, %ymm19 {k1}
+vpmovwb           %zmm16, (%rax) {k1}
+
 vpmovzxbw         %ymm16, %zmm19
 vpmovzxbw         (%rax), %zmm19
 vpmovzxbw         %ymm16, %zmm19 {k1}
@@ -183,6 +391,37 @@ vpmovzxbw         (%rax), %zmm19 {k1}
 vpmovzxbw         %ymm16, %zmm19 {z}{k1}
 vpmovzxbw         (%rax), %zmm19 {z}{k1}
 
+vpmulhrsw         %zmm16, %zmm17, %zmm19
+vpmulhrsw         (%rax), %zmm17, %zmm19
+vpmulhrsw         %zmm16, %zmm17, %zmm19 {k1}
+vpmulhrsw         (%rax), %zmm17, %zmm19 {k1}
+vpmulhrsw         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhrsw         (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmulhuw          %zmm16, %zmm17, %zmm19
+vpmulhuw          (%rax), %zmm17, %zmm19
+vpmulhuw          %zmm16, %zmm17, %zmm19 {k1}
+vpmulhuw          (%rax), %zmm17, %zmm19 {k1}
+vpmulhuw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhuw          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmulhw           %zmm16, %zmm17, %zmm19
+vpmulhw           (%rax), %zmm17, %zmm19
+vpmulhw           %zmm16, %zmm17, %zmm19 {k1}
+vpmulhw           (%rax), %zmm17, %zmm19 {k1}
+vpmulhw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmullw           %zmm16, %zmm17, %zmm19
+vpmullw           (%rax), %zmm17, %zmm19
+vpmullw           %zmm16, %zmm17, %zmm19 {k1}
+vpmullw           (%rax), %zmm17, %zmm19 {k1}
+vpmullw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmullw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsadbw           %zmm16, %zmm17, %zmm19
+vpsadbw           (%rax), %zmm17, %zmm19
+
 vpshufb           %zmm16, %zmm17, %zmm19
 vpshufb           (%rax), %zmm17, %zmm19
 vpshufb           %zmm16, %zmm17, %zmm19 {k1}
@@ -207,9 +446,72 @@ vpshuflw          $0, (%rax), %zmm19 {z}{k1}
 vpslldq           $1, %zmm16, %zmm19
 vpslldq           $1, (%rax), %zmm19
 
+vpsllvw           %zmm16, %zmm17, %zmm19
+vpsllvw           (%rax), %zmm17, %zmm19
+vpsllvw           %zmm16, %zmm17, %zmm19 {k1}
+vpsllvw           (%rax), %zmm17, %zmm19 {k1}
+vpsllvw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsllvw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsllw            $0, %zmm16, %zmm19
+vpsllw            $0, (%rax), %zmm19
+vpsllw            $0, %zmm16, %zmm19 {k1}
+vpsllw            $0, (%rax), %zmm19 {k1}
+vpsllw            $0, %zmm16, %zmm19 {z}{k1}
+vpsllw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsllw            %xmm16, %zmm17, %zmm19
+vpsllw            (%rax), %zmm17, %zmm19
+vpsllw            %xmm16, %zmm17, %zmm19 {k1}
+vpsllw            (%rax), %zmm17, %zmm19 {k1}
+vpsllw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsllw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsravw           %zmm16, %zmm17, %zmm19
+vpsravw           (%rax), %zmm17, %zmm19
+vpsravw           %zmm16, %zmm17, %zmm19 {k1}
+vpsravw           (%rax), %zmm17, %zmm19 {k1}
+vpsravw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsravw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsraw            $0, %zmm16, %zmm19
+vpsraw            $0, (%rax), %zmm19
+vpsraw            $0, %zmm16, %zmm19 {k1}
+vpsraw            $0, (%rax), %zmm19 {k1}
+vpsraw            $0, %zmm16, %zmm19 {z}{k1}
+vpsraw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsraw            %xmm16, %zmm17, %zmm19
+vpsraw            (%rax), %zmm17, %zmm19
+vpsraw            %xmm16, %zmm17, %zmm19 {k1}
+vpsraw            (%rax), %zmm17, %zmm19 {k1}
+vpsraw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsraw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsrldq           $1, %zmm16, %zmm19
 vpsrldq           $1, (%rax), %zmm19
 
+vpsrlvw           %zmm16, %zmm17, %zmm19
+vpsrlvw           (%rax), %zmm17, %zmm19
+vpsrlvw           %zmm16, %zmm17, %zmm19 {k1}
+vpsrlvw           (%rax), %zmm17, %zmm19 {k1}
+vpsrlvw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsrlvw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsrlw            $0, %zmm16, %zmm19
+vpsrlw            $0, (%rax), %zmm19
+vpsrlw            $0, %zmm16, %zmm19 {k1}
+vpsrlw            $0, (%rax), %zmm19 {k1}
+vpsrlw            $0, %zmm16, %zmm19 {z}{k1}
+vpsrlw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsrlw            %xmm16, %zmm17, %zmm19
+vpsrlw            (%rax), %zmm17, %zmm19
+vpsrlw            %xmm16, %zmm17, %zmm19 {k1}
+vpsrlw            (%rax), %zmm17, %zmm19 {k1}
+vpsrlw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsrlw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsubb            %zmm16, %zmm17, %zmm19
 vpsubb            (%rax), %zmm17, %zmm19
 vpsubb            %zmm16, %zmm17, %zmm19 {k1}
@@ -217,6 +519,34 @@ vpsubb            (%rax), %zmm17, %zmm19 {k1}
 vpsubb            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpsubb            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpsubsb           %zmm16, %zmm17, %zmm19
+vpsubsb           (%rax), %zmm17, %zmm19
+vpsubsb           %zmm16, %zmm17, %zmm19 {k1}
+vpsubsb           (%rax), %zmm17, %zmm19 {k1}
+vpsubsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubsw           %zmm16, %zmm17, %zmm19
+vpsubsw           (%rax), %zmm17, %zmm19
+vpsubsw           %zmm16, %zmm17, %zmm19 {k1}
+vpsubsw           (%rax), %zmm17, %zmm19 {k1}
+vpsubsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubusb          %zmm16, %zmm17, %zmm19
+vpsubusb          (%rax), %zmm17, %zmm19
+vpsubusb          %zmm16, %zmm17, %zmm19 {k1}
+vpsubusb          (%rax), %zmm17, %zmm19 {k1}
+vpsubusb          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubusb          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubusw          %zmm16, %zmm17, %zmm19
+vpsubusw          (%rax), %zmm17, %zmm19
+vpsubusw          %zmm16, %zmm17, %zmm19 {k1}
+vpsubusw          (%rax), %zmm17, %zmm19 {k1}
+vpsubusw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubusw          (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsubw            %zmm16, %zmm17, %zmm19
 vpsubw            (%rax), %zmm17, %zmm19
 vpsubw            %zmm16, %zmm17, %zmm19 {k1}
@@ -272,12 +602,6 @@ vpunpcklwd        (%rax), %zmm17, %zmm19 {k1}
 vpunpcklwd        %zmm16, %zmm17, %zmm19 {z}{k1}
 vpunpcklwd        (%rax), %zmm17, %zmm19 {z}{k1}
 
-vpmovm2b          %k0, %zmm0
-vpmovm2w          %k0, %zmm0
-
-vpmovb2m          %zmm0, %k0
-vpmovw2m          %zmm0, %k0
-
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -293,18 +617,34 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  1      1     0.33                        kandq  %k0, %k1, %k2
 # CHECK-NEXT:  1      1     0.33                        kandnd %k0, %k1, %k2
 # CHECK-NEXT:  1      1     0.33                        kandnq %k0, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        kmovd  %k0, %k2
+# CHECK-NEXT:  1      5     0.50    *                   kmovd  (%rax), %k2
+# CHECK-NEXT:  1      1     1.00           *            kmovd  %k0, (%rax)
+# CHECK-NEXT:  1      1     0.33                        kmovd  %eax, %k2
+# CHECK-NEXT:  1      1     0.33                        kmovd  %k0, %eax
+# CHECK-NEXT:  1      1     0.33                        kmovq  %k0, %k2
+# CHECK-NEXT:  1      5     0.50    *                   kmovq  (%rax), %k2
+# CHECK-NEXT:  1      1     1.00           *            kmovq  %k0, (%rax)
+# CHECK-NEXT:  1      1     0.33                        kmovq  %rax, %k2
+# CHECK-NEXT:  1      1     0.33                        kmovq  %k0, %rax
+# CHECK-NEXT:  1      1     0.33                        knotd  %k0, %k2
+# CHECK-NEXT:  1      1     0.33                        knotq  %k0, %k2
 # CHECK-NEXT:  1      1     0.33                        kord   %k0, %k1, %k2
 # CHECK-NEXT:  1      1     0.33                        korq   %k0, %k1, %k2
-# CHECK-NEXT:  1      1     0.33                        kxnord %k0, %k1, %k2
-# CHECK-NEXT:  1      1     0.33                        kxnorq %k0, %k1, %k2
-# CHECK-NEXT:  1      1     0.33                        kxord  %k0, %k1, %k2
-# CHECK-NEXT:  1      1     0.33                        kxorq  %k0, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        kortestd       %k0, %k2
+# CHECK-NEXT:  1      1     0.33                        kortestq       %k0, %k2
 # CHECK-NEXT:  1      1     1.00                        kshiftld       $2, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kshiftlq       $2, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kshiftrd       $2, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kshiftrq       $2, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        ktestd %k0, %k2
+# CHECK-NEXT:  1      1     0.33                        ktestq %k0, %k2
 # CHECK-NEXT:  1      1     1.00                        kunpckdq       %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kunpckwd       %k0, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        kxnord %k0, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        kxnorq %k0, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        kxord  %k0, %k1, %k2
+# CHECK-NEXT:  1      1     0.33                        kxorq  %k0, %k1, %k2
 # CHECK-NEXT:  1      5     1.00                        vdbpsadbw      $0, %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      12    1.00    *                   vdbpsadbw      $0, (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      5     1.00                        vdbpsadbw      $0, %zmm16, %zmm17, %zmm19 {%k1}
@@ -369,6 +709,30 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpaddw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpaddw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.50                        vpaddw %zmm16, %zmm17, %zmm19 {%k1}
@@ -381,18 +745,48 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpalignr       $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmw      (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqb       %zmm0, %zmm1, %k2
 # CHECK-NEXT:  2      8     0.50    *                   vpcmpeqb       (%rax), %zmm1, %k2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqb       %zmm0, %zmm1, %k2 {%k3}
@@ -425,24 +819,146 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpcmpeqw       (%rax), %zmm1, %k2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqw       %zmm0, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  2      8     0.50    *                   vpcmpeqw       (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      3     1.00                        vpextrb        $0, %xmm16, %eax
+# CHECK-NEXT:  3      5     1.00           *            vpextrb        $0, %xmm16, (%rax)
+# CHECK-NEXT:  2      3     1.00                        vpextrw        $0, %xmm16, %eax
+# CHECK-NEXT:  3      5     1.00           *            vpextrw        $0, %xmm16, (%rax)
+# CHECK-NEXT:  2      2     1.00                        vpinsrb        $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpinsrb        $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpinsrw        $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpinsrw        $0, (%rax), %xmm16, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpermw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpermw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpermw %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpermw (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddubsw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddubsw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddubsw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddwd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddwd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddwd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpmovb2m       %zmm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovw2m       %zmm0, %k0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %zmm0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %zmm0
 # CHECK-NEXT:  1      1     1.00                        vpmovsxbw      %ymm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpmovsxbw      (%rax), %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpmovsxbw      %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpmovsxbw      (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpmovsxbw      %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpmovsxbw      (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmovswb       %zmm16, %ymm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovswb       %zmm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovswb       %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovswb       %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovuswb      %zmm16, %ymm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovuswb      %zmm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovuswb      %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovuswb      %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovwb        %zmm16, %ymm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovwb        %zmm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovwb        %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovwb        %zmm16, (%rax) {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpmovzxbw      %ymm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpmovzxbw      (%rax), %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpmovzxbw      %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpmovzxbw      (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpmovzxbw      %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpmovzxbw      (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhrsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhrsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhrsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhuw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhuw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhuw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmullw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmullw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmullw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpsadbw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpsadbw        (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.50                        vpshufb        %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpshufb        (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.50                        vpshufb        %zmm16, %zmm17, %zmm19 {%k1}
@@ -463,14 +979,92 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpshuflw       $0, (%rax), %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpslldq        $1, %zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpslldq        $1, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  3      11    1.00    *                   vpsllw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      11    1.00    *                   vpsllw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      11    1.00    *                   vpsllw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  3      11    1.00    *                   vpsraw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      11    1.00    *                   vpsraw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      11    1.00    *                   vpsraw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpsrldq        $1, %zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpsrldq        $1, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  3      11    1.00    *                   vpsrlw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      11    1.00    *                   vpsrlw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      11    1.00    *                   vpsrlw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpsubb %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.50                        vpsubb %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpsubw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsubw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.50                        vpsubw %zmm16, %zmm17, %zmm19 {%k1}
@@ -517,10 +1111,6 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpunpcklwd     %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %zmm0
-# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %zmm0
-# CHECK-NEXT:  1      1     0.33                        vpmovb2m       %zmm0, %k0
-# CHECK-NEXT:  1      1     0.33                        vpmovw2m       %zmm0, %k0
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SBDivider
@@ -534,7 +1124,7 @@ vpmovw2m          %zmm0, %k0
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     20.00  47.00  4.00   157.00 54.00  54.00
+# CHECK-NEXT:  -      -     118.00 130.00 8.00   272.00 117.00 117.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -544,18 +1134,34 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kandq    %k0, %k1, %k2
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kandnd   %k0, %k1, %k2
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kandnq   %k0, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kmovd    %k0, %k2
+# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   kmovd    (%rax), %k2
+# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   kmovd    %k0, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kmovd    %eax, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kmovd    %k0, %eax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kmovq    %k0, %k2
+# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   kmovq    (%rax), %k2
+# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   kmovq    %k0, (%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kmovq    %rax, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kmovq    %k0, %rax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     knotd    %k0, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     knotq    %k0, %k2
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kord     %k0, %k1, %k2
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     korq     %k0, %k1, %k2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxnord   %k0, %k1, %k2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxnorq   %k0, %k1, %k2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxord    %k0, %k1, %k2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxorq    %k0, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kortestd %k0, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kortestq %k0, %k2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     kshiftld $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     kshiftlq $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     kshiftrd $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     kshiftrq $2, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     ktestd   %k0, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     ktestq   %k0, %k2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     kunpckdq %k0, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     kunpckwd %k0, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxnord   %k0, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxnorq   %k0, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxord    %k0, %k1, %k2
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     kxorq    %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vdbpsadbw        $0, %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vdbpsadbw        $0, (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vdbpsadbw        $0, %zmm16, %zmm17, %zmm19 {%k1}
@@ -620,6 +1226,30 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb   %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw   %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw   (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw   %zmm16, %zmm17, %zmm19 {%k1}
@@ -632,18 +1262,48 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastb     (%rax), %zmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastb     (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastb     (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastw     (%rax), %zmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastw     (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastw     (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqb %zmm0, %zmm1, %k2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqb (%rax), %zmm1, %k2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
@@ -676,24 +1336,146 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqw (%rax), %zmm1, %k2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqw %zmm0, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpextrb  $0, %xmm16, %eax
+# CHECK-NEXT:  -      -      -     0.50   1.00   0.50   0.50   0.50   vpextrb  $0, %xmm16, (%rax)
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpextrw  $0, %xmm16, %eax
+# CHECK-NEXT:  -      -      -     0.50   1.00   0.50   0.50   0.50   vpextrw  $0, %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -     0.50    -     1.50    -      -     vpinsrb  $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpinsrb  $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     1.50    -      -     vpinsrw  $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpinsrw  $0, (%rax), %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw   %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw   (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw   %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw   (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw   %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovb2m %zmm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovw2m %zmm0, %k0
+# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2b %k0, %zmm0
+# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2w %k0, %zmm0
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovsxbw        %ymm16, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovsxbw        (%rax), %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovsxbw        %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovsxbw        (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovsxbw        %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovsxbw        (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovswb %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovswb %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovuswb        %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovuswb        %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovuswb        %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovuswb        %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovwb  %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovwb  %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovwb  %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovwb  %zmm16, (%rax) {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovzxbw        %ymm16, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovzxbw        (%rax), %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovzxbw        %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovzxbw        (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovzxbw        %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovzxbw        (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsadbw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsadbw  (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb  %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb  (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb  %zmm16, %zmm17, %zmm19 {%k1}
@@ -714,14 +1496,92 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpshuflw $0, (%rax), %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpslldq  $1, %zmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpslldq  $1, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpsrldq  $1, %zmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpsrldq  $1, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw   %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw   (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw   %zmm16, %zmm17, %zmm19 {%k1}
@@ -768,7 +1628,3 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd       (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklwd       %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd       (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2b %k0, %zmm0
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2w %k0, %zmm0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovb2m %zmm0, %k0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovw2m %zmm0, %k0
index c02c52d..946335b 100644 (file)
@@ -149,6 +149,62 @@ vpaddb            (%rax), %ymm17, %ymm19 {k1}
 vpaddb            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpaddb            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpaddsb           %xmm16, %xmm17, %xmm19
+vpaddsb           (%rax), %xmm17, %xmm19
+vpaddsb           %xmm16, %xmm17, %xmm19 {k1}
+vpaddsb           (%rax), %xmm17, %xmm19 {k1}
+vpaddsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddsb           %ymm16, %ymm17, %ymm19
+vpaddsb           (%rax), %ymm17, %ymm19
+vpaddsb           %ymm16, %ymm17, %ymm19 {k1}
+vpaddsb           (%rax), %ymm17, %ymm19 {k1}
+vpaddsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddsw           %xmm16, %xmm17, %xmm19
+vpaddsw           (%rax), %xmm17, %xmm19
+vpaddsw           %xmm16, %xmm17, %xmm19 {k1}
+vpaddsw           (%rax), %xmm17, %xmm19 {k1}
+vpaddsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddsw           %ymm16, %ymm17, %ymm19
+vpaddsw           (%rax), %ymm17, %ymm19
+vpaddsw           %ymm16, %ymm17, %ymm19 {k1}
+vpaddsw           (%rax), %ymm17, %ymm19 {k1}
+vpaddsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddusb          %xmm16, %xmm17, %xmm19
+vpaddusb          (%rax), %xmm17, %xmm19
+vpaddusb          %xmm16, %xmm17, %xmm19 {k1}
+vpaddusb          (%rax), %xmm17, %xmm19 {k1}
+vpaddusb          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddusb          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddusb          %ymm16, %ymm17, %ymm19
+vpaddusb          (%rax), %ymm17, %ymm19
+vpaddusb          %ymm16, %ymm17, %ymm19 {k1}
+vpaddusb          (%rax), %ymm17, %ymm19 {k1}
+vpaddusb          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddusb          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddusw          %xmm16, %xmm17, %xmm19
+vpaddusw          (%rax), %xmm17, %xmm19
+vpaddusw          %xmm16, %xmm17, %xmm19 {k1}
+vpaddusw          (%rax), %xmm17, %xmm19 {k1}
+vpaddusw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddusw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddusw          %ymm16, %ymm17, %ymm19
+vpaddusw          (%rax), %ymm17, %ymm19
+vpaddusw          %ymm16, %ymm17, %ymm19 {k1}
+vpaddusw          (%rax), %ymm17, %ymm19 {k1}
+vpaddusw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddusw          (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpaddw            %xmm16, %xmm17, %xmm19
 vpaddw            (%rax), %xmm17, %xmm19
 vpaddw            %xmm16, %xmm17, %xmm19 {k1}
@@ -177,33 +233,101 @@ vpalignr          $1, (%rax), %ymm17, %ymm19 {k1}
 vpalignr          $1, %ymm16, %ymm17, %ymm19 {z}{k1}
 vpalignr          $1, (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpavgb            %xmm16, %xmm17, %xmm19
+vpavgb            (%rax), %xmm17, %xmm19
+vpavgb            %xmm16, %xmm17, %xmm19 {k1}
+vpavgb            (%rax), %xmm17, %xmm19 {k1}
+vpavgb            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpavgb            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpavgb            %ymm16, %ymm17, %ymm19
+vpavgb            (%rax), %ymm17, %ymm19
+vpavgb            %ymm16, %ymm17, %ymm19 {k1}
+vpavgb            (%rax), %ymm17, %ymm19 {k1}
+vpavgb            %ymm16, %ymm17, %ymm19 {z}{k1}
+vpavgb            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpavgw            %xmm16, %xmm17, %xmm19
+vpavgw            (%rax), %xmm17, %xmm19
+vpavgw            %xmm16, %xmm17, %xmm19 {k1}
+vpavgw            (%rax), %xmm17, %xmm19 {k1}
+vpavgw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpavgw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpavgw            %ymm16, %ymm17, %ymm19
+vpavgw            (%rax), %ymm17, %ymm19
+vpavgw            %ymm16, %ymm17, %ymm19 {k1}
+vpavgw            (%rax), %ymm17, %ymm19 {k1}
+vpavgw            %ymm16, %ymm17, %ymm19 {z}{k1}
+vpavgw            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpblendmb         %xmm16, %xmm17, %xmm19
+vpblendmb         (%rax), %xmm17, %xmm19
+vpblendmb         %xmm16, %xmm17, %xmm19 {k1}
+vpblendmb         (%rax), %xmm17, %xmm19 {k1}
+vpblendmb         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpblendmb         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpblendmb         %ymm16, %ymm17, %ymm19
+vpblendmb         (%rax), %ymm17, %ymm19
+vpblendmb         %ymm16, %ymm17, %ymm19 {k1}
+vpblendmb         (%rax), %ymm17, %ymm19 {k1}
+vpblendmb         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpblendmb         (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpblendmw         %xmm16, %xmm17, %xmm19
+vpblendmw         (%rax), %xmm17, %xmm19
+vpblendmw         %xmm16, %xmm17, %xmm19 {k1}
+vpblendmw         (%rax), %xmm17, %xmm19 {k1}
+vpblendmw         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpblendmw         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpblendmw         %ymm16, %ymm17, %ymm19
+vpblendmw         (%rax), %ymm17, %ymm19
+vpblendmw         %ymm16, %ymm17, %ymm19 {k1}
+vpblendmw         (%rax), %ymm17, %ymm19 {k1}
+vpblendmw         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpblendmw         (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpbroadcastb      %xmm16, %xmm19
 vpbroadcastb      (%rax), %xmm19
+vpbroadcastb      %eax, %xmm19
 vpbroadcastb      %xmm16, %xmm19 {k1}
 vpbroadcastb      (%rax), %xmm19 {k1}
+vpbroadcastb      %eax, %xmm19 {k1}
 vpbroadcastb      %xmm16, %xmm19 {z}{k1}
 vpbroadcastb      (%rax), %xmm19 {z}{k1}
+vpbroadcastb      %eax, %xmm19 {z}{k1}
 
 vpbroadcastb      %xmm16, %ymm19
 vpbroadcastb      (%rax), %ymm19
+vpbroadcastb      %eax, %ymm19
 vpbroadcastb      %xmm16, %ymm19 {k1}
 vpbroadcastb      (%rax), %ymm19 {k1}
+vpbroadcastb      %eax, %ymm19 {k1}
 vpbroadcastb      %xmm16, %ymm19 {z}{k1}
 vpbroadcastb      (%rax), %ymm19 {z}{k1}
+vpbroadcastb      %eax, %ymm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %xmm19
 vpbroadcastw      (%rax), %xmm19
+vpbroadcastw      %eax, %xmm19
 vpbroadcastw      %xmm16, %xmm19 {k1}
 vpbroadcastw      (%rax), %xmm19 {k1}
+vpbroadcastw      %eax, %xmm19 {k1}
 vpbroadcastw      %xmm16, %xmm19 {z}{k1}
 vpbroadcastw      (%rax), %xmm19 {z}{k1}
+vpbroadcastw      %eax, %xmm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %ymm19
 vpbroadcastw      (%rax), %ymm19
+vpbroadcastw      %eax, %ymm19
 vpbroadcastw      %xmm16, %ymm19 {k1}
 vpbroadcastw      (%rax), %ymm19 {k1}
+vpbroadcastw      %eax, %ymm19 {k1}
 vpbroadcastw      %xmm16, %ymm19 {z}{k1}
 vpbroadcastw      (%rax), %ymm19 {z}{k1}
+vpbroadcastw      %eax, %ymm19 {z}{k1}
 
 vpcmpb            $0, %xmm0, %xmm1, %k2
 vpcmpb            $0, (%rax), %xmm1, %k2
@@ -299,6 +423,186 @@ vpermw            (%rax), %ymm17, %ymm19 {k1}
 vpermw            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpermw            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpermi2w          %xmm16, %xmm17, %xmm19
+vpermi2w          (%rax), %xmm17, %xmm19
+vpermi2w          %xmm16, %xmm17, %xmm19 {k1}
+vpermi2w          (%rax), %xmm17, %xmm19 {k1}
+vpermi2w          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpermi2w          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpermi2w          %ymm16, %ymm17, %ymm19
+vpermi2w          (%rax), %ymm17, %ymm19
+vpermi2w          %ymm16, %ymm17, %ymm19 {k1}
+vpermi2w          (%rax), %ymm17, %ymm19 {k1}
+vpermi2w          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpermi2w          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpermt2w          %xmm16, %xmm17, %xmm19
+vpermt2w          (%rax), %xmm17, %xmm19
+vpermt2w          %xmm16, %xmm17, %xmm19 {k1}
+vpermt2w          (%rax), %xmm17, %xmm19 {k1}
+vpermt2w          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpermt2w          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpermt2w          %ymm16, %ymm17, %ymm19
+vpermt2w          (%rax), %ymm17, %ymm19
+vpermt2w          %ymm16, %ymm17, %ymm19 {k1}
+vpermt2w          (%rax), %ymm17, %ymm19 {k1}
+vpermt2w          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpermt2w          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaddubsw        %xmm16, %xmm17, %xmm19
+vpmaddubsw        (%rax), %xmm17, %xmm19
+vpmaddubsw        %xmm16, %xmm17, %xmm19 {k1}
+vpmaddubsw        (%rax), %xmm17, %xmm19 {k1}
+vpmaddubsw        %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaddubsw        (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaddubsw        %ymm16, %ymm17, %ymm19
+vpmaddubsw        (%rax), %ymm17, %ymm19
+vpmaddubsw        %ymm16, %ymm17, %ymm19 {k1}
+vpmaddubsw        (%rax), %ymm17, %ymm19 {k1}
+vpmaddubsw        %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaddubsw        (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaddwd          %xmm16, %xmm17, %xmm19
+vpmaddwd          (%rax), %xmm17, %xmm19
+vpmaddwd          %xmm16, %xmm17, %xmm19 {k1}
+vpmaddwd          (%rax), %xmm17, %xmm19 {k1}
+vpmaddwd          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaddwd          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaddwd          %ymm16, %ymm17, %ymm19
+vpmaddwd          (%rax), %ymm17, %ymm19
+vpmaddwd          %ymm16, %ymm17, %ymm19 {k1}
+vpmaddwd          (%rax), %ymm17, %ymm19 {k1}
+vpmaddwd          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaddwd          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxsb           %xmm16, %xmm17, %xmm19
+vpmaxsb           (%rax), %xmm17, %xmm19
+vpmaxsb           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxsb           (%rax), %xmm17, %xmm19 {k1}
+vpmaxsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxsb           %ymm16, %ymm17, %ymm19
+vpmaxsb           (%rax), %ymm17, %ymm19
+vpmaxsb           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxsb           (%rax), %ymm17, %ymm19 {k1}
+vpmaxsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxsw           %xmm16, %xmm17, %xmm19
+vpmaxsw           (%rax), %xmm17, %xmm19
+vpmaxsw           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxsw           (%rax), %xmm17, %xmm19 {k1}
+vpmaxsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxsw           %ymm16, %ymm17, %ymm19
+vpmaxsw           (%rax), %ymm17, %ymm19
+vpmaxsw           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxsw           (%rax), %ymm17, %ymm19 {k1}
+vpmaxsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxub           %xmm16, %xmm17, %xmm19
+vpmaxub           (%rax), %xmm17, %xmm19
+vpmaxub           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxub           (%rax), %xmm17, %xmm19 {k1}
+vpmaxub           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxub           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxub           %ymm16, %ymm17, %ymm19
+vpmaxub           (%rax), %ymm17, %ymm19
+vpmaxub           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxub           (%rax), %ymm17, %ymm19 {k1}
+vpmaxub           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxub           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxuw           %xmm16, %xmm17, %xmm19
+vpmaxuw           (%rax), %xmm17, %xmm19
+vpmaxuw           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxuw           (%rax), %xmm17, %xmm19 {k1}
+vpmaxuw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxuw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxuw           %ymm16, %ymm17, %ymm19
+vpmaxuw           (%rax), %ymm17, %ymm19
+vpmaxuw           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxuw           (%rax), %ymm17, %ymm19 {k1}
+vpmaxuw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxuw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminsb           %xmm16, %xmm17, %xmm19
+vpminsb           (%rax), %xmm17, %xmm19
+vpminsb           %xmm16, %xmm17, %xmm19 {k1}
+vpminsb           (%rax), %xmm17, %xmm19 {k1}
+vpminsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminsb           %ymm16, %ymm17, %ymm19
+vpminsb           (%rax), %ymm17, %ymm19
+vpminsb           %ymm16, %ymm17, %ymm19 {k1}
+vpminsb           (%rax), %ymm17, %ymm19 {k1}
+vpminsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminsw           %xmm16, %xmm17, %xmm19
+vpminsw           (%rax), %xmm17, %xmm19
+vpminsw           %xmm16, %xmm17, %xmm19 {k1}
+vpminsw           (%rax), %xmm17, %xmm19 {k1}
+vpminsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminsw           %ymm16, %ymm17, %ymm19
+vpminsw           (%rax), %ymm17, %ymm19
+vpminsw           %ymm16, %ymm17, %ymm19 {k1}
+vpminsw           (%rax), %ymm17, %ymm19 {k1}
+vpminsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminub           %xmm16, %xmm17, %xmm19
+vpminub           (%rax), %xmm17, %xmm19
+vpminub           %xmm16, %xmm17, %xmm19 {k1}
+vpminub           (%rax), %xmm17, %xmm19 {k1}
+vpminub           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminub           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminub           %ymm16, %ymm17, %ymm19
+vpminub           (%rax), %ymm17, %ymm19
+vpminub           %ymm16, %ymm17, %ymm19 {k1}
+vpminub           (%rax), %ymm17, %ymm19 {k1}
+vpminub           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminub           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminuw           %xmm16, %xmm17, %xmm19
+vpminuw           (%rax), %xmm17, %xmm19
+vpminuw           %xmm16, %xmm17, %xmm19 {k1}
+vpminuw           (%rax), %xmm17, %xmm19 {k1}
+vpminuw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminuw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminuw           %ymm16, %ymm17, %ymm19
+vpminuw           (%rax), %ymm17, %ymm19
+vpminuw           %ymm16, %ymm17, %ymm19 {k1}
+vpminuw           (%rax), %ymm17, %ymm19 {k1}
+vpminuw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminuw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmovb2m          %xmm0, %k0
+vpmovw2m          %xmm0, %k0
+
+vpmovb2m          %ymm0, %k0
+vpmovw2m          %ymm0, %k0
+
+vpmovm2b          %k0, %xmm0
+vpmovm2w          %k0, %xmm0
+
+vpmovm2b          %k0, %ymm0
+vpmovm2w          %k0, %ymm0
+
 vpmovsxbw         %xmm16, %xmm19
 vpmovsxbw         (%rax), %xmm19
 vpmovsxbw         %xmm16, %xmm19 {k1}
@@ -313,6 +617,36 @@ vpmovsxbw         (%rax), %ymm19 {k1}
 vpmovsxbw         %xmm16, %ymm19 {z}{k1}
 vpmovsxbw         (%rax), %ymm19 {z}{k1}
 
+vpmovswb          %xmm16, %xmm19
+vpmovswb          %xmm16, (%rax)
+vpmovswb          %xmm16, %xmm19 {k1}
+vpmovswb          %xmm16, (%rax) {k1}
+
+vpmovswb          %ymm16, %xmm19
+vpmovswb          %ymm16, (%rax)
+vpmovswb          %ymm16, %xmm19 {k1}
+vpmovswb          %ymm16, (%rax) {k1}
+
+vpmovuswb         %xmm16, %xmm19
+vpmovuswb         %xmm16, (%rax)
+vpmovuswb         %xmm16, %xmm19 {k1}
+vpmovuswb         %xmm16, (%rax) {k1}
+
+vpmovuswb         %ymm16, %xmm19
+vpmovuswb         %ymm16, (%rax)
+vpmovuswb         %ymm16, %xmm19 {k1}
+vpmovuswb         %ymm16, (%rax) {k1}
+
+vpmovwb           %xmm16, %xmm19
+vpmovwb           %xmm16, (%rax)
+vpmovwb           %xmm16, %xmm19 {k1}
+vpmovwb           %xmm16, (%rax) {k1}
+
+vpmovwb           %ymm16, %xmm19
+vpmovwb           %ymm16, (%rax)
+vpmovwb           %ymm16, %xmm19 {k1}
+vpmovwb           %ymm16, (%rax) {k1}
+
 vpmovzxbw         %xmm16, %xmm19
 vpmovzxbw         (%rax), %xmm19
 vpmovzxbw         %xmm16, %xmm19 {k1}
@@ -327,6 +661,68 @@ vpmovzxbw         (%rax), %ymm19 {k1}
 vpmovzxbw         %xmm16, %ymm19 {z}{k1}
 vpmovzxbw         (%rax), %ymm19 {z}{k1}
 
+vpmulhrsw         %xmm16, %xmm17, %xmm19
+vpmulhrsw         (%rax), %xmm17, %xmm19
+vpmulhrsw         %xmm16, %xmm17, %xmm19 {k1}
+vpmulhrsw         (%rax), %xmm17, %xmm19 {k1}
+vpmulhrsw         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhrsw         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhrsw         %ymm16, %ymm17, %ymm19
+vpmulhrsw         (%rax), %ymm17, %ymm19
+vpmulhrsw         %ymm16, %ymm17, %ymm19 {k1}
+vpmulhrsw         (%rax), %ymm17, %ymm19 {k1}
+vpmulhrsw         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhrsw         (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmulhuw          %xmm16, %xmm17, %xmm19
+vpmulhuw          (%rax), %xmm17, %xmm19
+vpmulhuw          %xmm16, %xmm17, %xmm19 {k1}
+vpmulhuw          (%rax), %xmm17, %xmm19 {k1}
+vpmulhuw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhuw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhuw          %ymm16, %ymm17, %ymm19
+vpmulhuw          (%rax), %ymm17, %ymm19
+vpmulhuw          %ymm16, %ymm17, %ymm19 {k1}
+vpmulhuw          (%rax), %ymm17, %ymm19 {k1}
+vpmulhuw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhuw          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmulhw           %xmm16, %xmm17, %xmm19
+vpmulhw           (%rax), %xmm17, %xmm19
+vpmulhw           %xmm16, %xmm17, %xmm19 {k1}
+vpmulhw           (%rax), %xmm17, %xmm19 {k1}
+vpmulhw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhw           %ymm16, %ymm17, %ymm19
+vpmulhw           (%rax), %ymm17, %ymm19
+vpmulhw           %ymm16, %ymm17, %ymm19 {k1}
+vpmulhw           (%rax), %ymm17, %ymm19 {k1}
+vpmulhw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmullw           %xmm16, %xmm17, %xmm19
+vpmullw           (%rax), %xmm17, %xmm19
+vpmullw           %xmm16, %xmm17, %xmm19 {k1}
+vpmullw           (%rax), %xmm17, %xmm19 {k1}
+vpmullw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmullw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmullw           %ymm16, %ymm17, %ymm19
+vpmullw           (%rax), %ymm17, %ymm19
+vpmullw           %ymm16, %ymm17, %ymm19 {k1}
+vpmullw           (%rax), %ymm17, %ymm19 {k1}
+vpmullw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmullw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsadbw           %xmm16, %xmm17, %xmm19
+vpsadbw           (%rax), %xmm17, %xmm19
+
+vpsadbw           %ymm16, %ymm17, %ymm19
+vpsadbw           (%rax), %ymm17, %ymm19
+
 vpshufb           %xmm16, %xmm17, %xmm19
 vpshufb           (%rax), %xmm17, %xmm19
 vpshufb           %xmm16, %xmm17, %xmm19 {k1}
@@ -375,12 +771,138 @@ vpslldq           $1, (%rax), %xmm19
 vpslldq           $1, %ymm16, %ymm19
 vpslldq           $1, (%rax), %ymm19
 
+vpsllvw           %xmm16, %xmm17, %xmm19
+vpsllvw           (%rax), %xmm17, %xmm19
+vpsllvw           %xmm16, %xmm17, %xmm19 {k1}
+vpsllvw           (%rax), %xmm17, %xmm19 {k1}
+vpsllvw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsllvw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsllvw           %ymm16, %ymm17, %ymm19
+vpsllvw           (%rax), %ymm17, %ymm19
+vpsllvw           %ymm16, %ymm17, %ymm19 {k1}
+vpsllvw           (%rax), %ymm17, %ymm19 {k1}
+vpsllvw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsllvw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsllw            $0, %xmm16, %xmm19
+vpsllw            $0, (%rax), %xmm19
+vpsllw            $0, %xmm16, %xmm19 {k1}
+vpsllw            $0, (%rax), %xmm19 {k1}
+vpsllw            $0, %xmm16, %xmm19 {z}{k1}
+vpsllw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsllw            $0, %ymm16, %ymm19
+vpsllw            $0, (%rax), %ymm19
+vpsllw            $0, %ymm16, %ymm19 {k1}
+vpsllw            $0, (%rax), %ymm19 {k1}
+vpsllw            $0, %ymm16, %ymm19 {z}{k1}
+vpsllw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsllw            %xmm16, %xmm17, %xmm19
+vpsllw            (%rax), %xmm17, %xmm19
+vpsllw            %xmm16, %xmm17, %xmm19 {k1}
+vpsllw            (%rax), %xmm17, %xmm19 {k1}
+vpsllw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsllw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsllw            %xmm16, %ymm17, %ymm19
+vpsllw            (%rax), %ymm17, %ymm19
+vpsllw            %xmm16, %ymm17, %ymm19 {k1}
+vpsllw            (%rax), %ymm17, %ymm19 {k1}
+vpsllw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsllw            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsravw           %xmm16, %xmm17, %xmm19
+vpsravw           (%rax), %xmm17, %xmm19
+vpsravw           %xmm16, %xmm17, %xmm19 {k1}
+vpsravw           (%rax), %xmm17, %xmm19 {k1}
+vpsravw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsravw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsravw           %ymm16, %ymm17, %ymm19
+vpsravw           (%rax), %ymm17, %ymm19
+vpsravw           %ymm16, %ymm17, %ymm19 {k1}
+vpsravw           (%rax), %ymm17, %ymm19 {k1}
+vpsravw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsravw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsraw            $0, %xmm16, %xmm19
+vpsraw            $0, (%rax), %xmm19
+vpsraw            $0, %xmm16, %xmm19 {k1}
+vpsraw            $0, (%rax), %xmm19 {k1}
+vpsraw            $0, %xmm16, %xmm19 {z}{k1}
+vpsraw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsraw            $0, %ymm16, %ymm19
+vpsraw            $0, (%rax), %ymm19
+vpsraw            $0, %ymm16, %ymm19 {k1}
+vpsraw            $0, (%rax), %ymm19 {k1}
+vpsraw            $0, %ymm16, %ymm19 {z}{k1}
+vpsraw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsraw            %xmm16, %xmm17, %xmm19
+vpsraw            (%rax), %xmm17, %xmm19
+vpsraw            %xmm16, %xmm17, %xmm19 {k1}
+vpsraw            (%rax), %xmm17, %xmm19 {k1}
+vpsraw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsraw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsraw            %xmm16, %ymm17, %ymm19
+vpsraw            (%rax), %ymm17, %ymm19
+vpsraw            %xmm16, %ymm17, %ymm19 {k1}
+vpsraw            (%rax), %ymm17, %ymm19 {k1}
+vpsraw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsraw            (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsrldq           $1, %xmm16, %xmm19
 vpsrldq           $1, (%rax), %xmm19
 
 vpsrldq           $1, %ymm16, %ymm19
 vpsrldq           $1, (%rax), %ymm19
 
+vpsrlvw           %xmm16, %xmm17, %xmm19
+vpsrlvw           (%rax), %xmm17, %xmm19
+vpsrlvw           %xmm16, %xmm17, %xmm19 {k1}
+vpsrlvw           (%rax), %xmm17, %xmm19 {k1}
+vpsrlvw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsrlvw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsrlvw           %ymm16, %ymm17, %ymm19
+vpsrlvw           (%rax), %ymm17, %ymm19
+vpsrlvw           %ymm16, %ymm17, %ymm19 {k1}
+vpsrlvw           (%rax), %ymm17, %ymm19 {k1}
+vpsrlvw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsrlvw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsrlw            $0, %xmm16, %xmm19
+vpsrlw            $0, (%rax), %xmm19
+vpsrlw            $0, %xmm16, %xmm19 {k1}
+vpsrlw            $0, (%rax), %xmm19 {k1}
+vpsrlw            $0, %xmm16, %xmm19 {z}{k1}
+vpsrlw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsrlw            $0, %ymm16, %ymm19
+vpsrlw            $0, (%rax), %ymm19
+vpsrlw            $0, %ymm16, %ymm19 {k1}
+vpsrlw            $0, (%rax), %ymm19 {k1}
+vpsrlw            $0, %ymm16, %ymm19 {z}{k1}
+vpsrlw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsrlw            %xmm16, %xmm17, %xmm19
+vpsrlw            (%rax), %xmm17, %xmm19
+vpsrlw            %xmm16, %xmm17, %xmm19 {k1}
+vpsrlw            (%rax), %xmm17, %xmm19 {k1}
+vpsrlw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsrlw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsrlw            %xmm16, %ymm17, %ymm19
+vpsrlw            (%rax), %ymm17, %ymm19
+vpsrlw            %xmm16, %ymm17, %ymm19 {k1}
+vpsrlw            (%rax), %ymm17, %ymm19 {k1}
+vpsrlw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsrlw            (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsubb            %xmm16, %xmm17, %xmm19
 vpsubb            (%rax), %xmm17, %xmm19
 vpsubb            %xmm16, %xmm17, %xmm19 {k1}
@@ -395,6 +917,62 @@ vpsubb            (%rax), %ymm17, %ymm19 {k1}
 vpsubb            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpsubb            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpsubsb           %xmm16, %xmm17, %xmm19
+vpsubsb           (%rax), %xmm17, %xmm19
+vpsubsb           %xmm16, %xmm17, %xmm19 {k1}
+vpsubsb           (%rax), %xmm17, %xmm19 {k1}
+vpsubsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubsb           %ymm16, %ymm17, %ymm19
+vpsubsb           (%rax), %ymm17, %ymm19
+vpsubsb           %ymm16, %ymm17, %ymm19 {k1}
+vpsubsb           (%rax), %ymm17, %ymm19 {k1}
+vpsubsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubsw           %xmm16, %xmm17, %xmm19
+vpsubsw           (%rax), %xmm17, %xmm19
+vpsubsw           %xmm16, %xmm17, %xmm19 {k1}
+vpsubsw           (%rax), %xmm17, %xmm19 {k1}
+vpsubsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubsw           %ymm16, %ymm17, %ymm19
+vpsubsw           (%rax), %ymm17, %ymm19
+vpsubsw           %ymm16, %ymm17, %ymm19 {k1}
+vpsubsw           (%rax), %ymm17, %ymm19 {k1}
+vpsubsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubusb          %xmm16, %xmm17, %xmm19
+vpsubusb          (%rax), %xmm17, %xmm19
+vpsubusb          %xmm16, %xmm17, %xmm19 {k1}
+vpsubusb          (%rax), %xmm17, %xmm19 {k1}
+vpsubusb          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubusb          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubusb          %ymm16, %ymm17, %ymm19
+vpsubusb          (%rax), %ymm17, %ymm19
+vpsubusb          %ymm16, %ymm17, %ymm19 {k1}
+vpsubusb          (%rax), %ymm17, %ymm19 {k1}
+vpsubusb          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubusb          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubusw          %xmm16, %xmm17, %xmm19
+vpsubusw          (%rax), %xmm17, %xmm19
+vpsubusw          %xmm16, %xmm17, %xmm19 {k1}
+vpsubusw          (%rax), %xmm17, %xmm19 {k1}
+vpsubusw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubusw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubusw          %ymm16, %ymm17, %ymm19
+vpsubusw          (%rax), %ymm17, %ymm19
+vpsubusw          %ymm16, %ymm17, %ymm19 {k1}
+vpsubusw          (%rax), %ymm17, %ymm19 {k1}
+vpsubusw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubusw          (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsubw            %xmm16, %xmm17, %xmm19
 vpsubw            (%rax), %xmm17, %xmm19
 vpsubw            %xmm16, %xmm17, %xmm19 {k1}
@@ -505,18 +1083,6 @@ vpunpcklwd         (%rax), %ymm17, %ymm19 {k1}
 vpunpcklwd         %ymm16, %ymm17, %ymm19 {z}{k1}
 vpunpcklwd         (%rax), %ymm17, %ymm19 {z}{k1}
 
-vpmovm2b          %k0, %xmm0
-vpmovm2w          %k0, %xmm0
-
-vpmovm2b          %k0, %ymm0
-vpmovm2w          %k0, %ymm0
-
-vpmovb2m          %xmm0, %k0
-vpmovw2m          %xmm0, %k0
-
-vpmovb2m          %ymm0, %k0
-vpmovw2m          %ymm0, %k0
-
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -654,6 +1220,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpaddb %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpaddw %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpaddw (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpaddw %xmm16, %xmm17, %xmm19 {%k1}
@@ -678,30 +1292,90 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpalignr       $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  3      8     1.00    *                   vpblendmb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      8     1.00    *                   vpblendmb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      8     1.00    *                   vpblendmb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpblendmb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  3      8     1.00    *                   vpblendmw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      8     1.00    *                   vpblendmw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      8     1.00    *                   vpblendmw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpblendmw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      9     1.00    *                   vpblendmw      (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpbroadcastb   (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  2      7     0.50    *                   vpbroadcastb   (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  2      7     0.50    *                   vpbroadcastb   (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %ymm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpbroadcastw   (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  2      7     0.50    *                   vpbroadcastw   (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  2      7     0.50    *                   vpbroadcastw   (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %ymm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqb       %xmm0, %xmm1, %k2
 # CHECK-NEXT:  2      7     0.50    *                   vpcmpeqb       (%rax), %xmm1, %k2
 # CHECK-NEXT:  1      1     0.50                        vpcmpeqb       %xmm0, %xmm1, %k2 {%k3}
@@ -778,6 +1452,158 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpermw (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpermi2w       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpermi2w       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpermt2w       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpermt2w       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpmaddubsw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpmaddubsw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpmaddubsw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddubsw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddubsw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmaddubsw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddubsw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpmaddwd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpmaddwd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpmaddwd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddwd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddwd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmaddwd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmaddwd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpmovb2m       %xmm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovw2m       %xmm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovb2m       %ymm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovw2m       %ymm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %xmm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %xmm0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %ymm0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %ymm0
 # CHECK-NEXT:  1      1     0.50                        vpmovsxbw      %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpmovsxbw      (%rax), %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpmovsxbw      %xmm16, %xmm19 {%k1}
@@ -790,6 +1616,30 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpmovsxbw      (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpmovsxbw      %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpmovsxbw      (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmovswb       %xmm16, %xmm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovswb       %xmm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovswb       %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovswb       %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovswb       %ymm16, %xmm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovswb       %ymm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovswb       %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovswb       %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovuswb      %xmm16, %xmm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovuswb      %xmm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovuswb      %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovuswb      %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovuswb      %ymm16, %xmm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovuswb      %ymm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovuswb      %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovuswb      %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovwb        %xmm16, %xmm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovwb        %xmm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovwb        %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovwb        %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmovwb        %ymm16, %xmm19
+# CHECK-NEXT:  2      8     1.00           *            vpmovwb        %ymm16, (%rax)
+# CHECK-NEXT:  1      1     1.00                        vpmovwb        %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00           *            vpmovwb        %ymm16, (%rax) {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpmovzxbw      %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpmovzxbw      (%rax), %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpmovzxbw      %xmm16, %xmm19 {%k1}
@@ -802,6 +1652,58 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpmovzxbw      (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpmovzxbw      %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpmovzxbw      (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhrsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhrsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhrsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhrsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhrsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhrsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhrsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhuw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhuw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhuw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhuw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhuw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhuw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhuw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpmulhw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmulhw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmulhw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpmullw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpmullw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpmullw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpmullw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpmullw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpmullw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpmullw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpsadbw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpsadbw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpsadbw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpsadbw        (%rax), %ymm17, %ymm19
 # CHECK-NEXT:  1      1     0.50                        vpshufb        %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpshufb        (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpshufb        %xmm16, %xmm17, %xmm19 {%k1}
@@ -842,10 +1744,118 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      7     0.50    *                   vpslldq        $1, (%rax), %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpslldq        $1, %ymm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpslldq        $1, (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     1.00    *                   vpsllvw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     1.00    *                   vpsllvw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     1.00    *                   vpsllvw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     1.00    *                   vpsllw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     1.00    *                   vpsllw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     1.00    *                   vpsllw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  3      8     1.00    *                   vpsllw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      8     1.00    *                   vpsllw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      8     1.00    *                   vpsllw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  3      11    1.00    *                   vpsllw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      11    1.00    *                   vpsllw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      11    1.00    *                   vpsllw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     1.00    *                   vpsravw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     1.00    *                   vpsravw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     1.00    *                   vpsravw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     1.00    *                   vpsraw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     1.00    *                   vpsraw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     1.00    *                   vpsraw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  3      8     1.00    *                   vpsraw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      8     1.00    *                   vpsraw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      8     1.00    *                   vpsraw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  3      11    1.00    *                   vpsraw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      11    1.00    *                   vpsraw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      11    1.00    *                   vpsraw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpsrldq        $1, %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsrldq        $1, (%rax), %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpsrldq        $1, %ymm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpsrldq        $1, (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     1.00    *                   vpsrlvw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     1.00    *                   vpsrlvw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     1.00    *                   vpsrlvw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     1.00    *                   vpsrlw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     1.00    *                   vpsrlw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     1.00    *                   vpsrlw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  3      8     1.00    *                   vpsrlw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      8     1.00    *                   vpsrlw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      8     1.00    *                   vpsrlw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  3      11    1.00    *                   vpsrlw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      11    1.00    *                   vpsrlw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      11    1.00    *                   vpsrlw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpsubb %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsubb (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@@ -858,6 +1868,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpsubb %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpsubw %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsubw (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpsubw %xmm16, %xmm17, %xmm19 {%k1}
@@ -950,14 +2008,6 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpunpcklwd     %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %xmm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %xmm0
-# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %ymm0
-# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %ymm0
-# CHECK-NEXT:  1      1     0.33                        vpmovb2m       %xmm0, %k0
-# CHECK-NEXT:  1      1     0.33                        vpmovw2m       %xmm0, %k0
-# CHECK-NEXT:  1      1     0.33                        vpmovb2m       %ymm0, %k0
-# CHECK-NEXT:  1      1     0.33                        vpmovw2m       %ymm0, %k0
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SBDivider
@@ -971,7 +2021,7 @@ vpmovw2m          %ymm0, %k0
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     30.67  132.67 8.00   248.67 108.00 108.00
+# CHECK-NEXT:  -      -     214.67 282.67 8.00   458.67 226.00 226.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -1103,6 +2153,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb   %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw   %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw   (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw   %xmm16, %xmm17, %xmm19 {%k1}
@@ -1127,30 +2225,90 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendmw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendmw        (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpbroadcastb     (%rax), %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %xmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpbroadcastb     (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpbroadcastb     (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %ymm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastb     (%rax), %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %ymm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastb     (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastb     (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastb     %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpbroadcastw     (%rax), %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %xmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpbroadcastw     (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpbroadcastw     (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %ymm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastw     (%rax), %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %ymm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastw     (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpbroadcastw     (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpbroadcastw     %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqb %xmm0, %xmm1, %k2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqb (%rax), %xmm1, %k2
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
@@ -1227,6 +2385,158 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw   (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw   %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermi2w %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermi2w (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermt2w %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermt2w (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovb2m %xmm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovw2m %xmm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovb2m %ymm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovw2m %ymm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovm2b %k0, %xmm0
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovm2w %k0, %xmm0
+# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2b %k0, %ymm0
+# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2w %k0, %ymm0
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxbw        %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxbw        (%rax), %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxbw        %xmm16, %xmm19 {%k1}
@@ -1239,6 +2549,30 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovsxbw        (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovsxbw        %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovsxbw        (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovswb %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovswb %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovswb %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovswb %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovuswb        %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovuswb        %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovuswb        %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovuswb        %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovuswb        %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovuswb        %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovuswb        %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovuswb        %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovwb  %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovwb  %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovwb  %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovwb  %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovwb  %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovwb  %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovwb  %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovwb  %ymm16, (%rax) {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxbw        %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxbw        (%rax), %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxbw        %xmm16, %xmm19 {%k1}
@@ -1251,6 +2585,58 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovzxbw        (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpmovzxbw        %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpmovzxbw        (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsadbw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsadbw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsadbw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsadbw  (%rax), %ymm17, %ymm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb  %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb  (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb  %xmm16, %xmm17, %xmm19 {%k1}
@@ -1291,10 +2677,118 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpslldq  $1, (%rax), %xmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpslldq  $1, %ymm16, %ymm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpslldq  $1, (%rax), %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllvw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllvw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw   $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsllw   $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw   %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsravw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsravw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw   $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsraw   $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw   %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw   (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsrldq  $1, %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsrldq  $1, (%rax), %xmm19
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpsrldq  $1, %ymm16, %ymm19
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpsrldq  $1, (%rax), %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlvw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlvw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw   $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsrlw   $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw   %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw   (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %xmm16, %xmm17, %xmm19 {%k1}
@@ -1307,6 +2801,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb   %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw   %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw   (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw   %xmm16, %xmm17, %xmm19 {%k1}
@@ -1399,11 +2941,3 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd       (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklwd       %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd       (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovm2b %k0, %xmm0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovm2w %k0, %xmm0
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2b %k0, %ymm0
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vpmovm2w %k0, %ymm0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovb2m %xmm0, %k0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovw2m %xmm0, %k0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovb2m %ymm0, %k0
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpmovw2m %ymm0, %k0
index c156d38..5fb114b 100644 (file)
@@ -3,23 +3,52 @@
 
 kaddd             %k0, %k1, %k2
 kaddq             %k0, %k1, %k2
+
 kandd             %k0, %k1, %k2
 kandq             %k0, %k1, %k2
+
 kandnd            %k0, %k1, %k2
 kandnq            %k0, %k1, %k2
+
+kmovd             %k0, %k2
+kmovd             (%rax), %k2
+kmovd             %k0, (%rax)
+kmovd             %eax, %k2
+kmovd             %k0, %eax
+
+kmovq             %k0, %k2
+kmovq             (%rax), %k2
+kmovq             %k0, (%rax)
+kmovq             %rax, %k2
+kmovq             %k0, %rax
+
+knotd             %k0, %k2
+knotq             %k0, %k2
+
 kord              %k0, %k1, %k2
 korq              %k0, %k1, %k2
-kxnord            %k0, %k1, %k2
-kxnorq            %k0, %k1, %k2
-kxord             %k0, %k1, %k2
-kxorq             %k0, %k1, %k2
+
+kortestd          %k0, %k2
+kortestq          %k0, %k2
+
 kshiftld          $2, %k1, %k2
 kshiftlq          $2, %k1, %k2
+
 kshiftrd          $2, %k1, %k2
 kshiftrq          $2, %k1, %k2
+
+ktestd            %k0, %k2
+ktestq            %k0, %k2
+
 kunpckdq          %k0, %k1, %k2
 kunpckwd          %k0, %k1, %k2
 
+kxnord            %k0, %k1, %k2
+kxnorq            %k0, %k1, %k2
+
+kxord             %k0, %k1, %k2
+kxorq             %k0, %k1, %k2
+
 vdbpsadbw         $0, %zmm16, %zmm17, %zmm19
 vdbpsadbw         $0, (%rax), %zmm17, %zmm19
 vdbpsadbw         $0, %zmm16, %zmm17, %zmm19 {k1}
@@ -94,6 +123,34 @@ vpaddb            (%rax), %zmm17, %zmm19 {k1}
 vpaddb            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpaddb            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpaddsb           %zmm16, %zmm17, %zmm19
+vpaddsb           (%rax), %zmm17, %zmm19
+vpaddsb           %zmm16, %zmm17, %zmm19 {k1}
+vpaddsb           (%rax), %zmm17, %zmm19 {k1}
+vpaddsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddsw           %zmm16, %zmm17, %zmm19
+vpaddsw           (%rax), %zmm17, %zmm19
+vpaddsw           %zmm16, %zmm17, %zmm19 {k1}
+vpaddsw           (%rax), %zmm17, %zmm19 {k1}
+vpaddsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddusb          %zmm16, %zmm17, %zmm19
+vpaddusb          (%rax), %zmm17, %zmm19
+vpaddusb          %zmm16, %zmm17, %zmm19 {k1}
+vpaddusb          (%rax), %zmm17, %zmm19 {k1}
+vpaddusb          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddusb          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddusw          %zmm16, %zmm17, %zmm19
+vpaddusw          (%rax), %zmm17, %zmm19
+vpaddusw          %zmm16, %zmm17, %zmm19 {k1}
+vpaddusw          (%rax), %zmm17, %zmm19 {k1}
+vpaddusw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddusw          (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpaddw            %zmm16, %zmm17, %zmm19
 vpaddw            (%rax), %zmm17, %zmm19
 vpaddw            %zmm16, %zmm17, %zmm19 {k1}
@@ -108,19 +165,53 @@ vpalignr          $1, (%rax), %zmm17, %zmm19 {k1}
 vpalignr          $1, %zmm16, %zmm17, %zmm19 {z}{k1}
 vpalignr          $1, (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpavgb            %zmm16, %zmm17, %zmm19
+vpavgb            (%rax), %zmm17, %zmm19
+vpavgb            %zmm16, %zmm17, %zmm19 {k1}
+vpavgb            (%rax), %zmm17, %zmm19 {k1}
+vpavgb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpavgb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpavgw            %zmm16, %zmm17, %zmm19
+vpavgw            (%rax), %zmm17, %zmm19
+vpavgw            %zmm16, %zmm17, %zmm19 {k1}
+vpavgw            (%rax), %zmm17, %zmm19 {k1}
+vpavgw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpavgw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpblendmb         %zmm16, %zmm17, %zmm19
+vpblendmb         (%rax), %zmm17, %zmm19
+vpblendmb         %zmm16, %zmm17, %zmm19 {k1}
+vpblendmb         (%rax), %zmm17, %zmm19 {k1}
+vpblendmb         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpblendmb         (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpblendmw         %zmm16, %zmm17, %zmm19
+vpblendmw         (%rax), %zmm17, %zmm19
+vpblendmw         %zmm16, %zmm17, %zmm19 {k1}
+vpblendmw         (%rax), %zmm17, %zmm19 {k1}
+vpblendmw         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpblendmw         (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpbroadcastb      %xmm16, %zmm19
 vpbroadcastb      (%rax), %zmm19
+vpbroadcastb      %eax, %zmm19
 vpbroadcastb      %xmm16, %zmm19 {k1}
 vpbroadcastb      (%rax), %zmm19 {k1}
+vpbroadcastb      %eax, %zmm19 {k1}
 vpbroadcastb      %xmm16, %zmm19 {z}{k1}
 vpbroadcastb      (%rax), %zmm19 {z}{k1}
+vpbroadcastb      %eax, %zmm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %zmm19
 vpbroadcastw      (%rax), %zmm19
+vpbroadcastw      %eax, %zmm19
 vpbroadcastw      %xmm16, %zmm19 {k1}
 vpbroadcastw      (%rax), %zmm19 {k1}
+vpbroadcastw      %eax, %zmm19 {k1}
 vpbroadcastw      %xmm16, %zmm19 {z}{k1}
 vpbroadcastw      (%rax), %zmm19 {z}{k1}
+vpbroadcastw      %eax, %zmm19 {z}{k1}
 
 vpcmpb            $0, %zmm0, %zmm1, %k2
 vpcmpb            $0, (%rax), %zmm1, %k2
@@ -162,6 +253,18 @@ vpcmpw            $0, (%rax), %zmm1, %k2
 vpcmpw            $0, %zmm0, %zmm1, %k2 {k3}
 vpcmpw            $0, (%rax), %zmm1, %k2 {k3}
 
+vpextrb           $0, %xmm16, %rax
+vpextrb           $0, %xmm16, (%rax)
+
+vpextrw           $0, %xmm16, %rax
+vpextrw           $0, %xmm16, (%rax)
+
+vpinsrb           $0, %rax, %xmm16, %xmm19
+vpinsrb           $0, (%rax), %xmm16, %xmm19
+
+vpinsrw           $0, %rax, %xmm16, %xmm19
+vpinsrw           $0, (%rax), %xmm16, %xmm19
+
 vpermw            %zmm16, %zmm17, %zmm19
 vpermw            (%rax), %zmm17, %zmm19
 vpermw            %zmm16, %zmm17, %zmm19 {k1}
@@ -169,6 +272,96 @@ vpermw            (%rax), %zmm17, %zmm19 {k1}
 vpermw            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpermw            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpermi2w          %zmm16, %zmm17, %zmm19
+vpermi2w          (%rax), %zmm17, %zmm19
+vpermi2w          %zmm16, %zmm17, %zmm19 {k1}
+vpermi2w          (%rax), %zmm17, %zmm19 {k1}
+vpermi2w          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermi2w          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpermt2w          %zmm16, %zmm17, %zmm19
+vpermt2w          (%rax), %zmm17, %zmm19
+vpermt2w          %zmm16, %zmm17, %zmm19 {k1}
+vpermt2w          (%rax), %zmm17, %zmm19 {k1}
+vpermt2w          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermt2w          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaddubsw        %zmm16, %zmm17, %zmm19
+vpmaddubsw        (%rax), %zmm17, %zmm19
+vpmaddubsw        %zmm16, %zmm17, %zmm19 {k1}
+vpmaddubsw        (%rax), %zmm17, %zmm19 {k1}
+vpmaddubsw        %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaddubsw        (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaddwd          %zmm16, %zmm17, %zmm19
+vpmaddwd          (%rax), %zmm17, %zmm19
+vpmaddwd          %zmm16, %zmm17, %zmm19 {k1}
+vpmaddwd          (%rax), %zmm17, %zmm19 {k1}
+vpmaddwd          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaddwd          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxsb           %zmm16, %zmm17, %zmm19
+vpmaxsb           (%rax), %zmm17, %zmm19
+vpmaxsb           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxsb           (%rax), %zmm17, %zmm19 {k1}
+vpmaxsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxsw           %zmm16, %zmm17, %zmm19
+vpmaxsw           (%rax), %zmm17, %zmm19
+vpmaxsw           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxsw           (%rax), %zmm17, %zmm19 {k1}
+vpmaxsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxub           %zmm16, %zmm17, %zmm19
+vpmaxub           (%rax), %zmm17, %zmm19
+vpmaxub           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxub           (%rax), %zmm17, %zmm19 {k1}
+vpmaxub           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxub           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxuw           %zmm16, %zmm17, %zmm19
+vpmaxuw           (%rax), %zmm17, %zmm19
+vpmaxuw           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxuw           (%rax), %zmm17, %zmm19 {k1}
+vpmaxuw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxuw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminsb           %zmm16, %zmm17, %zmm19
+vpminsb           (%rax), %zmm17, %zmm19
+vpminsb           %zmm16, %zmm17, %zmm19 {k1}
+vpminsb           (%rax), %zmm17, %zmm19 {k1}
+vpminsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminsw           %zmm16, %zmm17, %zmm19
+vpminsw           (%rax), %zmm17, %zmm19
+vpminsw           %zmm16, %zmm17, %zmm19 {k1}
+vpminsw           (%rax), %zmm17, %zmm19 {k1}
+vpminsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminub           %zmm16, %zmm17, %zmm19
+vpminub           (%rax), %zmm17, %zmm19
+vpminub           %zmm16, %zmm17, %zmm19 {k1}
+vpminub           (%rax), %zmm17, %zmm19 {k1}
+vpminub           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminub           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminuw           %zmm16, %zmm17, %zmm19
+vpminuw           (%rax), %zmm17, %zmm19
+vpminuw           %zmm16, %zmm17, %zmm19 {k1}
+vpminuw           (%rax), %zmm17, %zmm19 {k1}
+vpminuw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminuw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmovb2m          %zmm0, %k0
+vpmovw2m          %zmm0, %k0
+
+vpmovm2b          %k0, %zmm0
+vpmovm2w          %k0, %zmm0
+
 vpmovsxbw         %ymm16, %zmm19
 vpmovsxbw         (%rax), %zmm19
 vpmovsxbw         %ymm16, %zmm19 {k1}
@@ -176,6 +369,21 @@ vpmovsxbw         (%rax), %zmm19 {k1}
 vpmovsxbw         %ymm16, %zmm19 {z}{k1}
 vpmovsxbw         (%rax), %zmm19 {z}{k1}
 
+vpmovswb          %zmm16, %ymm19
+vpmovswb          %zmm16, (%rax)
+vpmovswb          %zmm16, %ymm19 {k1}
+vpmovswb          %zmm16, (%rax) {k1}
+
+vpmovuswb         %zmm16, %ymm19
+vpmovuswb         %zmm16, (%rax)
+vpmovuswb         %zmm16, %ymm19 {k1}
+vpmovuswb         %zmm16, (%rax) {k1}
+
+vpmovwb           %zmm16, %ymm19
+vpmovwb           %zmm16, (%rax)
+vpmovwb           %zmm16, %ymm19 {k1}
+vpmovwb           %zmm16, (%rax) {k1}
+
 vpmovzxbw         %ymm16, %zmm19
 vpmovzxbw         (%rax), %zmm19
 vpmovzxbw         %ymm16, %zmm19 {k1}
@@ -183,6 +391,37 @@ vpmovzxbw         (%rax), %zmm19 {k1}
 vpmovzxbw         %ymm16, %zmm19 {z}{k1}
 vpmovzxbw         (%rax), %zmm19 {z}{k1}
 
+vpmulhrsw         %zmm16, %zmm17, %zmm19
+vpmulhrsw         (%rax), %zmm17, %zmm19
+vpmulhrsw         %zmm16, %zmm17, %zmm19 {k1}
+vpmulhrsw         (%rax), %zmm17, %zmm19 {k1}
+vpmulhrsw         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhrsw         (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmulhuw          %zmm16, %zmm17, %zmm19
+vpmulhuw          (%rax), %zmm17, %zmm19
+vpmulhuw          %zmm16, %zmm17, %zmm19 {k1}
+vpmulhuw          (%rax), %zmm17, %zmm19 {k1}
+vpmulhuw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhuw          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmulhw           %zmm16, %zmm17, %zmm19
+vpmulhw           (%rax), %zmm17, %zmm19
+vpmulhw           %zmm16, %zmm17, %zmm19 {k1}
+vpmulhw           (%rax), %zmm17, %zmm19 {k1}
+vpmulhw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmullw           %zmm16, %zmm17, %zmm19
+vpmullw           (%rax), %zmm17, %zmm19
+vpmullw           %zmm16, %zmm17, %zmm19 {k1}
+vpmullw           (%rax), %zmm17, %zmm19 {k1}
+vpmullw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmullw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsadbw           %zmm16, %zmm17, %zmm19
+vpsadbw           (%rax), %zmm17, %zmm19
+
 vpshufb           %zmm16, %zmm17, %zmm19
 vpshufb           (%rax), %zmm17, %zmm19
 vpshufb           %zmm16, %zmm17, %zmm19 {k1}
@@ -207,9 +446,72 @@ vpshuflw          $0, (%rax), %zmm19 {z}{k1}
 vpslldq           $1, %zmm16, %zmm19
 vpslldq           $1, (%rax), %zmm19
 
+vpsllvw           %zmm16, %zmm17, %zmm19
+vpsllvw           (%rax), %zmm17, %zmm19
+vpsllvw           %zmm16, %zmm17, %zmm19 {k1}
+vpsllvw           (%rax), %zmm17, %zmm19 {k1}
+vpsllvw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsllvw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsllw            $0, %zmm16, %zmm19
+vpsllw            $0, (%rax), %zmm19
+vpsllw            $0, %zmm16, %zmm19 {k1}
+vpsllw            $0, (%rax), %zmm19 {k1}
+vpsllw            $0, %zmm16, %zmm19 {z}{k1}
+vpsllw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsllw            %xmm16, %zmm17, %zmm19
+vpsllw            (%rax), %zmm17, %zmm19
+vpsllw            %xmm16, %zmm17, %zmm19 {k1}
+vpsllw            (%rax), %zmm17, %zmm19 {k1}
+vpsllw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsllw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsravw           %zmm16, %zmm17, %zmm19
+vpsravw           (%rax), %zmm17, %zmm19
+vpsravw           %zmm16, %zmm17, %zmm19 {k1}
+vpsravw           (%rax), %zmm17, %zmm19 {k1}
+vpsravw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsravw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsraw            $0, %zmm16, %zmm19
+vpsraw            $0, (%rax), %zmm19
+vpsraw            $0, %zmm16, %zmm19 {k1}
+vpsraw            $0, (%rax), %zmm19 {k1}
+vpsraw            $0, %zmm16, %zmm19 {z}{k1}
+vpsraw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsraw            %xmm16, %zmm17, %zmm19
+vpsraw            (%rax), %zmm17, %zmm19
+vpsraw            %xmm16, %zmm17, %zmm19 {k1}
+vpsraw            (%rax), %zmm17, %zmm19 {k1}
+vpsraw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsraw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsrldq           $1, %zmm16, %zmm19
 vpsrldq           $1, (%rax), %zmm19
 
+vpsrlvw           %zmm16, %zmm17, %zmm19
+vpsrlvw           (%rax), %zmm17, %zmm19
+vpsrlvw           %zmm16, %zmm17, %zmm19 {k1}
+vpsrlvw           (%rax), %zmm17, %zmm19 {k1}
+vpsrlvw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsrlvw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsrlw            $0, %zmm16, %zmm19
+vpsrlw            $0, (%rax), %zmm19
+vpsrlw            $0, %zmm16, %zmm19 {k1}
+vpsrlw            $0, (%rax), %zmm19 {k1}
+vpsrlw            $0, %zmm16, %zmm19 {z}{k1}
+vpsrlw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsrlw            %xmm16, %zmm17, %zmm19
+vpsrlw            (%rax), %zmm17, %zmm19
+vpsrlw            %xmm16, %zmm17, %zmm19 {k1}
+vpsrlw            (%rax), %zmm17, %zmm19 {k1}
+vpsrlw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsrlw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsubb            %zmm16, %zmm17, %zmm19
 vpsubb            (%rax), %zmm17, %zmm19
 vpsubb            %zmm16, %zmm17, %zmm19 {k1}
@@ -217,6 +519,34 @@ vpsubb            (%rax), %zmm17, %zmm19 {k1}
 vpsubb            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpsubb            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpsubsb           %zmm16, %zmm17, %zmm19
+vpsubsb           (%rax), %zmm17, %zmm19
+vpsubsb           %zmm16, %zmm17, %zmm19 {k1}
+vpsubsb           (%rax), %zmm17, %zmm19 {k1}
+vpsubsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubsw           %zmm16, %zmm17, %zmm19
+vpsubsw           (%rax), %zmm17, %zmm19
+vpsubsw           %zmm16, %zmm17, %zmm19 {k1}
+vpsubsw           (%rax), %zmm17, %zmm19 {k1}
+vpsubsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubusb          %zmm16, %zmm17, %zmm19
+vpsubusb          (%rax), %zmm17, %zmm19
+vpsubusb          %zmm16, %zmm17, %zmm19 {k1}
+vpsubusb          (%rax), %zmm17, %zmm19 {k1}
+vpsubusb          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubusb          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubusw          %zmm16, %zmm17, %zmm19
+vpsubusw          (%rax), %zmm17, %zmm19
+vpsubusw          %zmm16, %zmm17, %zmm19 {k1}
+vpsubusw          (%rax), %zmm17, %zmm19 {k1}
+vpsubusw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubusw          (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsubw            %zmm16, %zmm17, %zmm19
 vpsubw            (%rax), %zmm17, %zmm19
 vpsubw            %zmm16, %zmm17, %zmm19 {k1}
@@ -272,12 +602,6 @@ vpunpcklwd        (%rax), %zmm17, %zmm19 {k1}
 vpunpcklwd        %zmm16, %zmm17, %zmm19 {z}{k1}
 vpunpcklwd        (%rax), %zmm17, %zmm19 {z}{k1}
 
-vpmovm2b          %k0, %zmm0
-vpmovm2w          %k0, %zmm0
-
-vpmovb2m          %zmm0, %k0
-vpmovw2m          %zmm0, %k0
-
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -293,18 +617,34 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  1      1     1.00                        kandq  %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandnd %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandnq %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kmovd  %k0, %k2
+# CHECK-NEXT:  3      7     1.00    *                   kmovd  (%rax), %k2
+# CHECK-NEXT:  2      1     1.00           *            kmovd  %k0, (%rax)
+# CHECK-NEXT:  1      1     1.00                        kmovd  %eax, %k2
+# CHECK-NEXT:  1      3     1.00                        kmovd  %k0, %eax
+# CHECK-NEXT:  1      1     1.00                        kmovq  %k0, %k2
+# CHECK-NEXT:  3      7     1.00    *                   kmovq  (%rax), %k2
+# CHECK-NEXT:  2      1     1.00           *            kmovq  %k0, (%rax)
+# CHECK-NEXT:  1      1     1.00                        kmovq  %rax, %k2
+# CHECK-NEXT:  1      3     1.00                        kmovq  %k0, %rax
+# CHECK-NEXT:  1      1     1.00                        knotd  %k0, %k2
+# CHECK-NEXT:  1      1     1.00                        knotq  %k0, %k2
 # CHECK-NEXT:  1      1     1.00                        kord   %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        korq   %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxnord %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxnorq %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxord  %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxorq  %k0, %k1, %k2
+# CHECK-NEXT:  1      3     1.00                        kortestd       %k0, %k2
+# CHECK-NEXT:  1      3     1.00                        kortestq       %k0, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftld       $2, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftlq       $2, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftrd       $2, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftrq       $2, %k1, %k2
+# CHECK-NEXT:  1      3     1.00                        ktestd %k0, %k2
+# CHECK-NEXT:  1      3     1.00                        ktestq %k0, %k2
 # CHECK-NEXT:  1      4     1.00                        kunpckdq       %k0, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kunpckwd       %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxnord %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxnorq %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxord  %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxorq  %k0, %k1, %k2
 # CHECK-NEXT:  1      3     1.00                        vdbpsadbw      $0, %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vdbpsadbw      $0, (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vdbpsadbw      $0, %zmm16, %zmm17, %zmm19 {%k1}
@@ -369,6 +709,30 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddusb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddusb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddusb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddusw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddusw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddusw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpaddw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpaddw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.33                        vpaddw %zmm16, %zmm17, %zmm19 {%k1}
@@ -381,18 +745,48 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpalignr       $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpavgb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpavgb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpavgb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpavgb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpavgw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpavgw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpavgw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpavgw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      2     0.50                        vpblendmb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      2     0.50                        vpblendmb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      2     0.50                        vpblendmb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      2     0.50                        vpblendmw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      2     0.50                        vpblendmw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      2     0.50                        vpblendmw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %zmm0, %zmm1, %k2
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb       (%rax), %zmm1, %k2
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %zmm0, %zmm1, %k2 {%k3}
@@ -425,24 +819,146 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw       (%rax), %zmm1, %k2
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqw       %zmm0, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw       (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      3     1.00                        vpextrb        $0, %xmm16, %eax
+# CHECK-NEXT:  3      2     1.00           *            vpextrb        $0, %xmm16, (%rax)
+# CHECK-NEXT:  2      3     1.00                        vpextrw        $0, %xmm16, %eax
+# CHECK-NEXT:  3      2     1.00           *            vpextrw        $0, %xmm16, (%rax)
+# CHECK-NEXT:  2      2     2.00                        vpinsrb        $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  2      6     1.00    *                   vpinsrb        $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT:  2      2     2.00                        vpinsrw        $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  2      6     1.00    *                   vpinsrw        $0, (%rax), %xmm16, %xmm19
 # CHECK-NEXT:  2      6     2.00                        vpermw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  2      6     2.00                        vpermw %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  2      6     2.00                        vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxub        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxub        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxub        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxub        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxub        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxub        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxuw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxuw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxuw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxuw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxuw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxuw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminub        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminub        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminub        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminub        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminub        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminub        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminuw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminuw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminuw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminuw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminuw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminuw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %zmm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %zmm0, %k0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %zmm0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %zmm0
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %ymm16, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %zmm16, %ymm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %zmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %zmm16, %ymm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %zmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %zmm16, %ymm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %zmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %zmm16, (%rax) {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %ymm16, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpsadbw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      10    1.00    *                   vpsadbw        (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpshufb        %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpshufb        (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpshufb        %zmm16, %zmm17, %zmm19 {%k1}
@@ -463,14 +979,92 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpshuflw       $0, (%rax), %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpslldq        $1, %zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpslldq        $1, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpsrldq        $1, %zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpsrldq        $1, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubusb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubusb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubusb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubusw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubusw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubusw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsubw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubw %zmm16, %zmm17, %zmm19 {%k1}
@@ -517,10 +1111,6 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpunpcklwd     %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %zmm0
-# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %zmm0
-# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %zmm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %zmm0, %k0
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - ICXDivider
@@ -538,7 +1128,7 @@ vpmovw2m          %zmm0, %k0
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT:  -      -     38.00  11.00  54.00  54.00  6.00   189.00  -     2.00    -      -
+# CHECK-NEXT:  -      -     239.50 17.50  115.33 115.33 16.00  295.50 0.50   5.33    -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
@@ -548,18 +1138,34 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kandq        %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kandnd       %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kandnq       %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kmovd        %k0, %k2
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     1.25   0.25    -      -      -     kmovd        (%rax), %k2
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33    -      -     kmovd        %k0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kmovd        %eax, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kmovd        %k0, %eax
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kmovq        %k0, %k2
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     1.25   0.25    -      -      -     kmovq        (%rax), %k2
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33    -      -     kmovq        %k0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kmovq        %rax, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kmovq        %k0, %rax
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     knotd        %k0, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     knotq        %k0, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kord %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     korq %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxnord       %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxnorq       %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxord        %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxorq        %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kortestd     %k0, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kortestq     %k0, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kshiftld     $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kshiftlq     $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kshiftrd     $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kshiftrq     $2, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     ktestd       %k0, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     ktestq       %k0, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kunpckdq     %k0, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     kunpckwd     %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxnord       %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxnorq       %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxord        %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     kxorq        %k0, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vdbpsadbw    $0, %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vdbpsadbw    $0, (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vdbpsadbw    $0, %zmm16, %zmm17, %zmm19 {%k1}
@@ -624,6 +1230,30 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpaddb       (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpaddb       %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpaddb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddsb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddsb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddsb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddusb     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddusb     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddusb     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddusw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddusw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpaddusw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpaddw       %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpaddw       (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpaddw       %zmm16, %zmm17, %zmm19 {%k1}
@@ -636,18 +1266,48 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpalignr     $1, (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpalignr     $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpalignr     $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpavgb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpavgb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpavgb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpavgw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpavgw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpavgw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpblendmb    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpblendmb    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpblendmb    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpblendmw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpblendmw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpblendmw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %zmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %zmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcmpeqb     %zmm0, %zmm1, %k2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcmpeqb     (%rax), %zmm1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcmpeqb     %zmm0, %zmm1, %k2 {%k3}
@@ -680,24 +1340,146 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcmpeqw     (%rax), %zmm1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcmpeqw     %zmm0, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcmpeqw     (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpextrb      $0, %xmm16, %eax
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33    -      -     vpextrb      $0, %xmm16, (%rax)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpextrw      $0, %xmm16, %eax
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33    -      -     vpextrw      $0, %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpinsrb      $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpinsrb      $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpinsrw      $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpinsrw      $0, (%rax), %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpermw       %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -      -      -     vpermw       (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpermw       %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -      -      -     vpermw       (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpermw       %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -      -      -     vpermw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmaddubsw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmaddubsw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmaddubsw   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmaddubsw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmaddubsw   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmaddubsw   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmaddwd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmaddwd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmaddwd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmaddwd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmaddwd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmaddwd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxsb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxsb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxsb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxub      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxub      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxub      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxuw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxuw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmaxuw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminsb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminsb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminsb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminub      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminub      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminub      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminuw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminuw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpminuw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovb2m     %zmm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovw2m     %zmm0, %k0
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmovm2b     %k0, %zmm0
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmovm2w     %k0, %zmm0
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovsxbw    %ymm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovsxbw    (%rax), %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovsxbw    %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovsxbw    (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovsxbw    %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovsxbw    (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovswb     %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovswb     %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovswb     %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovswb     %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovuswb    %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovuswb    %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovuswb    %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovuswb    %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovwb      %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovwb      %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovwb      %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovwb      %zmm16, (%rax) {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovzxbw    %ymm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovzxbw    (%rax), %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovzxbw    %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovzxbw    (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovzxbw    %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovzxbw    (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhrsw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhrsw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhrsw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhrsw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhrsw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhrsw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhuw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhuw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhuw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhuw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhuw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhuw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmulhw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmulhw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmullw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmullw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmullw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmullw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmullw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpmullw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpsadbw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpsadbw      (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpshufb      %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpshufb      (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpshufb      %zmm16, %zmm17, %zmm19 {%k1}
@@ -718,14 +1500,92 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpshuflw     $0, (%rax), %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpslldq      $1, %zmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpslldq      $1, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsllvw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsllvw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsllvw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsllw       $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsllw       $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsllw       $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsravw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsravw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsravw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsraw       $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsraw       $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsraw       $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpsrldq      $1, %zmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpsrldq      $1, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsrlvw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsrlvw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsrlvw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsrlw       $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsrlw       $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsrlw       $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubb       %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubb       (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubb       %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubb       (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubb       %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubsb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubsb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubsb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubusb     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubusb     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubusb     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubusw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubusw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpsubusw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubw       %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubw       (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubw       %zmm16, %zmm17, %zmm19 {%k1}
@@ -772,7 +1632,3 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpunpcklwd   (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpunpcklwd   %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpunpcklwd   (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmovm2b     %k0, %zmm0
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpmovm2w     %k0, %zmm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovb2m     %zmm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovw2m     %zmm0, %k0
index 9fde2ab..ba21db2 100644 (file)
@@ -149,6 +149,62 @@ vpaddb            (%rax), %ymm17, %ymm19 {k1}
 vpaddb            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpaddb            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpaddsb           %xmm16, %xmm17, %xmm19
+vpaddsb           (%rax), %xmm17, %xmm19
+vpaddsb           %xmm16, %xmm17, %xmm19 {k1}
+vpaddsb           (%rax), %xmm17, %xmm19 {k1}
+vpaddsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddsb           %ymm16, %ymm17, %ymm19
+vpaddsb           (%rax), %ymm17, %ymm19
+vpaddsb           %ymm16, %ymm17, %ymm19 {k1}
+vpaddsb           (%rax), %ymm17, %ymm19 {k1}
+vpaddsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddsw           %xmm16, %xmm17, %xmm19
+vpaddsw           (%rax), %xmm17, %xmm19
+vpaddsw           %xmm16, %xmm17, %xmm19 {k1}
+vpaddsw           (%rax), %xmm17, %xmm19 {k1}
+vpaddsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddsw           %ymm16, %ymm17, %ymm19
+vpaddsw           (%rax), %ymm17, %ymm19
+vpaddsw           %ymm16, %ymm17, %ymm19 {k1}
+vpaddsw           (%rax), %ymm17, %ymm19 {k1}
+vpaddsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddusb          %xmm16, %xmm17, %xmm19
+vpaddusb          (%rax), %xmm17, %xmm19
+vpaddusb          %xmm16, %xmm17, %xmm19 {k1}
+vpaddusb          (%rax), %xmm17, %xmm19 {k1}
+vpaddusb          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddusb          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddusb          %ymm16, %ymm17, %ymm19
+vpaddusb          (%rax), %ymm17, %ymm19
+vpaddusb          %ymm16, %ymm17, %ymm19 {k1}
+vpaddusb          (%rax), %ymm17, %ymm19 {k1}
+vpaddusb          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddusb          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddusw          %xmm16, %xmm17, %xmm19
+vpaddusw          (%rax), %xmm17, %xmm19
+vpaddusw          %xmm16, %xmm17, %xmm19 {k1}
+vpaddusw          (%rax), %xmm17, %xmm19 {k1}
+vpaddusw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddusw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddusw          %ymm16, %ymm17, %ymm19
+vpaddusw          (%rax), %ymm17, %ymm19
+vpaddusw          %ymm16, %ymm17, %ymm19 {k1}
+vpaddusw          (%rax), %ymm17, %ymm19 {k1}
+vpaddusw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddusw          (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpaddw            %xmm16, %xmm17, %xmm19
 vpaddw            (%rax), %xmm17, %xmm19
 vpaddw            %xmm16, %xmm17, %xmm19 {k1}
@@ -177,33 +233,101 @@ vpalignr          $1, (%rax), %ymm17, %ymm19 {k1}
 vpalignr          $1, %ymm16, %ymm17, %ymm19 {z}{k1}
 vpalignr          $1, (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpavgb            %xmm16, %xmm17, %xmm19
+vpavgb            (%rax), %xmm17, %xmm19
+vpavgb            %xmm16, %xmm17, %xmm19 {k1}
+vpavgb            (%rax), %xmm17, %xmm19 {k1}
+vpavgb            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpavgb            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpavgb            %ymm16, %ymm17, %ymm19
+vpavgb            (%rax), %ymm17, %ymm19
+vpavgb            %ymm16, %ymm17, %ymm19 {k1}
+vpavgb            (%rax), %ymm17, %ymm19 {k1}
+vpavgb            %ymm16, %ymm17, %ymm19 {z}{k1}
+vpavgb            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpavgw            %xmm16, %xmm17, %xmm19
+vpavgw            (%rax), %xmm17, %xmm19
+vpavgw            %xmm16, %xmm17, %xmm19 {k1}
+vpavgw            (%rax), %xmm17, %xmm19 {k1}
+vpavgw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpavgw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpavgw            %ymm16, %ymm17, %ymm19
+vpavgw            (%rax), %ymm17, %ymm19
+vpavgw            %ymm16, %ymm17, %ymm19 {k1}
+vpavgw            (%rax), %ymm17, %ymm19 {k1}
+vpavgw            %ymm16, %ymm17, %ymm19 {z}{k1}
+vpavgw            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpblendmb         %xmm16, %xmm17, %xmm19
+vpblendmb         (%rax), %xmm17, %xmm19
+vpblendmb         %xmm16, %xmm17, %xmm19 {k1}
+vpblendmb         (%rax), %xmm17, %xmm19 {k1}
+vpblendmb         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpblendmb         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpblendmb         %ymm16, %ymm17, %ymm19
+vpblendmb         (%rax), %ymm17, %ymm19
+vpblendmb         %ymm16, %ymm17, %ymm19 {k1}
+vpblendmb         (%rax), %ymm17, %ymm19 {k1}
+vpblendmb         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpblendmb         (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpblendmw         %xmm16, %xmm17, %xmm19
+vpblendmw         (%rax), %xmm17, %xmm19
+vpblendmw         %xmm16, %xmm17, %xmm19 {k1}
+vpblendmw         (%rax), %xmm17, %xmm19 {k1}
+vpblendmw         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpblendmw         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpblendmw         %ymm16, %ymm17, %ymm19
+vpblendmw         (%rax), %ymm17, %ymm19
+vpblendmw         %ymm16, %ymm17, %ymm19 {k1}
+vpblendmw         (%rax), %ymm17, %ymm19 {k1}
+vpblendmw         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpblendmw         (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpbroadcastb      %xmm16, %xmm19
 vpbroadcastb      (%rax), %xmm19
+vpbroadcastb      %eax, %xmm19
 vpbroadcastb      %xmm16, %xmm19 {k1}
 vpbroadcastb      (%rax), %xmm19 {k1}
+vpbroadcastb      %eax, %xmm19 {k1}
 vpbroadcastb      %xmm16, %xmm19 {z}{k1}
 vpbroadcastb      (%rax), %xmm19 {z}{k1}
+vpbroadcastb      %eax, %xmm19 {z}{k1}
 
 vpbroadcastb      %xmm16, %ymm19
 vpbroadcastb      (%rax), %ymm19
+vpbroadcastb      %eax, %ymm19
 vpbroadcastb      %xmm16, %ymm19 {k1}
 vpbroadcastb      (%rax), %ymm19 {k1}
+vpbroadcastb      %eax, %ymm19 {k1}
 vpbroadcastb      %xmm16, %ymm19 {z}{k1}
 vpbroadcastb      (%rax), %ymm19 {z}{k1}
+vpbroadcastb      %eax, %ymm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %xmm19
 vpbroadcastw      (%rax), %xmm19
+vpbroadcastw      %eax, %xmm19
 vpbroadcastw      %xmm16, %xmm19 {k1}
 vpbroadcastw      (%rax), %xmm19 {k1}
+vpbroadcastw      %eax, %xmm19 {k1}
 vpbroadcastw      %xmm16, %xmm19 {z}{k1}
 vpbroadcastw      (%rax), %xmm19 {z}{k1}
+vpbroadcastw      %eax, %xmm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %ymm19
 vpbroadcastw      (%rax), %ymm19
+vpbroadcastw      %eax, %ymm19
 vpbroadcastw      %xmm16, %ymm19 {k1}
 vpbroadcastw      (%rax), %ymm19 {k1}
+vpbroadcastw      %eax, %ymm19 {k1}
 vpbroadcastw      %xmm16, %ymm19 {z}{k1}
 vpbroadcastw      (%rax), %ymm19 {z}{k1}
+vpbroadcastw      %eax, %ymm19 {z}{k1}
 
 vpcmpb            $0, %xmm0, %xmm1, %k2
 vpcmpb            $0, (%rax), %xmm1, %k2
@@ -299,6 +423,186 @@ vpermw            (%rax), %ymm17, %ymm19 {k1}
 vpermw            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpermw            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpermi2w          %xmm16, %xmm17, %xmm19
+vpermi2w          (%rax), %xmm17, %xmm19
+vpermi2w          %xmm16, %xmm17, %xmm19 {k1}
+vpermi2w          (%rax), %xmm17, %xmm19 {k1}
+vpermi2w          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpermi2w          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpermi2w          %ymm16, %ymm17, %ymm19
+vpermi2w          (%rax), %ymm17, %ymm19
+vpermi2w          %ymm16, %ymm17, %ymm19 {k1}
+vpermi2w          (%rax), %ymm17, %ymm19 {k1}
+vpermi2w          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpermi2w          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpermt2w          %xmm16, %xmm17, %xmm19
+vpermt2w          (%rax), %xmm17, %xmm19
+vpermt2w          %xmm16, %xmm17, %xmm19 {k1}
+vpermt2w          (%rax), %xmm17, %xmm19 {k1}
+vpermt2w          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpermt2w          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpermt2w          %ymm16, %ymm17, %ymm19
+vpermt2w          (%rax), %ymm17, %ymm19
+vpermt2w          %ymm16, %ymm17, %ymm19 {k1}
+vpermt2w          (%rax), %ymm17, %ymm19 {k1}
+vpermt2w          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpermt2w          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaddubsw        %xmm16, %xmm17, %xmm19
+vpmaddubsw        (%rax), %xmm17, %xmm19
+vpmaddubsw        %xmm16, %xmm17, %xmm19 {k1}
+vpmaddubsw        (%rax), %xmm17, %xmm19 {k1}
+vpmaddubsw        %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaddubsw        (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaddubsw        %ymm16, %ymm17, %ymm19
+vpmaddubsw        (%rax), %ymm17, %ymm19
+vpmaddubsw        %ymm16, %ymm17, %ymm19 {k1}
+vpmaddubsw        (%rax), %ymm17, %ymm19 {k1}
+vpmaddubsw        %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaddubsw        (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaddwd          %xmm16, %xmm17, %xmm19
+vpmaddwd          (%rax), %xmm17, %xmm19
+vpmaddwd          %xmm16, %xmm17, %xmm19 {k1}
+vpmaddwd          (%rax), %xmm17, %xmm19 {k1}
+vpmaddwd          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaddwd          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaddwd          %ymm16, %ymm17, %ymm19
+vpmaddwd          (%rax), %ymm17, %ymm19
+vpmaddwd          %ymm16, %ymm17, %ymm19 {k1}
+vpmaddwd          (%rax), %ymm17, %ymm19 {k1}
+vpmaddwd          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaddwd          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxsb           %xmm16, %xmm17, %xmm19
+vpmaxsb           (%rax), %xmm17, %xmm19
+vpmaxsb           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxsb           (%rax), %xmm17, %xmm19 {k1}
+vpmaxsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxsb           %ymm16, %ymm17, %ymm19
+vpmaxsb           (%rax), %ymm17, %ymm19
+vpmaxsb           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxsb           (%rax), %ymm17, %ymm19 {k1}
+vpmaxsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxsw           %xmm16, %xmm17, %xmm19
+vpmaxsw           (%rax), %xmm17, %xmm19
+vpmaxsw           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxsw           (%rax), %xmm17, %xmm19 {k1}
+vpmaxsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxsw           %ymm16, %ymm17, %ymm19
+vpmaxsw           (%rax), %ymm17, %ymm19
+vpmaxsw           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxsw           (%rax), %ymm17, %ymm19 {k1}
+vpmaxsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxub           %xmm16, %xmm17, %xmm19
+vpmaxub           (%rax), %xmm17, %xmm19
+vpmaxub           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxub           (%rax), %xmm17, %xmm19 {k1}
+vpmaxub           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxub           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxub           %ymm16, %ymm17, %ymm19
+vpmaxub           (%rax), %ymm17, %ymm19
+vpmaxub           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxub           (%rax), %ymm17, %ymm19 {k1}
+vpmaxub           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxub           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxuw           %xmm16, %xmm17, %xmm19
+vpmaxuw           (%rax), %xmm17, %xmm19
+vpmaxuw           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxuw           (%rax), %xmm17, %xmm19 {k1}
+vpmaxuw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxuw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxuw           %ymm16, %ymm17, %ymm19
+vpmaxuw           (%rax), %ymm17, %ymm19
+vpmaxuw           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxuw           (%rax), %ymm17, %ymm19 {k1}
+vpmaxuw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxuw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminsb           %xmm16, %xmm17, %xmm19
+vpminsb           (%rax), %xmm17, %xmm19
+vpminsb           %xmm16, %xmm17, %xmm19 {k1}
+vpminsb           (%rax), %xmm17, %xmm19 {k1}
+vpminsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminsb           %ymm16, %ymm17, %ymm19
+vpminsb           (%rax), %ymm17, %ymm19
+vpminsb           %ymm16, %ymm17, %ymm19 {k1}
+vpminsb           (%rax), %ymm17, %ymm19 {k1}
+vpminsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminsw           %xmm16, %xmm17, %xmm19
+vpminsw           (%rax), %xmm17, %xmm19
+vpminsw           %xmm16, %xmm17, %xmm19 {k1}
+vpminsw           (%rax), %xmm17, %xmm19 {k1}
+vpminsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminsw           %ymm16, %ymm17, %ymm19
+vpminsw           (%rax), %ymm17, %ymm19
+vpminsw           %ymm16, %ymm17, %ymm19 {k1}
+vpminsw           (%rax), %ymm17, %ymm19 {k1}
+vpminsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminub           %xmm16, %xmm17, %xmm19
+vpminub           (%rax), %xmm17, %xmm19
+vpminub           %xmm16, %xmm17, %xmm19 {k1}
+vpminub           (%rax), %xmm17, %xmm19 {k1}
+vpminub           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminub           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminub           %ymm16, %ymm17, %ymm19
+vpminub           (%rax), %ymm17, %ymm19
+vpminub           %ymm16, %ymm17, %ymm19 {k1}
+vpminub           (%rax), %ymm17, %ymm19 {k1}
+vpminub           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminub           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminuw           %xmm16, %xmm17, %xmm19
+vpminuw           (%rax), %xmm17, %xmm19
+vpminuw           %xmm16, %xmm17, %xmm19 {k1}
+vpminuw           (%rax), %xmm17, %xmm19 {k1}
+vpminuw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminuw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminuw           %ymm16, %ymm17, %ymm19
+vpminuw           (%rax), %ymm17, %ymm19
+vpminuw           %ymm16, %ymm17, %ymm19 {k1}
+vpminuw           (%rax), %ymm17, %ymm19 {k1}
+vpminuw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminuw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmovb2m          %xmm0, %k0
+vpmovw2m          %xmm0, %k0
+
+vpmovb2m          %ymm0, %k0
+vpmovw2m          %ymm0, %k0
+
+vpmovm2b          %k0, %xmm0
+vpmovm2w          %k0, %xmm0
+
+vpmovm2b          %k0, %ymm0
+vpmovm2w          %k0, %ymm0
+
 vpmovsxbw         %xmm16, %xmm19
 vpmovsxbw         (%rax), %xmm19
 vpmovsxbw         %xmm16, %xmm19 {k1}
@@ -313,6 +617,36 @@ vpmovsxbw         (%rax), %ymm19 {k1}
 vpmovsxbw         %xmm16, %ymm19 {z}{k1}
 vpmovsxbw         (%rax), %ymm19 {z}{k1}
 
+vpmovswb          %xmm16, %xmm19
+vpmovswb          %xmm16, (%rax)
+vpmovswb          %xmm16, %xmm19 {k1}
+vpmovswb          %xmm16, (%rax) {k1}
+
+vpmovswb          %ymm16, %xmm19
+vpmovswb          %ymm16, (%rax)
+vpmovswb          %ymm16, %xmm19 {k1}
+vpmovswb          %ymm16, (%rax) {k1}
+
+vpmovuswb         %xmm16, %xmm19
+vpmovuswb         %xmm16, (%rax)
+vpmovuswb         %xmm16, %xmm19 {k1}
+vpmovuswb         %xmm16, (%rax) {k1}
+
+vpmovuswb         %ymm16, %xmm19
+vpmovuswb         %ymm16, (%rax)
+vpmovuswb         %ymm16, %xmm19 {k1}
+vpmovuswb         %ymm16, (%rax) {k1}
+
+vpmovwb           %xmm16, %xmm19
+vpmovwb           %xmm16, (%rax)
+vpmovwb           %xmm16, %xmm19 {k1}
+vpmovwb           %xmm16, (%rax) {k1}
+
+vpmovwb           %ymm16, %xmm19
+vpmovwb           %ymm16, (%rax)
+vpmovwb           %ymm16, %xmm19 {k1}
+vpmovwb           %ymm16, (%rax) {k1}
+
 vpmovzxbw         %xmm16, %xmm19
 vpmovzxbw         (%rax), %xmm19
 vpmovzxbw         %xmm16, %xmm19 {k1}
@@ -327,6 +661,68 @@ vpmovzxbw         (%rax), %ymm19 {k1}
 vpmovzxbw         %xmm16, %ymm19 {z}{k1}
 vpmovzxbw         (%rax), %ymm19 {z}{k1}
 
+vpmulhrsw         %xmm16, %xmm17, %xmm19
+vpmulhrsw         (%rax), %xmm17, %xmm19
+vpmulhrsw         %xmm16, %xmm17, %xmm19 {k1}
+vpmulhrsw         (%rax), %xmm17, %xmm19 {k1}
+vpmulhrsw         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhrsw         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhrsw         %ymm16, %ymm17, %ymm19
+vpmulhrsw         (%rax), %ymm17, %ymm19
+vpmulhrsw         %ymm16, %ymm17, %ymm19 {k1}
+vpmulhrsw         (%rax), %ymm17, %ymm19 {k1}
+vpmulhrsw         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhrsw         (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmulhuw          %xmm16, %xmm17, %xmm19
+vpmulhuw          (%rax), %xmm17, %xmm19
+vpmulhuw          %xmm16, %xmm17, %xmm19 {k1}
+vpmulhuw          (%rax), %xmm17, %xmm19 {k1}
+vpmulhuw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhuw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhuw          %ymm16, %ymm17, %ymm19
+vpmulhuw          (%rax), %ymm17, %ymm19
+vpmulhuw          %ymm16, %ymm17, %ymm19 {k1}
+vpmulhuw          (%rax), %ymm17, %ymm19 {k1}
+vpmulhuw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhuw          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmulhw           %xmm16, %xmm17, %xmm19
+vpmulhw           (%rax), %xmm17, %xmm19
+vpmulhw           %xmm16, %xmm17, %xmm19 {k1}
+vpmulhw           (%rax), %xmm17, %xmm19 {k1}
+vpmulhw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhw           %ymm16, %ymm17, %ymm19
+vpmulhw           (%rax), %ymm17, %ymm19
+vpmulhw           %ymm16, %ymm17, %ymm19 {k1}
+vpmulhw           (%rax), %ymm17, %ymm19 {k1}
+vpmulhw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmullw           %xmm16, %xmm17, %xmm19
+vpmullw           (%rax), %xmm17, %xmm19
+vpmullw           %xmm16, %xmm17, %xmm19 {k1}
+vpmullw           (%rax), %xmm17, %xmm19 {k1}
+vpmullw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmullw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmullw           %ymm16, %ymm17, %ymm19
+vpmullw           (%rax), %ymm17, %ymm19
+vpmullw           %ymm16, %ymm17, %ymm19 {k1}
+vpmullw           (%rax), %ymm17, %ymm19 {k1}
+vpmullw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmullw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsadbw           %xmm16, %xmm17, %xmm19
+vpsadbw           (%rax), %xmm17, %xmm19
+
+vpsadbw           %ymm16, %ymm17, %ymm19
+vpsadbw           (%rax), %ymm17, %ymm19
+
 vpshufb           %xmm16, %xmm17, %xmm19
 vpshufb           (%rax), %xmm17, %xmm19
 vpshufb           %xmm16, %xmm17, %xmm19 {k1}
@@ -375,12 +771,138 @@ vpslldq           $1, (%rax), %xmm19
 vpslldq           $1, %ymm16, %ymm19
 vpslldq           $1, (%rax), %ymm19
 
+vpsllvw           %xmm16, %xmm17, %xmm19
+vpsllvw           (%rax), %xmm17, %xmm19
+vpsllvw           %xmm16, %xmm17, %xmm19 {k1}
+vpsllvw           (%rax), %xmm17, %xmm19 {k1}
+vpsllvw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsllvw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsllvw           %ymm16, %ymm17, %ymm19
+vpsllvw           (%rax), %ymm17, %ymm19
+vpsllvw           %ymm16, %ymm17, %ymm19 {k1}
+vpsllvw           (%rax), %ymm17, %ymm19 {k1}
+vpsllvw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsllvw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsllw            $0, %xmm16, %xmm19
+vpsllw            $0, (%rax), %xmm19
+vpsllw            $0, %xmm16, %xmm19 {k1}
+vpsllw            $0, (%rax), %xmm19 {k1}
+vpsllw            $0, %xmm16, %xmm19 {z}{k1}
+vpsllw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsllw            $0, %ymm16, %ymm19
+vpsllw            $0, (%rax), %ymm19
+vpsllw            $0, %ymm16, %ymm19 {k1}
+vpsllw            $0, (%rax), %ymm19 {k1}
+vpsllw            $0, %ymm16, %ymm19 {z}{k1}
+vpsllw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsllw            %xmm16, %xmm17, %xmm19
+vpsllw            (%rax), %xmm17, %xmm19
+vpsllw            %xmm16, %xmm17, %xmm19 {k1}
+vpsllw            (%rax), %xmm17, %xmm19 {k1}
+vpsllw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsllw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsllw            %xmm16, %ymm17, %ymm19
+vpsllw            (%rax), %ymm17, %ymm19
+vpsllw            %xmm16, %ymm17, %ymm19 {k1}
+vpsllw            (%rax), %ymm17, %ymm19 {k1}
+vpsllw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsllw            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsravw           %xmm16, %xmm17, %xmm19
+vpsravw           (%rax), %xmm17, %xmm19
+vpsravw           %xmm16, %xmm17, %xmm19 {k1}
+vpsravw           (%rax), %xmm17, %xmm19 {k1}
+vpsravw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsravw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsravw           %ymm16, %ymm17, %ymm19
+vpsravw           (%rax), %ymm17, %ymm19
+vpsravw           %ymm16, %ymm17, %ymm19 {k1}
+vpsravw           (%rax), %ymm17, %ymm19 {k1}
+vpsravw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsravw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsraw            $0, %xmm16, %xmm19
+vpsraw            $0, (%rax), %xmm19
+vpsraw            $0, %xmm16, %xmm19 {k1}
+vpsraw            $0, (%rax), %xmm19 {k1}
+vpsraw            $0, %xmm16, %xmm19 {z}{k1}
+vpsraw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsraw            $0, %ymm16, %ymm19
+vpsraw            $0, (%rax), %ymm19
+vpsraw            $0, %ymm16, %ymm19 {k1}
+vpsraw            $0, (%rax), %ymm19 {k1}
+vpsraw            $0, %ymm16, %ymm19 {z}{k1}
+vpsraw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsraw            %xmm16, %xmm17, %xmm19
+vpsraw            (%rax), %xmm17, %xmm19
+vpsraw            %xmm16, %xmm17, %xmm19 {k1}
+vpsraw            (%rax), %xmm17, %xmm19 {k1}
+vpsraw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsraw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsraw            %xmm16, %ymm17, %ymm19
+vpsraw            (%rax), %ymm17, %ymm19
+vpsraw            %xmm16, %ymm17, %ymm19 {k1}
+vpsraw            (%rax), %ymm17, %ymm19 {k1}
+vpsraw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsraw            (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsrldq           $1, %xmm16, %xmm19
 vpsrldq           $1, (%rax), %xmm19
 
 vpsrldq           $1, %ymm16, %ymm19
 vpsrldq           $1, (%rax), %ymm19
 
+vpsrlvw           %xmm16, %xmm17, %xmm19
+vpsrlvw           (%rax), %xmm17, %xmm19
+vpsrlvw           %xmm16, %xmm17, %xmm19 {k1}
+vpsrlvw           (%rax), %xmm17, %xmm19 {k1}
+vpsrlvw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsrlvw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsrlvw           %ymm16, %ymm17, %ymm19
+vpsrlvw           (%rax), %ymm17, %ymm19
+vpsrlvw           %ymm16, %ymm17, %ymm19 {k1}
+vpsrlvw           (%rax), %ymm17, %ymm19 {k1}
+vpsrlvw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsrlvw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsrlw            $0, %xmm16, %xmm19
+vpsrlw            $0, (%rax), %xmm19
+vpsrlw            $0, %xmm16, %xmm19 {k1}
+vpsrlw            $0, (%rax), %xmm19 {k1}
+vpsrlw            $0, %xmm16, %xmm19 {z}{k1}
+vpsrlw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsrlw            $0, %ymm16, %ymm19
+vpsrlw            $0, (%rax), %ymm19
+vpsrlw            $0, %ymm16, %ymm19 {k1}
+vpsrlw            $0, (%rax), %ymm19 {k1}
+vpsrlw            $0, %ymm16, %ymm19 {z}{k1}
+vpsrlw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsrlw            %xmm16, %xmm17, %xmm19
+vpsrlw            (%rax), %xmm17, %xmm19
+vpsrlw            %xmm16, %xmm17, %xmm19 {k1}
+vpsrlw            (%rax), %xmm17, %xmm19 {k1}
+vpsrlw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsrlw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsrlw            %xmm16, %ymm17, %ymm19
+vpsrlw            (%rax), %ymm17, %ymm19
+vpsrlw            %xmm16, %ymm17, %ymm19 {k1}
+vpsrlw            (%rax), %ymm17, %ymm19 {k1}
+vpsrlw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsrlw            (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsubb            %xmm16, %xmm17, %xmm19
 vpsubb            (%rax), %xmm17, %xmm19
 vpsubb            %xmm16, %xmm17, %xmm19 {k1}
@@ -395,6 +917,62 @@ vpsubb            (%rax), %ymm17, %ymm19 {k1}
 vpsubb            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpsubb            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpsubsb           %xmm16, %xmm17, %xmm19
+vpsubsb           (%rax), %xmm17, %xmm19
+vpsubsb           %xmm16, %xmm17, %xmm19 {k1}
+vpsubsb           (%rax), %xmm17, %xmm19 {k1}
+vpsubsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubsb           %ymm16, %ymm17, %ymm19
+vpsubsb           (%rax), %ymm17, %ymm19
+vpsubsb           %ymm16, %ymm17, %ymm19 {k1}
+vpsubsb           (%rax), %ymm17, %ymm19 {k1}
+vpsubsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubsw           %xmm16, %xmm17, %xmm19
+vpsubsw           (%rax), %xmm17, %xmm19
+vpsubsw           %xmm16, %xmm17, %xmm19 {k1}
+vpsubsw           (%rax), %xmm17, %xmm19 {k1}
+vpsubsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubsw           %ymm16, %ymm17, %ymm19
+vpsubsw           (%rax), %ymm17, %ymm19
+vpsubsw           %ymm16, %ymm17, %ymm19 {k1}
+vpsubsw           (%rax), %ymm17, %ymm19 {k1}
+vpsubsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubusb          %xmm16, %xmm17, %xmm19
+vpsubusb          (%rax), %xmm17, %xmm19
+vpsubusb          %xmm16, %xmm17, %xmm19 {k1}
+vpsubusb          (%rax), %xmm17, %xmm19 {k1}
+vpsubusb          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubusb          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubusb          %ymm16, %ymm17, %ymm19
+vpsubusb          (%rax), %ymm17, %ymm19
+vpsubusb          %ymm16, %ymm17, %ymm19 {k1}
+vpsubusb          (%rax), %ymm17, %ymm19 {k1}
+vpsubusb          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubusb          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubusw          %xmm16, %xmm17, %xmm19
+vpsubusw          (%rax), %xmm17, %xmm19
+vpsubusw          %xmm16, %xmm17, %xmm19 {k1}
+vpsubusw          (%rax), %xmm17, %xmm19 {k1}
+vpsubusw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubusw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubusw          %ymm16, %ymm17, %ymm19
+vpsubusw          (%rax), %ymm17, %ymm19
+vpsubusw          %ymm16, %ymm17, %ymm19 {k1}
+vpsubusw          (%rax), %ymm17, %ymm19 {k1}
+vpsubusw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubusw          (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsubw            %xmm16, %xmm17, %xmm19
 vpsubw            (%rax), %xmm17, %xmm19
 vpsubw            %xmm16, %xmm17, %xmm19 {k1}
@@ -505,18 +1083,6 @@ vpunpcklwd         (%rax), %ymm17, %ymm19 {k1}
 vpunpcklwd         %ymm16, %ymm17, %ymm19 {z}{k1}
 vpunpcklwd         (%rax), %ymm17, %ymm19 {z}{k1}
 
-vpmovm2b          %k0, %xmm0
-vpmovm2w          %k0, %xmm0
-
-vpmovm2b          %k0, %ymm0
-vpmovm2w          %k0, %ymm0
-
-vpmovb2m          %xmm0, %k0
-vpmovw2m          %xmm0, %k0
-
-vpmovb2m          %ymm0, %k0
-vpmovw2m          %ymm0, %k0
-
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -654,6 +1220,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpaddb %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpaddw %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpaddw (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.33                        vpaddw %xmm16, %xmm17, %xmm19 {%k1}
@@ -678,30 +1292,90 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpalignr       $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb   (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb   (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb   (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %ymm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw   (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw   (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw   (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %ymm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %xmm0, %xmm1, %k2
 # CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb       (%rax), %xmm1, %k2
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %xmm0, %xmm1, %k2 {%k3}
@@ -778,6 +1452,158 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  2      6     2.00                        vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  4      13    2.00    *                   vpermi2w       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  4      13    2.00    *                   vpermi2w       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  4      13    2.00    *                   vpermi2w       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  4      13    2.00    *                   vpermt2w       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  4      13    2.00    *                   vpermt2w       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  4      13    2.00    *                   vpermt2w       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddubsw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddubsw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddubsw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddwd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddwd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddwd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %xmm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %xmm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %ymm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %ymm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %xmm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %xmm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %ymm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %ymm0
 # CHECK-NEXT:  1      1     0.50                        vpmovsxbw      %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpmovsxbw      (%rax), %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpmovsxbw      %xmm16, %xmm19 {%k1}
@@ -790,6 +1616,30 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %xmm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %xmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %ymm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %ymm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %xmm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %xmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %ymm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %ymm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %xmm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %xmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %ymm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %ymm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %ymm16, (%rax) {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpmovzxbw      %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpmovzxbw      (%rax), %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpmovzxbw      %xmm16, %xmm19 {%k1}
@@ -802,6 +1652,58 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhrsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhrsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhrsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhuw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhuw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhuw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmullw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmullw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmullw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpsadbw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      9     1.00    *                   vpsadbw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      3     1.00                        vpsadbw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      10    1.00    *                   vpsadbw        (%rax), %ymm17, %ymm19
 # CHECK-NEXT:  1      1     0.50                        vpshufb        %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpshufb        (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpshufb        %xmm16, %xmm17, %xmm19 {%k1}
@@ -842,10 +1744,118 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      7     0.50    *                   vpslldq        $1, (%rax), %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpslldq        $1, %ymm16, %ymm19
 # CHECK-NEXT:  2      8     0.50    *                   vpslldq        $1, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsllvw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllvw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllvw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsllvw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllvw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllvw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsravw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsravw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsravw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsravw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsravw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsravw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.50                        vpsrldq        $1, %xmm16, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsrldq        $1, (%rax), %xmm19
 # CHECK-NEXT:  1      1     0.50                        vpsrldq        $1, %ymm16, %ymm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsrldq        $1, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlvw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlvw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlvw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlvw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlvw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlvw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsubb (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@@ -858,6 +1868,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubw %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsubw (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubw %xmm16, %xmm17, %xmm19 {%k1}
@@ -950,14 +2008,6 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpunpcklwd     (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.50                        vpunpcklwd     %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpunpcklwd     (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %xmm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %xmm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %ymm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %ymm0
-# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %xmm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %xmm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %ymm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %ymm0, %k0
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - ICXDivider
@@ -975,7 +2025,7 @@ vpmovw2m          %ymm0, %k0
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT:  -      -     41.33  89.33  106.67 106.67 8.00   305.33  -     2.67    -      -
+# CHECK-NEXT:  -      -     255.33 303.33 222.67 222.67 20.00  451.33  -     6.67    -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
@@ -1107,6 +2157,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpaddb       (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpaddb       %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpaddb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusb     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusb     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusb     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusb     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusb     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusb     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusb     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpaddusw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpaddusw     (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpaddw       %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpaddw       (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpaddw       %xmm16, %xmm17, %xmm19 {%k1}
@@ -1131,30 +2229,90 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpalignr     $1, (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpalignr     $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpalignr     $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpavgw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpavgw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmb    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmb    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmb    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmb    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmb    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmb    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmb    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpblendmw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpblendmw    (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %ymm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %ymm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %ymm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastb (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastb %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %ymm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %ymm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %ymm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpbroadcastw (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpbroadcastw %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcmpeqb     %xmm0, %xmm1, %k2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcmpeqb     (%rax), %xmm1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcmpeqb     %xmm0, %xmm1, %k2 {%k3}
@@ -1231,6 +2389,158 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -      -      -     vpermw       (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpermw       %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -      -      -     vpermw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermi2w     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermi2w     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -      -      -     vpermt2w     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -      -      -     vpermt2w     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddubsw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddubsw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddubsw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddubsw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddubsw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddubsw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddubsw   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddubsw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddubsw   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddubsw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddubsw   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddubsw   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddwd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddwd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddwd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddwd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddwd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddwd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddwd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddwd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddwd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddwd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaddwd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaddwd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxub      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxub      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxub      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxub      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxub      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxub      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxub      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxuw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxuw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxuw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxuw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxuw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmaxuw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmaxuw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminub      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminub      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminub      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminub      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminub      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminub      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminub      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminuw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminuw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminuw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminuw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminuw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpminuw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpminuw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovb2m     %xmm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovw2m     %xmm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovb2m     %ymm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovw2m     %ymm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2b     %k0, %xmm0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2w     %k0, %xmm0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2b     %k0, %ymm0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2w     %k0, %ymm0
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpmovsxbw    %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpmovsxbw    (%rax), %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpmovsxbw    %xmm16, %xmm19 {%k1}
@@ -1243,6 +2553,30 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovsxbw    (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovsxbw    %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovsxbw    (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovswb     %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovswb     %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovswb     %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovswb     %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovswb     %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovswb     %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovswb     %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovswb     %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovuswb    %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovuswb    %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovuswb    %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovuswb    %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovuswb    %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovuswb    %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovuswb    %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovuswb    %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovwb      %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovwb      %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovwb      %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovwb      %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovwb      %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovwb      %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -      -      -     vpmovwb      %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33    -      -     vpmovwb      %ymm16, (%rax) {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpmovzxbw    %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpmovzxbw    (%rax), %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpmovzxbw    %xmm16, %xmm19 {%k1}
@@ -1255,6 +2589,58 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovzxbw    (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpmovzxbw    %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpmovzxbw    (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhrsw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhrsw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhrsw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhrsw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhrsw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhrsw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhrsw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhrsw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhrsw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhrsw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhrsw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhrsw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhuw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhuw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhuw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhuw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhuw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhuw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhuw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhuw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhuw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhuw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhuw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhuw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmulhw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmulhw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmullw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmullw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmullw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmullw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmullw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmullw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmullw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmullw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmullw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmullw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpmullw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpmullw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpsadbw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpsadbw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpsadbw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpsadbw      (%rax), %ymm17, %ymm19
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpshufb      %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpshufb      (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpshufb      %xmm16, %xmm17, %xmm19 {%k1}
@@ -1295,10 +2681,118 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpslldq      $1, (%rax), %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpslldq      $1, %ymm16, %ymm19
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpslldq      $1, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllvw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllvw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllvw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllvw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllvw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllvw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllvw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllw       $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllw       $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllw       $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllw       $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllw       $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsllw       $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsllw       %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsllw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsravw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsravw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsravw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsravw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsravw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsravw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsravw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsraw       $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsraw       $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsraw       $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsraw       $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsraw       $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsraw       $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsraw       %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsraw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpsrldq      $1, %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpsrldq      $1, (%rax), %xmm19
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpsrldq      $1, %ymm16, %ymm19
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpsrldq      $1, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlvw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlvw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlvw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlvw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlvw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlvw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlvw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlw       $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlw       $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlw       $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlw       $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlw       $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsrlw       $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     vpsrlw       %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsrlw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubb       %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubb       (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubb       %xmm16, %xmm17, %xmm19 {%k1}
@@ -1311,6 +2805,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubb       (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubb       %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusb     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusb     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusb     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusb     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusb     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusb     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusb     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpsubusw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpsubusw     (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubw       %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -      -      -     vpsubw       (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpsubw       %xmm16, %xmm17, %xmm19 {%k1}
@@ -1403,11 +2945,3 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpunpcklwd   (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -      -      -     vpunpcklwd   %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50    -     0.50    -      -      -      -     vpunpcklwd   (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2b     %k0, %xmm0
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2w     %k0, %xmm0
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2b     %k0, %ymm0
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -      -      -     vpmovm2w     %k0, %ymm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovb2m     %xmm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovw2m     %xmm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovb2m     %ymm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -     vpmovw2m     %ymm0, %k0
index 84cbcef..ff22174 100644 (file)
@@ -3,23 +3,52 @@
 
 kaddd             %k0, %k1, %k2
 kaddq             %k0, %k1, %k2
+
 kandd             %k0, %k1, %k2
 kandq             %k0, %k1, %k2
+
 kandnd            %k0, %k1, %k2
 kandnq            %k0, %k1, %k2
+
+kmovd             %k0, %k2
+kmovd             (%rax), %k2
+kmovd             %k0, (%rax)
+kmovd             %eax, %k2
+kmovd             %k0, %eax
+
+kmovq             %k0, %k2
+kmovq             (%rax), %k2
+kmovq             %k0, (%rax)
+kmovq             %rax, %k2
+kmovq             %k0, %rax
+
+knotd             %k0, %k2
+knotq             %k0, %k2
+
 kord              %k0, %k1, %k2
 korq              %k0, %k1, %k2
-kxnord            %k0, %k1, %k2
-kxnorq            %k0, %k1, %k2
-kxord             %k0, %k1, %k2
-kxorq             %k0, %k1, %k2
+
+kortestd          %k0, %k2
+kortestq          %k0, %k2
+
 kshiftld          $2, %k1, %k2
 kshiftlq          $2, %k1, %k2
+
 kshiftrd          $2, %k1, %k2
 kshiftrq          $2, %k1, %k2
+
+ktestd            %k0, %k2
+ktestq            %k0, %k2
+
 kunpckdq          %k0, %k1, %k2
 kunpckwd          %k0, %k1, %k2
 
+kxnord            %k0, %k1, %k2
+kxnorq            %k0, %k1, %k2
+
+kxord             %k0, %k1, %k2
+kxorq             %k0, %k1, %k2
+
 vdbpsadbw         $0, %zmm16, %zmm17, %zmm19
 vdbpsadbw         $0, (%rax), %zmm17, %zmm19
 vdbpsadbw         $0, %zmm16, %zmm17, %zmm19 {k1}
@@ -94,6 +123,34 @@ vpaddb            (%rax), %zmm17, %zmm19 {k1}
 vpaddb            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpaddb            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpaddsb           %zmm16, %zmm17, %zmm19
+vpaddsb           (%rax), %zmm17, %zmm19
+vpaddsb           %zmm16, %zmm17, %zmm19 {k1}
+vpaddsb           (%rax), %zmm17, %zmm19 {k1}
+vpaddsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddsw           %zmm16, %zmm17, %zmm19
+vpaddsw           (%rax), %zmm17, %zmm19
+vpaddsw           %zmm16, %zmm17, %zmm19 {k1}
+vpaddsw           (%rax), %zmm17, %zmm19 {k1}
+vpaddsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddusb          %zmm16, %zmm17, %zmm19
+vpaddusb          (%rax), %zmm17, %zmm19
+vpaddusb          %zmm16, %zmm17, %zmm19 {k1}
+vpaddusb          (%rax), %zmm17, %zmm19 {k1}
+vpaddusb          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddusb          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpaddusw          %zmm16, %zmm17, %zmm19
+vpaddusw          (%rax), %zmm17, %zmm19
+vpaddusw          %zmm16, %zmm17, %zmm19 {k1}
+vpaddusw          (%rax), %zmm17, %zmm19 {k1}
+vpaddusw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpaddusw          (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpaddw            %zmm16, %zmm17, %zmm19
 vpaddw            (%rax), %zmm17, %zmm19
 vpaddw            %zmm16, %zmm17, %zmm19 {k1}
@@ -108,19 +165,53 @@ vpalignr          $1, (%rax), %zmm17, %zmm19 {k1}
 vpalignr          $1, %zmm16, %zmm17, %zmm19 {z}{k1}
 vpalignr          $1, (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpavgb            %zmm16, %zmm17, %zmm19
+vpavgb            (%rax), %zmm17, %zmm19
+vpavgb            %zmm16, %zmm17, %zmm19 {k1}
+vpavgb            (%rax), %zmm17, %zmm19 {k1}
+vpavgb            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpavgb            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpavgw            %zmm16, %zmm17, %zmm19
+vpavgw            (%rax), %zmm17, %zmm19
+vpavgw            %zmm16, %zmm17, %zmm19 {k1}
+vpavgw            (%rax), %zmm17, %zmm19 {k1}
+vpavgw            %zmm16, %zmm17, %zmm19 {z}{k1}
+vpavgw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpblendmb         %zmm16, %zmm17, %zmm19
+vpblendmb         (%rax), %zmm17, %zmm19
+vpblendmb         %zmm16, %zmm17, %zmm19 {k1}
+vpblendmb         (%rax), %zmm17, %zmm19 {k1}
+vpblendmb         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpblendmb         (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpblendmw         %zmm16, %zmm17, %zmm19
+vpblendmw         (%rax), %zmm17, %zmm19
+vpblendmw         %zmm16, %zmm17, %zmm19 {k1}
+vpblendmw         (%rax), %zmm17, %zmm19 {k1}
+vpblendmw         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpblendmw         (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpbroadcastb      %xmm16, %zmm19
 vpbroadcastb      (%rax), %zmm19
+vpbroadcastb      %eax, %zmm19
 vpbroadcastb      %xmm16, %zmm19 {k1}
 vpbroadcastb      (%rax), %zmm19 {k1}
+vpbroadcastb      %eax, %zmm19 {k1}
 vpbroadcastb      %xmm16, %zmm19 {z}{k1}
 vpbroadcastb      (%rax), %zmm19 {z}{k1}
+vpbroadcastb      %eax, %zmm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %zmm19
 vpbroadcastw      (%rax), %zmm19
+vpbroadcastw      %eax, %zmm19
 vpbroadcastw      %xmm16, %zmm19 {k1}
 vpbroadcastw      (%rax), %zmm19 {k1}
+vpbroadcastw      %eax, %zmm19 {k1}
 vpbroadcastw      %xmm16, %zmm19 {z}{k1}
 vpbroadcastw      (%rax), %zmm19 {z}{k1}
+vpbroadcastw      %eax, %zmm19 {z}{k1}
 
 vpcmpb            $0, %zmm0, %zmm1, %k2
 vpcmpb            $0, (%rax), %zmm1, %k2
@@ -162,6 +253,18 @@ vpcmpw            $0, (%rax), %zmm1, %k2
 vpcmpw            $0, %zmm0, %zmm1, %k2 {k3}
 vpcmpw            $0, (%rax), %zmm1, %k2 {k3}
 
+vpextrb           $0, %xmm16, %rax
+vpextrb           $0, %xmm16, (%rax)
+
+vpextrw           $0, %xmm16, %rax
+vpextrw           $0, %xmm16, (%rax)
+
+vpinsrb           $0, %rax, %xmm16, %xmm19
+vpinsrb           $0, (%rax), %xmm16, %xmm19
+
+vpinsrw           $0, %rax, %xmm16, %xmm19
+vpinsrw           $0, (%rax), %xmm16, %xmm19
+
 vpermw            %zmm16, %zmm17, %zmm19
 vpermw            (%rax), %zmm17, %zmm19
 vpermw            %zmm16, %zmm17, %zmm19 {k1}
@@ -169,6 +272,96 @@ vpermw            (%rax), %zmm17, %zmm19 {k1}
 vpermw            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpermw            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpermi2w          %zmm16, %zmm17, %zmm19
+vpermi2w          (%rax), %zmm17, %zmm19
+vpermi2w          %zmm16, %zmm17, %zmm19 {k1}
+vpermi2w          (%rax), %zmm17, %zmm19 {k1}
+vpermi2w          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermi2w          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpermt2w          %zmm16, %zmm17, %zmm19
+vpermt2w          (%rax), %zmm17, %zmm19
+vpermt2w          %zmm16, %zmm17, %zmm19 {k1}
+vpermt2w          (%rax), %zmm17, %zmm19 {k1}
+vpermt2w          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermt2w          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaddubsw        %zmm16, %zmm17, %zmm19
+vpmaddubsw        (%rax), %zmm17, %zmm19
+vpmaddubsw        %zmm16, %zmm17, %zmm19 {k1}
+vpmaddubsw        (%rax), %zmm17, %zmm19 {k1}
+vpmaddubsw        %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaddubsw        (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaddwd          %zmm16, %zmm17, %zmm19
+vpmaddwd          (%rax), %zmm17, %zmm19
+vpmaddwd          %zmm16, %zmm17, %zmm19 {k1}
+vpmaddwd          (%rax), %zmm17, %zmm19 {k1}
+vpmaddwd          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaddwd          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxsb           %zmm16, %zmm17, %zmm19
+vpmaxsb           (%rax), %zmm17, %zmm19
+vpmaxsb           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxsb           (%rax), %zmm17, %zmm19 {k1}
+vpmaxsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxsw           %zmm16, %zmm17, %zmm19
+vpmaxsw           (%rax), %zmm17, %zmm19
+vpmaxsw           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxsw           (%rax), %zmm17, %zmm19 {k1}
+vpmaxsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxub           %zmm16, %zmm17, %zmm19
+vpmaxub           (%rax), %zmm17, %zmm19
+vpmaxub           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxub           (%rax), %zmm17, %zmm19 {k1}
+vpmaxub           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxub           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmaxuw           %zmm16, %zmm17, %zmm19
+vpmaxuw           (%rax), %zmm17, %zmm19
+vpmaxuw           %zmm16, %zmm17, %zmm19 {k1}
+vpmaxuw           (%rax), %zmm17, %zmm19 {k1}
+vpmaxuw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmaxuw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminsb           %zmm16, %zmm17, %zmm19
+vpminsb           (%rax), %zmm17, %zmm19
+vpminsb           %zmm16, %zmm17, %zmm19 {k1}
+vpminsb           (%rax), %zmm17, %zmm19 {k1}
+vpminsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminsw           %zmm16, %zmm17, %zmm19
+vpminsw           (%rax), %zmm17, %zmm19
+vpminsw           %zmm16, %zmm17, %zmm19 {k1}
+vpminsw           (%rax), %zmm17, %zmm19 {k1}
+vpminsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminub           %zmm16, %zmm17, %zmm19
+vpminub           (%rax), %zmm17, %zmm19
+vpminub           %zmm16, %zmm17, %zmm19 {k1}
+vpminub           (%rax), %zmm17, %zmm19 {k1}
+vpminub           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminub           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpminuw           %zmm16, %zmm17, %zmm19
+vpminuw           (%rax), %zmm17, %zmm19
+vpminuw           %zmm16, %zmm17, %zmm19 {k1}
+vpminuw           (%rax), %zmm17, %zmm19 {k1}
+vpminuw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpminuw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmovb2m          %zmm0, %k0
+vpmovw2m          %zmm0, %k0
+
+vpmovm2b          %k0, %zmm0
+vpmovm2w          %k0, %zmm0
+
 vpmovsxbw         %ymm16, %zmm19
 vpmovsxbw         (%rax), %zmm19
 vpmovsxbw         %ymm16, %zmm19 {k1}
@@ -176,6 +369,21 @@ vpmovsxbw         (%rax), %zmm19 {k1}
 vpmovsxbw         %ymm16, %zmm19 {z}{k1}
 vpmovsxbw         (%rax), %zmm19 {z}{k1}
 
+vpmovswb          %zmm16, %ymm19
+vpmovswb          %zmm16, (%rax)
+vpmovswb          %zmm16, %ymm19 {k1}
+vpmovswb          %zmm16, (%rax) {k1}
+
+vpmovuswb         %zmm16, %ymm19
+vpmovuswb         %zmm16, (%rax)
+vpmovuswb         %zmm16, %ymm19 {k1}
+vpmovuswb         %zmm16, (%rax) {k1}
+
+vpmovwb           %zmm16, %ymm19
+vpmovwb           %zmm16, (%rax)
+vpmovwb           %zmm16, %ymm19 {k1}
+vpmovwb           %zmm16, (%rax) {k1}
+
 vpmovzxbw         %ymm16, %zmm19
 vpmovzxbw         (%rax), %zmm19
 vpmovzxbw         %ymm16, %zmm19 {k1}
@@ -183,6 +391,37 @@ vpmovzxbw         (%rax), %zmm19 {k1}
 vpmovzxbw         %ymm16, %zmm19 {z}{k1}
 vpmovzxbw         (%rax), %zmm19 {z}{k1}
 
+vpmulhrsw         %zmm16, %zmm17, %zmm19
+vpmulhrsw         (%rax), %zmm17, %zmm19
+vpmulhrsw         %zmm16, %zmm17, %zmm19 {k1}
+vpmulhrsw         (%rax), %zmm17, %zmm19 {k1}
+vpmulhrsw         %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhrsw         (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmulhuw          %zmm16, %zmm17, %zmm19
+vpmulhuw          (%rax), %zmm17, %zmm19
+vpmulhuw          %zmm16, %zmm17, %zmm19 {k1}
+vpmulhuw          (%rax), %zmm17, %zmm19 {k1}
+vpmulhuw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhuw          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmulhw           %zmm16, %zmm17, %zmm19
+vpmulhw           (%rax), %zmm17, %zmm19
+vpmulhw           %zmm16, %zmm17, %zmm19 {k1}
+vpmulhw           (%rax), %zmm17, %zmm19 {k1}
+vpmulhw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulhw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpmullw           %zmm16, %zmm17, %zmm19
+vpmullw           (%rax), %zmm17, %zmm19
+vpmullw           %zmm16, %zmm17, %zmm19 {k1}
+vpmullw           (%rax), %zmm17, %zmm19 {k1}
+vpmullw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmullw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsadbw           %zmm16, %zmm17, %zmm19
+vpsadbw           (%rax), %zmm17, %zmm19
+
 vpshufb           %zmm16, %zmm17, %zmm19
 vpshufb           (%rax), %zmm17, %zmm19
 vpshufb           %zmm16, %zmm17, %zmm19 {k1}
@@ -207,9 +446,72 @@ vpshuflw          $0, (%rax), %zmm19 {z}{k1}
 vpslldq           $1, %zmm16, %zmm19
 vpslldq           $1, (%rax), %zmm19
 
+vpsllvw           %zmm16, %zmm17, %zmm19
+vpsllvw           (%rax), %zmm17, %zmm19
+vpsllvw           %zmm16, %zmm17, %zmm19 {k1}
+vpsllvw           (%rax), %zmm17, %zmm19 {k1}
+vpsllvw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsllvw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsllw            $0, %zmm16, %zmm19
+vpsllw            $0, (%rax), %zmm19
+vpsllw            $0, %zmm16, %zmm19 {k1}
+vpsllw            $0, (%rax), %zmm19 {k1}
+vpsllw            $0, %zmm16, %zmm19 {z}{k1}
+vpsllw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsllw            %xmm16, %zmm17, %zmm19
+vpsllw            (%rax), %zmm17, %zmm19
+vpsllw            %xmm16, %zmm17, %zmm19 {k1}
+vpsllw            (%rax), %zmm17, %zmm19 {k1}
+vpsllw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsllw            (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsravw           %zmm16, %zmm17, %zmm19
+vpsravw           (%rax), %zmm17, %zmm19
+vpsravw           %zmm16, %zmm17, %zmm19 {k1}
+vpsravw           (%rax), %zmm17, %zmm19 {k1}
+vpsravw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsravw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsraw            $0, %zmm16, %zmm19
+vpsraw            $0, (%rax), %zmm19
+vpsraw            $0, %zmm16, %zmm19 {k1}
+vpsraw            $0, (%rax), %zmm19 {k1}
+vpsraw            $0, %zmm16, %zmm19 {z}{k1}
+vpsraw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsraw            %xmm16, %zmm17, %zmm19
+vpsraw            (%rax), %zmm17, %zmm19
+vpsraw            %xmm16, %zmm17, %zmm19 {k1}
+vpsraw            (%rax), %zmm17, %zmm19 {k1}
+vpsraw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsraw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsrldq           $1, %zmm16, %zmm19
 vpsrldq           $1, (%rax), %zmm19
 
+vpsrlvw           %zmm16, %zmm17, %zmm19
+vpsrlvw           (%rax), %zmm17, %zmm19
+vpsrlvw           %zmm16, %zmm17, %zmm19 {k1}
+vpsrlvw           (%rax), %zmm17, %zmm19 {k1}
+vpsrlvw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsrlvw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsrlw            $0, %zmm16, %zmm19
+vpsrlw            $0, (%rax), %zmm19
+vpsrlw            $0, %zmm16, %zmm19 {k1}
+vpsrlw            $0, (%rax), %zmm19 {k1}
+vpsrlw            $0, %zmm16, %zmm19 {z}{k1}
+vpsrlw            $0, (%rax), %zmm19 {z}{k1}
+
+vpsrlw            %xmm16, %zmm17, %zmm19
+vpsrlw            (%rax), %zmm17, %zmm19
+vpsrlw            %xmm16, %zmm17, %zmm19 {k1}
+vpsrlw            (%rax), %zmm17, %zmm19 {k1}
+vpsrlw            %xmm16, %zmm17, %zmm19 {z}{k1}
+vpsrlw            (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsubb            %zmm16, %zmm17, %zmm19
 vpsubb            (%rax), %zmm17, %zmm19
 vpsubb            %zmm16, %zmm17, %zmm19 {k1}
@@ -217,6 +519,34 @@ vpsubb            (%rax), %zmm17, %zmm19 {k1}
 vpsubb            %zmm16, %zmm17, %zmm19 {z}{k1}
 vpsubb            (%rax), %zmm17, %zmm19 {z}{k1}
 
+vpsubsb           %zmm16, %zmm17, %zmm19
+vpsubsb           (%rax), %zmm17, %zmm19
+vpsubsb           %zmm16, %zmm17, %zmm19 {k1}
+vpsubsb           (%rax), %zmm17, %zmm19 {k1}
+vpsubsb           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubsb           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubsw           %zmm16, %zmm17, %zmm19
+vpsubsw           (%rax), %zmm17, %zmm19
+vpsubsw           %zmm16, %zmm17, %zmm19 {k1}
+vpsubsw           (%rax), %zmm17, %zmm19 {k1}
+vpsubsw           %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubsw           (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubusb          %zmm16, %zmm17, %zmm19
+vpsubusb          (%rax), %zmm17, %zmm19
+vpsubusb          %zmm16, %zmm17, %zmm19 {k1}
+vpsubusb          (%rax), %zmm17, %zmm19 {k1}
+vpsubusb          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubusb          (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpsubusw          %zmm16, %zmm17, %zmm19
+vpsubusw          (%rax), %zmm17, %zmm19
+vpsubusw          %zmm16, %zmm17, %zmm19 {k1}
+vpsubusw          (%rax), %zmm17, %zmm19 {k1}
+vpsubusw          %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubusw          (%rax), %zmm17, %zmm19 {z}{k1}
+
 vpsubw            %zmm16, %zmm17, %zmm19
 vpsubw            (%rax), %zmm17, %zmm19
 vpsubw            %zmm16, %zmm17, %zmm19 {k1}
@@ -272,12 +602,6 @@ vpunpcklwd        (%rax), %zmm17, %zmm19 {k1}
 vpunpcklwd        %zmm16, %zmm17, %zmm19 {z}{k1}
 vpunpcklwd        (%rax), %zmm17, %zmm19 {z}{k1}
 
-vpmovm2b          %k0, %zmm0
-vpmovm2w          %k0, %zmm0
-
-vpmovb2m          %zmm0, %k0
-vpmovw2m          %zmm0, %k0
-
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -293,18 +617,34 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  1      1     1.00                        kandq  %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandnd %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        kandnq %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kmovd  %k0, %k2
+# CHECK-NEXT:  3      7     1.00    *                   kmovd  (%rax), %k2
+# CHECK-NEXT:  2      1     1.00           *            kmovd  %k0, (%rax)
+# CHECK-NEXT:  1      1     1.00                        kmovd  %eax, %k2
+# CHECK-NEXT:  1      3     1.00                        kmovd  %k0, %eax
+# CHECK-NEXT:  1      1     1.00                        kmovq  %k0, %k2
+# CHECK-NEXT:  3      7     1.00    *                   kmovq  (%rax), %k2
+# CHECK-NEXT:  2      1     1.00           *            kmovq  %k0, (%rax)
+# CHECK-NEXT:  1      1     1.00                        kmovq  %rax, %k2
+# CHECK-NEXT:  1      3     1.00                        kmovq  %k0, %rax
+# CHECK-NEXT:  1      1     1.00                        knotd  %k0, %k2
+# CHECK-NEXT:  1      1     1.00                        knotq  %k0, %k2
 # CHECK-NEXT:  1      1     1.00                        kord   %k0, %k1, %k2
 # CHECK-NEXT:  1      1     1.00                        korq   %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxnord %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxnorq %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxord  %k0, %k1, %k2
-# CHECK-NEXT:  1      1     1.00                        kxorq  %k0, %k1, %k2
+# CHECK-NEXT:  1      3     1.00                        kortestd       %k0, %k2
+# CHECK-NEXT:  1      3     1.00                        kortestq       %k0, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftld       $2, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftlq       $2, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftrd       $2, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kshiftrq       $2, %k1, %k2
+# CHECK-NEXT:  1      3     1.00                        ktestd %k0, %k2
+# CHECK-NEXT:  1      3     1.00                        ktestq %k0, %k2
 # CHECK-NEXT:  1      4     1.00                        kunpckdq       %k0, %k1, %k2
 # CHECK-NEXT:  1      4     1.00                        kunpckwd       %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxnord %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxnorq %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxord  %k0, %k1, %k2
+# CHECK-NEXT:  1      1     1.00                        kxorq  %k0, %k1, %k2
 # CHECK-NEXT:  1      3     1.00                        vdbpsadbw      $0, %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vdbpsadbw      $0, (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vdbpsadbw      $0, %zmm16, %zmm17, %zmm19 {%k1}
@@ -369,6 +709,30 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddusb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddusb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddusb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpaddusw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpaddusw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpaddusw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpaddusw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpaddw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpaddw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.33                        vpaddw %zmm16, %zmm17, %zmm19 {%k1}
@@ -381,18 +745,48 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpalignr       $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpavgb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpavgb (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpavgb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpavgb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpavgw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpavgw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpavgw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpavgw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpavgw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      2     0.50                        vpblendmb      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      2     0.50                        vpblendmb      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      2     0.50                        vpblendmb      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      2     0.50                        vpblendmw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      2     0.50                        vpblendmw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      2     0.50                        vpblendmw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %zmm0, %zmm1, %k2
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpeqb       (%rax), %zmm1, %k2
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %zmm0, %zmm1, %k2 {%k3}
@@ -425,24 +819,146 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw       (%rax), %zmm1, %k2
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqw       %zmm0, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  2      11    1.00    *                   vpcmpeqw       (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  2      3     1.00                        vpextrb        $0, %xmm16, %eax
+# CHECK-NEXT:  3      2     1.00           *            vpextrb        $0, %xmm16, (%rax)
+# CHECK-NEXT:  2      3     1.00                        vpextrw        $0, %xmm16, %eax
+# CHECK-NEXT:  3      2     1.00           *            vpextrw        $0, %xmm16, (%rax)
+# CHECK-NEXT:  2      2     2.00                        vpinsrb        $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  2      6     1.00    *                   vpinsrb        $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT:  2      2     2.00                        vpinsrw        $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  2      6     1.00    *                   vpinsrw        $0, (%rax), %xmm16, %xmm19
 # CHECK-NEXT:  2      6     2.00                        vpermw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  2      6     2.00                        vpermw %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  2      6     2.00                        vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxub        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxub        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxub        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxub        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxub        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxub        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmaxuw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxuw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpmaxuw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxuw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpmaxuw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpmaxuw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminub        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminub        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminub        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminub        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminub        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminub        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpminuw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpminuw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpminuw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpminuw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpminuw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpminuw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %zmm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %zmm0, %k0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %zmm0
+# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %zmm0
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %ymm16, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %zmm16, %ymm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %zmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %zmm16, %ymm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %zmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %zmm16, %ymm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %zmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %zmm16, (%rax) {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %ymm16, %zmm19
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %zmm19
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpsadbw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      10    1.00    *                   vpsadbw        (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpshufb        %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpshufb        (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     1.00                        vpshufb        %zmm16, %zmm17, %zmm19 {%k1}
@@ -463,14 +979,92 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpshuflw       $0, (%rax), %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpslldq        $1, %zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpslldq        $1, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllvw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllvw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsllw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsllw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsravw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsravw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsraw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsraw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpsrldq        $1, %zmm16, %zmm19
 # CHECK-NEXT:  2      8     1.00    *                   vpsrldq        $1, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlvw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlvw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsrlw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsrlw (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubsb        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsb        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubsb        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsb        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubsb        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsb        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubsw        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsw        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubsw        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsw        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubsw        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubsw        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubusb       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusb       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubusb       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusb       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubusb       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusb       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpsubusw       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusw       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  1      1     1.00                        vpsubusw       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusw       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpsubusw       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      8     1.00    *                   vpsubusw       (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubw %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  2      8     0.50    *                   vpsubw (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubw %zmm16, %zmm17, %zmm19 {%k1}
@@ -517,10 +1111,6 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpunpcklwd     %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  1      1     0.50                        vpmovm2b       %k0, %zmm0
-# CHECK-NEXT:  1      1     0.50                        vpmovm2w       %k0, %zmm0
-# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %zmm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %zmm0, %k0
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SKXDivider
@@ -536,7 +1126,7 @@ vpmovw2m          %zmm0, %k0
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     38.00  11.00  54.00  54.00  6.00   189.00  -     2.00
+# CHECK-NEXT:  -      -     239.50 17.50  115.33 115.33 16.00  295.50 0.50   5.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -546,18 +1136,34 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kandq      %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kandnd     %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kandnq     %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kmovd      %k0, %k2
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     1.25   0.25    -     kmovd      (%rax), %k2
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   kmovd      %k0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kmovd      %eax, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kmovd      %k0, %eax
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kmovq      %k0, %k2
+# CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     1.25   0.25    -     kmovq      (%rax), %k2
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   kmovq      %k0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kmovq      %rax, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kmovq      %k0, %rax
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     knotd      %k0, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     knotq      %k0, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kord       %k0, %k1, %k2
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     korq       %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxnord     %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxnorq     %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxord      %k0, %k1, %k2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxorq      %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kortestd   %k0, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kortestq   %k0, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kshiftld   $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kshiftlq   $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kshiftrd   $2, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kshiftrq   $2, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     ktestd     %k0, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     ktestq     %k0, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kunpckdq   %k0, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     kunpckwd   %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxnord     %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxnorq     %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxord      %k0, %k1, %k2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     kxorq      %k0, %k1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vdbpsadbw  $0, %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vdbpsadbw  $0, (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vdbpsadbw  $0, %zmm16, %zmm17, %zmm19 {%k1}
@@ -622,6 +1228,30 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddb     %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddsb    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddsb    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddsb    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddsb    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddsb    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddsb    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddsw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddsw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddsw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddsw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddsw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddsw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddusb   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddusb   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddusb   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddusb   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddusb   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddusb   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddusw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddusw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddusw   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddusw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpaddusw   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpaddusw   (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddw     %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddw     (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddw     %zmm16, %zmm17, %zmm19 {%k1}
@@ -634,18 +1264,48 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpalignr   $1, (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpalignr   $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpalignr   $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpavgb     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpavgb     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpavgb     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpavgb     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpavgb     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpavgb     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpavgw     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpavgw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpavgw     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpavgw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpavgw     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpavgw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpblendmb  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpblendmb  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpblendmb  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpblendmw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpblendmw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpblendmw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %zmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %zmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpcmpeqb   %zmm0, %zmm1, %k2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpeqb   (%rax), %zmm1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpcmpeqb   %zmm0, %zmm1, %k2 {%k3}
@@ -678,24 +1338,146 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpeqw   (%rax), %zmm1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpcmpeqw   %zmm0, %zmm1, %k2 {%k3}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpeqw   (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpextrb    $0, %xmm16, %eax
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   vpextrb    $0, %xmm16, (%rax)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpextrw    $0, %xmm16, %eax
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   vpextrw    $0, %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpinsrb    $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpinsrb    $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpinsrw    $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpinsrw    $0, (%rax), %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpermw     %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     vpermw     (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpermw     %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     vpermw     (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpermw     %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     vpermw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmaddubsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmaddubsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmaddubsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmaddubsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmaddubsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmaddubsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmaddwd   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmaddwd   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmaddwd   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmaddwd   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmaddwd   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmaddwd   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxsb    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxsb    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxsb    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxsw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxsw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxsw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxub    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxub    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxub    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxub    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxub    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxub    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxuw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxuw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmaxuw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminsb    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminsb    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminsb    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminsb    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminsb    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminsb    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminsw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminsw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminsw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminsw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminsw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminsw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminub    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminub    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminub    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminub    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminub    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminub    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminuw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminuw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminuw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminuw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpminuw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpminuw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovb2m   %zmm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovw2m   %zmm0, %k0
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmovm2b   %k0, %zmm0
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmovm2w   %k0, %zmm0
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw  %ymm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw  (%rax), %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw  %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw  (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw  %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw  (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovswb   %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovswb   %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovswb   %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovswb   %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovuswb  %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovuswb  %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovuswb  %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovuswb  %zmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovwb    %zmm16, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovwb    %zmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovwb    %zmm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovwb    %zmm16, (%rax) {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw  %ymm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw  (%rax), %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw  %ymm16, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw  (%rax), %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw  %ymm16, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw  (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhrsw  %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhrsw  (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhrsw  %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhrsw  (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhrsw  %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhrsw  (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhuw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhuw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhuw   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhuw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhuw   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhuw   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmulhw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmulhw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmullw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmullw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmullw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmullw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmullw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -     vpmullw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsadbw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsadbw    (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufb    %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshufb    (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufb    %zmm16, %zmm17, %zmm19 {%k1}
@@ -716,14 +1498,92 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshuflw   $0, (%rax), %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpslldq    $1, %zmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpslldq    $1, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsllvw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllvw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsllvw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllvw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsllvw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllvw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsllw     $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsllw     $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsllw     $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsllw     %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsllw     %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsllw     %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsllw     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsravw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsravw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsravw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsravw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsravw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsravw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsraw     $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsraw     $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsraw     $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsraw     %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsraw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsraw     %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsraw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsraw     %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsraw     (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsrldq    $1, %zmm16, %zmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsrldq    $1, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsrlvw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsrlvw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsrlvw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsrlw     $0, %zmm16, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsrlw     $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsrlw     $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsrlw     %xmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlw     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsrlw     %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlw     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     vpsrlw     %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsrlw     (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %zmm16, %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubsb    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubsb    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubsb    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubsb    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubsb    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubsb    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubsw    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubsw    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubsw    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubsw    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubsw    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubsw    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubusb   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubusb   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubusb   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubusb   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubusb   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubusb   (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubusw   %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubusw   (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubusw   %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubusw   (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpsubusw   %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     vpsubusw   (%rax), %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw     %zmm16, %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubw     (%rax), %zmm17, %zmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw     %zmm16, %zmm17, %zmm19 {%k1}
@@ -770,7 +1630,3 @@ vpmovw2m          %zmm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmovm2b   %k0, %zmm0
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     vpmovm2w   %k0, %zmm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovb2m   %zmm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovw2m   %zmm0, %k0
index c4fda58..c861bc2 100644 (file)
@@ -149,6 +149,62 @@ vpaddb            (%rax), %ymm17, %ymm19 {k1}
 vpaddb            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpaddb            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpaddsb           %xmm16, %xmm17, %xmm19
+vpaddsb           (%rax), %xmm17, %xmm19
+vpaddsb           %xmm16, %xmm17, %xmm19 {k1}
+vpaddsb           (%rax), %xmm17, %xmm19 {k1}
+vpaddsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddsb           %ymm16, %ymm17, %ymm19
+vpaddsb           (%rax), %ymm17, %ymm19
+vpaddsb           %ymm16, %ymm17, %ymm19 {k1}
+vpaddsb           (%rax), %ymm17, %ymm19 {k1}
+vpaddsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddsw           %xmm16, %xmm17, %xmm19
+vpaddsw           (%rax), %xmm17, %xmm19
+vpaddsw           %xmm16, %xmm17, %xmm19 {k1}
+vpaddsw           (%rax), %xmm17, %xmm19 {k1}
+vpaddsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddsw           %ymm16, %ymm17, %ymm19
+vpaddsw           (%rax), %ymm17, %ymm19
+vpaddsw           %ymm16, %ymm17, %ymm19 {k1}
+vpaddsw           (%rax), %ymm17, %ymm19 {k1}
+vpaddsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddusb          %xmm16, %xmm17, %xmm19
+vpaddusb          (%rax), %xmm17, %xmm19
+vpaddusb          %xmm16, %xmm17, %xmm19 {k1}
+vpaddusb          (%rax), %xmm17, %xmm19 {k1}
+vpaddusb          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddusb          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddusb          %ymm16, %ymm17, %ymm19
+vpaddusb          (%rax), %ymm17, %ymm19
+vpaddusb          %ymm16, %ymm17, %ymm19 {k1}
+vpaddusb          (%rax), %ymm17, %ymm19 {k1}
+vpaddusb          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddusb          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpaddusw          %xmm16, %xmm17, %xmm19
+vpaddusw          (%rax), %xmm17, %xmm19
+vpaddusw          %xmm16, %xmm17, %xmm19 {k1}
+vpaddusw          (%rax), %xmm17, %xmm19 {k1}
+vpaddusw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddusw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpaddusw          %ymm16, %ymm17, %ymm19
+vpaddusw          (%rax), %ymm17, %ymm19
+vpaddusw          %ymm16, %ymm17, %ymm19 {k1}
+vpaddusw          (%rax), %ymm17, %ymm19 {k1}
+vpaddusw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddusw          (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpaddw            %xmm16, %xmm17, %xmm19
 vpaddw            (%rax), %xmm17, %xmm19
 vpaddw            %xmm16, %xmm17, %xmm19 {k1}
@@ -177,33 +233,101 @@ vpalignr          $1, (%rax), %ymm17, %ymm19 {k1}
 vpalignr          $1, %ymm16, %ymm17, %ymm19 {z}{k1}
 vpalignr          $1, (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpavgb            %xmm16, %xmm17, %xmm19
+vpavgb            (%rax), %xmm17, %xmm19
+vpavgb            %xmm16, %xmm17, %xmm19 {k1}
+vpavgb            (%rax), %xmm17, %xmm19 {k1}
+vpavgb            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpavgb            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpavgb            %ymm16, %ymm17, %ymm19
+vpavgb            (%rax), %ymm17, %ymm19
+vpavgb            %ymm16, %ymm17, %ymm19 {k1}
+vpavgb            (%rax), %ymm17, %ymm19 {k1}
+vpavgb            %ymm16, %ymm17, %ymm19 {z}{k1}
+vpavgb            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpavgw            %xmm16, %xmm17, %xmm19
+vpavgw            (%rax), %xmm17, %xmm19
+vpavgw            %xmm16, %xmm17, %xmm19 {k1}
+vpavgw            (%rax), %xmm17, %xmm19 {k1}
+vpavgw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpavgw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpavgw            %ymm16, %ymm17, %ymm19
+vpavgw            (%rax), %ymm17, %ymm19
+vpavgw            %ymm16, %ymm17, %ymm19 {k1}
+vpavgw            (%rax), %ymm17, %ymm19 {k1}
+vpavgw            %ymm16, %ymm17, %ymm19 {z}{k1}
+vpavgw            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpblendmb         %xmm16, %xmm17, %xmm19
+vpblendmb         (%rax), %xmm17, %xmm19
+vpblendmb         %xmm16, %xmm17, %xmm19 {k1}
+vpblendmb         (%rax), %xmm17, %xmm19 {k1}
+vpblendmb         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpblendmb         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpblendmb         %ymm16, %ymm17, %ymm19
+vpblendmb         (%rax), %ymm17, %ymm19
+vpblendmb         %ymm16, %ymm17, %ymm19 {k1}
+vpblendmb         (%rax), %ymm17, %ymm19 {k1}
+vpblendmb         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpblendmb         (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpblendmw         %xmm16, %xmm17, %xmm19
+vpblendmw         (%rax), %xmm17, %xmm19
+vpblendmw         %xmm16, %xmm17, %xmm19 {k1}
+vpblendmw         (%rax), %xmm17, %xmm19 {k1}
+vpblendmw         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpblendmw         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpblendmw         %ymm16, %ymm17, %ymm19
+vpblendmw         (%rax), %ymm17, %ymm19
+vpblendmw         %ymm16, %ymm17, %ymm19 {k1}
+vpblendmw         (%rax), %ymm17, %ymm19 {k1}
+vpblendmw         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpblendmw         (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpbroadcastb      %xmm16, %xmm19
 vpbroadcastb      (%rax), %xmm19
+vpbroadcastb      %eax, %xmm19
 vpbroadcastb      %xmm16, %xmm19 {k1}
 vpbroadcastb      (%rax), %xmm19 {k1}
+vpbroadcastb      %eax, %xmm19 {k1}
 vpbroadcastb      %xmm16, %xmm19 {z}{k1}
 vpbroadcastb      (%rax), %xmm19 {z}{k1}
+vpbroadcastb      %eax, %xmm19 {z}{k1}
 
 vpbroadcastb      %xmm16, %ymm19
 vpbroadcastb      (%rax), %ymm19
+vpbroadcastb      %eax, %ymm19
 vpbroadcastb      %xmm16, %ymm19 {k1}
 vpbroadcastb      (%rax), %ymm19 {k1}
+vpbroadcastb      %eax, %ymm19 {k1}
 vpbroadcastb      %xmm16, %ymm19 {z}{k1}
 vpbroadcastb      (%rax), %ymm19 {z}{k1}
+vpbroadcastb      %eax, %ymm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %xmm19
 vpbroadcastw      (%rax), %xmm19
+vpbroadcastw      %eax, %xmm19
 vpbroadcastw      %xmm16, %xmm19 {k1}
 vpbroadcastw      (%rax), %xmm19 {k1}
+vpbroadcastw      %eax, %xmm19 {k1}
 vpbroadcastw      %xmm16, %xmm19 {z}{k1}
 vpbroadcastw      (%rax), %xmm19 {z}{k1}
+vpbroadcastw      %eax, %xmm19 {z}{k1}
 
 vpbroadcastw      %xmm16, %ymm19
 vpbroadcastw      (%rax), %ymm19
+vpbroadcastw      %eax, %ymm19
 vpbroadcastw      %xmm16, %ymm19 {k1}
 vpbroadcastw      (%rax), %ymm19 {k1}
+vpbroadcastw      %eax, %ymm19 {k1}
 vpbroadcastw      %xmm16, %ymm19 {z}{k1}
 vpbroadcastw      (%rax), %ymm19 {z}{k1}
+vpbroadcastw      %eax, %ymm19 {z}{k1}
 
 vpcmpb            $0, %xmm0, %xmm1, %k2
 vpcmpb            $0, (%rax), %xmm1, %k2
@@ -299,6 +423,186 @@ vpermw            (%rax), %ymm17, %ymm19 {k1}
 vpermw            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpermw            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpermi2w          %xmm16, %xmm17, %xmm19
+vpermi2w          (%rax), %xmm17, %xmm19
+vpermi2w          %xmm16, %xmm17, %xmm19 {k1}
+vpermi2w          (%rax), %xmm17, %xmm19 {k1}
+vpermi2w          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpermi2w          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpermi2w          %ymm16, %ymm17, %ymm19
+vpermi2w          (%rax), %ymm17, %ymm19
+vpermi2w          %ymm16, %ymm17, %ymm19 {k1}
+vpermi2w          (%rax), %ymm17, %ymm19 {k1}
+vpermi2w          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpermi2w          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpermt2w          %xmm16, %xmm17, %xmm19
+vpermt2w          (%rax), %xmm17, %xmm19
+vpermt2w          %xmm16, %xmm17, %xmm19 {k1}
+vpermt2w          (%rax), %xmm17, %xmm19 {k1}
+vpermt2w          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpermt2w          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpermt2w          %ymm16, %ymm17, %ymm19
+vpermt2w          (%rax), %ymm17, %ymm19
+vpermt2w          %ymm16, %ymm17, %ymm19 {k1}
+vpermt2w          (%rax), %ymm17, %ymm19 {k1}
+vpermt2w          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpermt2w          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaddubsw        %xmm16, %xmm17, %xmm19
+vpmaddubsw        (%rax), %xmm17, %xmm19
+vpmaddubsw        %xmm16, %xmm17, %xmm19 {k1}
+vpmaddubsw        (%rax), %xmm17, %xmm19 {k1}
+vpmaddubsw        %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaddubsw        (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaddubsw        %ymm16, %ymm17, %ymm19
+vpmaddubsw        (%rax), %ymm17, %ymm19
+vpmaddubsw        %ymm16, %ymm17, %ymm19 {k1}
+vpmaddubsw        (%rax), %ymm17, %ymm19 {k1}
+vpmaddubsw        %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaddubsw        (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaddwd          %xmm16, %xmm17, %xmm19
+vpmaddwd          (%rax), %xmm17, %xmm19
+vpmaddwd          %xmm16, %xmm17, %xmm19 {k1}
+vpmaddwd          (%rax), %xmm17, %xmm19 {k1}
+vpmaddwd          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaddwd          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaddwd          %ymm16, %ymm17, %ymm19
+vpmaddwd          (%rax), %ymm17, %ymm19
+vpmaddwd          %ymm16, %ymm17, %ymm19 {k1}
+vpmaddwd          (%rax), %ymm17, %ymm19 {k1}
+vpmaddwd          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaddwd          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxsb           %xmm16, %xmm17, %xmm19
+vpmaxsb           (%rax), %xmm17, %xmm19
+vpmaxsb           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxsb           (%rax), %xmm17, %xmm19 {k1}
+vpmaxsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxsb           %ymm16, %ymm17, %ymm19
+vpmaxsb           (%rax), %ymm17, %ymm19
+vpmaxsb           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxsb           (%rax), %ymm17, %ymm19 {k1}
+vpmaxsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxsw           %xmm16, %xmm17, %xmm19
+vpmaxsw           (%rax), %xmm17, %xmm19
+vpmaxsw           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxsw           (%rax), %xmm17, %xmm19 {k1}
+vpmaxsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxsw           %ymm16, %ymm17, %ymm19
+vpmaxsw           (%rax), %ymm17, %ymm19
+vpmaxsw           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxsw           (%rax), %ymm17, %ymm19 {k1}
+vpmaxsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxub           %xmm16, %xmm17, %xmm19
+vpmaxub           (%rax), %xmm17, %xmm19
+vpmaxub           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxub           (%rax), %xmm17, %xmm19 {k1}
+vpmaxub           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxub           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxub           %ymm16, %ymm17, %ymm19
+vpmaxub           (%rax), %ymm17, %ymm19
+vpmaxub           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxub           (%rax), %ymm17, %ymm19 {k1}
+vpmaxub           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxub           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmaxuw           %xmm16, %xmm17, %xmm19
+vpmaxuw           (%rax), %xmm17, %xmm19
+vpmaxuw           %xmm16, %xmm17, %xmm19 {k1}
+vpmaxuw           (%rax), %xmm17, %xmm19 {k1}
+vpmaxuw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmaxuw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmaxuw           %ymm16, %ymm17, %ymm19
+vpmaxuw           (%rax), %ymm17, %ymm19
+vpmaxuw           %ymm16, %ymm17, %ymm19 {k1}
+vpmaxuw           (%rax), %ymm17, %ymm19 {k1}
+vpmaxuw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmaxuw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminsb           %xmm16, %xmm17, %xmm19
+vpminsb           (%rax), %xmm17, %xmm19
+vpminsb           %xmm16, %xmm17, %xmm19 {k1}
+vpminsb           (%rax), %xmm17, %xmm19 {k1}
+vpminsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminsb           %ymm16, %ymm17, %ymm19
+vpminsb           (%rax), %ymm17, %ymm19
+vpminsb           %ymm16, %ymm17, %ymm19 {k1}
+vpminsb           (%rax), %ymm17, %ymm19 {k1}
+vpminsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminsw           %xmm16, %xmm17, %xmm19
+vpminsw           (%rax), %xmm17, %xmm19
+vpminsw           %xmm16, %xmm17, %xmm19 {k1}
+vpminsw           (%rax), %xmm17, %xmm19 {k1}
+vpminsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminsw           %ymm16, %ymm17, %ymm19
+vpminsw           (%rax), %ymm17, %ymm19
+vpminsw           %ymm16, %ymm17, %ymm19 {k1}
+vpminsw           (%rax), %ymm17, %ymm19 {k1}
+vpminsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminub           %xmm16, %xmm17, %xmm19
+vpminub           (%rax), %xmm17, %xmm19
+vpminub           %xmm16, %xmm17, %xmm19 {k1}
+vpminub           (%rax), %xmm17, %xmm19 {k1}
+vpminub           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminub           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminub           %ymm16, %ymm17, %ymm19
+vpminub           (%rax), %ymm17, %ymm19
+vpminub           %ymm16, %ymm17, %ymm19 {k1}
+vpminub           (%rax), %ymm17, %ymm19 {k1}
+vpminub           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminub           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpminuw           %xmm16, %xmm17, %xmm19
+vpminuw           (%rax), %xmm17, %xmm19
+vpminuw           %xmm16, %xmm17, %xmm19 {k1}
+vpminuw           (%rax), %xmm17, %xmm19 {k1}
+vpminuw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpminuw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpminuw           %ymm16, %ymm17, %ymm19
+vpminuw           (%rax), %ymm17, %ymm19
+vpminuw           %ymm16, %ymm17, %ymm19 {k1}
+vpminuw           (%rax), %ymm17, %ymm19 {k1}
+vpminuw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpminuw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmovb2m          %xmm0, %k0
+vpmovw2m          %xmm0, %k0
+
+vpmovb2m          %ymm0, %k0
+vpmovw2m          %ymm0, %k0
+
+vpmovm2b          %k0, %xmm0
+vpmovm2w          %k0, %xmm0
+
+vpmovm2b          %k0, %ymm0
+vpmovm2w          %k0, %ymm0
+
 vpmovsxbw         %xmm16, %xmm19
 vpmovsxbw         (%rax), %xmm19
 vpmovsxbw         %xmm16, %xmm19 {k1}
@@ -313,6 +617,36 @@ vpmovsxbw         (%rax), %ymm19 {k1}
 vpmovsxbw         %xmm16, %ymm19 {z}{k1}
 vpmovsxbw         (%rax), %ymm19 {z}{k1}
 
+vpmovswb          %xmm16, %xmm19
+vpmovswb          %xmm16, (%rax)
+vpmovswb          %xmm16, %xmm19 {k1}
+vpmovswb          %xmm16, (%rax) {k1}
+
+vpmovswb          %ymm16, %xmm19
+vpmovswb          %ymm16, (%rax)
+vpmovswb          %ymm16, %xmm19 {k1}
+vpmovswb          %ymm16, (%rax) {k1}
+
+vpmovuswb         %xmm16, %xmm19
+vpmovuswb         %xmm16, (%rax)
+vpmovuswb         %xmm16, %xmm19 {k1}
+vpmovuswb         %xmm16, (%rax) {k1}
+
+vpmovuswb         %ymm16, %xmm19
+vpmovuswb         %ymm16, (%rax)
+vpmovuswb         %ymm16, %xmm19 {k1}
+vpmovuswb         %ymm16, (%rax) {k1}
+
+vpmovwb           %xmm16, %xmm19
+vpmovwb           %xmm16, (%rax)
+vpmovwb           %xmm16, %xmm19 {k1}
+vpmovwb           %xmm16, (%rax) {k1}
+
+vpmovwb           %ymm16, %xmm19
+vpmovwb           %ymm16, (%rax)
+vpmovwb           %ymm16, %xmm19 {k1}
+vpmovwb           %ymm16, (%rax) {k1}
+
 vpmovzxbw         %xmm16, %xmm19
 vpmovzxbw         (%rax), %xmm19
 vpmovzxbw         %xmm16, %xmm19 {k1}
@@ -327,6 +661,68 @@ vpmovzxbw         (%rax), %ymm19 {k1}
 vpmovzxbw         %xmm16, %ymm19 {z}{k1}
 vpmovzxbw         (%rax), %ymm19 {z}{k1}
 
+vpmulhrsw         %xmm16, %xmm17, %xmm19
+vpmulhrsw         (%rax), %xmm17, %xmm19
+vpmulhrsw         %xmm16, %xmm17, %xmm19 {k1}
+vpmulhrsw         (%rax), %xmm17, %xmm19 {k1}
+vpmulhrsw         %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhrsw         (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhrsw         %ymm16, %ymm17, %ymm19
+vpmulhrsw         (%rax), %ymm17, %ymm19
+vpmulhrsw         %ymm16, %ymm17, %ymm19 {k1}
+vpmulhrsw         (%rax), %ymm17, %ymm19 {k1}
+vpmulhrsw         %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhrsw         (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmulhuw          %xmm16, %xmm17, %xmm19
+vpmulhuw          (%rax), %xmm17, %xmm19
+vpmulhuw          %xmm16, %xmm17, %xmm19 {k1}
+vpmulhuw          (%rax), %xmm17, %xmm19 {k1}
+vpmulhuw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhuw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhuw          %ymm16, %ymm17, %ymm19
+vpmulhuw          (%rax), %ymm17, %ymm19
+vpmulhuw          %ymm16, %ymm17, %ymm19 {k1}
+vpmulhuw          (%rax), %ymm17, %ymm19 {k1}
+vpmulhuw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhuw          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmulhw           %xmm16, %xmm17, %xmm19
+vpmulhw           (%rax), %xmm17, %xmm19
+vpmulhw           %xmm16, %xmm17, %xmm19 {k1}
+vpmulhw           (%rax), %xmm17, %xmm19 {k1}
+vpmulhw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulhw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmulhw           %ymm16, %ymm17, %ymm19
+vpmulhw           (%rax), %ymm17, %ymm19
+vpmulhw           %ymm16, %ymm17, %ymm19 {k1}
+vpmulhw           (%rax), %ymm17, %ymm19 {k1}
+vpmulhw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulhw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpmullw           %xmm16, %xmm17, %xmm19
+vpmullw           (%rax), %xmm17, %xmm19
+vpmullw           %xmm16, %xmm17, %xmm19 {k1}
+vpmullw           (%rax), %xmm17, %xmm19 {k1}
+vpmullw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmullw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmullw           %ymm16, %ymm17, %ymm19
+vpmullw           (%rax), %ymm17, %ymm19
+vpmullw           %ymm16, %ymm17, %ymm19 {k1}
+vpmullw           (%rax), %ymm17, %ymm19 {k1}
+vpmullw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmullw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsadbw           %xmm16, %xmm17, %xmm19
+vpsadbw           (%rax), %xmm17, %xmm19
+
+vpsadbw           %ymm16, %ymm17, %ymm19
+vpsadbw           (%rax), %ymm17, %ymm19
+
 vpshufb           %xmm16, %xmm17, %xmm19
 vpshufb           (%rax), %xmm17, %xmm19
 vpshufb           %xmm16, %xmm17, %xmm19 {k1}
@@ -375,12 +771,138 @@ vpslldq           $1, (%rax), %xmm19
 vpslldq           $1, %ymm16, %ymm19
 vpslldq           $1, (%rax), %ymm19
 
+vpsllvw           %xmm16, %xmm17, %xmm19
+vpsllvw           (%rax), %xmm17, %xmm19
+vpsllvw           %xmm16, %xmm17, %xmm19 {k1}
+vpsllvw           (%rax), %xmm17, %xmm19 {k1}
+vpsllvw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsllvw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsllvw           %ymm16, %ymm17, %ymm19
+vpsllvw           (%rax), %ymm17, %ymm19
+vpsllvw           %ymm16, %ymm17, %ymm19 {k1}
+vpsllvw           (%rax), %ymm17, %ymm19 {k1}
+vpsllvw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsllvw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsllw            $0, %xmm16, %xmm19
+vpsllw            $0, (%rax), %xmm19
+vpsllw            $0, %xmm16, %xmm19 {k1}
+vpsllw            $0, (%rax), %xmm19 {k1}
+vpsllw            $0, %xmm16, %xmm19 {z}{k1}
+vpsllw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsllw            $0, %ymm16, %ymm19
+vpsllw            $0, (%rax), %ymm19
+vpsllw            $0, %ymm16, %ymm19 {k1}
+vpsllw            $0, (%rax), %ymm19 {k1}
+vpsllw            $0, %ymm16, %ymm19 {z}{k1}
+vpsllw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsllw            %xmm16, %xmm17, %xmm19
+vpsllw            (%rax), %xmm17, %xmm19
+vpsllw            %xmm16, %xmm17, %xmm19 {k1}
+vpsllw            (%rax), %xmm17, %xmm19 {k1}
+vpsllw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsllw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsllw            %xmm16, %ymm17, %ymm19
+vpsllw            (%rax), %ymm17, %ymm19
+vpsllw            %xmm16, %ymm17, %ymm19 {k1}
+vpsllw            (%rax), %ymm17, %ymm19 {k1}
+vpsllw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsllw            (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsravw           %xmm16, %xmm17, %xmm19
+vpsravw           (%rax), %xmm17, %xmm19
+vpsravw           %xmm16, %xmm17, %xmm19 {k1}
+vpsravw           (%rax), %xmm17, %xmm19 {k1}
+vpsravw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsravw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsravw           %ymm16, %ymm17, %ymm19
+vpsravw           (%rax), %ymm17, %ymm19
+vpsravw           %ymm16, %ymm17, %ymm19 {k1}
+vpsravw           (%rax), %ymm17, %ymm19 {k1}
+vpsravw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsravw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsraw            $0, %xmm16, %xmm19
+vpsraw            $0, (%rax), %xmm19
+vpsraw            $0, %xmm16, %xmm19 {k1}
+vpsraw            $0, (%rax), %xmm19 {k1}
+vpsraw            $0, %xmm16, %xmm19 {z}{k1}
+vpsraw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsraw            $0, %ymm16, %ymm19
+vpsraw            $0, (%rax), %ymm19
+vpsraw            $0, %ymm16, %ymm19 {k1}
+vpsraw            $0, (%rax), %ymm19 {k1}
+vpsraw            $0, %ymm16, %ymm19 {z}{k1}
+vpsraw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsraw            %xmm16, %xmm17, %xmm19
+vpsraw            (%rax), %xmm17, %xmm19
+vpsraw            %xmm16, %xmm17, %xmm19 {k1}
+vpsraw            (%rax), %xmm17, %xmm19 {k1}
+vpsraw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsraw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsraw            %xmm16, %ymm17, %ymm19
+vpsraw            (%rax), %ymm17, %ymm19
+vpsraw            %xmm16, %ymm17, %ymm19 {k1}
+vpsraw            (%rax), %ymm17, %ymm19 {k1}
+vpsraw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsraw            (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsrldq           $1, %xmm16, %xmm19
 vpsrldq           $1, (%rax), %xmm19
 
 vpsrldq           $1, %ymm16, %ymm19
 vpsrldq           $1, (%rax), %ymm19
 
+vpsrlvw           %xmm16, %xmm17, %xmm19
+vpsrlvw           (%rax), %xmm17, %xmm19
+vpsrlvw           %xmm16, %xmm17, %xmm19 {k1}
+vpsrlvw           (%rax), %xmm17, %xmm19 {k1}
+vpsrlvw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsrlvw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsrlvw           %ymm16, %ymm17, %ymm19
+vpsrlvw           (%rax), %ymm17, %ymm19
+vpsrlvw           %ymm16, %ymm17, %ymm19 {k1}
+vpsrlvw           (%rax), %ymm17, %ymm19 {k1}
+vpsrlvw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsrlvw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsrlw            $0, %xmm16, %xmm19
+vpsrlw            $0, (%rax), %xmm19
+vpsrlw            $0, %xmm16, %xmm19 {k1}
+vpsrlw            $0, (%rax), %xmm19 {k1}
+vpsrlw            $0, %xmm16, %xmm19 {z}{k1}
+vpsrlw            $0, (%rax), %xmm19 {z}{k1}
+
+vpsrlw            $0, %ymm16, %ymm19
+vpsrlw            $0, (%rax), %ymm19
+vpsrlw            $0, %ymm16, %ymm19 {k1}
+vpsrlw            $0, (%rax), %ymm19 {k1}
+vpsrlw            $0, %ymm16, %ymm19 {z}{k1}
+vpsrlw            $0, (%rax), %ymm19 {z}{k1}
+
+vpsrlw            %xmm16, %xmm17, %xmm19
+vpsrlw            (%rax), %xmm17, %xmm19
+vpsrlw            %xmm16, %xmm17, %xmm19 {k1}
+vpsrlw            (%rax), %xmm17, %xmm19 {k1}
+vpsrlw            %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsrlw            (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsrlw            %xmm16, %ymm17, %ymm19
+vpsrlw            (%rax), %ymm17, %ymm19
+vpsrlw            %xmm16, %ymm17, %ymm19 {k1}
+vpsrlw            (%rax), %ymm17, %ymm19 {k1}
+vpsrlw            %xmm16, %ymm17, %ymm19 {z}{k1}
+vpsrlw            (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsubb            %xmm16, %xmm17, %xmm19
 vpsubb            (%rax), %xmm17, %xmm19
 vpsubb            %xmm16, %xmm17, %xmm19 {k1}
@@ -395,6 +917,62 @@ vpsubb            (%rax), %ymm17, %ymm19 {k1}
 vpsubb            %ymm16, %ymm17, %ymm19 {z}{k1}
 vpsubb            (%rax), %ymm17, %ymm19 {z}{k1}
 
+vpsubsb           %xmm16, %xmm17, %xmm19
+vpsubsb           (%rax), %xmm17, %xmm19
+vpsubsb           %xmm16, %xmm17, %xmm19 {k1}
+vpsubsb           (%rax), %xmm17, %xmm19 {k1}
+vpsubsb           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubsb           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubsb           %ymm16, %ymm17, %ymm19
+vpsubsb           (%rax), %ymm17, %ymm19
+vpsubsb           %ymm16, %ymm17, %ymm19 {k1}
+vpsubsb           (%rax), %ymm17, %ymm19 {k1}
+vpsubsb           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubsb           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubsw           %xmm16, %xmm17, %xmm19
+vpsubsw           (%rax), %xmm17, %xmm19
+vpsubsw           %xmm16, %xmm17, %xmm19 {k1}
+vpsubsw           (%rax), %xmm17, %xmm19 {k1}
+vpsubsw           %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubsw           (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubsw           %ymm16, %ymm17, %ymm19
+vpsubsw           (%rax), %ymm17, %ymm19
+vpsubsw           %ymm16, %ymm17, %ymm19 {k1}
+vpsubsw           (%rax), %ymm17, %ymm19 {k1}
+vpsubsw           %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubsw           (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubusb          %xmm16, %xmm17, %xmm19
+vpsubusb          (%rax), %xmm17, %xmm19
+vpsubusb          %xmm16, %xmm17, %xmm19 {k1}
+vpsubusb          (%rax), %xmm17, %xmm19 {k1}
+vpsubusb          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubusb          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubusb          %ymm16, %ymm17, %ymm19
+vpsubusb          (%rax), %ymm17, %ymm19
+vpsubusb          %ymm16, %ymm17, %ymm19 {k1}
+vpsubusb          (%rax), %ymm17, %ymm19 {k1}
+vpsubusb          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubusb          (%rax), %ymm17, %ymm19 {z}{k1}
+
+vpsubusw          %xmm16, %xmm17, %xmm19
+vpsubusw          (%rax), %xmm17, %xmm19
+vpsubusw          %xmm16, %xmm17, %xmm19 {k1}
+vpsubusw          (%rax), %xmm17, %xmm19 {k1}
+vpsubusw          %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubusw          (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpsubusw          %ymm16, %ymm17, %ymm19
+vpsubusw          (%rax), %ymm17, %ymm19
+vpsubusw          %ymm16, %ymm17, %ymm19 {k1}
+vpsubusw          (%rax), %ymm17, %ymm19 {k1}
+vpsubusw          %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubusw          (%rax), %ymm17, %ymm19 {z}{k1}
+
 vpsubw            %xmm16, %xmm17, %xmm19
 vpsubw            (%rax), %xmm17, %xmm19
 vpsubw            %xmm16, %xmm17, %xmm19 {k1}
@@ -505,18 +1083,6 @@ vpunpcklwd         (%rax), %ymm17, %ymm19 {k1}
 vpunpcklwd         %ymm16, %ymm17, %ymm19 {z}{k1}
 vpunpcklwd         (%rax), %ymm17, %ymm19 {z}{k1}
 
-vpmovm2b          %k0, %xmm0
-vpmovm2w          %k0, %xmm0
-
-vpmovm2b          %k0, %ymm0
-vpmovm2w          %k0, %ymm0
-
-vpmovb2m          %xmm0, %k0
-vpmovw2m          %xmm0, %k0
-
-vpmovb2m          %ymm0, %k0
-vpmovw2m          %ymm0, %k0
-
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -654,6 +1220,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpaddb %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpaddb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpaddusw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpaddusw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpaddusw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpaddw %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpaddw (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.33                        vpaddw %xmm16, %xmm17, %xmm19 {%k1}
@@ -678,30 +1292,90 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpalignr       $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpalignr       $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpavgw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpavgw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpavgw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmb      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmb      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmb      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmb      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmb      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpblendmw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.33                        vpblendmw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpblendmw      (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb   (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb   (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb   (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastb   %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %ymm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb   (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastb   %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw   (%rax), %xmm19
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw   (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw   (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpbroadcastw   %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %ymm19
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw   (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpbroadcastw   %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %xmm0, %xmm1, %k2
 # CHECK-NEXT:  2      10    1.00    *                   vpcmpeqb       (%rax), %xmm1, %k2
 # CHECK-NEXT:  1      4     1.00                        vpcmpeqb       %xmm0, %xmm1, %k2 {%k3}
@@ -778,6 +1452,158 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  2      6     2.00                        vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  3      13    2.00    *                   vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  4      13    2.00    *                   vpermi2w       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  4      13    2.00    *                   vpermi2w       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  4      13    2.00    *                   vpermi2w       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermi2w       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermi2w       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  4      13    2.00    *                   vpermt2w       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  4      13    2.00    *                   vpermt2w       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  4      13    2.00    *                   vpermt2w       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  3      7     2.00                        vpermt2w       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  4      14    2.00    *                   vpermt2w       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddubsw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddubsw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddubsw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddubsw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddwd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddwd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmaddwd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmaddwd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxub        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxub        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxub        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpmaxuw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminub        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminub        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminub        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpminuw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpminuw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpminuw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %xmm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %xmm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %ymm0, %k0
+# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %ymm0, %k0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %xmm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %xmm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %ymm0
+# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %ymm0
 # CHECK-NEXT:  1      1     1.00                        vpmovsxbw      %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpmovsxbw      (%rax), %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpmovsxbw      %xmm16, %xmm19 {%k1}
@@ -790,6 +1616,30 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovsxbw      %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovsxbw      (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %xmm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %xmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %ymm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %ymm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovswb       %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovswb       %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %xmm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %xmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %ymm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %ymm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovuswb      %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovuswb      %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %xmm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %xmm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %ymm16, %xmm19
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %ymm16, (%rax)
+# CHECK-NEXT:  2      4     2.00                        vpmovwb        %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  4      5     2.00           *            vpmovwb        %ymm16, (%rax) {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpmovzxbw      %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpmovzxbw      (%rax), %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpmovzxbw      %xmm16, %xmm19 {%k1}
@@ -802,6 +1652,58 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  1      3     1.00                        vpmovzxbw      %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw      (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhrsw      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhrsw      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhrsw      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhrsw      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhuw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhuw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhuw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhuw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmulhw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmulhw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmulhw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpmullw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpmullw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpmullw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpmullw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpmullw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      3     1.00                        vpsadbw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      9     1.00    *                   vpsadbw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      3     1.00                        vpsadbw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      10    1.00    *                   vpsadbw        (%rax), %ymm17, %ymm19
 # CHECK-NEXT:  1      1     1.00                        vpshufb        %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpshufb        (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpshufb        %xmm16, %xmm17, %xmm19 {%k1}
@@ -842,10 +1744,118 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      7     1.00    *                   vpslldq        $1, (%rax), %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpslldq        $1, %ymm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpslldq        $1, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsllvw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllvw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllvw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsllvw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllvw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllvw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllvw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsllw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsllw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsllw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsllw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsllw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsravw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsravw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsravw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsravw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsravw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsravw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsravw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsraw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsraw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsraw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsraw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsraw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     1.00                        vpsrldq        $1, %xmm16, %xmm19
 # CHECK-NEXT:  2      7     1.00    *                   vpsrldq        $1, (%rax), %xmm19
 # CHECK-NEXT:  1      1     1.00                        vpsrldq        $1, %ymm16, %ymm19
 # CHECK-NEXT:  2      8     1.00    *                   vpsrldq        $1, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlvw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlvw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlvw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlvw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlvw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlvw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlvw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %xmm16, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw $0, (%rax), %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %ymm16, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw $0, (%rax), %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsrlw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      2     1.00                        vpsrlw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsrlw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      4     1.00                        vpsrlw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsrlw (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsubb (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubb %xmm16, %xmm17, %xmm19 {%k1}
@@ -858,6 +1868,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     0.33                        vpsubb %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     0.50    *                   vpsubb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsb        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsb        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsb        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubsw        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubsw        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubsw        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusb       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusb       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusb       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      7     0.50    *                   vpsubusw       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      1     0.50                        vpsubusw       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      8     0.50    *                   vpsubusw       (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  1      1     0.33                        vpsubw %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  2      7     0.50    *                   vpsubw (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  1      1     0.33                        vpsubw %xmm16, %xmm17, %xmm19 {%k1}
@@ -950,14 +2008,6 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  1      1     1.00                        vpunpcklwd     %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd     (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %xmm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %xmm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2b       %k0, %ymm0
-# CHECK-NEXT:  1      1     0.33                        vpmovm2w       %k0, %ymm0
-# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %xmm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %xmm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovb2m       %ymm0, %k0
-# CHECK-NEXT:  1      1     1.00                        vpmovw2m       %ymm0, %k0
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SKXDivider
@@ -973,7 +2023,7 @@ vpmovw2m          %ymm0, %k0
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     41.33  37.33  106.67 106.67 8.00   357.33  -     2.67
+# CHECK-NEXT:  -      -     255.33 251.33 222.67 222.67 20.00  503.33  -     6.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1105,6 +2155,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddb     %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw   (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddw     %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddw     (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddw     %xmm16, %xmm17, %xmm19 {%k1}
@@ -1129,30 +2227,90 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpalignr   $1, (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpalignr   $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpalignr   $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmb  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmb  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmb  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmb  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmb  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmb  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmb  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendmw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendmw  (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %ymm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %ymm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %ymm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb       (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb       %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %xmm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %xmm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %ymm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %ymm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %ymm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw       (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw       %eax, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpcmpeqb   %xmm0, %xmm1, %k2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpeqb   (%rax), %xmm1, %k2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpcmpeqb   %xmm0, %xmm1, %k2 {%k3}
@@ -1229,6 +2387,158 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     vpermw     (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpermw     %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     vpermw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermi2w   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermi2w   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vpermt2w   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vpermt2w   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovb2m   %xmm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovw2m   %xmm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovb2m   %ymm0, %k0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovw2m   %ymm0, %k0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2b   %k0, %xmm0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2w   %k0, %xmm0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2b   %k0, %ymm0
+# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2w   %k0, %ymm0
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw  %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw  (%rax), %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw  %xmm16, %xmm19 {%k1}
@@ -1241,6 +2551,30 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw  (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw  %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw  (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovswb   %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovswb   %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovswb   %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovswb   %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovswb   %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovswb   %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovswb   %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovswb   %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovuswb  %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovuswb  %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovuswb  %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovuswb  %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovuswb  %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovuswb  %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovuswb  %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovuswb  %ymm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovwb    %xmm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovwb    %xmm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovwb    %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovwb    %xmm16, (%rax) {%k1}
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovwb    %ymm16, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovwb    %ymm16, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vpmovwb    %ymm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   2.00    -     0.33   vpmovwb    %ymm16, (%rax) {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw  %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw  (%rax), %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw  %xmm16, %xmm19 {%k1}
@@ -1253,6 +2587,58 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw  (%rax), %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw  %xmm16, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw  (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw  %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw  (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw  %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw  (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw  %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw  (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw  %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw  (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw  %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw  (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw  %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw  (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsadbw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsadbw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsadbw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsadbw    (%rax), %ymm17, %ymm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufb    %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshufb    (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufb    %xmm16, %xmm17, %xmm19 {%k1}
@@ -1293,10 +2679,118 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpslldq    $1, (%rax), %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpslldq    $1, %ymm16, %ymm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpslldq    $1, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw     $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw     $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw     $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw     $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw     $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw     $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw     %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw     %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw     %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw     $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw     $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw     $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw     $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw     $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw     $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw     %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw     %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw     %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw     (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsrldq    $1, %xmm16, %xmm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsrldq    $1, (%rax), %xmm19
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsrldq    $1, %ymm16, %ymm19
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsrldq    $1, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw     $0, %xmm16, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw     $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw     $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw     $0, %ymm16, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw     $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw     $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw     %xmm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw     %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw     %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw     (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %xmm16, %xmm17, %xmm19 {%k1}
@@ -1309,6 +2803,54 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb     %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb   (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw   %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw   (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw   %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw   (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw   %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw   (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw   %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw   (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw   %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw   (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw   %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw   (%rax), %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw     %xmm16, %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubw     (%rax), %xmm17, %xmm19
 # CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw     %xmm16, %xmm17, %xmm19 {%k1}
@@ -1401,11 +2943,3 @@ vpmovw2m          %ymm0, %k0
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2b   %k0, %xmm0
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2w   %k0, %xmm0
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2b   %k0, %ymm0
-# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpmovm2w   %k0, %ymm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovb2m   %xmm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovw2m   %xmm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovb2m   %ymm0, %k0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovw2m   %ymm0, %k0