[llvm] r352273 - [llvm-mca][X86] Add some missing DQI tests
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 26 05:00:47 PST 2019
Author: rksimon
Date: Sat Jan 26 05:00:46 2019
New Revision: 352273
URL: http://llvm.org/viewvc/llvm-project?rev=352273&view=rev
Log:
[llvm-mca][X86] Add some missing DQI tests
Match more of the coverage of test\CodeGen\X86\avx512-schedule.ll as discussed on D57244
Added:
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
Modified:
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512.s?rev=352273&r1=352272&r2=352273&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512.s Sat Jan 26 05:00:46 2019
@@ -21,6 +21,46 @@ vaddps %zmm16, %zmm17, %zmm19
vaddps (%rax), %zmm17, %zmm19 {z}{k1}
vaddps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vcvtdq2pd %ymm16, %zmm19
+vcvtdq2pd (%rax), %zmm19
+vcvtdq2pd (%rax){1to8}, %zmm19
+vcvtdq2pd %ymm16, %zmm19 {k1}
+vcvtdq2pd (%rax), %zmm19 {k1}
+vcvtdq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtdq2pd %ymm16, %zmm19 {z}{k1}
+vcvtdq2pd (%rax), %zmm19 {z}{k1}
+vcvtdq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtdq2ps %zmm16, %zmm19
+vcvtdq2ps (%rax), %zmm19
+vcvtdq2ps (%rax){1to16}, %zmm19
+vcvtdq2ps %zmm16, %zmm19 {k1}
+vcvtdq2ps (%rax), %zmm19 {k1}
+vcvtdq2ps (%rax){1to16}, %zmm19 {k1}
+vcvtdq2ps %zmm16, %zmm19 {z}{k1}
+vcvtdq2ps (%rax), %zmm19 {z}{k1}
+vcvtdq2ps (%rax){1to16}, %zmm19 {z}{k1}
+
+vcvtps2dq %zmm16, %zmm19
+vcvtps2dq (%rax), %zmm19
+vcvtps2dq (%rax){1to16}, %zmm19
+vcvtps2dq %zmm16, %zmm19 {k1}
+vcvtps2dq (%rax), %zmm19 {k1}
+vcvtps2dq (%rax){1to16}, %zmm19 {k1}
+vcvtps2dq %zmm16, %zmm19 {z}{k1}
+vcvtps2dq (%rax), %zmm19 {z}{k1}
+vcvtps2dq (%rax){1to16}, %zmm19 {z}{k1}
+
+vcvttps2dq %zmm16, %zmm19
+vcvttps2dq (%rax), %zmm19
+vcvttps2dq (%rax){1to16}, %zmm19
+vcvttps2dq %zmm16, %zmm19 {k1}
+vcvttps2dq (%rax), %zmm19 {k1}
+vcvttps2dq (%rax){1to16}, %zmm19 {k1}
+vcvttps2dq %zmm16, %zmm19 {z}{k1}
+vcvttps2dq (%rax), %zmm19 {z}{k1}
+vcvttps2dq (%rax){1to16}, %zmm19 {z}{k1}
+
vdivpd %zmm16, %zmm17, %zmm19
vdivpd (%rax), %zmm17, %zmm19
vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -41,6 +81,46 @@ vdivps %zmm16, %zmm17, %zmm19
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vmaxpd %zmm16, %zmm17, %zmm19
+vmaxpd (%rax), %zmm17, %zmm19
+vmaxpd (%rax){1to8}, %zmm17, %zmm19
+vmaxpd %zmm16, %zmm17, %zmm19 {k1}
+vmaxpd (%rax), %zmm17, %zmm19 {k1}
+vmaxpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vmaxpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vmaxpd (%rax), %zmm17, %zmm19 {z}{k1}
+vmaxpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vmaxps %zmm16, %zmm17, %zmm19
+vmaxps (%rax), %zmm17, %zmm19
+vmaxps (%rax){1to16}, %zmm17, %zmm19
+vmaxps %zmm16, %zmm17, %zmm19 {k1}
+vmaxps (%rax), %zmm17, %zmm19 {k1}
+vmaxps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vmaxps %zmm16, %zmm17, %zmm19 {z}{k1}
+vmaxps (%rax), %zmm17, %zmm19 {z}{k1}
+vmaxps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vminpd %zmm16, %zmm17, %zmm19
+vminpd (%rax), %zmm17, %zmm19
+vminpd (%rax){1to8}, %zmm17, %zmm19
+vminpd %zmm16, %zmm17, %zmm19 {k1}
+vminpd (%rax), %zmm17, %zmm19 {k1}
+vminpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vminpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vminpd (%rax), %zmm17, %zmm19 {z}{k1}
+vminpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vminps %zmm16, %zmm17, %zmm19
+vminps (%rax), %zmm17, %zmm19
+vminps (%rax){1to16}, %zmm17, %zmm19
+vminps %zmm16, %zmm17, %zmm19 {k1}
+vminps (%rax), %zmm17, %zmm19 {k1}
+vminps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vminps %zmm16, %zmm17, %zmm19 {z}{k1}
+vminps (%rax), %zmm17, %zmm19 {z}{k1}
+vminps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vmulpd %zmm16, %zmm17, %zmm19
vmulpd (%rax), %zmm17, %zmm19
vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -101,6 +181,16 @@ vpaddq %zmm16, %zmm17, %zmm19
vpaddq (%rax), %zmm17, %zmm19 {z}{k1}
vpaddq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vpmulld %zmm16, %zmm17, %zmm19
+vpmulld (%rax), %zmm17, %zmm19
+vpmulld (%rax){1to16}, %zmm17, %zmm19
+vpmulld %zmm16, %zmm17, %zmm19 {k1}
+vpmulld (%rax), %zmm17, %zmm19 {k1}
+vpmulld (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpmulld %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulld (%rax), %zmm17, %zmm19 {z}{k1}
+vpmulld (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vpermd %zmm16, %zmm17, %zmm19
vpermd (%rax), %zmm17, %zmm19
vpermd (%rax){1to16}, %zmm17, %zmm19
@@ -211,6 +301,26 @@ vpshufd $0, %zmm16, %zmm19 {z}
vpshufd $0, (%rax), %zmm19 {z}{k1}
vpshufd $0, (%rax){1to16}, %zmm19 {z}{k1}
+vpsubd %zmm16, %zmm17, %zmm19
+vpsubd (%rax), %zmm17, %zmm19
+vpsubd (%rax){1to16}, %zmm17, %zmm19
+vpsubd %zmm16, %zmm17, %zmm19 {k1}
+vpsubd (%rax), %zmm17, %zmm19 {k1}
+vpsubd (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpsubd %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubd (%rax), %zmm17, %zmm19 {z}{k1}
+vpsubd (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vpsubq %zmm16, %zmm17, %zmm19
+vpsubq (%rax), %zmm17, %zmm19
+vpsubq (%rax){1to8}, %zmm17, %zmm19
+vpsubq %zmm16, %zmm17, %zmm19 {k1}
+vpsubq (%rax), %zmm17, %zmm19 {k1}
+vpsubq (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpsubq %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubq (%rax), %zmm17, %zmm19 {z}{k1}
+vpsubq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
vpunpckhdq %zmm16, %zmm17, %zmm19
vpunpckhdq (%rax), %zmm17, %zmm19
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
@@ -291,6 +401,40 @@ vshufi64x2 $0, %zmm16, %zmm17, %z
vshufi64x2 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vsqrtpd %zmm16, %zmm19
+vsqrtpd (%rax), %zmm19
+vsqrtpd (%rax){1to8}, %zmm19
+vsqrtpd %zmm16, %zmm19 {k1}
+vsqrtpd (%rax), %zmm19 {k1}
+vsqrtpd (%rax){1to8}, %zmm19 {k1}
+vsqrtpd %zmm16, %zmm19 {z}{k1}
+vsqrtpd (%rax), %zmm19 {z}{k1}
+vsqrtpd (%rax){1to8}, %zmm19 {z}{k1}
+
+vsqrtps %zmm16, %zmm19
+vsqrtps (%rax), %zmm19
+vsqrtps (%rax){1to16}, %zmm19
+vsqrtps %zmm16, %zmm19 {k1}
+vsqrtps (%rax), %zmm19 {k1}
+vsqrtps (%rax){1to16}, %zmm19 {k1}
+vsqrtps %zmm16, %zmm19 {z}{k1}
+vsqrtps (%rax), %zmm19 {z}{k1}
+vsqrtps (%rax){1to16}, %zmm19 {z}{k1}
+
+vsqrtsd %xmm16, %xmm17, %xmm19
+vsqrtsd (%rax), %xmm17, %xmm19
+vsqrtsd %xmm16, %xmm17, %xmm19 {k1}
+vsqrtsd (%rax), %xmm17, %xmm19 {k1}
+vsqrtsd %xmm16, %xmm17, %xmm19 {z}{k1}
+vsqrtsd (%rax), %xmm17, %xmm19 {z}{k1}
+
+vsqrtss %xmm16, %xmm17, %xmm19
+vsqrtss (%rax), %xmm17, %xmm19
+vsqrtss %xmm16, %xmm17, %xmm19 {k1}
+vsqrtss (%rax), %xmm17, %xmm19 {k1}
+vsqrtss %xmm16, %xmm17, %xmm19 {z}{k1}
+vsqrtss (%rax), %xmm17, %xmm19 {z}{k1}
+
vpsubd %zmm16, %zmm17, %zmm19
vpsubd (%rax), %zmm17, %zmm19
vpsubd (%rax){1to16}, %zmm17, %zmm19
@@ -398,6 +542,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 3 1.00 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %ymm16, %zmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %zmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtps2dq %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2dq (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvtps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvtps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvttps2dq %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2dq (%rax), %zmm19
+# CHECK-NEXT: 2 10 1.00 * vcvttps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 3 1.00 vcvttps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvttps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: 3 45 44.00 vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 52 44.00 * vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 4 52 44.00 * vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -416,6 +596,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 3 29 28.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vmaxpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vmaxpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vmaxps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vmaxps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vminpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vminpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vminpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vminps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 3 1.00 vminps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 5 1.00 vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 12 1.00 * vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 12 1.00 * vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -470,6 +686,15 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 1 0.50 vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmulld %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpmulld %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmulld %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19
@@ -569,6 +794,24 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpsubd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
@@ -641,6 +884,36 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 45 44.00 vsqrtpd %zmm16, %zmm19
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax), %zmm19
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 3 45 44.00 vsqrtpd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 3 45 44.00 vsqrtpd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 29 28.00 vsqrtps %zmm16, %zmm19
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax), %zmm19
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax){1to16}, %zmm19
+# CHECK-NEXT: 3 29 28.00 vsqrtps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 3 29 28.00 vsqrtps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 21 21.00 vsqrtsd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 21 21.00 vsqrtsd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 21 21.00 vsqrtsd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19
@@ -726,7 +999,7 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 648.00 63.00 63.00 - 243.00 111.00 111.00
+# CHECK-NEXT: - 1506.00 129.00 144.00 - 270.00 153.00 153.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -748,6 +1021,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - - 1.00 - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %ymm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2dq %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2dq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2dq %zmm16, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2dq (%rax), %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvttps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -766,6 +1075,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vminps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - vminps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -820,6 +1165,15 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to16}, %zmm17, %zmm19
@@ -919,6 +1273,24 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
@@ -991,6 +1363,36 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vsqrtpd %zmm16, %zmm19
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax), %zmm19
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vsqrtpd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vsqrtpd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vsqrtps %zmm16, %zmm19
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax), %zmm19
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vsqrtps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vsqrtps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 21.00 1.00 - - - - - vsqrtsd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtsd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - 21.00 1.00 - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtsd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 21.00 1.00 - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtsd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 14.00 1.00 - - - - - vsqrtss %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtss (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - 14.00 1.00 - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtss (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 14.00 1.00 - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtss (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to16}, %zmm17, %zmm19
Added: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s?rev=352273&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s Sat Jan 26 05:00:46 2019
@@ -0,0 +1,328 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+
+vandnpd %zmm16, %zmm17, %zmm19
+vandnpd (%rax), %zmm17, %zmm19
+vandnpd (%rax){1to8}, %zmm17, %zmm19
+vandnpd %zmm16, %zmm17, %zmm19 {k1}
+vandnpd (%rax), %zmm17, %zmm19 {k1}
+vandnpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vandnpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vandnpd (%rax), %zmm17, %zmm19 {z}{k1}
+vandnpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vandnps %zmm16, %zmm17, %zmm19
+vandnps (%rax), %zmm17, %zmm19
+vandnps (%rax){1to16}, %zmm17, %zmm19
+vandnps %zmm16, %zmm17, %zmm19 {k1}
+vandnps (%rax), %zmm17, %zmm19 {k1}
+vandnps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vandnps %zmm16, %zmm17, %zmm19 {z}{k1}
+vandnps (%rax), %zmm17, %zmm19 {z}{k1}
+vandnps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vandpd %zmm16, %zmm17, %zmm19
+vandpd (%rax), %zmm17, %zmm19
+vandpd (%rax){1to8}, %zmm17, %zmm19
+vandpd %zmm16, %zmm17, %zmm19 {k1}
+vandpd (%rax), %zmm17, %zmm19 {k1}
+vandpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vandpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vandpd (%rax), %zmm17, %zmm19 {z}{k1}
+vandpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vandps %zmm16, %zmm17, %zmm19
+vandps (%rax), %zmm17, %zmm19
+vandps (%rax){1to16}, %zmm17, %zmm19
+vandps %zmm16, %zmm17, %zmm19 {k1}
+vandps (%rax), %zmm17, %zmm19 {k1}
+vandps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vandps %zmm16, %zmm17, %zmm19 {z}{k1}
+vandps (%rax), %zmm17, %zmm19 {z}{k1}
+vandps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vcvtqq2pd %zmm16, %zmm19
+vcvtqq2pd (%rax), %zmm19
+vcvtqq2pd (%rax){1to8}, %zmm19
+vcvtqq2pd %zmm16, %zmm19 {k1}
+vcvtqq2pd (%rax), %zmm19 {k1}
+vcvtqq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtqq2pd %zmm16, %zmm19 {z}{k1}
+vcvtqq2pd (%rax), %zmm19 {z}{k1}
+vcvtqq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtqq2ps %zmm16, %ymm19
+vcvtqq2ps (%rax), %ymm19
+vcvtqq2ps (%rax){1to8}, %ymm19
+vcvtqq2ps %zmm16, %ymm19 {k1}
+vcvtqq2ps (%rax), %ymm19 {k1}
+vcvtqq2ps (%rax){1to8}, %ymm19 {k1}
+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}
+
+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}
+
+vpmullq %zmm16, %zmm17, %zmm19
+vpmullq (%rax), %zmm17, %zmm19
+vpmullq %zmm16, %zmm17, %zmm19 {k1}
+vpmullq (%rax), %zmm17, %zmm19 {k1}
+vpmullq %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmullq (%rax), %zmm17, %zmm19 {z}{k1}
+
+vxorpd %zmm16, %zmm17, %zmm19
+vxorpd (%rax), %zmm17, %zmm19
+vxorpd (%rax){1to8}, %zmm17, %zmm19
+vxorpd %zmm16, %zmm17, %zmm19 {k1}
+vxorpd (%rax), %zmm17, %zmm19 {k1}
+vxorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vxorpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vxorpd (%rax), %zmm17, %zmm19 {z}{k1}
+vxorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vxorps %zmm16, %zmm17, %zmm19
+vxorps (%rax), %zmm17, %zmm19
+vxorps (%rax){1to16}, %zmm17, %zmm19
+vxorps %zmm16, %zmm17, %zmm19 {k1}
+vxorps (%rax), %zmm17, %zmm19 {k1}
+vxorps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vxorps %zmm16, %zmm17, %zmm19 {z}{k1}
+vxorps (%rax), %zmm17, %zmm19 {z}{k1}
+vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# 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
+# CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandnps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vandnps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandnps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vandpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vandps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to16}, %zmm17, %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
+# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %zmm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1}
+# 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: 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 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
+# CHECK-NEXT: 1 1 1.00 vxorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# 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: Resources:
+# CHECK-NEXT: [0] - SBDivider
+# CHECK-NEXT: [1] - SBFPDivider
+# CHECK-NEXT: [2] - SBPort0
+# CHECK-NEXT: [3] - SBPort1
+# CHECK-NEXT: [4] - SBPort4
+# CHECK-NEXT: [5] - SBPort5
+# CHECK-NEXT: [6.0] - SBPort23
+# CHECK-NEXT: [6.1] - SBPort23
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
+# CHECK-NEXT: - - 6.00 18.00 - 81.00 31.50 31.50
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
+# 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
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandnps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vandps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to16}, %zmm17, %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
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to8}, %ymm19 {%k1}
+# 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 - - - - - 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 - - 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
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# 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}
Added: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s?rev=352273&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s Sat Jan 26 05:00:46 2019
@@ -0,0 +1,515 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+
+vandnpd %xmm16, %xmm17, %xmm19
+vandnpd (%rax), %xmm17, %xmm19
+vandnpd (%rax){1to2}, %xmm17, %xmm19
+vandnpd %xmm16, %xmm17, %xmm19 {k1}
+vandnpd (%rax), %xmm17, %xmm19 {k1}
+vandnpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vandnpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vandnpd (%rax), %xmm17, %xmm19 {z}{k1}
+vandnpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vandnpd %ymm16, %ymm17, %ymm19
+vandnpd (%rax), %ymm17, %ymm19
+vandnpd (%rax){1to4}, %ymm17, %ymm19
+vandnpd %ymm16, %ymm17, %ymm19 {k1}
+vandnpd (%rax), %ymm17, %ymm19 {k1}
+vandnpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vandnpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vandnpd (%rax), %ymm17, %ymm19 {z}{k1}
+vandnpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vandpd %xmm16, %xmm17, %xmm19
+vandpd (%rax), %xmm17, %xmm19
+vandpd (%rax){1to2}, %xmm17, %xmm19
+vandpd %xmm16, %xmm17, %xmm19 {k1}
+vandpd (%rax), %xmm17, %xmm19 {k1}
+vandpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vandpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vandpd (%rax), %xmm17, %xmm19 {z}{k1}
+vandpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vandpd %ymm16, %ymm17, %ymm19
+vandpd (%rax), %ymm17, %ymm19
+vandpd (%rax){1to4}, %ymm17, %ymm19
+vandpd %ymm16, %ymm17, %ymm19 {k1}
+vandpd (%rax), %ymm17, %ymm19 {k1}
+vandpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vandpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vandpd (%rax), %ymm17, %ymm19 {z}{k1}
+vandpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vandps %xmm16, %xmm17, %xmm19
+vandps (%rax), %xmm17, %xmm19
+vandps (%rax){1to4}, %xmm17, %xmm19
+vandps %xmm16, %xmm17, %xmm19 {k1}
+vandps (%rax), %xmm17, %xmm19 {k1}
+vandps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vandps %xmm16, %xmm17, %xmm19 {z}{k1}
+vandps (%rax), %xmm17, %xmm19 {z}{k1}
+vandps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vandps %ymm16, %ymm17, %ymm19
+vandps (%rax), %ymm17, %ymm19
+vandps (%rax){1to8}, %ymm17, %ymm19
+vandps %ymm16, %ymm17, %ymm19 {k1}
+vandps (%rax), %ymm17, %ymm19 {k1}
+vandps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vandps %ymm16, %ymm17, %ymm19 {z}{k1}
+vandps (%rax), %ymm17, %ymm19 {z}{k1}
+vandps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vcvtqq2pd %xmm16, %xmm19
+vcvtqq2pd (%rax), %xmm19
+vcvtqq2pd (%rax){1to2}, %xmm19
+vcvtqq2pd %xmm16, %xmm19 {k1}
+vcvtqq2pd (%rax), %xmm19 {k1}
+vcvtqq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtqq2pd %xmm16, %xmm19 {z}{k1}
+vcvtqq2pd (%rax), %xmm19 {z}{k1}
+vcvtqq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtqq2pd %ymm16, %ymm19
+vcvtqq2pd (%rax), %ymm19
+vcvtqq2pd (%rax){1to4}, %ymm19
+vcvtqq2pd %ymm16, %ymm19 {k1}
+vcvtqq2pd (%rax), %ymm19 {k1}
+vcvtqq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtqq2pd %ymm16, %ymm19 {z}{k1}
+vcvtqq2pd (%rax), %ymm19 {z}{k1}
+vcvtqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vorpd %xmm16, %xmm17, %xmm19
+vorpd (%rax), %xmm17, %xmm19
+vorpd (%rax){1to2}, %xmm17, %xmm19
+vorpd %xmm16, %xmm17, %xmm19 {k1}
+vorpd (%rax), %xmm17, %xmm19 {k1}
+vorpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vorpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vorpd (%rax), %xmm17, %xmm19 {z}{k1}
+vorpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vorpd %ymm16, %ymm17, %ymm19
+vorpd (%rax), %ymm17, %ymm19
+vorpd (%rax){1to4}, %ymm17, %ymm19
+vorpd %ymm16, %ymm17, %ymm19 {k1}
+vorpd (%rax), %ymm17, %ymm19 {k1}
+vorpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vorpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vorpd (%rax), %ymm17, %ymm19 {z}{k1}
+vorpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vorps %xmm16, %xmm17, %xmm19
+vorps (%rax), %xmm17, %xmm19
+vorps (%rax){1to4}, %xmm17, %xmm19
+vorps %xmm16, %xmm17, %xmm19 {k1}
+vorps (%rax), %xmm17, %xmm19 {k1}
+vorps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vorps %xmm16, %xmm17, %xmm19 {z}{k1}
+vorps (%rax), %xmm17, %xmm19 {z}{k1}
+vorps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vorps %ymm16, %ymm17, %ymm19
+vorps (%rax), %ymm17, %ymm19
+vorps (%rax){1to8}, %ymm17, %ymm19
+vorps %ymm16, %ymm17, %ymm19 {k1}
+vorps (%rax), %ymm17, %ymm19 {k1}
+vorps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vorps %ymm16, %ymm17, %ymm19 {z}{k1}
+vorps (%rax), %ymm17, %ymm19 {z}{k1}
+vorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vpmullq %xmm16, %xmm17, %xmm19
+vpmullq (%rax), %xmm17, %xmm19
+vpmullq %xmm16, %xmm17, %xmm19 {k1}
+vpmullq (%rax), %xmm17, %xmm19 {k1}
+vpmullq %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmullq (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmullq %ymm16, %ymm17, %ymm19
+vpmullq (%rax), %ymm17, %ymm19
+vpmullq %ymm16, %ymm17, %ymm19 {k1}
+vpmullq (%rax), %ymm17, %ymm19 {k1}
+vpmullq %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmullq (%rax), %ymm17, %ymm19 {z}{k1}
+
+vxorpd %xmm16, %xmm17, %xmm19
+vxorpd (%rax), %xmm17, %xmm19
+vxorpd (%rax){1to2}, %xmm17, %xmm19
+vxorpd %xmm16, %xmm17, %xmm19 {k1}
+vxorpd (%rax), %xmm17, %xmm19 {k1}
+vxorpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vxorpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vxorpd (%rax), %xmm17, %xmm19 {z}{k1}
+vxorpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vxorpd %ymm16, %ymm17, %ymm19
+vxorpd (%rax), %ymm17, %ymm19
+vxorpd (%rax){1to4}, %ymm17, %ymm19
+vxorpd %ymm16, %ymm17, %ymm19 {k1}
+vxorpd (%rax), %ymm17, %ymm19 {k1}
+vxorpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vxorpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vxorpd (%rax), %ymm17, %ymm19 {z}{k1}
+vxorpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vxorps %xmm16, %xmm17, %xmm19
+vxorps (%rax), %xmm17, %xmm19
+vxorps (%rax){1to4}, %xmm17, %xmm19
+vxorps %xmm16, %xmm17, %xmm19 {k1}
+vxorps (%rax), %xmm17, %xmm19 {k1}
+vxorps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vxorps %xmm16, %xmm17, %xmm19 {z}{k1}
+vxorps (%rax), %xmm17, %xmm19 {z}{k1}
+vxorps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vxorps %ymm16, %ymm17, %ymm19
+vxorps (%rax), %ymm17, %ymm19
+vxorps (%rax){1to8}, %ymm17, %ymm19
+vxorps %ymm16, %ymm17, %ymm19 {k1}
+vxorps (%rax), %ymm17, %ymm19 {k1}
+vxorps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vxorps %ymm16, %ymm17, %ymm19 {z}{k1}
+vxorps (%rax), %ymm17, %ymm19 {z}{k1}
+vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 1.00 vandnpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 1.00 vandnpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandnpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandnpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vandnpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# 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 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
+# CHECK-NEXT: 1 1 1.00 vandpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vandpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vandps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vandps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 1.00 vandps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vandps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vandps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vandps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vandps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vandps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to8}, %ymm17, %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
+# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %ymm16, %ymm19
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %ymm19
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to4}, %ymm19 {%k1}
+# 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 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
+# CHECK-NEXT: 1 1 1.00 vorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 1.00 vorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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 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}
+# CHECK-NEXT: 2 11 1.00 * vpmullq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmullq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpmullq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmullq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpmullq %ymm16, %ymm17, %ymm19 {%k1}
+# 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 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
+# CHECK-NEXT: 1 1 1.00 vxorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vxorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vxorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vxorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vxorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vxorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vxorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 1.00 vxorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 * vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vxorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 * vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vxorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 1.00 vxorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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: Resources:
+# CHECK-NEXT: [0] - SBDivider
+# CHECK-NEXT: [1] - SBFPDivider
+# CHECK-NEXT: [2] - SBPort0
+# CHECK-NEXT: [3] - SBPort1
+# CHECK-NEXT: [4] - SBPort4
+# CHECK-NEXT: [5] - SBPort5
+# CHECK-NEXT: [6.0] - SBPort23
+# CHECK-NEXT: [6.1] - SBPort23
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
+# CHECK-NEXT: - - 12.00 18.00 - 144.00 51.00 51.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vandnpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# 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 - - 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
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vandps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vandps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vandps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vandps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to8}, %ymm17, %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
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to4}, %ymm19 {%k1}
+# 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 - - 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
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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 - - - - - 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}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpmullq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1}
+# 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 - - 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
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vxorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vxorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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}
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s?rev=352273&r1=352272&r2=352273&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s Sat Jan 26 05:00:46 2019
@@ -41,6 +41,46 @@ vaddps %ymm16, %ymm17, %ymm19
vaddps (%rax), %ymm17, %ymm19 {z}{k1}
vaddps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vcvtdq2pd %xmm16, %xmm19
+vcvtdq2pd (%rax), %xmm19
+vcvtdq2pd (%rax){1to2}, %xmm19
+vcvtdq2pd %xmm16, %xmm19 {k1}
+vcvtdq2pd (%rax), %xmm19 {k1}
+vcvtdq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtdq2pd %xmm16, %xmm19 {z}{k1}
+vcvtdq2pd (%rax), %xmm19 {z}{k1}
+vcvtdq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtdq2pd %xmm16, %ymm19
+vcvtdq2pd (%rax), %ymm19
+vcvtdq2pd (%rax){1to4}, %ymm19
+vcvtdq2pd %xmm16, %ymm19 {k1}
+vcvtdq2pd (%rax), %ymm19 {k1}
+vcvtdq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtdq2pd %xmm16, %ymm19 {z}{k1}
+vcvtdq2pd (%rax), %ymm19 {z}{k1}
+vcvtdq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtdq2ps %xmm16, %xmm19
+vcvtdq2ps (%rax), %xmm19
+vcvtdq2ps (%rax){1to4}, %xmm19
+vcvtdq2ps %xmm16, %xmm19 {k1}
+vcvtdq2ps (%rax), %xmm19 {k1}
+vcvtdq2ps (%rax){1to4},%xmm19 {k1}
+vcvtdq2ps %xmm16, %xmm19 {z}{k1}
+vcvtdq2ps (%rax), %xmm19 {z}{k1}
+vcvtdq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vcvtdq2ps %ymm16, %ymm19
+vcvtdq2ps (%rax), %ymm19
+vcvtdq2ps (%rax){1to8}, %ymm19
+vcvtdq2ps %ymm16,%ymm19 {k1}
+vcvtdq2ps (%rax),%ymm19 {k1}
+vcvtdq2ps (%rax){1to8}, %ymm19 {k1}
+vcvtdq2ps %ymm16, %ymm19 {z}{k1}
+vcvtdq2ps (%rax), %ymm19 {z}{k1}
+vcvtdq2ps (%rax){1to8}, %ymm19 {z}{k1}
+
vdivpd %xmm16, %xmm17, %xmm19
vdivpd (%rax), %xmm17, %xmm19
vdivpd (%rax){1to2}, %xmm17, %xmm19
@@ -81,6 +121,86 @@ vdivps %ymm16, %ymm17, %ymm19
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vmaxpd %xmm16, %xmm17, %xmm19
+vmaxpd (%rax), %xmm17, %xmm19
+vmaxpd (%rax){1to2}, %xmm17, %xmm19
+vmaxpd %xmm16, %xmm17, %xmm19 {k1}
+vmaxpd (%rax), %xmm17, %xmm19 {k1}
+vmaxpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vmaxpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vmaxpd (%rax), %xmm17, %xmm19 {z}{k1}
+vmaxpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vmaxpd %ymm16, %ymm17, %ymm19
+vmaxpd (%rax), %ymm17, %ymm19
+vmaxpd (%rax){1to4}, %ymm17, %ymm19
+vmaxpd %ymm16, %ymm17, %ymm19 {k1}
+vmaxpd (%rax), %ymm17, %ymm19 {k1}
+vmaxpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vmaxpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vmaxpd (%rax), %ymm17, %ymm19 {z}{k1}
+vmaxpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vmaxps %xmm16, %xmm17, %xmm19
+vmaxps (%rax), %xmm17, %xmm19
+vmaxps (%rax){1to4}, %xmm17, %xmm19
+vmaxps %xmm16, %xmm17, %xmm19 {k1}
+vmaxps (%rax), %xmm17, %xmm19 {k1}
+vmaxps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vmaxps %xmm16, %xmm17, %xmm19 {z}{k1}
+vmaxps (%rax), %xmm17, %xmm19 {z}{k1}
+vmaxps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vmaxps %ymm16, %ymm17, %ymm19
+vmaxps (%rax), %ymm17, %ymm19
+vmaxps (%rax){1to8}, %ymm17, %ymm19
+vmaxps %ymm16, %ymm17, %ymm19 {k1}
+vmaxps (%rax), %ymm17, %ymm19 {k1}
+vmaxps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vmaxps %ymm16, %ymm17, %ymm19 {z}{k1}
+vmaxps (%rax), %ymm17, %ymm19 {z}{k1}
+vmaxps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vminpd %xmm16, %xmm17, %xmm19
+vminpd (%rax), %xmm17, %xmm19
+vminpd (%rax){1to2}, %xmm17, %xmm19
+vminpd %xmm16, %xmm17, %xmm19 {k1}
+vminpd (%rax), %xmm17, %xmm19 {k1}
+vminpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vminpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vminpd (%rax), %xmm17, %xmm19 {z}{k1}
+vminpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vminpd %ymm16, %ymm17, %ymm19
+vminpd (%rax), %ymm17, %ymm19
+vminpd (%rax){1to4}, %ymm17, %ymm19
+vminpd %ymm16, %ymm17, %ymm19 {k1}
+vminpd (%rax), %ymm17, %ymm19 {k1}
+vminpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vminpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vminpd (%rax), %ymm17, %ymm19 {z}{k1}
+vminpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vminps %xmm16, %xmm17, %xmm19
+vminps (%rax), %xmm17, %xmm19
+vminps (%rax){1to4}, %xmm17, %xmm19
+vminps %xmm16, %xmm17, %xmm19 {k1}
+vminps (%rax), %xmm17, %xmm19 {k1}
+vminps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vminps %xmm16, %xmm17, %xmm19 {z}{k1}
+vminps (%rax), %xmm17, %xmm19 {z}{k1}
+vminps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vminps %ymm16, %ymm17, %ymm19
+vminps (%rax), %ymm17, %ymm19
+vminps (%rax){1to8}, %ymm17, %ymm19
+vminps %ymm16, %ymm17, %ymm19 {k1}
+vminps (%rax), %ymm17, %ymm19 {k1}
+vminps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vminps %ymm16, %ymm17, %ymm19 {z}{k1}
+vminps (%rax), %ymm17, %ymm19 {z}{k1}
+vminps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vmulpd %xmm16, %xmm17, %xmm19
vmulpd (%rax), %xmm17, %xmm19
vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -121,6 +241,46 @@ vmulps %ymm16, %ymm17, %ymm19
vmulps (%rax), %ymm17, %ymm19 {z}{k1}
vmulps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vpaddd %xmm16, %xmm17, %xmm19
+vpaddd (%rax), %xmm17, %xmm19
+vpaddd (%rax){1to4}, %xmm17, %xmm19
+vpaddd %xmm16, %xmm17, %xmm19 {k1}
+vpaddd (%rax), %xmm17, %xmm19 {k1}
+vpaddd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpaddd %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddd (%rax), %xmm17, %xmm19 {z}{k1}
+vpaddd (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vpaddd %ymm16, %ymm17, %ymm19
+vpaddd (%rax), %ymm17, %ymm19
+vpaddd (%rax){1to8}, %ymm17, %ymm19
+vpaddd %ymm16, %ymm17, %ymm19 {k1}
+vpaddd (%rax), %ymm17, %ymm19 {k1}
+vpaddd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpaddd %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddd (%rax), %ymm17, %ymm19 {z}{k1}
+vpaddd (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vpaddq %xmm16, %xmm17, %xmm19
+vpaddq (%rax), %xmm17, %xmm19
+vpaddq (%rax){1to2}, %xmm17, %xmm19
+vpaddq %xmm16, %xmm17, %xmm19 {k1}
+vpaddq (%rax), %xmm17, %xmm19 {k1}
+vpaddq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpaddq %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddq (%rax), %xmm17, %xmm19 {z}{k1}
+vpaddq (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vpaddq %ymm16, %ymm17, %ymm19
+vpaddq (%rax), %ymm17, %ymm19
+vpaddq (%rax){1to4}, %ymm17, %ymm19
+vpaddq %ymm16, %ymm17, %ymm19 {k1}
+vpaddq (%rax), %ymm17, %ymm19 {k1}
+vpaddq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpaddq %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddq (%rax), %ymm17, %ymm19 {z}{k1}
+vpaddq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vpermd %ymm16, %ymm17, %ymm19
vpermd (%rax), %ymm17, %ymm19
vpermd (%rax){1to8}, %ymm17, %ymm19
@@ -261,6 +421,26 @@ vpermq %ymm16, %ymm17, %ymm19
vpermq (%rax), %ymm17, %ymm19 {z}{k1}
vpermq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vpmulld %xmm16, %xmm17, %xmm19
+vpmulld (%rax), %xmm17, %xmm19
+vpmulld (%rax){1to4}, %xmm17, %xmm19
+vpmulld %xmm16, %xmm17, %xmm19 {k1}
+vpmulld (%rax), %xmm17, %xmm19 {k1}
+vpmulld (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpmulld %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulld (%rax), %xmm17, %xmm19 {z}{k1}
+vpmulld (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vpmulld %ymm16, %ymm17, %ymm19
+vpmulld (%rax), %ymm17, %ymm19
+vpmulld (%rax){1to8}, %ymm17, %ymm19
+vpmulld %ymm16, %ymm17, %ymm19 {k1}
+vpmulld (%rax), %ymm17, %ymm19 {k1}
+vpmulld (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpmulld %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulld (%rax), %ymm17, %ymm19 {z}{k1}
+vpmulld (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vpshufd $0, %xmm16, %xmm19
vpshufd $0, (%rax), %xmm19
vpshufd $0, (%rax){1to4}, %xmm19
@@ -281,6 +461,46 @@ vpshufd $0, %ymm16, %ymm19 {z}
vpshufd $0, (%rax), %ymm19 {z}{k1}
vpshufd $0, (%rax){1to8}, %ymm19 {z}{k1}
+vpsubd %xmm16, %xmm17, %xmm19
+vpsubd (%rax), %xmm17, %xmm19
+vpsubd (%rax){1to4}, %xmm17, %xmm19
+vpsubd %xmm16, %xmm17, %xmm19 {k1}
+vpsubd (%rax), %xmm17, %xmm19 {k1}
+vpsubd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpsubd %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubd (%rax), %xmm17, %xmm19 {z}{k1}
+vpsubd (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vpsubd %ymm16, %ymm17, %ymm19
+vpsubd (%rax), %ymm17, %ymm19
+vpsubd (%rax){1to8}, %ymm17, %ymm19
+vpsubd %ymm16, %ymm17, %ymm19 {k1}
+vpsubd (%rax), %ymm17, %ymm19 {k1}
+vpsubd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpsubd %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubd (%rax), %ymm17, %ymm19 {z}{k1}
+vpsubd (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vpsubq %xmm16, %xmm17, %xmm19
+vpsubq (%rax), %xmm17, %xmm19
+vpsubq (%rax){1to2}, %xmm17, %xmm19
+vpsubq %xmm16, %xmm17, %xmm19 {k1}
+vpsubq (%rax), %xmm17, %xmm19 {k1}
+vpsubq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpsubq %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubq (%rax), %xmm17, %xmm19 {z}{k1}
+vpsubq (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vpsubq %ymm16, %ymm17, %ymm19
+vpsubq (%rax), %ymm17, %ymm19
+vpsubq (%rax){1to4}, %ymm17, %ymm19
+vpsubq %ymm16, %ymm17, %ymm19 {k1}
+vpsubq (%rax), %ymm17, %ymm19 {k1}
+vpsubq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpsubq %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubq (%rax), %ymm17, %ymm19 {z}{k1}
+vpsubq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vpunpckhdq %xmm16, %xmm17, %xmm19
vpunpckhdq (%rax), %xmm17, %xmm19
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
@@ -361,6 +581,46 @@ vshufi64x2 $0, %ymm16, %ymm17, %y
vshufi64x2 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vsqrtpd %xmm16, %xmm19
+vsqrtpd (%rax), %xmm19
+vsqrtpd (%rax){1to2}, %xmm19
+vsqrtpd %xmm16, %xmm19 {k1}
+vsqrtpd (%rax), %xmm19 {k1}
+vsqrtpd (%rax){1to2}, %xmm19 {k1}
+vsqrtpd %xmm16, %xmm19 {z}{k1}
+vsqrtpd (%rax), %xmm19 {z}{k1}
+vsqrtpd (%rax){1to2}, %xmm19 {z}{k1}
+
+vsqrtpd %ymm16, %ymm19
+vsqrtpd (%rax), %ymm19
+vsqrtpd (%rax){1to4}, %ymm19
+vsqrtpd %ymm16, %ymm19 {k1}
+vsqrtpd (%rax), %ymm19 {k1}
+vsqrtpd (%rax){1to4}, %ymm19 {k1}
+vsqrtpd %ymm16, %ymm19 {z}{k1}
+vsqrtpd (%rax), %ymm19 {z}{k1}
+vsqrtpd (%rax){1to4}, %ymm19 {z}{k1}
+
+vsqrtps %xmm16, %xmm19
+vsqrtps (%rax), %xmm19
+vsqrtps (%rax){1to4}, %xmm19
+vsqrtps %xmm16, %xmm19 {k1}
+vsqrtps (%rax), %xmm19 {k1}
+vsqrtps (%rax){1to4}, %xmm19 {k1}
+vsqrtps %xmm16, %xmm19 {z}{k1}
+vsqrtps (%rax), %xmm19 {z}{k1}
+vsqrtps (%rax){1to4}, %xmm19 {z}{k1}
+
+vsqrtps %ymm16, %ymm19
+vsqrtps (%rax), %ymm19
+vsqrtps (%rax){1to8}, %ymm19
+vsqrtps %ymm16, %ymm19 {k1}
+vsqrtps (%rax), %ymm19 {k1}
+vsqrtps (%rax){1to8}, %ymm19 {k1}
+vsqrtps %ymm16, %ymm19 {z}{k1}
+vsqrtps (%rax), %ymm19 {z}{k1}
+vsqrtps (%rax){1to8}, %ymm19 {z}{k1}
+
vsubpd %xmm16, %xmm17, %xmm19
vsubpd (%rax), %xmm17, %xmm19
vsubpd (%rax){1to2}, %xmm17, %xmm19
@@ -526,6 +786,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 3 1.00 vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm16, %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %xmm19
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm16, %ymm19
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %ymm19
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 10 1.00 * vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax), %xmm19
+# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax), %ymm19
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 22 22.00 vdivpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 28 22.00 * vdivpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 28 22.00 * vdivpd (%rax){1to2}, %xmm17, %xmm19
@@ -562,6 +858,78 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 3 29 28.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vmaxps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vmaxps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vmaxps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vmaxps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vminpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vminpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vminpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vminpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vminpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vminpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vminpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vminpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vminpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vminpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vminps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vminps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 9 1.00 * vminps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 3 1.00 vminps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vminps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 9 1.00 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vminps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vminps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 9 1.00 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 vminps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 3 1.00 vminps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 5 1.00 vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -598,6 +966,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 5 1.00 vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 12 1.00 * vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 12 1.00 * vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpaddd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpaddd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpaddd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpaddd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.50 vpaddd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpaddd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpaddq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpaddq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpaddq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpaddq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.50 vpaddq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpaddq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19
@@ -724,6 +1128,24 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 1 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmulld %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpmulld %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmulld %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmulld %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpmulld %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax){1to4}, %xmm19
@@ -742,6 +1164,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpsubd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpsubd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpsubd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpsubd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.50 vpsubd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpsubd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpsubq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.50 vpsubq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpsubq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpsubq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.50 vpsubq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpsubq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
@@ -814,6 +1272,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 1 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 21 21.00 vsqrtpd %xmm16, %xmm19
+# CHECK-NEXT: 2 27 21.00 * vsqrtpd (%rax), %xmm19
+# CHECK-NEXT: 2 27 21.00 * vsqrtpd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 21 21.00 vsqrtpd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 27 21.00 * vsqrtpd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 27 21.00 * vsqrtpd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 21 21.00 vsqrtpd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 27 21.00 * vsqrtpd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 27 21.00 * vsqrtpd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 45 44.00 vsqrtpd %ymm16, %ymm19
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax), %ymm19
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 3 45 44.00 vsqrtpd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 3 45 44.00 vsqrtpd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 4 52 44.00 * vsqrtpd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 14 14.00 vsqrtps %xmm16, %xmm19
+# CHECK-NEXT: 2 20 14.00 * vsqrtps (%rax), %xmm19
+# CHECK-NEXT: 2 20 14.00 * vsqrtps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 14 14.00 vsqrtps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 20 14.00 * vsqrtps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 20 14.00 * vsqrtps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 14 14.00 vsqrtps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 20 14.00 * vsqrtps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 20 14.00 * vsqrtps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 29 28.00 vsqrtps %ymm16, %ymm19
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax), %ymm19
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 3 29 28.00 vsqrtps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 3 29 28.00 vsqrtps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 4 36 28.00 * vsqrtps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax){1to2}, %xmm17, %xmm19
@@ -935,7 +1429,7 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 972.00 99.00 85.50 - 283.50 144.00 144.00
+# CHECK-NEXT: - 1935.00 180.00 229.50 - 346.50 222.00 222.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -975,6 +1469,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - 1.00 - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %xmm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtdq2pd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %ymm16, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vcvtdq2ps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - 22.00 1.00 - - - - - vdivpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 vdivpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 vdivpd (%rax){1to2}, %xmm17, %xmm19
@@ -1011,6 +1541,78 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vminps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 1.00 - - - - vminps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vminps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - - - vminps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - vminps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 1.00 - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -1047,6 +1649,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - 1.00 - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax){1to8}, %ymm17, %ymm19
@@ -1173,6 +1811,24 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax){1to4}, %xmm19
@@ -1191,6 +1847,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
@@ -1263,6 +1955,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 21.00 1.00 - - - - - vsqrtpd %xmm16, %xmm19
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtpd (%rax), %xmm19
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtpd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - 21.00 1.00 - - - - - vsqrtpd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtpd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtpd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - 21.00 1.00 - - - - - vsqrtpd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtpd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 vsqrtpd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vsqrtpd %ymm16, %ymm19
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax), %ymm19
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vsqrtpd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vsqrtpd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vsqrtpd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 14.00 1.00 - - - - - vsqrtps %xmm16, %xmm19
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtps (%rax), %xmm19
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - 14.00 1.00 - - - - - vsqrtps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - 14.00 1.00 - - - - - vsqrtps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 vsqrtps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vsqrtps %ymm16, %ymm19
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax), %ymm19
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vsqrtps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vsqrtps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vsqrtps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - - - vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vsubpd (%rax){1to2}, %xmm17, %xmm19
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s?rev=352273&r1=352272&r2=352273&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s Sat Jan 26 05:00:46 2019
@@ -21,6 +21,46 @@ vaddps %zmm16, %zmm17, %zmm19
vaddps (%rax), %zmm17, %zmm19 {z}{k1}
vaddps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vcvtdq2pd %ymm16, %zmm19
+vcvtdq2pd (%rax), %zmm19
+vcvtdq2pd (%rax){1to8}, %zmm19
+vcvtdq2pd %ymm16, %zmm19 {k1}
+vcvtdq2pd (%rax), %zmm19 {k1}
+vcvtdq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtdq2pd %ymm16, %zmm19 {z}{k1}
+vcvtdq2pd (%rax), %zmm19 {z}{k1}
+vcvtdq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtdq2ps %zmm16, %zmm19
+vcvtdq2ps (%rax), %zmm19
+vcvtdq2ps (%rax){1to16}, %zmm19
+vcvtdq2ps %zmm16, %zmm19 {k1}
+vcvtdq2ps (%rax), %zmm19 {k1}
+vcvtdq2ps (%rax){1to16}, %zmm19 {k1}
+vcvtdq2ps %zmm16, %zmm19 {z}{k1}
+vcvtdq2ps (%rax), %zmm19 {z}{k1}
+vcvtdq2ps (%rax){1to16}, %zmm19 {z}{k1}
+
+vcvtps2dq %zmm16, %zmm19
+vcvtps2dq (%rax), %zmm19
+vcvtps2dq (%rax){1to16}, %zmm19
+vcvtps2dq %zmm16, %zmm19 {k1}
+vcvtps2dq (%rax), %zmm19 {k1}
+vcvtps2dq (%rax){1to16}, %zmm19 {k1}
+vcvtps2dq %zmm16, %zmm19 {z}{k1}
+vcvtps2dq (%rax), %zmm19 {z}{k1}
+vcvtps2dq (%rax){1to16}, %zmm19 {z}{k1}
+
+vcvttps2dq %zmm16, %zmm19
+vcvttps2dq (%rax), %zmm19
+vcvttps2dq (%rax){1to16}, %zmm19
+vcvttps2dq %zmm16, %zmm19 {k1}
+vcvttps2dq (%rax), %zmm19 {k1}
+vcvttps2dq (%rax){1to16}, %zmm19 {k1}
+vcvttps2dq %zmm16, %zmm19 {z}{k1}
+vcvttps2dq (%rax), %zmm19 {z}{k1}
+vcvttps2dq (%rax){1to16}, %zmm19 {z}{k1}
+
vdivpd %zmm16, %zmm17, %zmm19
vdivpd (%rax), %zmm17, %zmm19
vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -41,6 +81,46 @@ vdivps %zmm16, %zmm17, %zmm19
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vmaxpd %zmm16, %zmm17, %zmm19
+vmaxpd (%rax), %zmm17, %zmm19
+vmaxpd (%rax){1to8}, %zmm17, %zmm19
+vmaxpd %zmm16, %zmm17, %zmm19 {k1}
+vmaxpd (%rax), %zmm17, %zmm19 {k1}
+vmaxpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vmaxpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vmaxpd (%rax), %zmm17, %zmm19 {z}{k1}
+vmaxpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vmaxps %zmm16, %zmm17, %zmm19
+vmaxps (%rax), %zmm17, %zmm19
+vmaxps (%rax){1to16}, %zmm17, %zmm19
+vmaxps %zmm16, %zmm17, %zmm19 {k1}
+vmaxps (%rax), %zmm17, %zmm19 {k1}
+vmaxps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vmaxps %zmm16, %zmm17, %zmm19 {z}{k1}
+vmaxps (%rax), %zmm17, %zmm19 {z}{k1}
+vmaxps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vminpd %zmm16, %zmm17, %zmm19
+vminpd (%rax), %zmm17, %zmm19
+vminpd (%rax){1to8}, %zmm17, %zmm19
+vminpd %zmm16, %zmm17, %zmm19 {k1}
+vminpd (%rax), %zmm17, %zmm19 {k1}
+vminpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vminpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vminpd (%rax), %zmm17, %zmm19 {z}{k1}
+vminpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vminps %zmm16, %zmm17, %zmm19
+vminps (%rax), %zmm17, %zmm19
+vminps (%rax){1to16}, %zmm17, %zmm19
+vminps %zmm16, %zmm17, %zmm19 {k1}
+vminps (%rax), %zmm17, %zmm19 {k1}
+vminps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vminps %zmm16, %zmm17, %zmm19 {z}{k1}
+vminps (%rax), %zmm17, %zmm19 {z}{k1}
+vminps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vmulpd %zmm16, %zmm17, %zmm19
vmulpd (%rax), %zmm17, %zmm19
vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -101,6 +181,16 @@ vpaddq %zmm16, %zmm17, %zmm19
vpaddq (%rax), %zmm17, %zmm19 {z}{k1}
vpaddq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vpmulld %zmm16, %zmm17, %zmm19
+vpmulld (%rax), %zmm17, %zmm19
+vpmulld (%rax){1to16}, %zmm17, %zmm19
+vpmulld %zmm16, %zmm17, %zmm19 {k1}
+vpmulld (%rax), %zmm17, %zmm19 {k1}
+vpmulld (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpmulld %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmulld (%rax), %zmm17, %zmm19 {z}{k1}
+vpmulld (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vpermd %zmm16, %zmm17, %zmm19
vpermd (%rax), %zmm17, %zmm19
vpermd (%rax){1to16}, %zmm17, %zmm19
@@ -211,6 +301,26 @@ vpshufd $0, %zmm16, %zmm19 {z}
vpshufd $0, (%rax), %zmm19 {z}{k1}
vpshufd $0, (%rax){1to16}, %zmm19 {z}{k1}
+vpsubd %zmm16, %zmm17, %zmm19
+vpsubd (%rax), %zmm17, %zmm19
+vpsubd (%rax){1to16}, %zmm17, %zmm19
+vpsubd %zmm16, %zmm17, %zmm19 {k1}
+vpsubd (%rax), %zmm17, %zmm19 {k1}
+vpsubd (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpsubd %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubd (%rax), %zmm17, %zmm19 {z}{k1}
+vpsubd (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vpsubq %zmm16, %zmm17, %zmm19
+vpsubq (%rax), %zmm17, %zmm19
+vpsubq (%rax){1to8}, %zmm17, %zmm19
+vpsubq %zmm16, %zmm17, %zmm19 {k1}
+vpsubq (%rax), %zmm17, %zmm19 {k1}
+vpsubq (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpsubq %zmm16, %zmm17, %zmm19 {z}{k1}
+vpsubq (%rax), %zmm17, %zmm19 {z}{k1}
+vpsubq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
vpunpckhdq %zmm16, %zmm17, %zmm19
vpunpckhdq (%rax), %zmm17, %zmm19
vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
@@ -291,6 +401,40 @@ vshufi64x2 $0, %zmm16, %zmm17, %z
vshufi64x2 $0, (%rax), %zmm17, %zmm19 {z}{k1}
vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+vsqrtpd %zmm16, %zmm19
+vsqrtpd (%rax), %zmm19
+vsqrtpd (%rax){1to8}, %zmm19
+vsqrtpd %zmm16, %zmm19 {k1}
+vsqrtpd (%rax), %zmm19 {k1}
+vsqrtpd (%rax){1to8}, %zmm19 {k1}
+vsqrtpd %zmm16, %zmm19 {z}{k1}
+vsqrtpd (%rax), %zmm19 {z}{k1}
+vsqrtpd (%rax){1to8}, %zmm19 {z}{k1}
+
+vsqrtps %zmm16, %zmm19
+vsqrtps (%rax), %zmm19
+vsqrtps (%rax){1to16}, %zmm19
+vsqrtps %zmm16, %zmm19 {k1}
+vsqrtps (%rax), %zmm19 {k1}
+vsqrtps (%rax){1to16}, %zmm19 {k1}
+vsqrtps %zmm16, %zmm19 {z}{k1}
+vsqrtps (%rax), %zmm19 {z}{k1}
+vsqrtps (%rax){1to16}, %zmm19 {z}{k1}
+
+vsqrtsd %xmm16, %xmm17, %xmm19
+vsqrtsd (%rax), %xmm17, %xmm19
+vsqrtsd %xmm16, %xmm17, %xmm19 {k1}
+vsqrtsd (%rax), %xmm17, %xmm19 {k1}
+vsqrtsd %xmm16, %xmm17, %xmm19 {z}{k1}
+vsqrtsd (%rax), %xmm17, %xmm19 {z}{k1}
+
+vsqrtss %xmm16, %xmm17, %xmm19
+vsqrtss (%rax), %xmm17, %xmm19
+vsqrtss %xmm16, %xmm17, %xmm19 {k1}
+vsqrtss (%rax), %xmm17, %xmm19 {k1}
+vsqrtss %xmm16, %xmm17, %xmm19 {z}{k1}
+vsqrtss (%rax), %xmm17, %xmm19 {z}{k1}
+
vpsubd %zmm16, %zmm17, %zmm19
vpsubd (%rax), %zmm17, %zmm19
vpsubd (%rax){1to16}, %zmm17, %zmm19
@@ -398,6 +542,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 4 0.50 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %ymm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 1 4 0.50 vcvtdq2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtps2dq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvtps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvtps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvttps2dq %zmm16, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %zmm19
+# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: 1 3 0.50 vcvttps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 1 3 0.50 vcvttps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: 3 23 16.00 vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 30 16.00 * vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 4 30 16.00 * vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -416,6 +596,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 3 18 10.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 25 10.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 25 10.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vmaxpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vmaxpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vmaxps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vmaxps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vminpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vminpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vminpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vminps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 0.50 vminps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -470,6 +686,15 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 1 0.33 vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 vpmulld %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 1.00 vpmulld %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 vpmulld %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to16}, %zmm17, %zmm19
@@ -569,6 +794,24 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpsubd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.33 vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.33 vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
@@ -641,6 +884,36 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 32 24.00 vsqrtpd %zmm16, %zmm19
+# CHECK-NEXT: 4 39 24.00 * vsqrtpd (%rax), %zmm19
+# CHECK-NEXT: 4 39 24.00 * vsqrtpd (%rax){1to8}, %zmm19
+# CHECK-NEXT: 3 32 24.00 vsqrtpd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 4 39 24.00 * vsqrtpd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 4 39 24.00 * vsqrtpd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 3 32 24.00 vsqrtpd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 39 24.00 * vsqrtpd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 39 24.00 * vsqrtpd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 3 20 12.00 vsqrtps %zmm16, %zmm19
+# CHECK-NEXT: 4 27 12.00 * vsqrtps (%rax), %zmm19
+# CHECK-NEXT: 4 27 12.00 * vsqrtps (%rax){1to16}, %zmm19
+# CHECK-NEXT: 3 20 12.00 vsqrtps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 4 27 12.00 * vsqrtps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 4 27 12.00 * vsqrtps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: 3 20 12.00 vsqrtps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 27 12.00 * vsqrtps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 27 12.00 * vsqrtps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to16}, %zmm17, %zmm19
@@ -728,7 +1001,7 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 234.00 93.00 12.00 111.00 111.00 - 264.00 - -
+# CHECK-NEXT: - 612.00 188.00 26.00 153.00 153.00 - 330.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -750,6 +1023,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvtdq2pd %ymm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtdq2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtdq2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtdq2ps %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtdq2ps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtdq2ps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2dq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2dq %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z}
# CHECK-NEXT: - 16.00 2.00 - - - - 1.00 - - vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - 16.00 2.00 - 0.50 0.50 - 1.00 - - vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - 16.00 2.00 - 0.50 0.50 - 1.00 - - vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -768,6 +1077,42 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - 10.00 2.00 - - - - 1.00 - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 10.00 2.00 - 0.50 0.50 - 1.00 - - vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 10.00 2.00 - 0.50 0.50 - 1.00 - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmaxpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmaxps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmaxps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vmulpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmulpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vmulpd (%rax){1to8}, %zmm17, %zmm19
@@ -822,6 +1167,15 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpmulld %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpmulld (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpmulld (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpmulld %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpmulld (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpmulld %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpmulld (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to16}, %zmm17, %zmm19
@@ -921,6 +1275,24 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
@@ -993,6 +1365,36 @@ vunpcklps (%rax){1to16}, %zmm17,
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 24.00 2.00 - - - - 1.00 - - vsqrtpd %zmm16, %zmm19
+# CHECK-NEXT: - 24.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtpd (%rax), %zmm19
+# CHECK-NEXT: - 24.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtpd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - 24.00 2.00 - - - - 1.00 - - vsqrtpd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - 24.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtpd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - 24.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtpd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - 24.00 2.00 - - - - 1.00 - - vsqrtpd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 24.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtpd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - 24.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtpd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 12.00 2.00 - - - - 1.00 - - vsqrtps %zmm16, %zmm19
+# CHECK-NEXT: - 12.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtps (%rax), %zmm19
+# CHECK-NEXT: - 12.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - 12.00 2.00 - - - - 1.00 - - vsqrtps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - 12.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - 12.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - 12.00 2.00 - - - - 1.00 - - vsqrtps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 12.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - 12.00 2.00 - 0.50 0.50 - 1.00 - - vsqrtps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19
Added: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s?rev=352273&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s Sat Jan 26 05:00:46 2019
@@ -0,0 +1,330 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+
+vandnpd %zmm16, %zmm17, %zmm19
+vandnpd (%rax), %zmm17, %zmm19
+vandnpd (%rax){1to8}, %zmm17, %zmm19
+vandnpd %zmm16, %zmm17, %zmm19 {k1}
+vandnpd (%rax), %zmm17, %zmm19 {k1}
+vandnpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vandnpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vandnpd (%rax), %zmm17, %zmm19 {z}{k1}
+vandnpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vandnps %zmm16, %zmm17, %zmm19
+vandnps (%rax), %zmm17, %zmm19
+vandnps (%rax){1to16}, %zmm17, %zmm19
+vandnps %zmm16, %zmm17, %zmm19 {k1}
+vandnps (%rax), %zmm17, %zmm19 {k1}
+vandnps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vandnps %zmm16, %zmm17, %zmm19 {z}{k1}
+vandnps (%rax), %zmm17, %zmm19 {z}{k1}
+vandnps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vandpd %zmm16, %zmm17, %zmm19
+vandpd (%rax), %zmm17, %zmm19
+vandpd (%rax){1to8}, %zmm17, %zmm19
+vandpd %zmm16, %zmm17, %zmm19 {k1}
+vandpd (%rax), %zmm17, %zmm19 {k1}
+vandpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vandpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vandpd (%rax), %zmm17, %zmm19 {z}{k1}
+vandpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vandps %zmm16, %zmm17, %zmm19
+vandps (%rax), %zmm17, %zmm19
+vandps (%rax){1to16}, %zmm17, %zmm19
+vandps %zmm16, %zmm17, %zmm19 {k1}
+vandps (%rax), %zmm17, %zmm19 {k1}
+vandps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vandps %zmm16, %zmm17, %zmm19 {z}{k1}
+vandps (%rax), %zmm17, %zmm19 {z}{k1}
+vandps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vcvtqq2pd %zmm16, %zmm19
+vcvtqq2pd (%rax), %zmm19
+vcvtqq2pd (%rax){1to8}, %zmm19
+vcvtqq2pd %zmm16, %zmm19 {k1}
+vcvtqq2pd (%rax), %zmm19 {k1}
+vcvtqq2pd (%rax){1to8}, %zmm19 {k1}
+vcvtqq2pd %zmm16, %zmm19 {z}{k1}
+vcvtqq2pd (%rax), %zmm19 {z}{k1}
+vcvtqq2pd (%rax){1to8}, %zmm19 {z}{k1}
+
+vcvtqq2ps %zmm16, %ymm19
+vcvtqq2ps (%rax), %ymm19
+vcvtqq2ps (%rax){1to8}, %ymm19
+vcvtqq2ps %zmm16, %ymm19 {k1}
+vcvtqq2ps (%rax), %ymm19 {k1}
+vcvtqq2ps (%rax){1to8}, %ymm19 {k1}
+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}
+
+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}
+
+vpmullq %zmm16, %zmm17, %zmm19
+vpmullq (%rax), %zmm17, %zmm19
+vpmullq %zmm16, %zmm17, %zmm19 {k1}
+vpmullq (%rax), %zmm17, %zmm19 {k1}
+vpmullq %zmm16, %zmm17, %zmm19 {z}{k1}
+vpmullq (%rax), %zmm17, %zmm19 {z}{k1}
+
+vxorpd %zmm16, %zmm17, %zmm19
+vxorpd (%rax), %zmm17, %zmm19
+vxorpd (%rax){1to8}, %zmm17, %zmm19
+vxorpd %zmm16, %zmm17, %zmm19 {k1}
+vxorpd (%rax), %zmm17, %zmm19 {k1}
+vxorpd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vxorpd %zmm16, %zmm17, %zmm19 {z}{k1}
+vxorpd (%rax), %zmm17, %zmm19 {z}{k1}
+vxorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vxorps %zmm16, %zmm17, %zmm19
+vxorps (%rax), %zmm17, %zmm19
+vxorps (%rax){1to16}, %zmm17, %zmm19
+vxorps %zmm16, %zmm17, %zmm19 {k1}
+vxorps (%rax), %zmm17, %zmm19 {k1}
+vxorps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vxorps %zmm16, %zmm17, %zmm19 {z}{k1}
+vxorps (%rax), %zmm17, %zmm19 {z}{k1}
+vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# 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
+# CHECK-NEXT: 1 1 0.50 vandnpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vandnps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vandnps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vandnps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vandpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vandpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vandpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vandps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vandps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vandps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax){1to16}, %zmm17, %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
+# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtqq2ps %zmm16, %ymm19
+# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax), %ymm19
+# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 3 14 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1}
+# 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: 3 12 1.50 vpmullq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 4 19 1.00 * vpmullq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 3 12 1.50 vpmullq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 4 19 1.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 3 12 1.50 vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 4 19 1.00 * vpmullq (%rax), %zmm17, %zmm19 {%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
+# CHECK-NEXT: 1 1 0.50 vxorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vxorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vxorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# 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: Resources:
+# CHECK-NEXT: [0] - SKXDivider
+# CHECK-NEXT: [1] - SKXFPDivider
+# CHECK-NEXT: [2] - SKXPort0
+# CHECK-NEXT: [3] - SKXPort1
+# CHECK-NEXT: [4] - SKXPort2
+# CHECK-NEXT: [5] - SKXPort3
+# CHECK-NEXT: [6] - SKXPort4
+# CHECK-NEXT: [7] - SKXPort5
+# CHECK-NEXT: [8] - SKXPort6
+# CHECK-NEXT: [9] - SKXPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 50.50 7.00 31.50 31.50 - 57.50 - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# 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
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandnpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandnps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandnps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandnps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vandps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2pd %zmm16, %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %zmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvtqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - 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: - - 1.50 - - - - 1.50 - - vpmullq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.50 - - - - 1.50 - - vpmullq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.50 - - - - 1.50 - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %zmm17, %zmm19 {%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
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# 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}
Added: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s?rev=352273&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s Sat Jan 26 05:00:46 2019
@@ -0,0 +1,517 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+
+vandnpd %xmm16, %xmm17, %xmm19
+vandnpd (%rax), %xmm17, %xmm19
+vandnpd (%rax){1to2}, %xmm17, %xmm19
+vandnpd %xmm16, %xmm17, %xmm19 {k1}
+vandnpd (%rax), %xmm17, %xmm19 {k1}
+vandnpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vandnpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vandnpd (%rax), %xmm17, %xmm19 {z}{k1}
+vandnpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vandnpd %ymm16, %ymm17, %ymm19
+vandnpd (%rax), %ymm17, %ymm19
+vandnpd (%rax){1to4}, %ymm17, %ymm19
+vandnpd %ymm16, %ymm17, %ymm19 {k1}
+vandnpd (%rax), %ymm17, %ymm19 {k1}
+vandnpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vandnpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vandnpd (%rax), %ymm17, %ymm19 {z}{k1}
+vandnpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vandpd %xmm16, %xmm17, %xmm19
+vandpd (%rax), %xmm17, %xmm19
+vandpd (%rax){1to2}, %xmm17, %xmm19
+vandpd %xmm16, %xmm17, %xmm19 {k1}
+vandpd (%rax), %xmm17, %xmm19 {k1}
+vandpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vandpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vandpd (%rax), %xmm17, %xmm19 {z}{k1}
+vandpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vandpd %ymm16, %ymm17, %ymm19
+vandpd (%rax), %ymm17, %ymm19
+vandpd (%rax){1to4}, %ymm17, %ymm19
+vandpd %ymm16, %ymm17, %ymm19 {k1}
+vandpd (%rax), %ymm17, %ymm19 {k1}
+vandpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vandpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vandpd (%rax), %ymm17, %ymm19 {z}{k1}
+vandpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vandps %xmm16, %xmm17, %xmm19
+vandps (%rax), %xmm17, %xmm19
+vandps (%rax){1to4}, %xmm17, %xmm19
+vandps %xmm16, %xmm17, %xmm19 {k1}
+vandps (%rax), %xmm17, %xmm19 {k1}
+vandps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vandps %xmm16, %xmm17, %xmm19 {z}{k1}
+vandps (%rax), %xmm17, %xmm19 {z}{k1}
+vandps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vandps %ymm16, %ymm17, %ymm19
+vandps (%rax), %ymm17, %ymm19
+vandps (%rax){1to8}, %ymm17, %ymm19
+vandps %ymm16, %ymm17, %ymm19 {k1}
+vandps (%rax), %ymm17, %ymm19 {k1}
+vandps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vandps %ymm16, %ymm17, %ymm19 {z}{k1}
+vandps (%rax), %ymm17, %ymm19 {z}{k1}
+vandps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vcvtqq2pd %xmm16, %xmm19
+vcvtqq2pd (%rax), %xmm19
+vcvtqq2pd (%rax){1to2}, %xmm19
+vcvtqq2pd %xmm16, %xmm19 {k1}
+vcvtqq2pd (%rax), %xmm19 {k1}
+vcvtqq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtqq2pd %xmm16, %xmm19 {z}{k1}
+vcvtqq2pd (%rax), %xmm19 {z}{k1}
+vcvtqq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtqq2pd %ymm16, %ymm19
+vcvtqq2pd (%rax), %ymm19
+vcvtqq2pd (%rax){1to4}, %ymm19
+vcvtqq2pd %ymm16, %ymm19 {k1}
+vcvtqq2pd (%rax), %ymm19 {k1}
+vcvtqq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtqq2pd %ymm16, %ymm19 {z}{k1}
+vcvtqq2pd (%rax), %ymm19 {z}{k1}
+vcvtqq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vorpd %xmm16, %xmm17, %xmm19
+vorpd (%rax), %xmm17, %xmm19
+vorpd (%rax){1to2}, %xmm17, %xmm19
+vorpd %xmm16, %xmm17, %xmm19 {k1}
+vorpd (%rax), %xmm17, %xmm19 {k1}
+vorpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vorpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vorpd (%rax), %xmm17, %xmm19 {z}{k1}
+vorpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vorpd %ymm16, %ymm17, %ymm19
+vorpd (%rax), %ymm17, %ymm19
+vorpd (%rax){1to4}, %ymm17, %ymm19
+vorpd %ymm16, %ymm17, %ymm19 {k1}
+vorpd (%rax), %ymm17, %ymm19 {k1}
+vorpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vorpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vorpd (%rax), %ymm17, %ymm19 {z}{k1}
+vorpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vorps %xmm16, %xmm17, %xmm19
+vorps (%rax), %xmm17, %xmm19
+vorps (%rax){1to4}, %xmm17, %xmm19
+vorps %xmm16, %xmm17, %xmm19 {k1}
+vorps (%rax), %xmm17, %xmm19 {k1}
+vorps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vorps %xmm16, %xmm17, %xmm19 {z}{k1}
+vorps (%rax), %xmm17, %xmm19 {z}{k1}
+vorps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vorps %ymm16, %ymm17, %ymm19
+vorps (%rax), %ymm17, %ymm19
+vorps (%rax){1to8}, %ymm17, %ymm19
+vorps %ymm16, %ymm17, %ymm19 {k1}
+vorps (%rax), %ymm17, %ymm19 {k1}
+vorps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vorps %ymm16, %ymm17, %ymm19 {z}{k1}
+vorps (%rax), %ymm17, %ymm19 {z}{k1}
+vorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vpmullq %xmm16, %xmm17, %xmm19
+vpmullq (%rax), %xmm17, %xmm19
+vpmullq %xmm16, %xmm17, %xmm19 {k1}
+vpmullq (%rax), %xmm17, %xmm19 {k1}
+vpmullq %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmullq (%rax), %xmm17, %xmm19 {z}{k1}
+
+vpmullq %ymm16, %ymm17, %ymm19
+vpmullq (%rax), %ymm17, %ymm19
+vpmullq %ymm16, %ymm17, %ymm19 {k1}
+vpmullq (%rax), %ymm17, %ymm19 {k1}
+vpmullq %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmullq (%rax), %ymm17, %ymm19 {z}{k1}
+
+vxorpd %xmm16, %xmm17, %xmm19
+vxorpd (%rax), %xmm17, %xmm19
+vxorpd (%rax){1to2}, %xmm17, %xmm19
+vxorpd %xmm16, %xmm17, %xmm19 {k1}
+vxorpd (%rax), %xmm17, %xmm19 {k1}
+vxorpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vxorpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vxorpd (%rax), %xmm17, %xmm19 {z}{k1}
+vxorpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vxorpd %ymm16, %ymm17, %ymm19
+vxorpd (%rax), %ymm17, %ymm19
+vxorpd (%rax){1to4}, %ymm17, %ymm19
+vxorpd %ymm16, %ymm17, %ymm19 {k1}
+vxorpd (%rax), %ymm17, %ymm19 {k1}
+vxorpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vxorpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vxorpd (%rax), %ymm17, %ymm19 {z}{k1}
+vxorpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vxorps %xmm16, %xmm17, %xmm19
+vxorps (%rax), %xmm17, %xmm19
+vxorps (%rax){1to4}, %xmm17, %xmm19
+vxorps %xmm16, %xmm17, %xmm19 {k1}
+vxorps (%rax), %xmm17, %xmm19 {k1}
+vxorps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vxorps %xmm16, %xmm17, %xmm19 {z}{k1}
+vxorps (%rax), %xmm17, %xmm19 {z}{k1}
+vxorps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vxorps %ymm16, %ymm17, %ymm19
+vxorps (%rax), %ymm17, %ymm19
+vxorps (%rax){1to8}, %ymm17, %ymm19
+vxorps %ymm16, %ymm17, %ymm19 {k1}
+vxorps (%rax), %ymm17, %ymm19 {k1}
+vxorps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vxorps %ymm16, %ymm17, %ymm19 {z}{k1}
+vxorps (%rax), %ymm17, %ymm19 {z}{k1}
+vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 0.33 vandnpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vandnpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandnpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandnpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vandnpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# 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 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
+# CHECK-NEXT: 1 1 0.33 vandpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vandpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vandps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vandps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vandps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vandps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vandps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vandps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vandps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vandps (%rax){1to8}, %ymm17, %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
+# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtqq2pd (%rax){1to4}, %ymm19 {%k1}
+# 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: 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
+# CHECK-NEXT: 1 1 0.33 vorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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: 3 12 1.50 vpmullq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 4 18 1.00 * vpmullq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 3 12 1.50 vpmullq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 4 18 1.00 * vpmullq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 12 1.50 vpmullq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 4 18 1.00 * vpmullq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 12 1.50 vpmullq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 4 19 1.00 * vpmullq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 3 12 1.50 vpmullq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 4 19 1.00 * vpmullq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 3 12 1.50 vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 4 19 1.00 * vpmullq (%rax), %ymm17, %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
+# CHECK-NEXT: 1 1 0.33 vxorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vxorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vxorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vxorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vxorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vxorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vxorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vxorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vxorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vxorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vxorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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: Resources:
+# CHECK-NEXT: [0] - SKXDivider
+# CHECK-NEXT: [1] - SKXFPDivider
+# CHECK-NEXT: [2] - SKXPort0
+# CHECK-NEXT: [3] - SKXPort1
+# CHECK-NEXT: [4] - SKXPort2
+# CHECK-NEXT: [5] - SKXPort3
+# CHECK-NEXT: [6] - SKXPort4
+# CHECK-NEXT: [7] - SKXPort5
+# CHECK-NEXT: [8] - SKXPort6
+# CHECK-NEXT: [9] - SKXPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 64.00 64.00 51.00 51.00 - 52.00 - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# 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 - - 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
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# 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
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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.50 1.50 - - - - - - vpmullq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.50 1.50 - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - vpmullq (%rax), %ymm17, %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
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# 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}
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s?rev=352273&r1=352272&r2=352273&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s Sat Jan 26 05:00:46 2019
@@ -41,6 +41,46 @@ vaddps %ymm16, %ymm17, %ymm19
vaddps (%rax), %ymm17, %ymm19 {z}{k1}
vaddps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vcvtdq2pd %xmm16, %xmm19
+vcvtdq2pd (%rax), %xmm19
+vcvtdq2pd (%rax){1to2}, %xmm19
+vcvtdq2pd %xmm16, %xmm19 {k1}
+vcvtdq2pd (%rax), %xmm19 {k1}
+vcvtdq2pd (%rax){1to2}, %xmm19 {k1}
+vcvtdq2pd %xmm16, %xmm19 {z}{k1}
+vcvtdq2pd (%rax), %xmm19 {z}{k1}
+vcvtdq2pd (%rax){1to2}, %xmm19 {z}{k1}
+
+vcvtdq2pd %xmm16, %ymm19
+vcvtdq2pd (%rax), %ymm19
+vcvtdq2pd (%rax){1to4}, %ymm19
+vcvtdq2pd %xmm16, %ymm19 {k1}
+vcvtdq2pd (%rax), %ymm19 {k1}
+vcvtdq2pd (%rax){1to4}, %ymm19 {k1}
+vcvtdq2pd %xmm16, %ymm19 {z}{k1}
+vcvtdq2pd (%rax), %ymm19 {z}{k1}
+vcvtdq2pd (%rax){1to4}, %ymm19 {z}{k1}
+
+vcvtdq2ps %xmm16, %xmm19
+vcvtdq2ps (%rax), %xmm19
+vcvtdq2ps (%rax){1to4}, %xmm19
+vcvtdq2ps %xmm16, %xmm19 {k1}
+vcvtdq2ps (%rax), %xmm19 {k1}
+vcvtdq2ps (%rax){1to4},%xmm19 {k1}
+vcvtdq2ps %xmm16, %xmm19 {z}{k1}
+vcvtdq2ps (%rax), %xmm19 {z}{k1}
+vcvtdq2ps (%rax){1to4}, %xmm19 {z}{k1}
+
+vcvtdq2ps %ymm16, %ymm19
+vcvtdq2ps (%rax), %ymm19
+vcvtdq2ps (%rax){1to8}, %ymm19
+vcvtdq2ps %ymm16,%ymm19 {k1}
+vcvtdq2ps (%rax),%ymm19 {k1}
+vcvtdq2ps (%rax){1to8}, %ymm19 {k1}
+vcvtdq2ps %ymm16, %ymm19 {z}{k1}
+vcvtdq2ps (%rax), %ymm19 {z}{k1}
+vcvtdq2ps (%rax){1to8}, %ymm19 {z}{k1}
+
vdivpd %xmm16, %xmm17, %xmm19
vdivpd (%rax), %xmm17, %xmm19
vdivpd (%rax){1to2}, %xmm17, %xmm19
@@ -81,6 +121,86 @@ vdivps %ymm16, %ymm17, %ymm19
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vmaxpd %xmm16, %xmm17, %xmm19
+vmaxpd (%rax), %xmm17, %xmm19
+vmaxpd (%rax){1to2}, %xmm17, %xmm19
+vmaxpd %xmm16, %xmm17, %xmm19 {k1}
+vmaxpd (%rax), %xmm17, %xmm19 {k1}
+vmaxpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vmaxpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vmaxpd (%rax), %xmm17, %xmm19 {z}{k1}
+vmaxpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vmaxpd %ymm16, %ymm17, %ymm19
+vmaxpd (%rax), %ymm17, %ymm19
+vmaxpd (%rax){1to4}, %ymm17, %ymm19
+vmaxpd %ymm16, %ymm17, %ymm19 {k1}
+vmaxpd (%rax), %ymm17, %ymm19 {k1}
+vmaxpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vmaxpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vmaxpd (%rax), %ymm17, %ymm19 {z}{k1}
+vmaxpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vmaxps %xmm16, %xmm17, %xmm19
+vmaxps (%rax), %xmm17, %xmm19
+vmaxps (%rax){1to4}, %xmm17, %xmm19
+vmaxps %xmm16, %xmm17, %xmm19 {k1}
+vmaxps (%rax), %xmm17, %xmm19 {k1}
+vmaxps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vmaxps %xmm16, %xmm17, %xmm19 {z}{k1}
+vmaxps (%rax), %xmm17, %xmm19 {z}{k1}
+vmaxps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vmaxps %ymm16, %ymm17, %ymm19
+vmaxps (%rax), %ymm17, %ymm19
+vmaxps (%rax){1to8}, %ymm17, %ymm19
+vmaxps %ymm16, %ymm17, %ymm19 {k1}
+vmaxps (%rax), %ymm17, %ymm19 {k1}
+vmaxps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vmaxps %ymm16, %ymm17, %ymm19 {z}{k1}
+vmaxps (%rax), %ymm17, %ymm19 {z}{k1}
+vmaxps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vminpd %xmm16, %xmm17, %xmm19
+vminpd (%rax), %xmm17, %xmm19
+vminpd (%rax){1to2}, %xmm17, %xmm19
+vminpd %xmm16, %xmm17, %xmm19 {k1}
+vminpd (%rax), %xmm17, %xmm19 {k1}
+vminpd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vminpd %xmm16, %xmm17, %xmm19 {z}{k1}
+vminpd (%rax), %xmm17, %xmm19 {z}{k1}
+vminpd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vminpd %ymm16, %ymm17, %ymm19
+vminpd (%rax), %ymm17, %ymm19
+vminpd (%rax){1to4}, %ymm17, %ymm19
+vminpd %ymm16, %ymm17, %ymm19 {k1}
+vminpd (%rax), %ymm17, %ymm19 {k1}
+vminpd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vminpd %ymm16, %ymm17, %ymm19 {z}{k1}
+vminpd (%rax), %ymm17, %ymm19 {z}{k1}
+vminpd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vminps %xmm16, %xmm17, %xmm19
+vminps (%rax), %xmm17, %xmm19
+vminps (%rax){1to4}, %xmm17, %xmm19
+vminps %xmm16, %xmm17, %xmm19 {k1}
+vminps (%rax), %xmm17, %xmm19 {k1}
+vminps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vminps %xmm16, %xmm17, %xmm19 {z}{k1}
+vminps (%rax), %xmm17, %xmm19 {z}{k1}
+vminps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vminps %ymm16, %ymm17, %ymm19
+vminps (%rax), %ymm17, %ymm19
+vminps (%rax){1to8}, %ymm17, %ymm19
+vminps %ymm16, %ymm17, %ymm19 {k1}
+vminps (%rax), %ymm17, %ymm19 {k1}
+vminps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vminps %ymm16, %ymm17, %ymm19 {z}{k1}
+vminps (%rax), %ymm17, %ymm19 {z}{k1}
+vminps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vmulpd %xmm16, %xmm17, %xmm19
vmulpd (%rax), %xmm17, %xmm19
vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -121,6 +241,46 @@ vmulps %ymm16, %ymm17, %ymm19
vmulps (%rax), %ymm17, %ymm19 {z}{k1}
vmulps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vpaddd %xmm16, %xmm17, %xmm19
+vpaddd (%rax), %xmm17, %xmm19
+vpaddd (%rax){1to4}, %xmm17, %xmm19
+vpaddd %xmm16, %xmm17, %xmm19 {k1}
+vpaddd (%rax), %xmm17, %xmm19 {k1}
+vpaddd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpaddd %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddd (%rax), %xmm17, %xmm19 {z}{k1}
+vpaddd (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vpaddd %ymm16, %ymm17, %ymm19
+vpaddd (%rax), %ymm17, %ymm19
+vpaddd (%rax){1to8}, %ymm17, %ymm19
+vpaddd %ymm16, %ymm17, %ymm19 {k1}
+vpaddd (%rax), %ymm17, %ymm19 {k1}
+vpaddd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpaddd %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddd (%rax), %ymm17, %ymm19 {z}{k1}
+vpaddd (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vpaddq %xmm16, %xmm17, %xmm19
+vpaddq (%rax), %xmm17, %xmm19
+vpaddq (%rax){1to2}, %xmm17, %xmm19
+vpaddq %xmm16, %xmm17, %xmm19 {k1}
+vpaddq (%rax), %xmm17, %xmm19 {k1}
+vpaddq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpaddq %xmm16, %xmm17, %xmm19 {z}{k1}
+vpaddq (%rax), %xmm17, %xmm19 {z}{k1}
+vpaddq (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vpaddq %ymm16, %ymm17, %ymm19
+vpaddq (%rax), %ymm17, %ymm19
+vpaddq (%rax){1to4}, %ymm17, %ymm19
+vpaddq %ymm16, %ymm17, %ymm19 {k1}
+vpaddq (%rax), %ymm17, %ymm19 {k1}
+vpaddq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpaddq %ymm16, %ymm17, %ymm19 {z}{k1}
+vpaddq (%rax), %ymm17, %ymm19 {z}{k1}
+vpaddq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vpermd %ymm16, %ymm17, %ymm19
vpermd (%rax), %ymm17, %ymm19
vpermd (%rax){1to8}, %ymm17, %ymm19
@@ -261,6 +421,26 @@ vpermq %ymm16, %ymm17, %ymm19
vpermq (%rax), %ymm17, %ymm19 {z}{k1}
vpermq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vpmulld %xmm16, %xmm17, %xmm19
+vpmulld (%rax), %xmm17, %xmm19
+vpmulld (%rax){1to4}, %xmm17, %xmm19
+vpmulld %xmm16, %xmm17, %xmm19 {k1}
+vpmulld (%rax), %xmm17, %xmm19 {k1}
+vpmulld (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpmulld %xmm16, %xmm17, %xmm19 {z}{k1}
+vpmulld (%rax), %xmm17, %xmm19 {z}{k1}
+vpmulld (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vpmulld %ymm16, %ymm17, %ymm19
+vpmulld (%rax), %ymm17, %ymm19
+vpmulld (%rax){1to8}, %ymm17, %ymm19
+vpmulld %ymm16, %ymm17, %ymm19 {k1}
+vpmulld (%rax), %ymm17, %ymm19 {k1}
+vpmulld (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpmulld %ymm16, %ymm17, %ymm19 {z}{k1}
+vpmulld (%rax), %ymm17, %ymm19 {z}{k1}
+vpmulld (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vpshufd $0, %xmm16, %xmm19
vpshufd $0, (%rax), %xmm19
vpshufd $0, (%rax){1to4}, %xmm19
@@ -281,6 +461,46 @@ vpshufd $0, %ymm16, %ymm19 {z}
vpshufd $0, (%rax), %ymm19 {z}{k1}
vpshufd $0, (%rax){1to8}, %ymm19 {z}{k1}
+vpsubd %xmm16, %xmm17, %xmm19
+vpsubd (%rax), %xmm17, %xmm19
+vpsubd (%rax){1to4}, %xmm17, %xmm19
+vpsubd %xmm16, %xmm17, %xmm19 {k1}
+vpsubd (%rax), %xmm17, %xmm19 {k1}
+vpsubd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpsubd %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubd (%rax), %xmm17, %xmm19 {z}{k1}
+vpsubd (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vpsubd %ymm16, %ymm17, %ymm19
+vpsubd (%rax), %ymm17, %ymm19
+vpsubd (%rax){1to8}, %ymm17, %ymm19
+vpsubd %ymm16, %ymm17, %ymm19 {k1}
+vpsubd (%rax), %ymm17, %ymm19 {k1}
+vpsubd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpsubd %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubd (%rax), %ymm17, %ymm19 {z}{k1}
+vpsubd (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vpsubq %xmm16, %xmm17, %xmm19
+vpsubq (%rax), %xmm17, %xmm19
+vpsubq (%rax){1to2}, %xmm17, %xmm19
+vpsubq %xmm16, %xmm17, %xmm19 {k1}
+vpsubq (%rax), %xmm17, %xmm19 {k1}
+vpsubq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpsubq %xmm16, %xmm17, %xmm19 {z}{k1}
+vpsubq (%rax), %xmm17, %xmm19 {z}{k1}
+vpsubq (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vpsubq %ymm16, %ymm17, %ymm19
+vpsubq (%rax), %ymm17, %ymm19
+vpsubq (%rax){1to4}, %ymm17, %ymm19
+vpsubq %ymm16, %ymm17, %ymm19 {k1}
+vpsubq (%rax), %ymm17, %ymm19 {k1}
+vpsubq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpsubq %ymm16, %ymm17, %ymm19 {z}{k1}
+vpsubq (%rax), %ymm17, %ymm19 {z}{k1}
+vpsubq (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
vpunpckhdq %xmm16, %xmm17, %xmm19
vpunpckhdq (%rax), %xmm17, %xmm19
vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
@@ -361,6 +581,46 @@ vshufi64x2 $0, %ymm16, %ymm17, %y
vshufi64x2 $0, (%rax), %ymm17, %ymm19 {z}{k1}
vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+vsqrtpd %xmm16, %xmm19
+vsqrtpd (%rax), %xmm19
+vsqrtpd (%rax){1to2}, %xmm19
+vsqrtpd %xmm16, %xmm19 {k1}
+vsqrtpd (%rax), %xmm19 {k1}
+vsqrtpd (%rax){1to2}, %xmm19 {k1}
+vsqrtpd %xmm16, %xmm19 {z}{k1}
+vsqrtpd (%rax), %xmm19 {z}{k1}
+vsqrtpd (%rax){1to2}, %xmm19 {z}{k1}
+
+vsqrtpd %ymm16, %ymm19
+vsqrtpd (%rax), %ymm19
+vsqrtpd (%rax){1to4}, %ymm19
+vsqrtpd %ymm16, %ymm19 {k1}
+vsqrtpd (%rax), %ymm19 {k1}
+vsqrtpd (%rax){1to4}, %ymm19 {k1}
+vsqrtpd %ymm16, %ymm19 {z}{k1}
+vsqrtpd (%rax), %ymm19 {z}{k1}
+vsqrtpd (%rax){1to4}, %ymm19 {z}{k1}
+
+vsqrtps %xmm16, %xmm19
+vsqrtps (%rax), %xmm19
+vsqrtps (%rax){1to4}, %xmm19
+vsqrtps %xmm16, %xmm19 {k1}
+vsqrtps (%rax), %xmm19 {k1}
+vsqrtps (%rax){1to4}, %xmm19 {k1}
+vsqrtps %xmm16, %xmm19 {z}{k1}
+vsqrtps (%rax), %xmm19 {z}{k1}
+vsqrtps (%rax){1to4}, %xmm19 {z}{k1}
+
+vsqrtps %ymm16, %ymm19
+vsqrtps (%rax), %ymm19
+vsqrtps (%rax){1to8}, %ymm19
+vsqrtps %ymm16, %ymm19 {k1}
+vsqrtps (%rax), %ymm19 {k1}
+vsqrtps (%rax){1to8}, %ymm19 {k1}
+vsqrtps %ymm16, %ymm19 {z}{k1}
+vsqrtps (%rax), %ymm19 {z}{k1}
+vsqrtps (%rax){1to8}, %ymm19 {z}{k1}
+
vsubpd %xmm16, %xmm17, %xmm19
vsubpd (%rax), %xmm17, %xmm19
vsubpd (%rax){1to2}, %xmm17, %xmm19
@@ -526,6 +786,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 4 0.50 vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2pd (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %xmm16, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm19
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %ymm16, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm19
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 14 3.00 vdivpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 20 4.00 * vdivpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 20 4.00 * vdivpd (%rax){1to2}, %xmm17, %xmm19
@@ -562,6 +858,78 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 11 5.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 18 5.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vmaxps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vmaxps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vmaxps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vmaxps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vminpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vminpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vminpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vminpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vminpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vminpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vminps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vminps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vminps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vminps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vminps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -598,6 +966,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 4 0.50 vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpaddd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vpaddd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpaddd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpaddd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vpaddd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpaddd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpaddq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vpaddq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpaddq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpaddq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vpaddq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpaddq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax){1to8}, %ymm17, %ymm19
@@ -724,6 +1128,24 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 3 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 vpmulld %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 1.00 vpmulld %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 vpmulld %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 1.00 vpmulld %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 1.00 vpmulld %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: 2 7 1.00 * vpshufd $0, (%rax){1to4}, %xmm19
@@ -742,6 +1164,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
@@ -814,6 +1272,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: 1 3 1.00 vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 18 6.00 vsqrtpd %xmm16, %xmm19
+# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm19
+# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax){1to2}, %xmm19
+# CHECK-NEXT: 1 18 6.00 vsqrtpd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: 1 18 6.00 vsqrtpd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm16, %ymm19
+# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm19
+# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax){1to4}, %ymm19
+# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm16, %xmm19
+# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm19
+# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax){1to4}, %xmm19
+# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm16, %ymm19
+# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm19
+# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax){1to8}, %ymm19
+# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax){1to2}, %xmm17, %xmm19
@@ -937,7 +1431,7 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 180.00 90.00 54.00 144.00 144.00 - 288.00 - -
+# CHECK-NEXT: - 423.00 217.00 145.00 222.00 222.00 - 328.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -977,6 +1471,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtdq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtdq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtdq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtdq2pd %xmm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtdq2pd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtdq2pd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %ymm16, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax){1to2}, %xmm17, %xmm19
@@ -1013,6 +1543,78 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax){1to2}, %xmm17, %xmm19
@@ -1049,6 +1651,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax){1to8}, %ymm17, %ymm19
@@ -1175,6 +1813,24 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to4}, %xmm19
@@ -1193,6 +1849,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
@@ -1265,6 +1957,42 @@ vunpcklps (%rax){1to8}, %ymm17,
# CHECK-NEXT: - - - - - - - 1.00 - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm16, %xmm19
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm19
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm16, %ymm19
+# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm19
+# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm16, %xmm19
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm19
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm16, %ymm19
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm19
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax){1to2}, %xmm17, %xmm19
More information about the llvm-commits
mailing list