[llvm] 9588012 - [MCA][X86] Add missing test coverage for DQ instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 11 07:37:11 PST 2022
Author: Simon Pilgrim
Date: 2022-12-11T15:36:06Z
New Revision: 95880122c0562999c76cf3b4a65f516c7089615b
URL: https://github.com/llvm/llvm-project/commit/95880122c0562999c76cf3b4a65f516c7089615b
DIFF: https://github.com/llvm/llvm-project/commit/95880122c0562999c76cf3b4a65f516c7089615b.diff
LOG: [MCA][X86] Add missing test coverage for DQ instructions
Added:
Modified:
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
index 5849220ddc9d4..01e8932ec007a 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
@@ -5,12 +5,28 @@ kaddb %k0, %k1, %k2
kaddw %k0, %k1, %k2
kandb %k0, %k1, %k2
kandnb %k0, %k1, %k2
+
+kmovb %k0, %k2
+kmovb (%rax), %k2
+kmovb %k0, (%rax)
+kmovb %eax, %k2
+kmovb %k0, %eax
+
+knotb %k0, %k2
+
korb %k0, %k1, %k2
-kxnorb %k0, %k1, %k2
-kxorb %k0, %k1, %k2
+
+kortestb %k0, %k2
+
kshiftlb $2, %k1, %k2
kshiftrb $2, %k1, %k2
+ktestb %k0, %k2
+ktestw %k0, %k2
+
+kxnorb %k0, %k1, %k2
+kxorb %k0, %k1, %k2
+
vandnpd %zmm16, %zmm17, %zmm19
vandnpd (%rax), %zmm17, %zmm19
vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -81,6 +97,46 @@ vbroadcasti64x2 (%rax), %zmm19
vbroadcasti64x2 (%rax), %zmm19 {k1}
vbroadcasti64x2 (%rax), %zmm19 {z}{k1}
+vcvtpd2qq %zmm16, %zmm19
+vcvtpd2qq (%rax), %zmm19
+vcvtpd2qq (%rax){1to8}, %zmm19
+vcvtpd2qq %zmm16, %zmm19 {k1}
+vcvtpd2qq (%rax), %zmm19 {k1}
+vcvtpd2qq (%rax){1to8}, %zmm19 {k1}
+vcvtpd2qq %zmm16, %zmm19 {z}{k1}
+vcvtpd2qq (%rax), %zmm19 {z}{k1}
+vcvtpd2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtpd2uqq %zmm16, %zmm19
+vcvtpd2uqq (%rax), %zmm19
+vcvtpd2uqq (%rax){1to8}, %zmm19
+vcvtpd2uqq %zmm16, %zmm19 {k1}
+vcvtpd2uqq (%rax), %zmm19 {k1}
+vcvtpd2uqq (%rax){1to8}, %zmm19 {k1}
+vcvtpd2uqq %zmm16, %zmm19 {z}{k1}
+vcvtpd2uqq (%rax), %zmm19 {z}{k1}
+vcvtpd2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtps2qq %ymm16, %zmm19
+vcvtps2qq (%rax), %zmm19
+vcvtps2qq (%rax){1to8}, %zmm19
+vcvtps2qq %ymm16, %zmm19 {k1}
+vcvtps2qq (%rax), %zmm19 {k1}
+vcvtps2qq (%rax){1to8}, %zmm19 {k1}
+vcvtps2qq %ymm16, %zmm19 {z}{k1}
+vcvtps2qq (%rax), %zmm19 {z}{k1}
+vcvtps2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtps2uqq %ymm16, %zmm19
+vcvtps2uqq (%rax), %zmm19
+vcvtps2uqq (%rax){1to8}, %zmm19
+vcvtps2uqq %ymm16, %zmm19 {k1}
+vcvtps2uqq (%rax), %zmm19 {k1}
+vcvtps2uqq (%rax){1to8}, %zmm19 {k1}
+vcvtps2uqq %ymm16, %zmm19 {z}{k1}
+vcvtps2uqq (%rax), %zmm19 {z}{k1}
+vcvtps2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
vcvtqq2pd %zmm16, %zmm19
vcvtqq2pd (%rax), %zmm19
vcvtqq2pd (%rax){1to8}, %zmm19
@@ -101,25 +157,89 @@ vcvtqq2ps %zmm16, %ymm19 {z}{k1}
vcvtqq2ps (%rax), %ymm19 {z}{k1}
vcvtqq2ps (%rax){1to8}, %ymm19 {z}{k1}
-vorpd %zmm16, %zmm17, %zmm19
-vorpd (%rax), %zmm17, %zmm19
-vorpd (%rax){1to8}, %zmm17, %zmm19
-vorpd %zmm16, %zmm17, %zmm19 {k1}
-vorpd (%rax), %zmm17, %zmm19 {k1}
-vorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
-vorpd %zmm16, %zmm17, %zmm19 {z}{k1}
-vorpd (%rax), %zmm17, %zmm19 {z}{k1}
-vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vcvttpd2qq %zmm16, %zmm19
+vcvttpd2qq (%rax), %zmm19
+vcvttpd2qq (%rax){1to8}, %zmm19
+vcvttpd2qq %zmm16, %zmm19 {k1}
+vcvttpd2qq (%rax), %zmm19 {k1}
+vcvttpd2qq (%rax){1to8}, %zmm19 {k1}
+vcvttpd2qq %zmm16, %zmm19 {z}{k1}
+vcvttpd2qq (%rax), %zmm19 {z}{k1}
+vcvttpd2qq (%rax){1to8}, %zmm19 {z}{k1}
-vorps %zmm16, %zmm17, %zmm19
-vorps (%rax), %zmm17, %zmm19
-vorps (%rax){1to16}, %zmm17, %zmm19
-vorps %zmm16, %zmm17, %zmm19 {k1}
-vorps (%rax), %zmm17, %zmm19 {k1}
-vorps (%rax){1to16}, %zmm17, %zmm19 {k1}
-vorps %zmm16, %zmm17, %zmm19 {z}{k1}
-vorps (%rax), %zmm17, %zmm19 {z}{k1}
-vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vcvttpd2uqq %zmm16, %zmm19
+vcvttpd2uqq (%rax), %zmm19
+vcvttpd2uqq (%rax){1to8}, %zmm19
+vcvttpd2uqq %zmm16, %zmm19 {k1}
+vcvttpd2uqq (%rax), %zmm19 {k1}
+vcvttpd2uqq (%rax){1to8}, %zmm19 {k1}
+vcvttpd2uqq %zmm16, %zmm19 {z}{k1}
+vcvttpd2uqq (%rax), %zmm19 {z}{k1}
+vcvttpd2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvttps2qq %ymm16, %zmm19
+vcvttps2qq (%rax), %zmm19
+vcvttps2qq (%rax){1to8}, %zmm19
+vcvttps2qq %ymm16, %zmm19 {k1}
+vcvttps2qq (%rax), %zmm19 {k1}
+vcvttps2qq (%rax){1to8}, %zmm19 {k1}
+vcvttps2qq %ymm16, %zmm19 {z}{k1}
+vcvttps2qq (%rax), %zmm19 {z}{k1}
+vcvttps2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvttps2uqq %ymm16, %zmm19
+vcvttps2uqq (%rax), %zmm19
+vcvttps2uqq (%rax){1to8}, %zmm19
+vcvttps2uqq %ymm16, %zmm19 {k1}
+vcvttps2uqq (%rax), %zmm19 {k1}
+vcvttps2uqq (%rax){1to8}, %zmm19 {k1}
+vcvttps2uqq %ymm16, %zmm19 {z}{k1}
+vcvttps2uqq (%rax), %zmm19 {z}{k1}
+vcvttps2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtuqq2pd %zmm16, %zmm19
+vcvtuqq2pd (%rax), %zmm19
+vcvtuqq2pd (%rax){1to8}, %zmm19
+vcvtuqq2pd %zmm16, %zmm19 {k1}
+vcvtuqq2pd (%rax), %zmm19 {k1}
+vcvtuqq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtuqq2pd %zmm16, %zmm19 {z}{k1}
+vcvtuqq2pd (%rax), %zmm19 {z}{k1}
+vcvtuqq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtuqq2ps %zmm16, %ymm19
+vcvtuqq2ps (%rax), %ymm19
+vcvtuqq2ps (%rax){1to8}, %ymm19
+vcvtuqq2ps %zmm16, %ymm19 {k1}
+vcvtuqq2ps (%rax), %ymm19 {k1}
+vcvtuqq2ps (%rax){1to8}, %ymm19 {k1}
+vcvtuqq2ps %zmm16, %ymm19 {z}{k1}
+vcvtuqq2ps (%rax), %ymm19 {z}{k1}
+vcvtuqq2ps (%rax){1to8}, %ymm19 {z}{k1}
+
+vextractf32x8 $1, %zmm16, %ymm19
+vextractf32x8 $1, %zmm16, (%rax)
+vextractf32x8 $1, %zmm16, %ymm19 {k1}
+vextractf32x8 $1, %zmm16, (%rax) {k1}
+vextractf32x8 $1, %zmm16, %ymm19 {z}{k1}
+
+vextractf64x2 $1, %zmm16, %xmm19
+vextractf64x2 $1, %zmm16, (%rax)
+vextractf64x2 $1, %zmm16, %xmm19 {k1}
+vextractf64x2 $1, %zmm16, (%rax) {k1}
+vextractf64x2 $1, %zmm16, %xmm19 {z}{k1}
+
+vextracti32x8 $1, %zmm16, %ymm19
+vextracti32x8 $1, %zmm16, (%rax)
+vextracti32x8 $1, %zmm16, %ymm19 {k1}
+vextracti32x8 $1, %zmm16, (%rax) {k1}
+vextracti32x8 $1, %zmm16, %ymm19 {z}{k1}
+
+vextracti64x2 $1, %zmm16, %xmm19
+vextracti64x2 $1, %zmm16, (%rax)
+vextracti64x2 $1, %zmm16, %xmm19 {k1}
+vextracti64x2 $1, %zmm16, (%rax) {k1}
+vextracti64x2 $1, %zmm16, %xmm19 {z}{k1}
vfpclasspd $0xab, %zmm16, %k1
vfpclasspdz $0xab, (%rax), %k1
@@ -145,6 +265,72 @@ vfpclassss $0xab, (%rax), %k1
vfpclassss $0xab, %xmm16, %k1 {k2}
vfpclassss $0xab, (%rax), %k1 {k2}
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {k1}
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {k1}
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {z}{k1}
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {k1}
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {k1}
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {z}{k1}
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+vinserti32x8 $1, (%rax), %zmm16, %zmm19
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {k1}
+vinserti32x8 $1, (%rax), %zmm16, %zmm19 {k1}
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {z}{k1}
+vinserti32x8 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+vinserti64x2 $1, (%rax), %zmm16, %zmm19
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {k1}
+vinserti64x2 $1, (%rax), %zmm16, %zmm19 {k1}
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {z}{k1}
+vinserti64x2 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vorpd %zmm16, %zmm17, %zmm19
+vorpd (%rax), %zmm17, %zmm19
+vorpd (%rax){1to8}, %zmm17, %zmm19
+vorpd %zmm16, %zmm17, %zmm19 {k1}
+vorpd (%rax), %zmm17, %zmm19 {k1}
+vorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vorpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vorpd (%rax), %zmm17, %zmm19 {z}{k1}
+vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vorps %zmm16, %zmm17, %zmm19
+vorps (%rax), %zmm17, %zmm19
+vorps (%rax){1to16}, %zmm17, %zmm19
+vorps %zmm16, %zmm17, %zmm19 {k1}
+vorps (%rax), %zmm17, %zmm19 {k1}
+vorps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vorps %zmm16, %zmm17, %zmm19 {z}{k1}
+vorps (%rax), %zmm17, %zmm19 {z}{k1}
+vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vpextrd $1, %xmm16, %ecx
+vpextrd $1, %xmm16, (%rax)
+
+vpextrq $1, %xmm16, %rcx
+vpextrq $1, %xmm16, (%rax)
+
+vpinsrd $1, %ecx, %xmm16, %xmm19
+vpinsrd $1, (%rax), %xmm16, %xmm19
+
+vpinsrq $1, %rcx, %xmm16, %xmm19
+vpinsrq $1, (%rax), %xmm16, %xmm19
+
+vpmovm2d %k0, %zmm0
+vpmovm2q %k0, %zmm0
+
+vpmovd2m %zmm0, %k0
+vpmovq2m %zmm0, %k0
+
vpmullq %zmm16, %zmm17, %zmm19
vpmullq (%rax), %zmm17, %zmm19
vpmullq %zmm16, %zmm17, %zmm19 {k1}
@@ -152,6 +338,106 @@ vpmullq (%rax), %zmm17, %zmm19 {k1}
vpmullq %zmm16, %zmm17, %zmm19 {z}{k1}
vpmullq (%rax), %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, %zmm16, %zmm17, %zmm19
+vrangepd $ab, (%rax), %zmm17, %zmm19
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+vrangepd $ab, %zmm16, %zmm17, %zmm19 {k1}
+vrangepd $ab, (%rax), %zmm17, %zmm19 {k1}
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vrangepd $ab, %zmm16, %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, (%rax), %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {k1}
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {z}{k1}
+
+vrangeps $ab, %zmm16, %zmm17, %zmm19
+vrangeps $ab, (%rax), %zmm17, %zmm19
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+vrangeps $ab, %zmm16, %zmm17, %zmm19 {k1}
+vrangeps $ab, (%rax), %zmm17, %zmm19 {k1}
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vrangeps $ab, %zmm16, %zmm17, %zmm19 {z}{k1}
+vrangeps $ab, (%rax), %zmm17, %zmm19 {z}{k1}
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {k1}
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {z}{k1}
+
+vrangesd $ab, %xmm16, %xmm17, %xmm19
+vrangesd $ab, (%rax), %xmm17, %xmm19
+vrangesd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangesd $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangesd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangesd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vrangess $ab, %xmm16, %xmm17, %xmm19
+vrangess $ab, (%rax), %xmm17, %xmm19
+vrangess $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangess $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangess $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangess $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vreducepd $ab, %zmm16, %zmm19
+vreducepd $ab, (%rax), %zmm19
+vreducepd $ab, (%rax){1to8}, %zmm19
+vreducepd $ab, %zmm16, %zmm19 {k1}
+vreducepd $ab, (%rax), %zmm19 {k1}
+vreducepd $ab, (%rax){1to8}, %zmm19 {k1}
+vreducepd $ab, %zmm16, %zmm19 {z}{k1}
+vreducepd $ab, (%rax), %zmm19 {z}{k1}
+vreducepd $ab, (%rax){1to8}, %zmm19 {z}{k1}
+
+vreducepd $ab, {sae}, %zmm16, %zmm19
+vreducepd $ab, {sae}, %zmm16, %zmm19 {k1}
+vreducepd $ab, {sae}, %zmm16, %zmm19 {z}{k1}
+
+vreduceps $ab, %zmm16, %zmm19
+vreduceps $ab, (%rax), %zmm19
+vreduceps $ab, (%rax){1to16}, %zmm19
+vreduceps $ab, %zmm16, %zmm19 {k1}
+vreduceps $ab, (%rax), %zmm19 {k1}
+vreduceps $ab, (%rax){1to16}, %zmm19 {k1}
+vreduceps $ab, %zmm16, %zmm19 {z}{k1}
+vreduceps $ab, (%rax), %zmm19 {z}{k1}
+vreduceps $ab, (%rax){1to16}, %zmm19 {z}{k1}
+
+vreduceps $ab, {sae}, %zmm16, %zmm19
+vreduceps $ab, {sae}, %zmm16, %zmm19 {k1}
+vreduceps $ab, {sae}, %zmm16, %zmm19 {z}{k1}
+
+vreducesd $ab, %xmm16, %xmm17, %xmm19
+vreducesd $ab, (%rax), %xmm17, %xmm19
+vreducesd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vreducesd $ab, (%rax), %xmm17, %xmm19 {k1}
+vreducesd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vreducesd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vreducess $ab, %xmm16, %xmm17, %xmm19
+vreducess $ab, (%rax), %xmm17, %xmm19
+vreducess $ab, %xmm16, %xmm17, %xmm19 {k1}
+vreducess $ab, (%rax), %xmm17, %xmm19 {k1}
+vreducess $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vreducess $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
vxorpd %zmm16, %zmm17, %zmm19
vxorpd (%rax), %zmm17, %zmm19
vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -172,12 +458,6 @@ vxorps %zmm16, %zmm17, %zmm19 {z}{k1}
vxorps (%rax), %zmm17, %zmm19 {z}{k1}
vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
-vpmovm2d %k0, %zmm0
-vpmovm2q %k0, %zmm0
-
-vpmovd2m %zmm0, %k0
-vpmovq2m %zmm0, %k0
-
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -191,11 +471,20 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.33 kaddw %k0, %k1, %k2
# CHECK-NEXT: 1 1 0.33 kandb %k0, %k1, %k2
# CHECK-NEXT: 1 1 0.33 kandnb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 0.33 kmovb %k0, %k2
+# CHECK-NEXT: 1 5 0.50 * kmovb (%rax), %k2
+# CHECK-NEXT: 1 1 1.00 * kmovb %k0, (%rax)
+# CHECK-NEXT: 1 1 0.33 kmovb %eax, %k2
+# CHECK-NEXT: 1 1 0.33 kmovb %k0, %eax
+# CHECK-NEXT: 1 1 0.33 knotb %k0, %k2
# CHECK-NEXT: 1 1 0.33 korb %k0, %k1, %k2
-# CHECK-NEXT: 1 1 0.33 kxnorb %k0, %k1, %k2
-# CHECK-NEXT: 1 1 0.33 kxorb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 0.33 kortestb %k0, %k2
# CHECK-NEXT: 1 1 1.00 kshiftlb $2, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kshiftrb $2, %k1, %k2
+# CHECK-NEXT: 1 1 0.33 ktestb %k0, %k2
+# CHECK-NEXT: 1 1 0.33 ktestw %k0, %k2
+# CHECK-NEXT: 1 1 0.33 kxnorb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 0.33 kxorb %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -256,6 +545,42 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 2 8 1.00 * vbroadcasti64x2 (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vbroadcasti64x2 (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %zmm16, %zmm19
# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %zmm19
# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to8}, %zmm19
@@ -274,24 +599,80 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: 1 1 1.00 vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: 1 1 1.00 vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: 2 10 1.00 * vfpclasspdz $171, (%rax), %k1
# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to8}, %k1
@@ -312,12 +693,150 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1
# CHECK-NEXT: 1 3 1.00 vfpclassss $171, %xmm16, %k1 {%k2}
# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 1 1 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 1 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 1 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 1 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 1 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: 3 5 1.00 * vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: 3 5 1.00 * vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: 2 2 1.00 vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: 2 2 1.00 vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
+# CHECK-NEXT: 1 1 0.33 vpmovd2m %zmm0, %k0
+# CHECK-NEXT: 1 1 0.33 vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vxorpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -336,10 +855,6 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
-# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
-# CHECK-NEXT: 1 1 0.33 vpmovd2m %zmm0, %k0
-# CHECK-NEXT: 1 1 0.33 vpmovq2m %zmm0, %k0
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@@ -353,7 +868,7 @@ vpmovq2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 10.00 41.00 - 111.00 46.50 46.50
+# CHECK-NEXT: - - 14.33 221.33 11.00 200.33 107.50 107.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -361,11 +876,20 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kaddw %k0, %k1, %k2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kandb %k0, %k1, %k2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kandnb %k0, %k1, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kmovb %k0, %k2
+# CHECK-NEXT: - - - - - - 0.50 0.50 kmovb (%rax), %k2
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 kmovb %k0, (%rax)
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kmovb %eax, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kmovb %k0, %eax
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - knotb %k0, %k2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - korb %k0, %k1, %k2
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kxnorb %k0, %k1, %k2
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kxorb %k0, %k1, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kortestb %k0, %k2
# CHECK-NEXT: - - - - - 1.00 - - kshiftlb $2, %k1, %k2
# CHECK-NEXT: - - - - - 1.00 - - kshiftrb $2, %k1, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - ktestb %k0, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - ktestw %k0, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kxnorb %k0, %k1, %k2
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kxorb %k0, %k1, %k2
# CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -426,6 +950,42 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vbroadcasti64x2 (%rax), %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vbroadcasti64x2 (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %zmm16, %zmm19
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %zmm19
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to8}, %zmm19
@@ -444,24 +1004,80 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdz $171, (%rax), %k1
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to8}, %k1
@@ -482,12 +1098,150 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassss $171, (%rax), %k1
# CHECK-NEXT: - - - 1.00 - - - - vfpclassss $171, %xmm16, %k1 {%k2}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: - - - 0.50 - 1.50 - - vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 1.50 - - vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %zmm0, %k0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vxorpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -506,7 +1260,3 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2q %k0, %zmm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %zmm0, %k0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
index d7d0c3a733fce..9157cdd246845 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
@@ -21,6 +21,26 @@ vandnpd %ymm16, %ymm17, %ymm19 {z}{k1}
vandnpd (%rax), %ymm17, %ymm19 {z}{k1}
vandnpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vandnps %xmm16, %xmm17, %xmm19
+vandnps (%rax), %xmm17, %xmm19
+vandnps (%rax){1to4}, %xmm17, %xmm19
+vandnps %xmm16, %xmm17, %xmm19 {k1}
+vandnps (%rax), %xmm17, %xmm19 {k1}
+vandnps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vandnps %xmm16, %xmm17, %xmm19 {z}{k1}
+vandnps (%rax), %xmm17, %xmm19 {z}{k1}
+vandnps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vandnps %ymm16, %ymm17, %ymm19
+vandnps (%rax), %ymm17, %ymm19
+vandnps (%rax){1to8}, %ymm17, %ymm19
+vandnps %ymm16, %ymm17, %ymm19 {k1}
+vandnps (%rax), %ymm17, %ymm19 {k1}
+vandnps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vandnps %ymm16, %ymm17, %ymm19 {z}{k1}
+vandnps (%rax), %ymm17, %ymm19 {z}{k1}
+vandnps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vandpd %xmm16, %xmm17, %xmm19
vandpd (%rax), %xmm17, %xmm19
vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -90,6 +110,86 @@ vbroadcasti64x2 (%rax), %ymm19
vbroadcasti64x2 (%rax), %ymm19 {k1}
vbroadcasti64x2 (%rax), %ymm19 {z}{k1}
+vcvtpd2qq %xmm16, %xmm19
+vcvtpd2qq (%rax), %xmm19
+vcvtpd2qq (%rax){1to2}, %xmm19
+vcvtpd2qq %xmm16, %xmm19 {k1}
+vcvtpd2qq (%rax), %xmm19 {k1}
+vcvtpd2qq (%rax){1to2}, %xmm19 {k1}
+vcvtpd2qq %xmm16, %xmm19 {z}{k1}
+vcvtpd2qq (%rax), %xmm19 {z}{k1}
+vcvtpd2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtpd2qq %ymm16, %ymm19
+vcvtpd2qq (%rax), %ymm19
+vcvtpd2qq (%rax){1to4}, %ymm19
+vcvtpd2qq %ymm16, %ymm19 {k1}
+vcvtpd2qq (%rax), %ymm19 {k1}
+vcvtpd2qq (%rax){1to4}, %ymm19 {k1}
+vcvtpd2qq %ymm16, %ymm19 {z}{k1}
+vcvtpd2qq (%rax), %ymm19 {z}{k1}
+vcvtpd2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtpd2uqq %xmm16, %xmm19
+vcvtpd2uqq (%rax), %xmm19
+vcvtpd2uqq (%rax){1to2}, %xmm19
+vcvtpd2uqq %xmm16, %xmm19 {k1}
+vcvtpd2uqq (%rax), %xmm19 {k1}
+vcvtpd2uqq (%rax){1to2}, %xmm19 {k1}
+vcvtpd2uqq %xmm16, %xmm19 {z}{k1}
+vcvtpd2uqq (%rax), %xmm19 {z}{k1}
+vcvtpd2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtpd2uqq %ymm16, %ymm19
+vcvtpd2uqq (%rax), %ymm19
+vcvtpd2uqq (%rax){1to4}, %ymm19
+vcvtpd2uqq %ymm16, %ymm19 {k1}
+vcvtpd2uqq (%rax), %ymm19 {k1}
+vcvtpd2uqq (%rax){1to4}, %ymm19 {k1}
+vcvtpd2uqq %ymm16, %ymm19 {z}{k1}
+vcvtpd2uqq (%rax), %ymm19 {z}{k1}
+vcvtpd2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtps2qq %xmm16, %xmm19
+vcvtps2qq (%rax), %xmm19
+vcvtps2qq (%rax){1to2}, %xmm19
+vcvtps2qq %xmm16, %xmm19 {k1}
+vcvtps2qq (%rax), %xmm19 {k1}
+vcvtps2qq (%rax){1to2}, %xmm19 {k1}
+vcvtps2qq %xmm16, %xmm19 {z}{k1}
+vcvtps2qq (%rax), %xmm19 {z}{k1}
+vcvtps2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtps2qq %xmm16, %ymm19
+vcvtps2qq (%rax), %ymm19
+vcvtps2qq (%rax){1to4}, %ymm19
+vcvtps2qq %xmm16, %ymm19 {k1}
+vcvtps2qq (%rax), %ymm19 {k1}
+vcvtps2qq (%rax){1to4}, %ymm19 {k1}
+vcvtps2qq %xmm16, %ymm19 {z}{k1}
+vcvtps2qq (%rax), %ymm19 {z}{k1}
+vcvtps2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtps2uqq %xmm16, %xmm19
+vcvtps2uqq (%rax), %xmm19
+vcvtps2uqq (%rax){1to2}, %xmm19
+vcvtps2uqq %xmm16, %xmm19 {k1}
+vcvtps2uqq (%rax), %xmm19 {k1}
+vcvtps2uqq (%rax){1to2}, %xmm19 {k1}
+vcvtps2uqq %xmm16, %xmm19 {z}{k1}
+vcvtps2uqq (%rax), %xmm19 {z}{k1}
+vcvtps2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtps2uqq %xmm16, %ymm19
+vcvtps2uqq (%rax), %ymm19
+vcvtps2uqq (%rax){1to4}, %ymm19
+vcvtps2uqq %xmm16, %ymm19 {k1}
+vcvtps2uqq (%rax), %ymm19 {k1}
+vcvtps2uqq (%rax){1to4}, %ymm19 {k1}
+vcvtps2uqq %xmm16, %ymm19 {z}{k1}
+vcvtps2uqq (%rax), %ymm19 {z}{k1}
+vcvtps2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
vcvtqq2pd %xmm16, %xmm19
vcvtqq2pd (%rax), %xmm19
vcvtqq2pd (%rax){1to2}, %xmm19
@@ -110,6 +210,212 @@ vcvtqq2pd %ymm16, %ymm19 {z}{k1}
vcvtqq2pd (%rax), %ymm19 {z}{k1}
vcvtqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+vcvtqq2ps %xmm16, %xmm19
+vcvtqq2psx (%rax), %xmm19
+vcvtqq2ps (%rax){1to2}, %xmm19
+vcvtqq2ps %xmm16, %xmm19 {k1}
+vcvtqq2psx (%rax), %xmm19 {k1}
+vcvtqq2ps (%rax){1to2}, %xmm19 {k1}
+vcvtqq2ps %xmm16, %xmm19 {z}{k1}
+vcvtqq2psx (%rax), %xmm19 {z}{k1}
+vcvtqq2ps (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtqq2ps %ymm16, %xmm19
+vcvtqq2psx (%rax), %xmm19
+vcvtqq2ps (%rax){1to4}, %xmm19
+vcvtqq2ps %ymm16, %xmm19 {k1}
+vcvtqq2psx (%rax), %xmm19 {k1}
+vcvtqq2ps (%rax){1to4}, %xmm19 {k1}
+vcvtqq2ps %ymm16, %xmm19 {z}{k1}
+vcvtqq2psx (%rax), %xmm19 {z}{k1}
+vcvtqq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vcvttpd2qq %xmm16, %xmm19
+vcvttpd2qq (%rax), %xmm19
+vcvttpd2qq (%rax){1to2}, %xmm19
+vcvttpd2qq %xmm16, %xmm19 {k1}
+vcvttpd2qq (%rax), %xmm19 {k1}
+vcvttpd2qq (%rax){1to2}, %xmm19 {k1}
+vcvttpd2qq %xmm16, %xmm19 {z}{k1}
+vcvttpd2qq (%rax), %xmm19 {z}{k1}
+vcvttpd2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttpd2qq %ymm16, %ymm19
+vcvttpd2qq (%rax), %ymm19
+vcvttpd2qq (%rax){1to4}, %ymm19
+vcvttpd2qq %ymm16, %ymm19 {k1}
+vcvttpd2qq (%rax), %ymm19 {k1}
+vcvttpd2qq (%rax){1to4}, %ymm19 {k1}
+vcvttpd2qq %ymm16, %ymm19 {z}{k1}
+vcvttpd2qq (%rax), %ymm19 {z}{k1}
+vcvttpd2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttpd2uqq %xmm16, %xmm19
+vcvttpd2uqq (%rax), %xmm19
+vcvttpd2uqq (%rax){1to2}, %xmm19
+vcvttpd2uqq %xmm16, %xmm19 {k1}
+vcvttpd2uqq (%rax), %xmm19 {k1}
+vcvttpd2uqq (%rax){1to2}, %xmm19 {k1}
+vcvttpd2uqq %xmm16, %xmm19 {z}{k1}
+vcvttpd2uqq (%rax), %xmm19 {z}{k1}
+vcvttpd2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttpd2uqq %ymm16, %ymm19
+vcvttpd2uqq (%rax), %ymm19
+vcvttpd2uqq (%rax){1to4}, %ymm19
+vcvttpd2uqq %ymm16, %ymm19 {k1}
+vcvttpd2uqq (%rax), %ymm19 {k1}
+vcvttpd2uqq (%rax){1to4}, %ymm19 {k1}
+vcvttpd2uqq %ymm16, %ymm19 {z}{k1}
+vcvttpd2uqq (%rax), %ymm19 {z}{k1}
+vcvttpd2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttps2qq %xmm16, %xmm19
+vcvttps2qq (%rax), %xmm19
+vcvttps2qq (%rax){1to2}, %xmm19
+vcvttps2qq %xmm16, %xmm19 {k1}
+vcvttps2qq (%rax), %xmm19 {k1}
+vcvttps2qq (%rax){1to2}, %xmm19 {k1}
+vcvttps2qq %xmm16, %xmm19 {z}{k1}
+vcvttps2qq (%rax), %xmm19 {z}{k1}
+vcvttps2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttps2qq %xmm16, %ymm19
+vcvttps2qq (%rax), %ymm19
+vcvttps2qq (%rax){1to4}, %ymm19
+vcvttps2qq %xmm16, %ymm19 {k1}
+vcvttps2qq (%rax), %ymm19 {k1}
+vcvttps2qq (%rax){1to4}, %ymm19 {k1}
+vcvttps2qq %xmm16, %ymm19 {z}{k1}
+vcvttps2qq (%rax), %ymm19 {z}{k1}
+vcvttps2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttps2uqq %xmm16, %xmm19
+vcvttps2uqq (%rax), %xmm19
+vcvttps2uqq (%rax){1to2}, %xmm19
+vcvttps2uqq %xmm16, %xmm19 {k1}
+vcvttps2uqq (%rax), %xmm19 {k1}
+vcvttps2uqq (%rax){1to2}, %xmm19 {k1}
+vcvttps2uqq %xmm16, %xmm19 {z}{k1}
+vcvttps2uqq (%rax), %xmm19 {z}{k1}
+vcvttps2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttps2uqq %xmm16, %ymm19
+vcvttps2uqq (%rax), %ymm19
+vcvttps2uqq (%rax){1to4}, %ymm19
+vcvttps2uqq %xmm16, %ymm19 {k1}
+vcvttps2uqq (%rax), %ymm19 {k1}
+vcvttps2uqq (%rax){1to4}, %ymm19 {k1}
+vcvttps2uqq %xmm16, %ymm19 {z}{k1}
+vcvttps2uqq (%rax), %ymm19 {z}{k1}
+vcvttps2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtuqq2pd %xmm16, %xmm19
+vcvtuqq2pd (%rax), %xmm19
+vcvtuqq2pd (%rax){1to2}, %xmm19
+vcvtuqq2pd %xmm16, %xmm19 {k1}
+vcvtuqq2pd (%rax), %xmm19 {k1}
+vcvtuqq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtuqq2pd %xmm16, %xmm19 {z}{k1}
+vcvtuqq2pd (%rax), %xmm19 {z}{k1}
+vcvtuqq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtuqq2pd %ymm16, %ymm19
+vcvtuqq2pd (%rax), %ymm19
+vcvtuqq2pd (%rax){1to4}, %ymm19
+vcvtuqq2pd %ymm16, %ymm19 {k1}
+vcvtuqq2pd (%rax), %ymm19 {k1}
+vcvtuqq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtuqq2pd %ymm16, %ymm19 {z}{k1}
+vcvtuqq2pd (%rax), %ymm19 {z}{k1}
+vcvtuqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtuqq2ps %xmm16, %xmm19
+vcvtuqq2psx (%rax), %xmm19
+vcvtuqq2ps (%rax){1to2}, %xmm19
+vcvtuqq2ps %xmm16, %xmm19 {k1}
+vcvtuqq2psx (%rax), %xmm19 {k1}
+vcvtuqq2ps (%rax){1to2}, %xmm19 {k1}
+vcvtuqq2ps %xmm16, %xmm19 {z}{k1}
+vcvtuqq2psx (%rax), %xmm19 {z}{k1}
+vcvtuqq2ps (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtuqq2ps %ymm16, %xmm19
+vcvtuqq2psx (%rax), %xmm19
+vcvtuqq2ps (%rax){1to4}, %xmm19
+vcvtuqq2ps %ymm16, %xmm19 {k1}
+vcvtuqq2psx (%rax), %xmm19 {k1}
+vcvtuqq2ps (%rax){1to4}, %xmm19 {k1}
+vcvtuqq2ps %ymm16, %xmm19 {z}{k1}
+vcvtuqq2psx (%rax), %xmm19 {z}{k1}
+vcvtuqq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vextractf64x2 $1, %ymm16, %xmm19
+vextractf64x2 $1, %ymm16, (%rax)
+vextractf64x2 $1, %ymm16, %xmm19 {k1}
+vextractf64x2 $1, %ymm16, (%rax) {k1}
+vextractf64x2 $1, %ymm16, %xmm19 {z}{k1}
+
+vextracti64x2 $1, %ymm16, %xmm19
+vextracti64x2 $1, %ymm16, (%rax)
+vextracti64x2 $1, %ymm16, %xmm19 {k1}
+vextracti64x2 $1, %ymm16, (%rax) {k1}
+vextracti64x2 $1, %ymm16, %xmm19 {z}{k1}
+
+vfpclasspd $0xab, %xmm16, %k1
+vfpclasspdx $0xab, (%rax), %k1
+vfpclasspdx $0xab, (%rax){1to2}, %k1
+vfpclasspd $0xab, %xmm16, %k1 {k2}
+vfpclasspdx $0xab, (%rax), %k1 {k2}
+vfpclasspdx $0xab, (%rax){1to2}, %k1 {k2}
+
+vfpclasspd $0xab, %ymm16, %k1
+vfpclasspdy $0xab, (%rax), %k1
+vfpclasspdy $0xab, (%rax){1to4}, %k1
+vfpclasspd $0xab, %ymm16, %k1 {k2}
+vfpclasspdy $0xab, (%rax), %k1 {k2}
+vfpclasspdy $0xab, (%rax){1to4}, %k1 {k2}
+
+vfpclassps $0xab, %xmm16, %k1
+vfpclasspsx $0xab, (%rax), %k1
+vfpclasspsx $0xab, (%rax){1to4}, %k1
+vfpclassps $0xab, %xmm16, %k1 {k2}
+vfpclasspsx $0xab, (%rax), %k1 {k2}
+vfpclasspsx $0xab, (%rax){1to4}, %k1 {k2}
+
+vfpclassps $0xab, %ymm16, %k1
+vfpclasspsy $0xab, (%rax), %k1
+vfpclasspsy $0xab, (%rax){1to8}, %k1
+vfpclassps $0xab, %ymm16, %k1 {k2}
+vfpclasspsy $0xab, (%rax), %k1 {k2}
+vfpclasspsy $0xab, (%rax){1to8}, %k1 {k2}
+
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {k1}
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {k1}
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {z}{k1}
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {z}{k1}
+
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+vinserti64x2 $1, (%rax), %ymm16, %ymm19
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {k1}
+vinserti64x2 $1, (%rax), %ymm16, %ymm19 {k1}
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {z}{k1}
+vinserti64x2 $1, (%rax), %ymm16, %ymm19 {z}{k1}
+
+vpmovm2d %k0, %xmm0
+vpmovm2q %k0, %xmm0
+
+vpmovm2d %k0, %ymm0
+vpmovm2q %k0, %ymm0
+
+vpmovd2m %xmm0, %k0
+vpmovq2m %xmm0, %k0
+
+vpmovd2m %ymm0, %k0
+vpmovq2m %ymm0, %k0
+
vorpd %xmm16, %xmm17, %xmm19
vorpd (%rax), %xmm17, %xmm19
vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -150,34 +456,6 @@ vorps %ymm16, %ymm17, %ymm19 {z}{k1}
vorps (%rax), %ymm17, %ymm19 {z}{k1}
vorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
-vfpclasspd $0xab, %xmm16, %k1
-vfpclasspdx $0xab, (%rax), %k1
-vfpclasspdx $0xab, (%rax){1to2}, %k1
-vfpclasspd $0xab, %xmm16, %k1 {k2}
-vfpclasspdx $0xab, (%rax), %k1 {k2}
-vfpclasspdx $0xab, (%rax){1to2}, %k1 {k2}
-
-vfpclasspd $0xab, %ymm16, %k1
-vfpclasspdy $0xab, (%rax), %k1
-vfpclasspdy $0xab, (%rax){1to4}, %k1
-vfpclasspd $0xab, %ymm16, %k1 {k2}
-vfpclasspdy $0xab, (%rax), %k1 {k2}
-vfpclasspdy $0xab, (%rax){1to4}, %k1 {k2}
-
-vfpclassps $0xab, %xmm16, %k1
-vfpclasspsx $0xab, (%rax), %k1
-vfpclasspsx $0xab, (%rax){1to4}, %k1
-vfpclassps $0xab, %xmm16, %k1 {k2}
-vfpclasspsx $0xab, (%rax), %k1 {k2}
-vfpclasspsx $0xab, (%rax){1to4}, %k1 {k2}
-
-vfpclassps $0xab, %ymm16, %k1
-vfpclasspsy $0xab, (%rax), %k1
-vfpclasspsy $0xab, (%rax){1to8}, %k1
-vfpclassps $0xab, %ymm16, %k1 {k2}
-vfpclasspsy $0xab, (%rax), %k1 {k2}
-vfpclasspsy $0xab, (%rax){1to8}, %k1 {k2}
-
vpmullq %xmm16, %xmm17, %xmm19
vpmullq (%rax), %xmm17, %xmm19
vpmullq %xmm16, %xmm17, %xmm19 {k1}
@@ -192,6 +470,86 @@ vpmullq (%rax), %ymm17, %ymm19 {k1}
vpmullq %ymm16, %ymm17, %ymm19 {z}{k1}
vpmullq (%rax), %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, %xmm16, %xmm17, %xmm19
+vrangepd $ab, (%rax), %xmm17, %xmm19
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+vrangepd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangepd $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vrangepd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangepd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vrangepd $ab, %ymm16, %ymm17, %ymm19
+vrangepd $ab, (%rax), %ymm17, %ymm19
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+vrangepd $ab, %ymm16, %ymm17, %ymm19 {k1}
+vrangepd $ab, (%rax), %ymm17, %ymm19 {k1}
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vrangepd $ab, %ymm16, %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, (%rax), %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vrangeps $ab, %xmm16, %xmm17, %xmm19
+vrangeps $ab, (%rax), %xmm17, %xmm19
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+vrangeps $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangeps $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vrangeps $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangeps $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vrangeps $ab, %ymm16, %ymm17, %ymm19
+vrangeps $ab, (%rax), %ymm17, %ymm19
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+vrangeps $ab, %ymm16, %ymm17, %ymm19 {k1}
+vrangeps $ab, (%rax), %ymm17, %ymm19 {k1}
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vrangeps $ab, %ymm16, %ymm17, %ymm19 {z}{k1}
+vrangeps $ab, (%rax), %ymm17, %ymm19 {z}{k1}
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vreducepd $ab, %xmm16, %xmm19
+vreducepd $ab, (%rax), %xmm19
+vreducepd $ab, (%rax){1to2}, %xmm19
+vreducepd $ab, %xmm16, %xmm19 {k1}
+vreducepd $ab, (%rax), %xmm19 {k1}
+vreducepd $ab, (%rax){1to2}, %xmm19 {k1}
+vreducepd $ab, %xmm16, %xmm19 {z}{k1}
+vreducepd $ab, (%rax), %xmm19 {z}{k1}
+vreducepd $ab, (%rax){1to2}, %xmm19 {z}{k1}
+
+vreducepd $ab, %ymm16, %ymm19
+vreducepd $ab, (%rax), %ymm19
+vreducepd $ab, (%rax){1to4}, %ymm19
+vreducepd $ab, %ymm16, %ymm19 {k1}
+vreducepd $ab, (%rax), %ymm19 {k1}
+vreducepd $ab, (%rax){1to4}, %ymm19 {k1}
+vreducepd $ab, %ymm16, %ymm19 {z}{k1}
+vreducepd $ab, (%rax), %ymm19 {z}{k1}
+vreducepd $ab, (%rax){1to4}, %ymm19 {z}{k1}
+
+vreduceps $ab, %xmm16, %xmm19
+vreduceps $ab, (%rax), %xmm19
+vreduceps $ab, (%rax){1to4}, %xmm19
+vreduceps $ab, %xmm16, %xmm19 {k1}
+vreduceps $ab, (%rax), %xmm19 {k1}
+vreduceps $ab, (%rax){1to4}, %xmm19 {k1}
+vreduceps $ab, %xmm16, %xmm19 {z}{k1}
+vreduceps $ab, (%rax), %xmm19 {z}{k1}
+vreduceps $ab, (%rax){1to4}, %xmm19 {z}{k1}
+
+vreduceps $ab, %ymm16, %ymm19
+vreduceps $ab, (%rax), %ymm19
+vreduceps $ab, (%rax){1to8}, %ymm19
+vreduceps $ab, %ymm16, %ymm19 {k1}
+vreduceps $ab, (%rax), %ymm19 {k1}
+vreduceps $ab, (%rax){1to8}, %ymm19 {k1}
+vreduceps $ab, %ymm16, %ymm19 {z}{k1}
+vreduceps $ab, (%rax), %ymm19 {z}{k1}
+vreduceps $ab, (%rax){1to8}, %ymm19 {z}{k1}
+
vxorpd %xmm16, %xmm17, %xmm19
vxorpd (%rax), %xmm17, %xmm19
vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -232,18 +590,6 @@ vxorps %ymm16, %ymm17, %ymm19 {z}{k1}
vxorps (%rax), %ymm17, %ymm19 {z}{k1}
vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
-vpmovm2d %k0, %xmm0
-vpmovm2q %k0, %xmm0
-
-vpmovm2d %k0, %ymm0
-vpmovm2q %k0, %ymm0
-
-vpmovd2m %xmm0, %k0
-vpmovq2m %xmm0, %k0
-
-vpmovd2m %ymm0, %k0
-vpmovq2m %ymm0, %k0
-
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -271,6 +617,24 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 1.00 vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 1.00 vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vandpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vandpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -331,6 +695,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 2 8 1.00 * vbroadcasti64x2 (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * vbroadcasti64x2 (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %xmm16, %xmm19
# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %xmm19
# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to2}, %xmm19
@@ -349,6 +785,186 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 11 1.00 * vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 * vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: 2 9 1.00 * vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: 2 9 1.00 * vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: 2 9 1.00 * vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 9 1.00 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: 2 9 1.00 * vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: 2 9 1.00 * vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: 2 9 1.00 * vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 9 1.00 * vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: 1 1 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: 1 1 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: 1 1 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %ymm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovd2m %xmm0, %k0
+# CHECK-NEXT: 1 1 0.33 vpmovq2m %xmm0, %k0
+# CHECK-NEXT: 1 1 0.33 vpmovd2m %ymm0, %k0
+# CHECK-NEXT: 1 1 0.33 vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 1.00 vorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -385,30 +1001,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 1.00 vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: 2 9 1.00 * vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: 2 9 1.00 * vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: 2 9 1.00 * vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 9 1.00 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: 2 9 1.00 * vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: 2 9 1.00 * vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: 2 9 1.00 * vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 9 1.00 * vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2}
# CHECK-NEXT: 1 5 1.00 vpmullq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 11 1.00 * vpmullq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 5 1.00 vpmullq %xmm16, %xmm17, %xmm19 {%k1}
@@ -421,6 +1013,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 5 1.00 vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vxorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -457,14 +1121,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 1.00 vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
-# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %ymm0
-# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %ymm0
-# CHECK-NEXT: 1 1 0.33 vpmovd2m %xmm0, %k0
-# CHECK-NEXT: 1 1 0.33 vpmovq2m %xmm0, %k0
-# CHECK-NEXT: 1 1 0.33 vpmovd2m %ymm0, %k0
-# CHECK-NEXT: 1 1 0.33 vpmovq2m %ymm0, %k0
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@@ -478,7 +1134,7 @@ vpmovq2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 15.00 45.50 - 169.50 66.50 66.50
+# CHECK-NEXT: - - 15.00 315.50 4.00 295.50 167.50 167.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -500,6 +1156,24 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vandpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -560,6 +1234,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vbroadcasti64x2 (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vbroadcasti64x2 (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %xmm16, %xmm19
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %xmm19
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to2}, %xmm19
@@ -578,6 +1324,186 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2d %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2q %k0, %xmm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %xmm0, %k0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %xmm0, %k0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %ymm0, %k0
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - vorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -614,30 +1540,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to8}, %k1 {%k2}
# CHECK-NEXT: - - 1.00 - - - - - vpmullq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 1.00 - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1}
@@ -650,6 +1552,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - 1.00 - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vxorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -686,11 +1660,3 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2d %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2q %k0, %ymm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %xmm0, %k0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %xmm0, %k0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %ymm0, %k0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
index b74428fffa334..ef4b40d5d0f14 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
@@ -5,12 +5,28 @@ kaddb %k0, %k1, %k2
kaddw %k0, %k1, %k2
kandb %k0, %k1, %k2
kandnb %k0, %k1, %k2
+
+kmovb %k0, %k2
+kmovb (%rax), %k2
+kmovb %k0, (%rax)
+kmovb %eax, %k2
+kmovb %k0, %eax
+
+knotb %k0, %k2
+
korb %k0, %k1, %k2
-kxnorb %k0, %k1, %k2
-kxorb %k0, %k1, %k2
+
+kortestb %k0, %k2
+
kshiftlb $2, %k1, %k2
kshiftrb $2, %k1, %k2
+ktestb %k0, %k2
+ktestw %k0, %k2
+
+kxnorb %k0, %k1, %k2
+kxorb %k0, %k1, %k2
+
vandnpd %zmm16, %zmm17, %zmm19
vandnpd (%rax), %zmm17, %zmm19
vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -81,6 +97,46 @@ vbroadcasti64x2 (%rax), %zmm19
vbroadcasti64x2 (%rax), %zmm19 {k1}
vbroadcasti64x2 (%rax), %zmm19 {z}{k1}
+vcvtpd2qq %zmm16, %zmm19
+vcvtpd2qq (%rax), %zmm19
+vcvtpd2qq (%rax){1to8}, %zmm19
+vcvtpd2qq %zmm16, %zmm19 {k1}
+vcvtpd2qq (%rax), %zmm19 {k1}
+vcvtpd2qq (%rax){1to8}, %zmm19 {k1}
+vcvtpd2qq %zmm16, %zmm19 {z}{k1}
+vcvtpd2qq (%rax), %zmm19 {z}{k1}
+vcvtpd2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtpd2uqq %zmm16, %zmm19
+vcvtpd2uqq (%rax), %zmm19
+vcvtpd2uqq (%rax){1to8}, %zmm19
+vcvtpd2uqq %zmm16, %zmm19 {k1}
+vcvtpd2uqq (%rax), %zmm19 {k1}
+vcvtpd2uqq (%rax){1to8}, %zmm19 {k1}
+vcvtpd2uqq %zmm16, %zmm19 {z}{k1}
+vcvtpd2uqq (%rax), %zmm19 {z}{k1}
+vcvtpd2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtps2qq %ymm16, %zmm19
+vcvtps2qq (%rax), %zmm19
+vcvtps2qq (%rax){1to8}, %zmm19
+vcvtps2qq %ymm16, %zmm19 {k1}
+vcvtps2qq (%rax), %zmm19 {k1}
+vcvtps2qq (%rax){1to8}, %zmm19 {k1}
+vcvtps2qq %ymm16, %zmm19 {z}{k1}
+vcvtps2qq (%rax), %zmm19 {z}{k1}
+vcvtps2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtps2uqq %ymm16, %zmm19
+vcvtps2uqq (%rax), %zmm19
+vcvtps2uqq (%rax){1to8}, %zmm19
+vcvtps2uqq %ymm16, %zmm19 {k1}
+vcvtps2uqq (%rax), %zmm19 {k1}
+vcvtps2uqq (%rax){1to8}, %zmm19 {k1}
+vcvtps2uqq %ymm16, %zmm19 {z}{k1}
+vcvtps2uqq (%rax), %zmm19 {z}{k1}
+vcvtps2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
vcvtqq2pd %zmm16, %zmm19
vcvtqq2pd (%rax), %zmm19
vcvtqq2pd (%rax){1to8}, %zmm19
@@ -101,25 +157,89 @@ vcvtqq2ps %zmm16, %ymm19 {z}{k1}
vcvtqq2ps (%rax), %ymm19 {z}{k1}
vcvtqq2ps (%rax){1to8}, %ymm19 {z}{k1}
-vorpd %zmm16, %zmm17, %zmm19
-vorpd (%rax), %zmm17, %zmm19
-vorpd (%rax){1to8}, %zmm17, %zmm19
-vorpd %zmm16, %zmm17, %zmm19 {k1}
-vorpd (%rax), %zmm17, %zmm19 {k1}
-vorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
-vorpd %zmm16, %zmm17, %zmm19 {z}{k1}
-vorpd (%rax), %zmm17, %zmm19 {z}{k1}
-vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vcvttpd2qq %zmm16, %zmm19
+vcvttpd2qq (%rax), %zmm19
+vcvttpd2qq (%rax){1to8}, %zmm19
+vcvttpd2qq %zmm16, %zmm19 {k1}
+vcvttpd2qq (%rax), %zmm19 {k1}
+vcvttpd2qq (%rax){1to8}, %zmm19 {k1}
+vcvttpd2qq %zmm16, %zmm19 {z}{k1}
+vcvttpd2qq (%rax), %zmm19 {z}{k1}
+vcvttpd2qq (%rax){1to8}, %zmm19 {z}{k1}
-vorps %zmm16, %zmm17, %zmm19
-vorps (%rax), %zmm17, %zmm19
-vorps (%rax){1to16}, %zmm17, %zmm19
-vorps %zmm16, %zmm17, %zmm19 {k1}
-vorps (%rax), %zmm17, %zmm19 {k1}
-vorps (%rax){1to16}, %zmm17, %zmm19 {k1}
-vorps %zmm16, %zmm17, %zmm19 {z}{k1}
-vorps (%rax), %zmm17, %zmm19 {z}{k1}
-vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vcvttpd2uqq %zmm16, %zmm19
+vcvttpd2uqq (%rax), %zmm19
+vcvttpd2uqq (%rax){1to8}, %zmm19
+vcvttpd2uqq %zmm16, %zmm19 {k1}
+vcvttpd2uqq (%rax), %zmm19 {k1}
+vcvttpd2uqq (%rax){1to8}, %zmm19 {k1}
+vcvttpd2uqq %zmm16, %zmm19 {z}{k1}
+vcvttpd2uqq (%rax), %zmm19 {z}{k1}
+vcvttpd2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvttps2qq %ymm16, %zmm19
+vcvttps2qq (%rax), %zmm19
+vcvttps2qq (%rax){1to8}, %zmm19
+vcvttps2qq %ymm16, %zmm19 {k1}
+vcvttps2qq (%rax), %zmm19 {k1}
+vcvttps2qq (%rax){1to8}, %zmm19 {k1}
+vcvttps2qq %ymm16, %zmm19 {z}{k1}
+vcvttps2qq (%rax), %zmm19 {z}{k1}
+vcvttps2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvttps2uqq %ymm16, %zmm19
+vcvttps2uqq (%rax), %zmm19
+vcvttps2uqq (%rax){1to8}, %zmm19
+vcvttps2uqq %ymm16, %zmm19 {k1}
+vcvttps2uqq (%rax), %zmm19 {k1}
+vcvttps2uqq (%rax){1to8}, %zmm19 {k1}
+vcvttps2uqq %ymm16, %zmm19 {z}{k1}
+vcvttps2uqq (%rax), %zmm19 {z}{k1}
+vcvttps2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtuqq2pd %zmm16, %zmm19
+vcvtuqq2pd (%rax), %zmm19
+vcvtuqq2pd (%rax){1to8}, %zmm19
+vcvtuqq2pd %zmm16, %zmm19 {k1}
+vcvtuqq2pd (%rax), %zmm19 {k1}
+vcvtuqq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtuqq2pd %zmm16, %zmm19 {z}{k1}
+vcvtuqq2pd (%rax), %zmm19 {z}{k1}
+vcvtuqq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtuqq2ps %zmm16, %ymm19
+vcvtuqq2ps (%rax), %ymm19
+vcvtuqq2ps (%rax){1to8}, %ymm19
+vcvtuqq2ps %zmm16, %ymm19 {k1}
+vcvtuqq2ps (%rax), %ymm19 {k1}
+vcvtuqq2ps (%rax){1to8}, %ymm19 {k1}
+vcvtuqq2ps %zmm16, %ymm19 {z}{k1}
+vcvtuqq2ps (%rax), %ymm19 {z}{k1}
+vcvtuqq2ps (%rax){1to8}, %ymm19 {z}{k1}
+
+vextractf32x8 $1, %zmm16, %ymm19
+vextractf32x8 $1, %zmm16, (%rax)
+vextractf32x8 $1, %zmm16, %ymm19 {k1}
+vextractf32x8 $1, %zmm16, (%rax) {k1}
+vextractf32x8 $1, %zmm16, %ymm19 {z}{k1}
+
+vextractf64x2 $1, %zmm16, %xmm19
+vextractf64x2 $1, %zmm16, (%rax)
+vextractf64x2 $1, %zmm16, %xmm19 {k1}
+vextractf64x2 $1, %zmm16, (%rax) {k1}
+vextractf64x2 $1, %zmm16, %xmm19 {z}{k1}
+
+vextracti32x8 $1, %zmm16, %ymm19
+vextracti32x8 $1, %zmm16, (%rax)
+vextracti32x8 $1, %zmm16, %ymm19 {k1}
+vextracti32x8 $1, %zmm16, (%rax) {k1}
+vextracti32x8 $1, %zmm16, %ymm19 {z}{k1}
+
+vextracti64x2 $1, %zmm16, %xmm19
+vextracti64x2 $1, %zmm16, (%rax)
+vextracti64x2 $1, %zmm16, %xmm19 {k1}
+vextracti64x2 $1, %zmm16, (%rax) {k1}
+vextracti64x2 $1, %zmm16, %xmm19 {z}{k1}
vfpclasspd $0xab, %zmm16, %k1
vfpclasspdz $0xab, (%rax), %k1
@@ -145,6 +265,72 @@ vfpclassss $0xab, (%rax), %k1
vfpclassss $0xab, %xmm16, %k1 {k2}
vfpclassss $0xab, (%rax), %k1 {k2}
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {k1}
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {k1}
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {z}{k1}
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {k1}
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {k1}
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {z}{k1}
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+vinserti32x8 $1, (%rax), %zmm16, %zmm19
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {k1}
+vinserti32x8 $1, (%rax), %zmm16, %zmm19 {k1}
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {z}{k1}
+vinserti32x8 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+vinserti64x2 $1, (%rax), %zmm16, %zmm19
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {k1}
+vinserti64x2 $1, (%rax), %zmm16, %zmm19 {k1}
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {z}{k1}
+vinserti64x2 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vorpd %zmm16, %zmm17, %zmm19
+vorpd (%rax), %zmm17, %zmm19
+vorpd (%rax){1to8}, %zmm17, %zmm19
+vorpd %zmm16, %zmm17, %zmm19 {k1}
+vorpd (%rax), %zmm17, %zmm19 {k1}
+vorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vorpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vorpd (%rax), %zmm17, %zmm19 {z}{k1}
+vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vorps %zmm16, %zmm17, %zmm19
+vorps (%rax), %zmm17, %zmm19
+vorps (%rax){1to16}, %zmm17, %zmm19
+vorps %zmm16, %zmm17, %zmm19 {k1}
+vorps (%rax), %zmm17, %zmm19 {k1}
+vorps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vorps %zmm16, %zmm17, %zmm19 {z}{k1}
+vorps (%rax), %zmm17, %zmm19 {z}{k1}
+vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vpextrd $1, %xmm16, %ecx
+vpextrd $1, %xmm16, (%rax)
+
+vpextrq $1, %xmm16, %rcx
+vpextrq $1, %xmm16, (%rax)
+
+vpinsrd $1, %ecx, %xmm16, %xmm19
+vpinsrd $1, (%rax), %xmm16, %xmm19
+
+vpinsrq $1, %rcx, %xmm16, %xmm19
+vpinsrq $1, (%rax), %xmm16, %xmm19
+
+vpmovm2d %k0, %zmm0
+vpmovm2q %k0, %zmm0
+
+vpmovd2m %zmm0, %k0
+vpmovq2m %zmm0, %k0
+
vpmullq %zmm16, %zmm17, %zmm19
vpmullq (%rax), %zmm17, %zmm19
vpmullq %zmm16, %zmm17, %zmm19 {k1}
@@ -152,6 +338,106 @@ vpmullq (%rax), %zmm17, %zmm19 {k1}
vpmullq %zmm16, %zmm17, %zmm19 {z}{k1}
vpmullq (%rax), %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, %zmm16, %zmm17, %zmm19
+vrangepd $ab, (%rax), %zmm17, %zmm19
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+vrangepd $ab, %zmm16, %zmm17, %zmm19 {k1}
+vrangepd $ab, (%rax), %zmm17, %zmm19 {k1}
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vrangepd $ab, %zmm16, %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, (%rax), %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {k1}
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {z}{k1}
+
+vrangeps $ab, %zmm16, %zmm17, %zmm19
+vrangeps $ab, (%rax), %zmm17, %zmm19
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+vrangeps $ab, %zmm16, %zmm17, %zmm19 {k1}
+vrangeps $ab, (%rax), %zmm17, %zmm19 {k1}
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vrangeps $ab, %zmm16, %zmm17, %zmm19 {z}{k1}
+vrangeps $ab, (%rax), %zmm17, %zmm19 {z}{k1}
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {k1}
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {z}{k1}
+
+vrangesd $ab, %xmm16, %xmm17, %xmm19
+vrangesd $ab, (%rax), %xmm17, %xmm19
+vrangesd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangesd $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangesd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangesd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vrangess $ab, %xmm16, %xmm17, %xmm19
+vrangess $ab, (%rax), %xmm17, %xmm19
+vrangess $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangess $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangess $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangess $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vreducepd $ab, %zmm16, %zmm19
+vreducepd $ab, (%rax), %zmm19
+vreducepd $ab, (%rax){1to8}, %zmm19
+vreducepd $ab, %zmm16, %zmm19 {k1}
+vreducepd $ab, (%rax), %zmm19 {k1}
+vreducepd $ab, (%rax){1to8}, %zmm19 {k1}
+vreducepd $ab, %zmm16, %zmm19 {z}{k1}
+vreducepd $ab, (%rax), %zmm19 {z}{k1}
+vreducepd $ab, (%rax){1to8}, %zmm19 {z}{k1}
+
+vreducepd $ab, {sae}, %zmm16, %zmm19
+vreducepd $ab, {sae}, %zmm16, %zmm19 {k1}
+vreducepd $ab, {sae}, %zmm16, %zmm19 {z}{k1}
+
+vreduceps $ab, %zmm16, %zmm19
+vreduceps $ab, (%rax), %zmm19
+vreduceps $ab, (%rax){1to16}, %zmm19
+vreduceps $ab, %zmm16, %zmm19 {k1}
+vreduceps $ab, (%rax), %zmm19 {k1}
+vreduceps $ab, (%rax){1to16}, %zmm19 {k1}
+vreduceps $ab, %zmm16, %zmm19 {z}{k1}
+vreduceps $ab, (%rax), %zmm19 {z}{k1}
+vreduceps $ab, (%rax){1to16}, %zmm19 {z}{k1}
+
+vreduceps $ab, {sae}, %zmm16, %zmm19
+vreduceps $ab, {sae}, %zmm16, %zmm19 {k1}
+vreduceps $ab, {sae}, %zmm16, %zmm19 {z}{k1}
+
+vreducesd $ab, %xmm16, %xmm17, %xmm19
+vreducesd $ab, (%rax), %xmm17, %xmm19
+vreducesd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vreducesd $ab, (%rax), %xmm17, %xmm19 {k1}
+vreducesd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vreducesd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vreducess $ab, %xmm16, %xmm17, %xmm19
+vreducess $ab, (%rax), %xmm17, %xmm19
+vreducess $ab, %xmm16, %xmm17, %xmm19 {k1}
+vreducess $ab, (%rax), %xmm17, %xmm19 {k1}
+vreducess $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vreducess $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
vxorpd %zmm16, %zmm17, %zmm19
vxorpd (%rax), %zmm17, %zmm19
vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -172,12 +458,6 @@ vxorps %zmm16, %zmm17, %zmm19 {z}{k1}
vxorps (%rax), %zmm17, %zmm19 {z}{k1}
vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
-vpmovm2d %k0, %zmm0
-vpmovm2q %k0, %zmm0
-
-vpmovd2m %zmm0, %k0
-vpmovq2m %zmm0, %k0
-
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -191,11 +471,20 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 4 1.00 kaddw %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kandb %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kandnb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 1.00 kmovb %k0, %k2
+# CHECK-NEXT: 3 7 1.00 * kmovb (%rax), %k2
+# CHECK-NEXT: 2 1 1.00 * kmovb %k0, (%rax)
+# CHECK-NEXT: 1 1 1.00 kmovb %eax, %k2
+# CHECK-NEXT: 1 3 1.00 kmovb %k0, %eax
+# CHECK-NEXT: 1 1 1.00 knotb %k0, %k2
# CHECK-NEXT: 1 1 1.00 korb %k0, %k1, %k2
-# CHECK-NEXT: 1 1 1.00 kxnorb %k0, %k1, %k2
-# CHECK-NEXT: 1 1 1.00 kxorb %k0, %k1, %k2
+# CHECK-NEXT: 1 3 1.00 kortestb %k0, %k2
# CHECK-NEXT: 1 4 1.00 kshiftlb $2, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kshiftrb $2, %k1, %k2
+# CHECK-NEXT: 1 3 1.00 ktestb %k0, %k2
+# CHECK-NEXT: 1 3 1.00 ktestw %k0, %k2
+# CHECK-NEXT: 1 1 1.00 kxnorb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 1.00 kxorb %k0, %k1, %k2
# CHECK-NEXT: 1 1 0.50 vandnpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -256,6 +545,42 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %zmm19
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %zmm16, %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to8}, %zmm19
@@ -274,24 +599,80 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 4 0.50 vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: 2 1 1.00 vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: 2 1 1.00 vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: 2 11 1.00 * vfpclasspdz $171, (%rax), %k1
# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to8}, %k1
@@ -312,12 +693,150 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1
# CHECK-NEXT: 1 4 1.00 vfpclassss $171, %xmm16, %k1 {%k2}
# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
+# CHECK-NEXT: 1 1 1.00 vpmovd2m %zmm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovq2m %zmm0, %k0
# CHECK-NEXT: 3 15 3.00 vpmullq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 22 3.00 * vpmullq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 3 15 3.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 4 22 3.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 3 15 3.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 22 3.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vxorpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -336,10 +855,6 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.50 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
-# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
-# CHECK-NEXT: 1 1 1.00 vpmovd2m %zmm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovq2m %zmm0, %k0
# CHECK: Resources:
# CHECK-NEXT: [0] - ICXDivider
@@ -357,7 +872,7 @@ vpmovq2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 77.00 12.00 46.50 46.50 - 83.00 - - - -
+# CHECK-NEXT: - - 197.25 73.25 105.67 105.67 11.00 209.25 0.25 3.67 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -365,11 +880,20 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - - - - 1.00 - - - - kaddw %k0, %k1, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kandb %k0, %k1, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kandnb %k0, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovb %k0, %k2
+# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 1.25 0.25 - - - kmovb (%rax), %k2
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - kmovb %k0, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - kmovb %eax, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovb %k0, %eax
+# CHECK-NEXT: - - 1.00 - - - - - - - - - knotb %k0, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - korb %k0, %k1, %k2
-# CHECK-NEXT: - - 1.00 - - - - - - - - - kxnorb %k0, %k1, %k2
-# CHECK-NEXT: - - 1.00 - - - - - - - - - kxorb %k0, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - kortestb %k0, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - kshiftlb $2, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - kshiftrb $2, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - ktestb %k0, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - ktestw %k0, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - kxnorb %k0, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - kxorb %k0, %k1, %k2
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vandnpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vandnpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -430,6 +954,42 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2pd %zmm16, %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19
@@ -448,24 +1008,80 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdz $171, (%rax), %k1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to8}, %k1
@@ -486,12 +1102,150 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassss $171, (%rax), %k1
# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassss $171, %xmm16, %k1 {%k2}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %zmm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 3.00 - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - - - vpmullq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 3.00 - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - - - vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 3.00 - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - - - vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vxorpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vxorpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -510,7 +1264,3 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2q %k0, %zmm0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %zmm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
index 236b71164a4a6..12fe74777e3f8 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
@@ -21,6 +21,26 @@ vandnpd %ymm16, %ymm17, %ymm19 {z}{k1}
vandnpd (%rax), %ymm17, %ymm19 {z}{k1}
vandnpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vandnps %xmm16, %xmm17, %xmm19
+vandnps (%rax), %xmm17, %xmm19
+vandnps (%rax){1to4}, %xmm17, %xmm19
+vandnps %xmm16, %xmm17, %xmm19 {k1}
+vandnps (%rax), %xmm17, %xmm19 {k1}
+vandnps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vandnps %xmm16, %xmm17, %xmm19 {z}{k1}
+vandnps (%rax), %xmm17, %xmm19 {z}{k1}
+vandnps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vandnps %ymm16, %ymm17, %ymm19
+vandnps (%rax), %ymm17, %ymm19
+vandnps (%rax){1to8}, %ymm17, %ymm19
+vandnps %ymm16, %ymm17, %ymm19 {k1}
+vandnps (%rax), %ymm17, %ymm19 {k1}
+vandnps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vandnps %ymm16, %ymm17, %ymm19 {z}{k1}
+vandnps (%rax), %ymm17, %ymm19 {z}{k1}
+vandnps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vandpd %xmm16, %xmm17, %xmm19
vandpd (%rax), %xmm17, %xmm19
vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -90,6 +110,86 @@ vbroadcasti64x2 (%rax), %ymm19
vbroadcasti64x2 (%rax), %ymm19 {k1}
vbroadcasti64x2 (%rax), %ymm19 {z}{k1}
+vcvtpd2qq %xmm16, %xmm19
+vcvtpd2qq (%rax), %xmm19
+vcvtpd2qq (%rax){1to2}, %xmm19
+vcvtpd2qq %xmm16, %xmm19 {k1}
+vcvtpd2qq (%rax), %xmm19 {k1}
+vcvtpd2qq (%rax){1to2}, %xmm19 {k1}
+vcvtpd2qq %xmm16, %xmm19 {z}{k1}
+vcvtpd2qq (%rax), %xmm19 {z}{k1}
+vcvtpd2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtpd2qq %ymm16, %ymm19
+vcvtpd2qq (%rax), %ymm19
+vcvtpd2qq (%rax){1to4}, %ymm19
+vcvtpd2qq %ymm16, %ymm19 {k1}
+vcvtpd2qq (%rax), %ymm19 {k1}
+vcvtpd2qq (%rax){1to4}, %ymm19 {k1}
+vcvtpd2qq %ymm16, %ymm19 {z}{k1}
+vcvtpd2qq (%rax), %ymm19 {z}{k1}
+vcvtpd2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtpd2uqq %xmm16, %xmm19
+vcvtpd2uqq (%rax), %xmm19
+vcvtpd2uqq (%rax){1to2}, %xmm19
+vcvtpd2uqq %xmm16, %xmm19 {k1}
+vcvtpd2uqq (%rax), %xmm19 {k1}
+vcvtpd2uqq (%rax){1to2}, %xmm19 {k1}
+vcvtpd2uqq %xmm16, %xmm19 {z}{k1}
+vcvtpd2uqq (%rax), %xmm19 {z}{k1}
+vcvtpd2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtpd2uqq %ymm16, %ymm19
+vcvtpd2uqq (%rax), %ymm19
+vcvtpd2uqq (%rax){1to4}, %ymm19
+vcvtpd2uqq %ymm16, %ymm19 {k1}
+vcvtpd2uqq (%rax), %ymm19 {k1}
+vcvtpd2uqq (%rax){1to4}, %ymm19 {k1}
+vcvtpd2uqq %ymm16, %ymm19 {z}{k1}
+vcvtpd2uqq (%rax), %ymm19 {z}{k1}
+vcvtpd2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtps2qq %xmm16, %xmm19
+vcvtps2qq (%rax), %xmm19
+vcvtps2qq (%rax){1to2}, %xmm19
+vcvtps2qq %xmm16, %xmm19 {k1}
+vcvtps2qq (%rax), %xmm19 {k1}
+vcvtps2qq (%rax){1to2}, %xmm19 {k1}
+vcvtps2qq %xmm16, %xmm19 {z}{k1}
+vcvtps2qq (%rax), %xmm19 {z}{k1}
+vcvtps2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtps2qq %xmm16, %ymm19
+vcvtps2qq (%rax), %ymm19
+vcvtps2qq (%rax){1to4}, %ymm19
+vcvtps2qq %xmm16, %ymm19 {k1}
+vcvtps2qq (%rax), %ymm19 {k1}
+vcvtps2qq (%rax){1to4}, %ymm19 {k1}
+vcvtps2qq %xmm16, %ymm19 {z}{k1}
+vcvtps2qq (%rax), %ymm19 {z}{k1}
+vcvtps2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtps2uqq %xmm16, %xmm19
+vcvtps2uqq (%rax), %xmm19
+vcvtps2uqq (%rax){1to2}, %xmm19
+vcvtps2uqq %xmm16, %xmm19 {k1}
+vcvtps2uqq (%rax), %xmm19 {k1}
+vcvtps2uqq (%rax){1to2}, %xmm19 {k1}
+vcvtps2uqq %xmm16, %xmm19 {z}{k1}
+vcvtps2uqq (%rax), %xmm19 {z}{k1}
+vcvtps2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtps2uqq %xmm16, %ymm19
+vcvtps2uqq (%rax), %ymm19
+vcvtps2uqq (%rax){1to4}, %ymm19
+vcvtps2uqq %xmm16, %ymm19 {k1}
+vcvtps2uqq (%rax), %ymm19 {k1}
+vcvtps2uqq (%rax){1to4}, %ymm19 {k1}
+vcvtps2uqq %xmm16, %ymm19 {z}{k1}
+vcvtps2uqq (%rax), %ymm19 {z}{k1}
+vcvtps2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
vcvtqq2pd %xmm16, %xmm19
vcvtqq2pd (%rax), %xmm19
vcvtqq2pd (%rax){1to2}, %xmm19
@@ -110,6 +210,212 @@ vcvtqq2pd %ymm16, %ymm19 {z}{k1}
vcvtqq2pd (%rax), %ymm19 {z}{k1}
vcvtqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+vcvtqq2ps %xmm16, %xmm19
+vcvtqq2psx (%rax), %xmm19
+vcvtqq2ps (%rax){1to2}, %xmm19
+vcvtqq2ps %xmm16, %xmm19 {k1}
+vcvtqq2psx (%rax), %xmm19 {k1}
+vcvtqq2ps (%rax){1to2}, %xmm19 {k1}
+vcvtqq2ps %xmm16, %xmm19 {z}{k1}
+vcvtqq2psx (%rax), %xmm19 {z}{k1}
+vcvtqq2ps (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtqq2ps %ymm16, %xmm19
+vcvtqq2psx (%rax), %xmm19
+vcvtqq2ps (%rax){1to4}, %xmm19
+vcvtqq2ps %ymm16, %xmm19 {k1}
+vcvtqq2psx (%rax), %xmm19 {k1}
+vcvtqq2ps (%rax){1to4}, %xmm19 {k1}
+vcvtqq2ps %ymm16, %xmm19 {z}{k1}
+vcvtqq2psx (%rax), %xmm19 {z}{k1}
+vcvtqq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vcvttpd2qq %xmm16, %xmm19
+vcvttpd2qq (%rax), %xmm19
+vcvttpd2qq (%rax){1to2}, %xmm19
+vcvttpd2qq %xmm16, %xmm19 {k1}
+vcvttpd2qq (%rax), %xmm19 {k1}
+vcvttpd2qq (%rax){1to2}, %xmm19 {k1}
+vcvttpd2qq %xmm16, %xmm19 {z}{k1}
+vcvttpd2qq (%rax), %xmm19 {z}{k1}
+vcvttpd2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttpd2qq %ymm16, %ymm19
+vcvttpd2qq (%rax), %ymm19
+vcvttpd2qq (%rax){1to4}, %ymm19
+vcvttpd2qq %ymm16, %ymm19 {k1}
+vcvttpd2qq (%rax), %ymm19 {k1}
+vcvttpd2qq (%rax){1to4}, %ymm19 {k1}
+vcvttpd2qq %ymm16, %ymm19 {z}{k1}
+vcvttpd2qq (%rax), %ymm19 {z}{k1}
+vcvttpd2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttpd2uqq %xmm16, %xmm19
+vcvttpd2uqq (%rax), %xmm19
+vcvttpd2uqq (%rax){1to2}, %xmm19
+vcvttpd2uqq %xmm16, %xmm19 {k1}
+vcvttpd2uqq (%rax), %xmm19 {k1}
+vcvttpd2uqq (%rax){1to2}, %xmm19 {k1}
+vcvttpd2uqq %xmm16, %xmm19 {z}{k1}
+vcvttpd2uqq (%rax), %xmm19 {z}{k1}
+vcvttpd2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttpd2uqq %ymm16, %ymm19
+vcvttpd2uqq (%rax), %ymm19
+vcvttpd2uqq (%rax){1to4}, %ymm19
+vcvttpd2uqq %ymm16, %ymm19 {k1}
+vcvttpd2uqq (%rax), %ymm19 {k1}
+vcvttpd2uqq (%rax){1to4}, %ymm19 {k1}
+vcvttpd2uqq %ymm16, %ymm19 {z}{k1}
+vcvttpd2uqq (%rax), %ymm19 {z}{k1}
+vcvttpd2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttps2qq %xmm16, %xmm19
+vcvttps2qq (%rax), %xmm19
+vcvttps2qq (%rax){1to2}, %xmm19
+vcvttps2qq %xmm16, %xmm19 {k1}
+vcvttps2qq (%rax), %xmm19 {k1}
+vcvttps2qq (%rax){1to2}, %xmm19 {k1}
+vcvttps2qq %xmm16, %xmm19 {z}{k1}
+vcvttps2qq (%rax), %xmm19 {z}{k1}
+vcvttps2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttps2qq %xmm16, %ymm19
+vcvttps2qq (%rax), %ymm19
+vcvttps2qq (%rax){1to4}, %ymm19
+vcvttps2qq %xmm16, %ymm19 {k1}
+vcvttps2qq (%rax), %ymm19 {k1}
+vcvttps2qq (%rax){1to4}, %ymm19 {k1}
+vcvttps2qq %xmm16, %ymm19 {z}{k1}
+vcvttps2qq (%rax), %ymm19 {z}{k1}
+vcvttps2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttps2uqq %xmm16, %xmm19
+vcvttps2uqq (%rax), %xmm19
+vcvttps2uqq (%rax){1to2}, %xmm19
+vcvttps2uqq %xmm16, %xmm19 {k1}
+vcvttps2uqq (%rax), %xmm19 {k1}
+vcvttps2uqq (%rax){1to2}, %xmm19 {k1}
+vcvttps2uqq %xmm16, %xmm19 {z}{k1}
+vcvttps2uqq (%rax), %xmm19 {z}{k1}
+vcvttps2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttps2uqq %xmm16, %ymm19
+vcvttps2uqq (%rax), %ymm19
+vcvttps2uqq (%rax){1to4}, %ymm19
+vcvttps2uqq %xmm16, %ymm19 {k1}
+vcvttps2uqq (%rax), %ymm19 {k1}
+vcvttps2uqq (%rax){1to4}, %ymm19 {k1}
+vcvttps2uqq %xmm16, %ymm19 {z}{k1}
+vcvttps2uqq (%rax), %ymm19 {z}{k1}
+vcvttps2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtuqq2pd %xmm16, %xmm19
+vcvtuqq2pd (%rax), %xmm19
+vcvtuqq2pd (%rax){1to2}, %xmm19
+vcvtuqq2pd %xmm16, %xmm19 {k1}
+vcvtuqq2pd (%rax), %xmm19 {k1}
+vcvtuqq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtuqq2pd %xmm16, %xmm19 {z}{k1}
+vcvtuqq2pd (%rax), %xmm19 {z}{k1}
+vcvtuqq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtuqq2pd %ymm16, %ymm19
+vcvtuqq2pd (%rax), %ymm19
+vcvtuqq2pd (%rax){1to4}, %ymm19
+vcvtuqq2pd %ymm16, %ymm19 {k1}
+vcvtuqq2pd (%rax), %ymm19 {k1}
+vcvtuqq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtuqq2pd %ymm16, %ymm19 {z}{k1}
+vcvtuqq2pd (%rax), %ymm19 {z}{k1}
+vcvtuqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtuqq2ps %xmm16, %xmm19
+vcvtuqq2psx (%rax), %xmm19
+vcvtuqq2ps (%rax){1to2}, %xmm19
+vcvtuqq2ps %xmm16, %xmm19 {k1}
+vcvtuqq2psx (%rax), %xmm19 {k1}
+vcvtuqq2ps (%rax){1to2}, %xmm19 {k1}
+vcvtuqq2ps %xmm16, %xmm19 {z}{k1}
+vcvtuqq2psx (%rax), %xmm19 {z}{k1}
+vcvtuqq2ps (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtuqq2ps %ymm16, %xmm19
+vcvtuqq2psx (%rax), %xmm19
+vcvtuqq2ps (%rax){1to4}, %xmm19
+vcvtuqq2ps %ymm16, %xmm19 {k1}
+vcvtuqq2psx (%rax), %xmm19 {k1}
+vcvtuqq2ps (%rax){1to4}, %xmm19 {k1}
+vcvtuqq2ps %ymm16, %xmm19 {z}{k1}
+vcvtuqq2psx (%rax), %xmm19 {z}{k1}
+vcvtuqq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vextractf64x2 $1, %ymm16, %xmm19
+vextractf64x2 $1, %ymm16, (%rax)
+vextractf64x2 $1, %ymm16, %xmm19 {k1}
+vextractf64x2 $1, %ymm16, (%rax) {k1}
+vextractf64x2 $1, %ymm16, %xmm19 {z}{k1}
+
+vextracti64x2 $1, %ymm16, %xmm19
+vextracti64x2 $1, %ymm16, (%rax)
+vextracti64x2 $1, %ymm16, %xmm19 {k1}
+vextracti64x2 $1, %ymm16, (%rax) {k1}
+vextracti64x2 $1, %ymm16, %xmm19 {z}{k1}
+
+vfpclasspd $0xab, %xmm16, %k1
+vfpclasspdx $0xab, (%rax), %k1
+vfpclasspdx $0xab, (%rax){1to2}, %k1
+vfpclasspd $0xab, %xmm16, %k1 {k2}
+vfpclasspdx $0xab, (%rax), %k1 {k2}
+vfpclasspdx $0xab, (%rax){1to2}, %k1 {k2}
+
+vfpclasspd $0xab, %ymm16, %k1
+vfpclasspdy $0xab, (%rax), %k1
+vfpclasspdy $0xab, (%rax){1to4}, %k1
+vfpclasspd $0xab, %ymm16, %k1 {k2}
+vfpclasspdy $0xab, (%rax), %k1 {k2}
+vfpclasspdy $0xab, (%rax){1to4}, %k1 {k2}
+
+vfpclassps $0xab, %xmm16, %k1
+vfpclasspsx $0xab, (%rax), %k1
+vfpclasspsx $0xab, (%rax){1to4}, %k1
+vfpclassps $0xab, %xmm16, %k1 {k2}
+vfpclasspsx $0xab, (%rax), %k1 {k2}
+vfpclasspsx $0xab, (%rax){1to4}, %k1 {k2}
+
+vfpclassps $0xab, %ymm16, %k1
+vfpclasspsy $0xab, (%rax), %k1
+vfpclasspsy $0xab, (%rax){1to8}, %k1
+vfpclassps $0xab, %ymm16, %k1 {k2}
+vfpclasspsy $0xab, (%rax), %k1 {k2}
+vfpclasspsy $0xab, (%rax){1to8}, %k1 {k2}
+
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {k1}
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {k1}
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {z}{k1}
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {z}{k1}
+
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+vinserti64x2 $1, (%rax), %ymm16, %ymm19
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {k1}
+vinserti64x2 $1, (%rax), %ymm16, %ymm19 {k1}
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {z}{k1}
+vinserti64x2 $1, (%rax), %ymm16, %ymm19 {z}{k1}
+
+vpmovm2d %k0, %xmm0
+vpmovm2q %k0, %xmm0
+
+vpmovm2d %k0, %ymm0
+vpmovm2q %k0, %ymm0
+
+vpmovd2m %xmm0, %k0
+vpmovq2m %xmm0, %k0
+
+vpmovd2m %ymm0, %k0
+vpmovq2m %ymm0, %k0
+
vorpd %xmm16, %xmm17, %xmm19
vorpd (%rax), %xmm17, %xmm19
vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -150,34 +456,6 @@ vorps %ymm16, %ymm17, %ymm19 {z}{k1}
vorps (%rax), %ymm17, %ymm19 {z}{k1}
vorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
-vfpclasspd $0xab, %xmm16, %k1
-vfpclasspdx $0xab, (%rax), %k1
-vfpclasspdx $0xab, (%rax){1to2}, %k1
-vfpclasspd $0xab, %xmm16, %k1 {k2}
-vfpclasspdx $0xab, (%rax), %k1 {k2}
-vfpclasspdx $0xab, (%rax){1to2}, %k1 {k2}
-
-vfpclasspd $0xab, %ymm16, %k1
-vfpclasspdy $0xab, (%rax), %k1
-vfpclasspdy $0xab, (%rax){1to4}, %k1
-vfpclasspd $0xab, %ymm16, %k1 {k2}
-vfpclasspdy $0xab, (%rax), %k1 {k2}
-vfpclasspdy $0xab, (%rax){1to4}, %k1 {k2}
-
-vfpclassps $0xab, %xmm16, %k1
-vfpclasspsx $0xab, (%rax), %k1
-vfpclasspsx $0xab, (%rax){1to4}, %k1
-vfpclassps $0xab, %xmm16, %k1 {k2}
-vfpclasspsx $0xab, (%rax), %k1 {k2}
-vfpclasspsx $0xab, (%rax){1to4}, %k1 {k2}
-
-vfpclassps $0xab, %ymm16, %k1
-vfpclasspsy $0xab, (%rax), %k1
-vfpclasspsy $0xab, (%rax){1to8}, %k1
-vfpclassps $0xab, %ymm16, %k1 {k2}
-vfpclasspsy $0xab, (%rax), %k1 {k2}
-vfpclasspsy $0xab, (%rax){1to8}, %k1 {k2}
-
vpmullq %xmm16, %xmm17, %xmm19
vpmullq (%rax), %xmm17, %xmm19
vpmullq %xmm16, %xmm17, %xmm19 {k1}
@@ -192,6 +470,86 @@ vpmullq (%rax), %ymm17, %ymm19 {k1}
vpmullq %ymm16, %ymm17, %ymm19 {z}{k1}
vpmullq (%rax), %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, %xmm16, %xmm17, %xmm19
+vrangepd $ab, (%rax), %xmm17, %xmm19
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+vrangepd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangepd $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vrangepd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangepd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vrangepd $ab, %ymm16, %ymm17, %ymm19
+vrangepd $ab, (%rax), %ymm17, %ymm19
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+vrangepd $ab, %ymm16, %ymm17, %ymm19 {k1}
+vrangepd $ab, (%rax), %ymm17, %ymm19 {k1}
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vrangepd $ab, %ymm16, %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, (%rax), %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vrangeps $ab, %xmm16, %xmm17, %xmm19
+vrangeps $ab, (%rax), %xmm17, %xmm19
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+vrangeps $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangeps $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vrangeps $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangeps $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vrangeps $ab, %ymm16, %ymm17, %ymm19
+vrangeps $ab, (%rax), %ymm17, %ymm19
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+vrangeps $ab, %ymm16, %ymm17, %ymm19 {k1}
+vrangeps $ab, (%rax), %ymm17, %ymm19 {k1}
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vrangeps $ab, %ymm16, %ymm17, %ymm19 {z}{k1}
+vrangeps $ab, (%rax), %ymm17, %ymm19 {z}{k1}
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vreducepd $ab, %xmm16, %xmm19
+vreducepd $ab, (%rax), %xmm19
+vreducepd $ab, (%rax){1to2}, %xmm19
+vreducepd $ab, %xmm16, %xmm19 {k1}
+vreducepd $ab, (%rax), %xmm19 {k1}
+vreducepd $ab, (%rax){1to2}, %xmm19 {k1}
+vreducepd $ab, %xmm16, %xmm19 {z}{k1}
+vreducepd $ab, (%rax), %xmm19 {z}{k1}
+vreducepd $ab, (%rax){1to2}, %xmm19 {z}{k1}
+
+vreducepd $ab, %ymm16, %ymm19
+vreducepd $ab, (%rax), %ymm19
+vreducepd $ab, (%rax){1to4}, %ymm19
+vreducepd $ab, %ymm16, %ymm19 {k1}
+vreducepd $ab, (%rax), %ymm19 {k1}
+vreducepd $ab, (%rax){1to4}, %ymm19 {k1}
+vreducepd $ab, %ymm16, %ymm19 {z}{k1}
+vreducepd $ab, (%rax), %ymm19 {z}{k1}
+vreducepd $ab, (%rax){1to4}, %ymm19 {z}{k1}
+
+vreduceps $ab, %xmm16, %xmm19
+vreduceps $ab, (%rax), %xmm19
+vreduceps $ab, (%rax){1to4}, %xmm19
+vreduceps $ab, %xmm16, %xmm19 {k1}
+vreduceps $ab, (%rax), %xmm19 {k1}
+vreduceps $ab, (%rax){1to4}, %xmm19 {k1}
+vreduceps $ab, %xmm16, %xmm19 {z}{k1}
+vreduceps $ab, (%rax), %xmm19 {z}{k1}
+vreduceps $ab, (%rax){1to4}, %xmm19 {z}{k1}
+
+vreduceps $ab, %ymm16, %ymm19
+vreduceps $ab, (%rax), %ymm19
+vreduceps $ab, (%rax){1to8}, %ymm19
+vreduceps $ab, %ymm16, %ymm19 {k1}
+vreduceps $ab, (%rax), %ymm19 {k1}
+vreduceps $ab, (%rax){1to8}, %ymm19 {k1}
+vreduceps $ab, %ymm16, %ymm19 {z}{k1}
+vreduceps $ab, (%rax), %ymm19 {z}{k1}
+vreduceps $ab, (%rax){1to8}, %ymm19 {z}{k1}
+
vxorpd %xmm16, %xmm17, %xmm19
vxorpd (%rax), %xmm17, %xmm19
vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -232,18 +590,6 @@ vxorps %ymm16, %ymm17, %ymm19 {z}{k1}
vxorps (%rax), %ymm17, %ymm19 {z}{k1}
vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
-vpmovm2d %k0, %xmm0
-vpmovm2q %k0, %xmm0
-
-vpmovm2d %k0, %ymm0
-vpmovm2q %k0, %ymm0
-
-vpmovd2m %xmm0, %k0
-vpmovq2m %xmm0, %k0
-
-vpmovd2m %ymm0, %k0
-vpmovq2m %ymm0, %k0
-
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -271,6 +617,24 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vandpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -331,6 +695,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %ymm19
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %xmm16, %xmm19
# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax), %xmm19
# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax){1to2}, %xmm19
@@ -349,6 +785,186 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
+# CHECK-NEXT: 1 1 1.00 vpmovd2m %xmm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovq2m %xmm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovd2m %ymm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -385,30 +1001,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2}
# CHECK-NEXT: 3 15 1.50 vpmullq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 4 21 1.50 * vpmullq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 3 15 1.50 vpmullq %xmm16, %xmm17, %xmm19 {%k1}
@@ -421,6 +1013,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 3 15 1.50 vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vxorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -457,14 +1121,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
-# CHECK-NEXT: 1 1 1.00 vpmovd2m %xmm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovq2m %xmm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovd2m %ymm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovq2m %ymm0, %k0
# CHECK: Resources:
# CHECK-NEXT: [0] - ICXDivider
@@ -482,7 +1138,7 @@ vpmovq2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 79.33 75.33 66.50 66.50 - 81.33 - - - -
+# CHECK-NEXT: - - 240.33 236.33 166.83 166.83 4.00 137.33 - 1.33 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -504,6 +1160,24 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vandpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -564,6 +1238,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %ymm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %xmm16, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to2}, %xmm19
@@ -582,6 +1328,186 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2d %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2q %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %xmm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %xmm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %ymm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -618,30 +1544,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclassps $171, (%rax){1to8}, %k1 {%k2}
# CHECK-NEXT: - - 1.50 1.50 - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - - - - - - vpmullq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 1.50 1.50 - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1}
@@ -654,6 +1556,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - - - - - - vpmullq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - 1.50 1.50 - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - - - - - - vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vxorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vxorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -690,11 +1664,3 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2d %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2q %k0, %ymm0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %xmm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %xmm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %ymm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
index f1d58f66c39ab..b2c5b8a7c9816 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
@@ -5,12 +5,28 @@ kaddb %k0, %k1, %k2
kaddw %k0, %k1, %k2
kandb %k0, %k1, %k2
kandnb %k0, %k1, %k2
+
+kmovb %k0, %k2
+kmovb (%rax), %k2
+kmovb %k0, (%rax)
+kmovb %eax, %k2
+kmovb %k0, %eax
+
+knotb %k0, %k2
+
korb %k0, %k1, %k2
-kxnorb %k0, %k1, %k2
-kxorb %k0, %k1, %k2
+
+kortestb %k0, %k2
+
kshiftlb $2, %k1, %k2
kshiftrb $2, %k1, %k2
+ktestb %k0, %k2
+ktestw %k0, %k2
+
+kxnorb %k0, %k1, %k2
+kxorb %k0, %k1, %k2
+
vandnpd %zmm16, %zmm17, %zmm19
vandnpd (%rax), %zmm17, %zmm19
vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -81,6 +97,46 @@ vbroadcasti64x2 (%rax), %zmm19
vbroadcasti64x2 (%rax), %zmm19 {k1}
vbroadcasti64x2 (%rax), %zmm19 {z}{k1}
+vcvtpd2qq %zmm16, %zmm19
+vcvtpd2qq (%rax), %zmm19
+vcvtpd2qq (%rax){1to8}, %zmm19
+vcvtpd2qq %zmm16, %zmm19 {k1}
+vcvtpd2qq (%rax), %zmm19 {k1}
+vcvtpd2qq (%rax){1to8}, %zmm19 {k1}
+vcvtpd2qq %zmm16, %zmm19 {z}{k1}
+vcvtpd2qq (%rax), %zmm19 {z}{k1}
+vcvtpd2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtpd2uqq %zmm16, %zmm19
+vcvtpd2uqq (%rax), %zmm19
+vcvtpd2uqq (%rax){1to8}, %zmm19
+vcvtpd2uqq %zmm16, %zmm19 {k1}
+vcvtpd2uqq (%rax), %zmm19 {k1}
+vcvtpd2uqq (%rax){1to8}, %zmm19 {k1}
+vcvtpd2uqq %zmm16, %zmm19 {z}{k1}
+vcvtpd2uqq (%rax), %zmm19 {z}{k1}
+vcvtpd2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtps2qq %ymm16, %zmm19
+vcvtps2qq (%rax), %zmm19
+vcvtps2qq (%rax){1to8}, %zmm19
+vcvtps2qq %ymm16, %zmm19 {k1}
+vcvtps2qq (%rax), %zmm19 {k1}
+vcvtps2qq (%rax){1to8}, %zmm19 {k1}
+vcvtps2qq %ymm16, %zmm19 {z}{k1}
+vcvtps2qq (%rax), %zmm19 {z}{k1}
+vcvtps2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtps2uqq %ymm16, %zmm19
+vcvtps2uqq (%rax), %zmm19
+vcvtps2uqq (%rax){1to8}, %zmm19
+vcvtps2uqq %ymm16, %zmm19 {k1}
+vcvtps2uqq (%rax), %zmm19 {k1}
+vcvtps2uqq (%rax){1to8}, %zmm19 {k1}
+vcvtps2uqq %ymm16, %zmm19 {z}{k1}
+vcvtps2uqq (%rax), %zmm19 {z}{k1}
+vcvtps2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
vcvtqq2pd %zmm16, %zmm19
vcvtqq2pd (%rax), %zmm19
vcvtqq2pd (%rax){1to8}, %zmm19
@@ -101,25 +157,89 @@ vcvtqq2ps %zmm16, %ymm19 {z}{k1}
vcvtqq2ps (%rax), %ymm19 {z}{k1}
vcvtqq2ps (%rax){1to8}, %ymm19 {z}{k1}
-vorpd %zmm16, %zmm17, %zmm19
-vorpd (%rax), %zmm17, %zmm19
-vorpd (%rax){1to8}, %zmm17, %zmm19
-vorpd %zmm16, %zmm17, %zmm19 {k1}
-vorpd (%rax), %zmm17, %zmm19 {k1}
-vorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
-vorpd %zmm16, %zmm17, %zmm19 {z}{k1}
-vorpd (%rax), %zmm17, %zmm19 {z}{k1}
-vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vcvttpd2qq %zmm16, %zmm19
+vcvttpd2qq (%rax), %zmm19
+vcvttpd2qq (%rax){1to8}, %zmm19
+vcvttpd2qq %zmm16, %zmm19 {k1}
+vcvttpd2qq (%rax), %zmm19 {k1}
+vcvttpd2qq (%rax){1to8}, %zmm19 {k1}
+vcvttpd2qq %zmm16, %zmm19 {z}{k1}
+vcvttpd2qq (%rax), %zmm19 {z}{k1}
+vcvttpd2qq (%rax){1to8}, %zmm19 {z}{k1}
-vorps %zmm16, %zmm17, %zmm19
-vorps (%rax), %zmm17, %zmm19
-vorps (%rax){1to16}, %zmm17, %zmm19
-vorps %zmm16, %zmm17, %zmm19 {k1}
-vorps (%rax), %zmm17, %zmm19 {k1}
-vorps (%rax){1to16}, %zmm17, %zmm19 {k1}
-vorps %zmm16, %zmm17, %zmm19 {z}{k1}
-vorps (%rax), %zmm17, %zmm19 {z}{k1}
-vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vcvttpd2uqq %zmm16, %zmm19
+vcvttpd2uqq (%rax), %zmm19
+vcvttpd2uqq (%rax){1to8}, %zmm19
+vcvttpd2uqq %zmm16, %zmm19 {k1}
+vcvttpd2uqq (%rax), %zmm19 {k1}
+vcvttpd2uqq (%rax){1to8}, %zmm19 {k1}
+vcvttpd2uqq %zmm16, %zmm19 {z}{k1}
+vcvttpd2uqq (%rax), %zmm19 {z}{k1}
+vcvttpd2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvttps2qq %ymm16, %zmm19
+vcvttps2qq (%rax), %zmm19
+vcvttps2qq (%rax){1to8}, %zmm19
+vcvttps2qq %ymm16, %zmm19 {k1}
+vcvttps2qq (%rax), %zmm19 {k1}
+vcvttps2qq (%rax){1to8}, %zmm19 {k1}
+vcvttps2qq %ymm16, %zmm19 {z}{k1}
+vcvttps2qq (%rax), %zmm19 {z}{k1}
+vcvttps2qq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvttps2uqq %ymm16, %zmm19
+vcvttps2uqq (%rax), %zmm19
+vcvttps2uqq (%rax){1to8}, %zmm19
+vcvttps2uqq %ymm16, %zmm19 {k1}
+vcvttps2uqq (%rax), %zmm19 {k1}
+vcvttps2uqq (%rax){1to8}, %zmm19 {k1}
+vcvttps2uqq %ymm16, %zmm19 {z}{k1}
+vcvttps2uqq (%rax), %zmm19 {z}{k1}
+vcvttps2uqq (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtuqq2pd %zmm16, %zmm19
+vcvtuqq2pd (%rax), %zmm19
+vcvtuqq2pd (%rax){1to8}, %zmm19
+vcvtuqq2pd %zmm16, %zmm19 {k1}
+vcvtuqq2pd (%rax), %zmm19 {k1}
+vcvtuqq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtuqq2pd %zmm16, %zmm19 {z}{k1}
+vcvtuqq2pd (%rax), %zmm19 {z}{k1}
+vcvtuqq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtuqq2ps %zmm16, %ymm19
+vcvtuqq2ps (%rax), %ymm19
+vcvtuqq2ps (%rax){1to8}, %ymm19
+vcvtuqq2ps %zmm16, %ymm19 {k1}
+vcvtuqq2ps (%rax), %ymm19 {k1}
+vcvtuqq2ps (%rax){1to8}, %ymm19 {k1}
+vcvtuqq2ps %zmm16, %ymm19 {z}{k1}
+vcvtuqq2ps (%rax), %ymm19 {z}{k1}
+vcvtuqq2ps (%rax){1to8}, %ymm19 {z}{k1}
+
+vextractf32x8 $1, %zmm16, %ymm19
+vextractf32x8 $1, %zmm16, (%rax)
+vextractf32x8 $1, %zmm16, %ymm19 {k1}
+vextractf32x8 $1, %zmm16, (%rax) {k1}
+vextractf32x8 $1, %zmm16, %ymm19 {z}{k1}
+
+vextractf64x2 $1, %zmm16, %xmm19
+vextractf64x2 $1, %zmm16, (%rax)
+vextractf64x2 $1, %zmm16, %xmm19 {k1}
+vextractf64x2 $1, %zmm16, (%rax) {k1}
+vextractf64x2 $1, %zmm16, %xmm19 {z}{k1}
+
+vextracti32x8 $1, %zmm16, %ymm19
+vextracti32x8 $1, %zmm16, (%rax)
+vextracti32x8 $1, %zmm16, %ymm19 {k1}
+vextracti32x8 $1, %zmm16, (%rax) {k1}
+vextracti32x8 $1, %zmm16, %ymm19 {z}{k1}
+
+vextracti64x2 $1, %zmm16, %xmm19
+vextracti64x2 $1, %zmm16, (%rax)
+vextracti64x2 $1, %zmm16, %xmm19 {k1}
+vextracti64x2 $1, %zmm16, (%rax) {k1}
+vextracti64x2 $1, %zmm16, %xmm19 {z}{k1}
vfpclasspd $0xab, %zmm16, %k1
vfpclasspdz $0xab, (%rax), %k1
@@ -145,6 +265,72 @@ vfpclassss $0xab, (%rax), %k1
vfpclassss $0xab, %xmm16, %k1 {k2}
vfpclassss $0xab, (%rax), %k1 {k2}
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {k1}
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {k1}
+vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {z}{k1}
+vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {k1}
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {k1}
+vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {z}{k1}
+vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+vinserti32x8 $1, (%rax), %zmm16, %zmm19
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {k1}
+vinserti32x8 $1, (%rax), %zmm16, %zmm19 {k1}
+vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {z}{k1}
+vinserti32x8 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+vinserti64x2 $1, (%rax), %zmm16, %zmm19
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {k1}
+vinserti64x2 $1, (%rax), %zmm16, %zmm19 {k1}
+vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {z}{k1}
+vinserti64x2 $1, (%rax), %zmm16, %zmm19 {z}{k1}
+
+vorpd %zmm16, %zmm17, %zmm19
+vorpd (%rax), %zmm17, %zmm19
+vorpd (%rax){1to8}, %zmm17, %zmm19
+vorpd %zmm16, %zmm17, %zmm19 {k1}
+vorpd (%rax), %zmm17, %zmm19 {k1}
+vorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vorpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vorpd (%rax), %zmm17, %zmm19 {z}{k1}
+vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vorps %zmm16, %zmm17, %zmm19
+vorps (%rax), %zmm17, %zmm19
+vorps (%rax){1to16}, %zmm17, %zmm19
+vorps %zmm16, %zmm17, %zmm19 {k1}
+vorps (%rax), %zmm17, %zmm19 {k1}
+vorps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vorps %zmm16, %zmm17, %zmm19 {z}{k1}
+vorps (%rax), %zmm17, %zmm19 {z}{k1}
+vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vpextrd $1, %xmm16, %ecx
+vpextrd $1, %xmm16, (%rax)
+
+vpextrq $1, %xmm16, %rcx
+vpextrq $1, %xmm16, (%rax)
+
+vpinsrd $1, %ecx, %xmm16, %xmm19
+vpinsrd $1, (%rax), %xmm16, %xmm19
+
+vpinsrq $1, %rcx, %xmm16, %xmm19
+vpinsrq $1, (%rax), %xmm16, %xmm19
+
+vpmovm2d %k0, %zmm0
+vpmovm2q %k0, %zmm0
+
+vpmovd2m %zmm0, %k0
+vpmovq2m %zmm0, %k0
+
vpmullq %zmm16, %zmm17, %zmm19
vpmullq (%rax), %zmm17, %zmm19
vpmullq %zmm16, %zmm17, %zmm19 {k1}
@@ -152,6 +338,106 @@ vpmullq (%rax), %zmm17, %zmm19 {k1}
vpmullq %zmm16, %zmm17, %zmm19 {z}{k1}
vpmullq (%rax), %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, %zmm16, %zmm17, %zmm19
+vrangepd $ab, (%rax), %zmm17, %zmm19
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+vrangepd $ab, %zmm16, %zmm17, %zmm19 {k1}
+vrangepd $ab, (%rax), %zmm17, %zmm19 {k1}
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vrangepd $ab, %zmm16, %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, (%rax), %zmm17, %zmm19 {z}{k1}
+vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {k1}
+vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {z}{k1}
+
+vrangeps $ab, %zmm16, %zmm17, %zmm19
+vrangeps $ab, (%rax), %zmm17, %zmm19
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+vrangeps $ab, %zmm16, %zmm17, %zmm19 {k1}
+vrangeps $ab, (%rax), %zmm17, %zmm19 {k1}
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vrangeps $ab, %zmm16, %zmm17, %zmm19 {z}{k1}
+vrangeps $ab, (%rax), %zmm17, %zmm19 {z}{k1}
+vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {k1}
+vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {z}{k1}
+
+vrangesd $ab, %xmm16, %xmm17, %xmm19
+vrangesd $ab, (%rax), %xmm17, %xmm19
+vrangesd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangesd $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangesd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangesd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vrangess $ab, %xmm16, %xmm17, %xmm19
+vrangess $ab, (%rax), %xmm17, %xmm19
+vrangess $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangess $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangess $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangess $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vreducepd $ab, %zmm16, %zmm19
+vreducepd $ab, (%rax), %zmm19
+vreducepd $ab, (%rax){1to8}, %zmm19
+vreducepd $ab, %zmm16, %zmm19 {k1}
+vreducepd $ab, (%rax), %zmm19 {k1}
+vreducepd $ab, (%rax){1to8}, %zmm19 {k1}
+vreducepd $ab, %zmm16, %zmm19 {z}{k1}
+vreducepd $ab, (%rax), %zmm19 {z}{k1}
+vreducepd $ab, (%rax){1to8}, %zmm19 {z}{k1}
+
+vreducepd $ab, {sae}, %zmm16, %zmm19
+vreducepd $ab, {sae}, %zmm16, %zmm19 {k1}
+vreducepd $ab, {sae}, %zmm16, %zmm19 {z}{k1}
+
+vreduceps $ab, %zmm16, %zmm19
+vreduceps $ab, (%rax), %zmm19
+vreduceps $ab, (%rax){1to16}, %zmm19
+vreduceps $ab, %zmm16, %zmm19 {k1}
+vreduceps $ab, (%rax), %zmm19 {k1}
+vreduceps $ab, (%rax){1to16}, %zmm19 {k1}
+vreduceps $ab, %zmm16, %zmm19 {z}{k1}
+vreduceps $ab, (%rax), %zmm19 {z}{k1}
+vreduceps $ab, (%rax){1to16}, %zmm19 {z}{k1}
+
+vreduceps $ab, {sae}, %zmm16, %zmm19
+vreduceps $ab, {sae}, %zmm16, %zmm19 {k1}
+vreduceps $ab, {sae}, %zmm16, %zmm19 {z}{k1}
+
+vreducesd $ab, %xmm16, %xmm17, %xmm19
+vreducesd $ab, (%rax), %xmm17, %xmm19
+vreducesd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vreducesd $ab, (%rax), %xmm17, %xmm19 {k1}
+vreducesd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vreducesd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
+vreducess $ab, %xmm16, %xmm17, %xmm19
+vreducess $ab, (%rax), %xmm17, %xmm19
+vreducess $ab, %xmm16, %xmm17, %xmm19 {k1}
+vreducess $ab, (%rax), %xmm17, %xmm19 {k1}
+vreducess $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vreducess $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {k1}
+vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}
+
vxorpd %zmm16, %zmm17, %zmm19
vxorpd (%rax), %zmm17, %zmm19
vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -172,12 +458,6 @@ vxorps %zmm16, %zmm17, %zmm19 {z}{k1}
vxorps (%rax), %zmm17, %zmm19 {z}{k1}
vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
-vpmovm2d %k0, %zmm0
-vpmovm2q %k0, %zmm0
-
-vpmovd2m %zmm0, %k0
-vpmovq2m %zmm0, %k0
-
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -191,11 +471,20 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 4 1.00 kaddw %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kandb %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kandnb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 1.00 kmovb %k0, %k2
+# CHECK-NEXT: 3 7 1.00 * kmovb (%rax), %k2
+# CHECK-NEXT: 2 1 1.00 * kmovb %k0, (%rax)
+# CHECK-NEXT: 1 1 1.00 kmovb %eax, %k2
+# CHECK-NEXT: 1 3 1.00 kmovb %k0, %eax
+# CHECK-NEXT: 1 1 1.00 knotb %k0, %k2
# CHECK-NEXT: 1 1 1.00 korb %k0, %k1, %k2
-# CHECK-NEXT: 1 1 1.00 kxnorb %k0, %k1, %k2
-# CHECK-NEXT: 1 1 1.00 kxorb %k0, %k1, %k2
+# CHECK-NEXT: 1 3 1.00 kortestb %k0, %k2
# CHECK-NEXT: 1 4 1.00 kshiftlb $2, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kshiftrb $2, %k1, %k2
+# CHECK-NEXT: 1 3 1.00 ktestb %k0, %k2
+# CHECK-NEXT: 1 3 1.00 ktestw %k0, %k2
+# CHECK-NEXT: 1 1 1.00 kxnorb %k0, %k1, %k2
+# CHECK-NEXT: 1 1 1.00 kxorb %k0, %k1, %k2
# CHECK-NEXT: 1 1 0.50 vandnpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -256,6 +545,42 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %zmm19
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %zmm16, %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to8}, %zmm19
@@ -274,24 +599,80 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 4 0.50 vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.00 * vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: 2 1 1.00 vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: 2 1 1.00 vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: 2 11 1.00 * vfpclasspdz $171, (%rax), %k1
# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to8}, %k1
@@ -312,12 +693,150 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1
# CHECK-NEXT: 1 4 1.00 vfpclassss $171, %xmm16, %k1 {%k2}
# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
+# CHECK-NEXT: 1 1 1.00 vpmovd2m %zmm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovq2m %zmm0, %k0
# CHECK-NEXT: 3 15 1.50 vpmullq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 3 15 1.50 vpmullq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 3 15 1.50 vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vxorpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -336,10 +855,6 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.50 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
-# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
-# CHECK-NEXT: 1 1 1.00 vpmovd2m %zmm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovq2m %zmm0, %k0
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@@ -355,7 +870,7 @@ vpmovq2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 68.00 12.00 46.50 46.50 - 92.00 - -
+# CHECK-NEXT: - - 188.25 73.25 105.67 105.67 11.00 218.25 0.25 3.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -363,11 +878,20 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - - - - 1.00 - - kaddw %k0, %k1, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - kandb %k0, %k1, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - kandnb %k0, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - kmovb %k0, %k2
+# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 1.25 0.25 - kmovb (%rax), %k2
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 kmovb %k0, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - kmovb %eax, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - kmovb %k0, %eax
+# CHECK-NEXT: - - 1.00 - - - - - - - knotb %k0, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - korb %k0, %k1, %k2
-# CHECK-NEXT: - - 1.00 - - - - - - - kxnorb %k0, %k1, %k2
-# CHECK-NEXT: - - 1.00 - - - - - - - kxorb %k0, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - kortestb %k0, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - kshiftlb $2, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - kshiftrb $2, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - ktestb %k0, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - ktestw %k0, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - kxnorb %k0, %k1, %k2
+# CHECK-NEXT: - - 1.00 - - - - - - - kxorb %k0, %k1, %k2
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandnpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnpd (%rax){1to8}, %zmm17, %zmm19
@@ -428,6 +952,42 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vbroadcasti64x2 (%rax), %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vbroadcasti64x2 (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2pd %zmm16, %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2pd (%rax), %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2pd (%rax){1to8}, %zmm19
@@ -446,24 +1006,80 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdz $171, (%rax), %k1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to8}, %k1
@@ -484,12 +1100,150 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassss $171, (%rax), %k1
# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassss $171, %xmm16, %k1 {%k2}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %zmm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 1.50 - - - - 1.50 - - vpmullq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 1.50 - - vpmullq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 1.50 - - - - 1.50 - - vpmullq %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 1.50 - - vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 1.50 - - - - 1.50 - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 1.50 - - vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorpd (%rax){1to8}, %zmm17, %zmm19
@@ -508,7 +1262,3 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2q %k0, %zmm0
-# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %zmm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
index 9af69318cc493..8409d55072bd0 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
@@ -21,6 +21,26 @@ vandnpd %ymm16, %ymm17, %ymm19 {z}{k1}
vandnpd (%rax), %ymm17, %ymm19 {z}{k1}
vandnpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vandnps %xmm16, %xmm17, %xmm19
+vandnps (%rax), %xmm17, %xmm19
+vandnps (%rax){1to4}, %xmm17, %xmm19
+vandnps %xmm16, %xmm17, %xmm19 {k1}
+vandnps (%rax), %xmm17, %xmm19 {k1}
+vandnps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vandnps %xmm16, %xmm17, %xmm19 {z}{k1}
+vandnps (%rax), %xmm17, %xmm19 {z}{k1}
+vandnps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vandnps %ymm16, %ymm17, %ymm19
+vandnps (%rax), %ymm17, %ymm19
+vandnps (%rax){1to8}, %ymm17, %ymm19
+vandnps %ymm16, %ymm17, %ymm19 {k1}
+vandnps (%rax), %ymm17, %ymm19 {k1}
+vandnps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vandnps %ymm16, %ymm17, %ymm19 {z}{k1}
+vandnps (%rax), %ymm17, %ymm19 {z}{k1}
+vandnps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vandpd %xmm16, %xmm17, %xmm19
vandpd (%rax), %xmm17, %xmm19
vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -90,6 +110,86 @@ vbroadcasti64x2 (%rax), %ymm19
vbroadcasti64x2 (%rax), %ymm19 {k1}
vbroadcasti64x2 (%rax), %ymm19 {z}{k1}
+vcvtpd2qq %xmm16, %xmm19
+vcvtpd2qq (%rax), %xmm19
+vcvtpd2qq (%rax){1to2}, %xmm19
+vcvtpd2qq %xmm16, %xmm19 {k1}
+vcvtpd2qq (%rax), %xmm19 {k1}
+vcvtpd2qq (%rax){1to2}, %xmm19 {k1}
+vcvtpd2qq %xmm16, %xmm19 {z}{k1}
+vcvtpd2qq (%rax), %xmm19 {z}{k1}
+vcvtpd2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtpd2qq %ymm16, %ymm19
+vcvtpd2qq (%rax), %ymm19
+vcvtpd2qq (%rax){1to4}, %ymm19
+vcvtpd2qq %ymm16, %ymm19 {k1}
+vcvtpd2qq (%rax), %ymm19 {k1}
+vcvtpd2qq (%rax){1to4}, %ymm19 {k1}
+vcvtpd2qq %ymm16, %ymm19 {z}{k1}
+vcvtpd2qq (%rax), %ymm19 {z}{k1}
+vcvtpd2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtpd2uqq %xmm16, %xmm19
+vcvtpd2uqq (%rax), %xmm19
+vcvtpd2uqq (%rax){1to2}, %xmm19
+vcvtpd2uqq %xmm16, %xmm19 {k1}
+vcvtpd2uqq (%rax), %xmm19 {k1}
+vcvtpd2uqq (%rax){1to2}, %xmm19 {k1}
+vcvtpd2uqq %xmm16, %xmm19 {z}{k1}
+vcvtpd2uqq (%rax), %xmm19 {z}{k1}
+vcvtpd2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtpd2uqq %ymm16, %ymm19
+vcvtpd2uqq (%rax), %ymm19
+vcvtpd2uqq (%rax){1to4}, %ymm19
+vcvtpd2uqq %ymm16, %ymm19 {k1}
+vcvtpd2uqq (%rax), %ymm19 {k1}
+vcvtpd2uqq (%rax){1to4}, %ymm19 {k1}
+vcvtpd2uqq %ymm16, %ymm19 {z}{k1}
+vcvtpd2uqq (%rax), %ymm19 {z}{k1}
+vcvtpd2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtps2qq %xmm16, %xmm19
+vcvtps2qq (%rax), %xmm19
+vcvtps2qq (%rax){1to2}, %xmm19
+vcvtps2qq %xmm16, %xmm19 {k1}
+vcvtps2qq (%rax), %xmm19 {k1}
+vcvtps2qq (%rax){1to2}, %xmm19 {k1}
+vcvtps2qq %xmm16, %xmm19 {z}{k1}
+vcvtps2qq (%rax), %xmm19 {z}{k1}
+vcvtps2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtps2qq %xmm16, %ymm19
+vcvtps2qq (%rax), %ymm19
+vcvtps2qq (%rax){1to4}, %ymm19
+vcvtps2qq %xmm16, %ymm19 {k1}
+vcvtps2qq (%rax), %ymm19 {k1}
+vcvtps2qq (%rax){1to4}, %ymm19 {k1}
+vcvtps2qq %xmm16, %ymm19 {z}{k1}
+vcvtps2qq (%rax), %ymm19 {z}{k1}
+vcvtps2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtps2uqq %xmm16, %xmm19
+vcvtps2uqq (%rax), %xmm19
+vcvtps2uqq (%rax){1to2}, %xmm19
+vcvtps2uqq %xmm16, %xmm19 {k1}
+vcvtps2uqq (%rax), %xmm19 {k1}
+vcvtps2uqq (%rax){1to2}, %xmm19 {k1}
+vcvtps2uqq %xmm16, %xmm19 {z}{k1}
+vcvtps2uqq (%rax), %xmm19 {z}{k1}
+vcvtps2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtps2uqq %xmm16, %ymm19
+vcvtps2uqq (%rax), %ymm19
+vcvtps2uqq (%rax){1to4}, %ymm19
+vcvtps2uqq %xmm16, %ymm19 {k1}
+vcvtps2uqq (%rax), %ymm19 {k1}
+vcvtps2uqq (%rax){1to4}, %ymm19 {k1}
+vcvtps2uqq %xmm16, %ymm19 {z}{k1}
+vcvtps2uqq (%rax), %ymm19 {z}{k1}
+vcvtps2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
vcvtqq2pd %xmm16, %xmm19
vcvtqq2pd (%rax), %xmm19
vcvtqq2pd (%rax){1to2}, %xmm19
@@ -110,6 +210,212 @@ vcvtqq2pd %ymm16, %ymm19 {z}{k1}
vcvtqq2pd (%rax), %ymm19 {z}{k1}
vcvtqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+vcvtqq2ps %xmm16, %xmm19
+vcvtqq2psx (%rax), %xmm19
+vcvtqq2ps (%rax){1to2}, %xmm19
+vcvtqq2ps %xmm16, %xmm19 {k1}
+vcvtqq2psx (%rax), %xmm19 {k1}
+vcvtqq2ps (%rax){1to2}, %xmm19 {k1}
+vcvtqq2ps %xmm16, %xmm19 {z}{k1}
+vcvtqq2psx (%rax), %xmm19 {z}{k1}
+vcvtqq2ps (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtqq2ps %ymm16, %xmm19
+vcvtqq2psx (%rax), %xmm19
+vcvtqq2ps (%rax){1to4}, %xmm19
+vcvtqq2ps %ymm16, %xmm19 {k1}
+vcvtqq2psx (%rax), %xmm19 {k1}
+vcvtqq2ps (%rax){1to4}, %xmm19 {k1}
+vcvtqq2ps %ymm16, %xmm19 {z}{k1}
+vcvtqq2psx (%rax), %xmm19 {z}{k1}
+vcvtqq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vcvttpd2qq %xmm16, %xmm19
+vcvttpd2qq (%rax), %xmm19
+vcvttpd2qq (%rax){1to2}, %xmm19
+vcvttpd2qq %xmm16, %xmm19 {k1}
+vcvttpd2qq (%rax), %xmm19 {k1}
+vcvttpd2qq (%rax){1to2}, %xmm19 {k1}
+vcvttpd2qq %xmm16, %xmm19 {z}{k1}
+vcvttpd2qq (%rax), %xmm19 {z}{k1}
+vcvttpd2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttpd2qq %ymm16, %ymm19
+vcvttpd2qq (%rax), %ymm19
+vcvttpd2qq (%rax){1to4}, %ymm19
+vcvttpd2qq %ymm16, %ymm19 {k1}
+vcvttpd2qq (%rax), %ymm19 {k1}
+vcvttpd2qq (%rax){1to4}, %ymm19 {k1}
+vcvttpd2qq %ymm16, %ymm19 {z}{k1}
+vcvttpd2qq (%rax), %ymm19 {z}{k1}
+vcvttpd2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttpd2uqq %xmm16, %xmm19
+vcvttpd2uqq (%rax), %xmm19
+vcvttpd2uqq (%rax){1to2}, %xmm19
+vcvttpd2uqq %xmm16, %xmm19 {k1}
+vcvttpd2uqq (%rax), %xmm19 {k1}
+vcvttpd2uqq (%rax){1to2}, %xmm19 {k1}
+vcvttpd2uqq %xmm16, %xmm19 {z}{k1}
+vcvttpd2uqq (%rax), %xmm19 {z}{k1}
+vcvttpd2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttpd2uqq %ymm16, %ymm19
+vcvttpd2uqq (%rax), %ymm19
+vcvttpd2uqq (%rax){1to4}, %ymm19
+vcvttpd2uqq %ymm16, %ymm19 {k1}
+vcvttpd2uqq (%rax), %ymm19 {k1}
+vcvttpd2uqq (%rax){1to4}, %ymm19 {k1}
+vcvttpd2uqq %ymm16, %ymm19 {z}{k1}
+vcvttpd2uqq (%rax), %ymm19 {z}{k1}
+vcvttpd2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttps2qq %xmm16, %xmm19
+vcvttps2qq (%rax), %xmm19
+vcvttps2qq (%rax){1to2}, %xmm19
+vcvttps2qq %xmm16, %xmm19 {k1}
+vcvttps2qq (%rax), %xmm19 {k1}
+vcvttps2qq (%rax){1to2}, %xmm19 {k1}
+vcvttps2qq %xmm16, %xmm19 {z}{k1}
+vcvttps2qq (%rax), %xmm19 {z}{k1}
+vcvttps2qq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttps2qq %xmm16, %ymm19
+vcvttps2qq (%rax), %ymm19
+vcvttps2qq (%rax){1to4}, %ymm19
+vcvttps2qq %xmm16, %ymm19 {k1}
+vcvttps2qq (%rax), %ymm19 {k1}
+vcvttps2qq (%rax){1to4}, %ymm19 {k1}
+vcvttps2qq %xmm16, %ymm19 {z}{k1}
+vcvttps2qq (%rax), %ymm19 {z}{k1}
+vcvttps2qq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvttps2uqq %xmm16, %xmm19
+vcvttps2uqq (%rax), %xmm19
+vcvttps2uqq (%rax){1to2}, %xmm19
+vcvttps2uqq %xmm16, %xmm19 {k1}
+vcvttps2uqq (%rax), %xmm19 {k1}
+vcvttps2uqq (%rax){1to2}, %xmm19 {k1}
+vcvttps2uqq %xmm16, %xmm19 {z}{k1}
+vcvttps2uqq (%rax), %xmm19 {z}{k1}
+vcvttps2uqq (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvttps2uqq %xmm16, %ymm19
+vcvttps2uqq (%rax), %ymm19
+vcvttps2uqq (%rax){1to4}, %ymm19
+vcvttps2uqq %xmm16, %ymm19 {k1}
+vcvttps2uqq (%rax), %ymm19 {k1}
+vcvttps2uqq (%rax){1to4}, %ymm19 {k1}
+vcvttps2uqq %xmm16, %ymm19 {z}{k1}
+vcvttps2uqq (%rax), %ymm19 {z}{k1}
+vcvttps2uqq (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtuqq2pd %xmm16, %xmm19
+vcvtuqq2pd (%rax), %xmm19
+vcvtuqq2pd (%rax){1to2}, %xmm19
+vcvtuqq2pd %xmm16, %xmm19 {k1}
+vcvtuqq2pd (%rax), %xmm19 {k1}
+vcvtuqq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtuqq2pd %xmm16, %xmm19 {z}{k1}
+vcvtuqq2pd (%rax), %xmm19 {z}{k1}
+vcvtuqq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtuqq2pd %ymm16, %ymm19
+vcvtuqq2pd (%rax), %ymm19
+vcvtuqq2pd (%rax){1to4}, %ymm19
+vcvtuqq2pd %ymm16, %ymm19 {k1}
+vcvtuqq2pd (%rax), %ymm19 {k1}
+vcvtuqq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtuqq2pd %ymm16, %ymm19 {z}{k1}
+vcvtuqq2pd (%rax), %ymm19 {z}{k1}
+vcvtuqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtuqq2ps %xmm16, %xmm19
+vcvtuqq2psx (%rax), %xmm19
+vcvtuqq2ps (%rax){1to2}, %xmm19
+vcvtuqq2ps %xmm16, %xmm19 {k1}
+vcvtuqq2psx (%rax), %xmm19 {k1}
+vcvtuqq2ps (%rax){1to2}, %xmm19 {k1}
+vcvtuqq2ps %xmm16, %xmm19 {z}{k1}
+vcvtuqq2psx (%rax), %xmm19 {z}{k1}
+vcvtuqq2ps (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtuqq2ps %ymm16, %xmm19
+vcvtuqq2psx (%rax), %xmm19
+vcvtuqq2ps (%rax){1to4}, %xmm19
+vcvtuqq2ps %ymm16, %xmm19 {k1}
+vcvtuqq2psx (%rax), %xmm19 {k1}
+vcvtuqq2ps (%rax){1to4}, %xmm19 {k1}
+vcvtuqq2ps %ymm16, %xmm19 {z}{k1}
+vcvtuqq2psx (%rax), %xmm19 {z}{k1}
+vcvtuqq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vextractf64x2 $1, %ymm16, %xmm19
+vextractf64x2 $1, %ymm16, (%rax)
+vextractf64x2 $1, %ymm16, %xmm19 {k1}
+vextractf64x2 $1, %ymm16, (%rax) {k1}
+vextractf64x2 $1, %ymm16, %xmm19 {z}{k1}
+
+vextracti64x2 $1, %ymm16, %xmm19
+vextracti64x2 $1, %ymm16, (%rax)
+vextracti64x2 $1, %ymm16, %xmm19 {k1}
+vextracti64x2 $1, %ymm16, (%rax) {k1}
+vextracti64x2 $1, %ymm16, %xmm19 {z}{k1}
+
+vfpclasspd $0xab, %xmm16, %k1
+vfpclasspdx $0xab, (%rax), %k1
+vfpclasspdx $0xab, (%rax){1to2}, %k1
+vfpclasspd $0xab, %xmm16, %k1 {k2}
+vfpclasspdx $0xab, (%rax), %k1 {k2}
+vfpclasspdx $0xab, (%rax){1to2}, %k1 {k2}
+
+vfpclasspd $0xab, %ymm16, %k1
+vfpclasspdy $0xab, (%rax), %k1
+vfpclasspdy $0xab, (%rax){1to4}, %k1
+vfpclasspd $0xab, %ymm16, %k1 {k2}
+vfpclasspdy $0xab, (%rax), %k1 {k2}
+vfpclasspdy $0xab, (%rax){1to4}, %k1 {k2}
+
+vfpclassps $0xab, %xmm16, %k1
+vfpclasspsx $0xab, (%rax), %k1
+vfpclasspsx $0xab, (%rax){1to4}, %k1
+vfpclassps $0xab, %xmm16, %k1 {k2}
+vfpclasspsx $0xab, (%rax), %k1 {k2}
+vfpclasspsx $0xab, (%rax){1to4}, %k1 {k2}
+
+vfpclassps $0xab, %ymm16, %k1
+vfpclasspsy $0xab, (%rax), %k1
+vfpclasspsy $0xab, (%rax){1to8}, %k1
+vfpclassps $0xab, %ymm16, %k1 {k2}
+vfpclasspsy $0xab, (%rax), %k1 {k2}
+vfpclasspsy $0xab, (%rax){1to8}, %k1 {k2}
+
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {k1}
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {k1}
+vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {z}{k1}
+vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {z}{k1}
+
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+vinserti64x2 $1, (%rax), %ymm16, %ymm19
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {k1}
+vinserti64x2 $1, (%rax), %ymm16, %ymm19 {k1}
+vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {z}{k1}
+vinserti64x2 $1, (%rax), %ymm16, %ymm19 {z}{k1}
+
+vpmovm2d %k0, %xmm0
+vpmovm2q %k0, %xmm0
+
+vpmovm2d %k0, %ymm0
+vpmovm2q %k0, %ymm0
+
+vpmovd2m %xmm0, %k0
+vpmovq2m %xmm0, %k0
+
+vpmovd2m %ymm0, %k0
+vpmovq2m %ymm0, %k0
+
vorpd %xmm16, %xmm17, %xmm19
vorpd (%rax), %xmm17, %xmm19
vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -150,34 +456,6 @@ vorps %ymm16, %ymm17, %ymm19 {z}{k1}
vorps (%rax), %ymm17, %ymm19 {z}{k1}
vorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
-vfpclasspd $0xab, %xmm16, %k1
-vfpclasspdx $0xab, (%rax), %k1
-vfpclasspdx $0xab, (%rax){1to2}, %k1
-vfpclasspd $0xab, %xmm16, %k1 {k2}
-vfpclasspdx $0xab, (%rax), %k1 {k2}
-vfpclasspdx $0xab, (%rax){1to2}, %k1 {k2}
-
-vfpclasspd $0xab, %ymm16, %k1
-vfpclasspdy $0xab, (%rax), %k1
-vfpclasspdy $0xab, (%rax){1to4}, %k1
-vfpclasspd $0xab, %ymm16, %k1 {k2}
-vfpclasspdy $0xab, (%rax), %k1 {k2}
-vfpclasspdy $0xab, (%rax){1to4}, %k1 {k2}
-
-vfpclassps $0xab, %xmm16, %k1
-vfpclasspsx $0xab, (%rax), %k1
-vfpclasspsx $0xab, (%rax){1to4}, %k1
-vfpclassps $0xab, %xmm16, %k1 {k2}
-vfpclasspsx $0xab, (%rax), %k1 {k2}
-vfpclasspsx $0xab, (%rax){1to4}, %k1 {k2}
-
-vfpclassps $0xab, %ymm16, %k1
-vfpclasspsy $0xab, (%rax), %k1
-vfpclasspsy $0xab, (%rax){1to8}, %k1
-vfpclassps $0xab, %ymm16, %k1 {k2}
-vfpclasspsy $0xab, (%rax), %k1 {k2}
-vfpclasspsy $0xab, (%rax){1to8}, %k1 {k2}
-
vpmullq %xmm16, %xmm17, %xmm19
vpmullq (%rax), %xmm17, %xmm19
vpmullq %xmm16, %xmm17, %xmm19 {k1}
@@ -192,6 +470,86 @@ vpmullq (%rax), %ymm17, %ymm19 {k1}
vpmullq %ymm16, %ymm17, %ymm19 {z}{k1}
vpmullq (%rax), %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, %xmm16, %xmm17, %xmm19
+vrangepd $ab, (%rax), %xmm17, %xmm19
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+vrangepd $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangepd $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vrangepd $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangepd $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vrangepd $ab, %ymm16, %ymm17, %ymm19
+vrangepd $ab, (%rax), %ymm17, %ymm19
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+vrangepd $ab, %ymm16, %ymm17, %ymm19 {k1}
+vrangepd $ab, (%rax), %ymm17, %ymm19 {k1}
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vrangepd $ab, %ymm16, %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, (%rax), %ymm17, %ymm19 {z}{k1}
+vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vrangeps $ab, %xmm16, %xmm17, %xmm19
+vrangeps $ab, (%rax), %xmm17, %xmm19
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+vrangeps $ab, %xmm16, %xmm17, %xmm19 {k1}
+vrangeps $ab, (%rax), %xmm17, %xmm19 {k1}
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vrangeps $ab, %xmm16, %xmm17, %xmm19 {z}{k1}
+vrangeps $ab, (%rax), %xmm17, %xmm19 {z}{k1}
+vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vrangeps $ab, %ymm16, %ymm17, %ymm19
+vrangeps $ab, (%rax), %ymm17, %ymm19
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+vrangeps $ab, %ymm16, %ymm17, %ymm19 {k1}
+vrangeps $ab, (%rax), %ymm17, %ymm19 {k1}
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vrangeps $ab, %ymm16, %ymm17, %ymm19 {z}{k1}
+vrangeps $ab, (%rax), %ymm17, %ymm19 {z}{k1}
+vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vreducepd $ab, %xmm16, %xmm19
+vreducepd $ab, (%rax), %xmm19
+vreducepd $ab, (%rax){1to2}, %xmm19
+vreducepd $ab, %xmm16, %xmm19 {k1}
+vreducepd $ab, (%rax), %xmm19 {k1}
+vreducepd $ab, (%rax){1to2}, %xmm19 {k1}
+vreducepd $ab, %xmm16, %xmm19 {z}{k1}
+vreducepd $ab, (%rax), %xmm19 {z}{k1}
+vreducepd $ab, (%rax){1to2}, %xmm19 {z}{k1}
+
+vreducepd $ab, %ymm16, %ymm19
+vreducepd $ab, (%rax), %ymm19
+vreducepd $ab, (%rax){1to4}, %ymm19
+vreducepd $ab, %ymm16, %ymm19 {k1}
+vreducepd $ab, (%rax), %ymm19 {k1}
+vreducepd $ab, (%rax){1to4}, %ymm19 {k1}
+vreducepd $ab, %ymm16, %ymm19 {z}{k1}
+vreducepd $ab, (%rax), %ymm19 {z}{k1}
+vreducepd $ab, (%rax){1to4}, %ymm19 {z}{k1}
+
+vreduceps $ab, %xmm16, %xmm19
+vreduceps $ab, (%rax), %xmm19
+vreduceps $ab, (%rax){1to4}, %xmm19
+vreduceps $ab, %xmm16, %xmm19 {k1}
+vreduceps $ab, (%rax), %xmm19 {k1}
+vreduceps $ab, (%rax){1to4}, %xmm19 {k1}
+vreduceps $ab, %xmm16, %xmm19 {z}{k1}
+vreduceps $ab, (%rax), %xmm19 {z}{k1}
+vreduceps $ab, (%rax){1to4}, %xmm19 {z}{k1}
+
+vreduceps $ab, %ymm16, %ymm19
+vreduceps $ab, (%rax), %ymm19
+vreduceps $ab, (%rax){1to8}, %ymm19
+vreduceps $ab, %ymm16, %ymm19 {k1}
+vreduceps $ab, (%rax), %ymm19 {k1}
+vreduceps $ab, (%rax){1to8}, %ymm19 {k1}
+vreduceps $ab, %ymm16, %ymm19 {z}{k1}
+vreduceps $ab, (%rax), %ymm19 {z}{k1}
+vreduceps $ab, (%rax){1to8}, %ymm19 {z}{k1}
+
vxorpd %xmm16, %xmm17, %xmm19
vxorpd (%rax), %xmm17, %xmm19
vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -232,18 +590,6 @@ vxorps %ymm16, %ymm17, %ymm19 {z}{k1}
vxorps (%rax), %ymm17, %ymm19 {z}{k1}
vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
-vpmovm2d %k0, %xmm0
-vpmovm2q %k0, %xmm0
-
-vpmovm2d %k0, %ymm0
-vpmovm2q %k0, %ymm0
-
-vpmovd2m %xmm0, %k0
-vpmovq2m %xmm0, %k0
-
-vpmovd2m %ymm0, %k0
-vpmovq2m %ymm0, %k0
-
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -271,6 +617,24 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vandpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -331,6 +695,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %ymm19
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %xmm16, %xmm19
# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax), %xmm19
# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax){1to2}, %xmm19
@@ -349,6 +785,186 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: 2 1 1.00 vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 1 1.00 * vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
+# CHECK-NEXT: 1 1 1.00 vpmovd2m %xmm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovq2m %xmm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovd2m %ymm0, %k0
+# CHECK-NEXT: 1 1 1.00 vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -385,30 +1001,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: 1 4 1.00 vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: 2 11 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2}
# CHECK-NEXT: 3 15 1.50 vpmullq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 4 21 1.50 * vpmullq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 3 15 1.50 vpmullq %xmm16, %xmm17, %xmm19 {%k1}
@@ -421,6 +1013,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 3 15 1.50 vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 4 22 1.50 * vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 14 1.00 * vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 15 1.00 * vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vxorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -457,14 +1121,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
-# CHECK-NEXT: 1 1 1.00 vpmovd2m %xmm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovq2m %xmm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovd2m %ymm0, %k0
-# CHECK-NEXT: 1 1 1.00 vpmovq2m %ymm0, %k0
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@@ -480,7 +1136,7 @@ vpmovq2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 79.33 75.33 66.50 66.50 - 81.33 - -
+# CHECK-NEXT: - - 240.33 236.33 166.83 166.83 4.00 137.33 - 1.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -502,6 +1158,24 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax){1to2}, %xmm17, %xmm19
@@ -562,6 +1236,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vbroadcasti64x2 (%rax), %ymm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vbroadcasti64x2 (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %xmm16, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2pd (%rax), %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2pd (%rax){1to2}, %xmm19
@@ -580,6 +1326,186 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2pd (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2d %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2q %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %xmm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %xmm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %ymm0, %k0
+# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax){1to2}, %xmm17, %xmm19
@@ -616,30 +1542,6 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: - - - - - - - 1.00 - - vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vfpclassps $171, (%rax){1to8}, %k1 {%k2}
# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - - - - vpmullq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1}
@@ -652,6 +1554,78 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - - - - vpmullq (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - - - - vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax){1to2}, %xmm17, %xmm19
@@ -688,11 +1662,3 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2d %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2q %k0, %ymm0
-# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %xmm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %xmm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %ymm0, %k0
-# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %ymm0, %k0
More information about the llvm-commits
mailing list