[llvm] 7de156d - [MCA][X86] Add missing test coverage for BWI instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 20 09:21:33 PST 2022
Author: Simon Pilgrim
Date: 2022-11-20T17:19:58Z
New Revision: 7de156d1cc056a1f40be8d09915f194e0be9b669
URL: https://github.com/llvm/llvm-project/commit/7de156d1cc056a1f40be8d09915f194e0be9b669
DIFF: https://github.com/llvm/llvm-project/commit/7de156d1cc056a1f40be8d09915f194e0be9b669.diff
LOG: [MCA][X86] Add missing test coverage for BWI instructions
Added:
Modified:
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
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
index df1a9eb91dbf..f028580f1a4b 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
index c02c52d0fbf6..946335bf7c98 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
index c156d388d20a..5fb114b0997b 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
index 9fde2ab24ed2..ba21db227ca5 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
index 84cbcef9778b..ff22174f41e9 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
@@ -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
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
index c4fda58e51b6..c861bc2300be 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -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
More information about the llvm-commits
mailing list