[llvm] [X86][CostModel] Add per-shape gather/scatter cost tables for AMD znver4+ (PR #199488)
Sumukh J Bharadwaj via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 17 03:23:58 PDT 2026
https://github.com/amd-subharad updated https://github.com/llvm/llvm-project/pull/199488
>From 3cb37926868fe69b21308407ed534620a721660b Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Wed, 2 Sep 2026 14:56:40 +0530
Subject: [PATCH 1/8] [X86][SchedModel] Add masked gather/scatter overrides to
Znver4Model
Znver4Model had no overrides for the AVX-512 masked gather and scatter
instructions, so they fell back to the default vector load/store write:
one uop, latency 5, reciprocal throughput 0.33. On these parts they are
microcoded sequences costing tens of uops and tens of cycles, so the
default was wrong by more than an order of magnitude.
Add 21 SchedWriteRes overrides covering every EVEX masked gather
(VPGATHER* / VGATHER*) and scatter (VPSCATTER* / VSCATTER*) form, and
bind the AVX2 (VEX) gathers, which were also on the default write and
diverged from it by more than an order of magnitude. All but the 8 x i32
VEX form measure like their EVEX counterparts and reuse those entries;
VPGATHERDDY is genuinely cheaper and gets its own.
Agner and uops.info both show these sequences using the vector pipes
heavily, so every entry charges Zn4FPU0123. Only that resource carries a
fitted number, taken from the measured bottleneck as round(tput * 4);
every other resource carries its plain physical occupancy. Fitting each
resource independently let a non-limiting resource round past the
intended limiter -- the 2 x i64 scatter reported 2.7 cycles against an
intended 2.5 -- and deriving the bottleneck once removes that by
construction.
Throughput, uops and gather latency are measured on Znver4 (Ryzen 5
8645HS). Znver4Model also backs znver5 and znver6, which run these
sequences 25-55% faster and are therefore modeled pessimistically; a
per-part split is left as future work.
Entries are keyed by (#elements, element width, index width). Sharing one
entry between the dword- and qword-index encodings is wrong for six
shapes, worst at the 8 x i64 scatter: 13.94 cycles with a qword index
against 11.05 with a dword one, at equal uop counts over identical
address sets. The four 2-element shapes and both 4-element gathers agree
to within 0.03 cycles and keep a shared entry. The 2-element shapes are
force-scalarised by the auto-vectoriser but remain reachable through the
intrinsics, so they are measured rather than extrapolated.
Gather latency is measured from a dependency chain that feeds the loaded
data back into the index register, with the feedback op's own latency
subtracted. Scatter latency remains estimated: the scatter has no data
result to time, and its only dependent is the mask it destroys and
rewrites. That tie makes the estimate load-bearing rather than inert --
a kmov reading the mask afterwards waits on it -- so it is the one
number in the table no measurement stands behind.
The instruction destroys its own mask and so cannot be timed alone;
substituting an equal-cost kxnorw for the kmovd isolates the reload,
which only changes the total for the 2-element gathers (5.00 vs 3.98
cycles), so only those have it subtracted. Sub-cycle accounting stops
there: identical code in two processes agrees to a p90 of 0.24 cycles,
but the same instructions in a different schedule move by a p90 of 1.35,
so the table is accurate to about a cycle regardless.
llvm-mca now tracks hardware within 1.3% on every scatter shape and
within 1.1% on every gather of four elements or more. A timeline test
pins the gather's mask writeback, which an InstRW must restate or
silently lose.
---
llvm/lib/Target/X86/X86ScheduleZnver4.td | 139 ++++++++++++++++++
.../X86/Znver4/gather-mask-writeback.s | 16 ++
.../llvm-mca/X86/Znver4/resources-avx2.s | 66 ++++-----
.../llvm-mca/X86/Znver4/resources-avx512.s | 66 ++++-----
.../llvm-mca/X86/Znver4/resources-avx512vl.s | 130 ++++++++--------
5 files changed, 286 insertions(+), 131 deletions(-)
create mode 100644 llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index 34e57f634a1e6..084a45581605a 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -509,6 +509,145 @@ defm : Zn4WriteResInt<WriteLoad, [Zn4AGU012, Zn4Load], !add(Znver4Model.LoadLate
// Does not cost anything by itself, only has latency, matching that of the WriteLoad,
defm : Zn4WriteResInt<WriteVecMaskedGatherWriteback, [], !add(Znver4Model.LoadLatency, 1), [], 0>;
+// AVX-512 masked GATHER / SCATTER. Microcoded, so entries are keyed by
+// (#elements, element width, index width); the two index widths share an entry
+// only where they measure alike. Zn4FPU0123 carries the fitted bottleneck,
+// round(tput * 4), and every other resource its physical occupancy, so a
+// retune edits the Zn4FPU0123 number. Measured on Znver4 and accurate to about
+// a cycle; scatter latency is estimated rather than timed. Znver4Model also
+// backs znver5 and znver6, which run 25-55% faster and are pessimistic here.
+// The commit message describes how the numbers were measured.
+def Zn4WriteVPGATHERQDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 13; let NumMicroOps = 18;
+}
+def : InstRW<[Zn4WriteVPGATHERQDZ128, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQDZ128rm, VGATHERQPSZ128rm)>;
+def Zn4WriteVPGATHERDDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [4, 4, 4, 20]; let Latency = 15; let NumMicroOps = 24;
+}
+def : InstRW<[Zn4WriteVPGATHERDDZ128, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDDZ128rm, VGATHERDPSZ128rm,
+ VPGATHERQDZ256rm, VGATHERQPSZ256rm)>;
+def Zn4WriteVPGATHERDDZ256 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 37]; let Latency = 20; let NumMicroOps = 41;
+}
+def : InstRW<[Zn4WriteVPGATHERDDZ256, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDDZ256rm, VGATHERDPSZ256rm)>;
+def Zn4WriteVPGATHERQDZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 39]; let Latency = 24; let NumMicroOps = 46;
+}
+def : InstRW<[Zn4WriteVPGATHERQDZ, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQDZrm, VGATHERQPSZrm)>;
+def Zn4WriteVPGATHERDDZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [16, 16, 16, 70]; let Latency = 32; let NumMicroOps = 81;
+}
+def : InstRW<[Zn4WriteVPGATHERDDZ, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDDZrm, VGATHERDPSZrm)>;
+def Zn4WriteVPGATHERQQZ128 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 12; let NumMicroOps = 17;
+}
+def : InstRW<[Zn4WriteVPGATHERQQZ128, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQQZ128rm, VGATHERQPDZ128rm,
+ VPGATHERDQZ128rm, VGATHERDPDZ128rm)>;
+def Zn4WriteVPGATHERQQZ256 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [4, 4, 4, 20]; let Latency = 16; let NumMicroOps = 24;
+}
+def : InstRW<[Zn4WriteVPGATHERQQZ256, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQQZ256rm, VGATHERQPDZ256rm,
+ VPGATHERDQZ256rm, VGATHERDPDZ256rm)>;
+def Zn4WriteVPGATHERQQZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 39]; let Latency = 25; let NumMicroOps = 48;
+}
+def : InstRW<[Zn4WriteVPGATHERQQZ, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQQZrm, VGATHERQPDZrm)>;
+def Zn4WriteVPGATHERDQZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 38]; let Latency = 22; let NumMicroOps = 46;
+}
+def : InstRW<[Zn4WriteVPGATHERDQZ, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDQZrm, VGATHERDPDZrm)>;
+
+// AVX2 (VEX) gathers. AVX2 has no scatter and no VEX form exceeds 8 x i32. All
+// but 8 x i32 measure like the EVEX entry for their shape and reuse it; 8 x i32
+// is genuinely cheaper (8.35 vs 9.19 cyc) and gets its own entry. An InstRW
+// replaces the whole Sched<> list, so each one must restate the mask-writeback
+// def that X86InstrSSE.td attaches. That def is encoding-neutral and models the
+// mask clobber at the generic load latency, 5, for VEX and EVEX alike, while
+// the data result these entries measure is 12 to 32; narrowing that gap is
+// future work for both encodings.
+def : InstRW<[Zn4WriteVPGATHERQDZ128, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQDrm, VGATHERQPSrm)>;
+def : InstRW<[Zn4WriteVPGATHERDDZ128, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDDrm, VGATHERDPSrm,
+ VPGATHERQDYrm, VGATHERQPSYrm)>;
+def Zn4WriteVPGATHERDDY : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 33]; let Latency = 21; let NumMicroOps = 42;
+}
+def : InstRW<[Zn4WriteVPGATHERDDY, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDDYrm, VGATHERDPSYrm)>;
+def : InstRW<[Zn4WriteVPGATHERQQZ128, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQQrm, VGATHERQPDrm,
+ VPGATHERDQrm, VGATHERDPDrm)>;
+def : InstRW<[Zn4WriteVPGATHERQQZ256, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQQYrm, VGATHERQPDYrm,
+ VPGATHERDQYrm, VGATHERDPDYrm)>;
+
+def Zn4WriteVPSCATTERQDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 6; let NumMicroOps = 17;
+}
+def : InstRW<[Zn4WriteVPSCATTERQDZ128],
+ (instrs VPSCATTERQDZ128mr, VSCATTERQPSZ128mr)>;
+def Zn4WriteVPSCATTERDDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [4, 4, 4, 33]; let Latency = 9; let NumMicroOps = 27;
+}
+def : InstRW<[Zn4WriteVPSCATTERDDZ128],
+ (instrs VPSCATTERDDZ128mr, VSCATTERDPSZ128mr)>;
+def Zn4WriteVPSCATTERQDZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [4, 4, 4, 26]; let Latency = 9; let NumMicroOps = 27;
+}
+def : InstRW<[Zn4WriteVPSCATTERQDZ256],
+ (instrs VPSCATTERQDZ256mr, VSCATTERQPSZ256mr)>;
+def Zn4WriteVPSCATTERDDZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 49]; let Latency = 14; let NumMicroOps = 48;
+}
+def : InstRW<[Zn4WriteVPSCATTERDDZ256],
+ (instrs VPSCATTERDDZ256mr, VSCATTERDPSZ256mr)>;
+def Zn4WriteVPSCATTERQDZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 46]; let Latency = 14; let NumMicroOps = 48;
+}
+def : InstRW<[Zn4WriteVPSCATTERQDZ],
+ (instrs VPSCATTERQDZmr, VSCATTERQPSZmr)>;
+def Zn4WriteVPSCATTERDDZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [16, 16, 16, 103]; let Latency = 24; let NumMicroOps = 89;
+}
+def : InstRW<[Zn4WriteVPSCATTERDDZ],
+ (instrs VPSCATTERDDZmr, VSCATTERDPSZmr)>;
+def Zn4WriteVPSCATTERQQZ128 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 6; let NumMicroOps = 17;
+}
+def : InstRW<[Zn4WriteVPSCATTERQQZ128],
+ (instrs VPSCATTERQQZ128mr, VSCATTERQPDZ128mr,
+ VPSCATTERDQZ128mr, VSCATTERDPDZ128mr)>;
+def Zn4WriteVPSCATTERQQZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [4, 4, 4, 26]; let Latency = 9; let NumMicroOps = 27;
+}
+def : InstRW<[Zn4WriteVPSCATTERQQZ256],
+ (instrs VPSCATTERQQZ256mr, VSCATTERQPDZ256mr)>;
+def Zn4WriteVPSCATTERDQZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [4, 4, 4, 24]; let Latency = 9; let NumMicroOps = 28;
+}
+def : InstRW<[Zn4WriteVPSCATTERDQZ256],
+ (instrs VPSCATTERDQZ256mr, VSCATTERDPDZ256mr)>;
+def Zn4WriteVPSCATTERQQZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 56]; let Latency = 14; let NumMicroOps = 48;
+}
+def : InstRW<[Zn4WriteVPSCATTERQQZ],
+ (instrs VPSCATTERQQZmr, VSCATTERQPDZmr)>;
+def Zn4WriteVPSCATTERDQZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
+ let ReleaseAtCycles = [8, 8, 8, 44]; let Latency = 14; let NumMicroOps = 48;
+}
+def : InstRW<[Zn4WriteVPSCATTERDQZ],
+ (instrs VPSCATTERDQZmr, VSCATTERDPDZmr)>;
+
def Zn4WriteMOVSlow : SchedWriteRes<[Zn4AGU012, Zn4Load]> {
let Latency = !add(Znver4Model.LoadLatency, 1);
let ReleaseAtCycles = [3, 1];
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s b/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s
new file mode 100644
index 0000000000000..327332194c16d
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s
@@ -0,0 +1,16 @@
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 \
+# RUN: -timeline -iterations=1 < %s | FileCheck %s
+
+# The 42 micro-ops delay dispatching the dependent vpaddd until after the
+# five-cycle mask writeback is ready. It should therefore execute as soon as it
+# is dispatched. If the gather's second scheduling write is dropped, vpaddd
+# instead waits for the 21-cycle data result.
+
+vpgatherdd %ymm0, (%rax,%ymm1,4), %ymm2
+vpaddd %ymm0, %ymm3, %ymm4
+
+# CHECK: Instructions:
+# CHECK: 42 21 8.25 * vpgatherdd
+# CHECK: Timeline view:
+# CHECK: [0,0] {{.*}} vpgatherdd
+# CHECK-NEXT: [0,1] {{.*}}DeE{{-*}}R vpaddd
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
index 6c8fac4566498..69f8a4961dc92 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
@@ -465,14 +465,14 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 2 1.00 vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: 1 4 1.00 vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * vextracti128 $1, %ymm0, (%rax)
-# CHECK-NEXT: 1 5 0.33 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
-# CHECK-NEXT: 1 5 0.33 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 1 5 0.33 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 1 5 0.33 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 17 12 4.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 24 16 5.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 24 15 5.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 42 21 8.25 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 17 12 4.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 24 16 5.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 18 13 4.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 24 15 5.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT: 1 1 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm0
@@ -568,14 +568,14 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 11 1.00 * vpermps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 4 1.00 vpermq $1, %ymm0, %ymm2
# CHECK-NEXT: 1 11 1.00 * vpermq $1, (%rax), %ymm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1 5 0.33 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 24 15 5.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 42 21 8.25 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 17 12 4.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 24 16 5.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 18 13 4.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 24 15 5.00 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 17 12 4.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 24 16 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 3 3 3.00 vphaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 10 3.00 * vphaddd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 3.00 vphaddsw %ymm0, %ymm1, %ymm2
@@ -789,7 +789,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 6.67 6.67 6.67 - - - - - 93.75 128.75 92.25 36.25 80.50 80.50 29.00 52.33 52.33 52.33 50.67 50.67 50.67 2.50 2.50
+# CHECK-NEXT: 21.33 21.33 21.33 - - - - - 174.25 209.25 172.75 116.75 110.50 110.50 29.00 67.00 67.00 67.00 65.33 65.33 65.33 2.50 2.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -798,14 +798,14 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti128 $1, %ymm0, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 8.25 8.25 8.25 8.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti128 $1, %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovntdqa (%rax), %ymm0
@@ -901,14 +901,14 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $1, %ymm0, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $1, (%rax), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 8.25 8.25 8.25 8.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphaddsw %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index f1712aca08311..566a1a9e48126 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -1495,10 +1495,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 5 0.33 * vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherqps (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 46 22 9.50 * vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 81 32 17.50 * vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 48 25 9.75 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 46 24 9.75 * vgatherqps (%rax,%zmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1 2 1.00 vmaxpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19
@@ -1732,10 +1732,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 0.50 vpcmpequq %zmm0, %zmm1, %k2 {%k3}
# CHECK-NEXT: 1 8 0.50 * vpcmpequq (%rax), %zmm1, %k2 {%k3}
# CHECK-NEXT: 1 8 0.50 * vpcmpequq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: 1 5 0.33 * vpgatherdq (%rax,%ymm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 46 22 9.50 * vpgatherdq (%rax,%ymm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 81 32 17.50 * vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 48 25 9.75 * vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 46 24 9.75 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1 5 1.00 vpmovdb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovdb %zmm19, (%rax)
# CHECK-NEXT: 1 5 1.00 vpmovdb %zmm19, %xmm16 {%k1}
@@ -1970,10 +1970,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 1 0.50 vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 * vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 89 24 25.75 * vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 48 14 11.00 * vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 48 14 11.50 * vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 48 14 14.00 * vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: 1 8 1.00 * vpshufd $0, (%rax), %zmm19
# CHECK-NEXT: 1 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19
@@ -2037,10 +2037,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 * vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 89 24 25.75 * vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 48 14 11.00 * vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 48 14 11.50 * vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 48 14 14.00 * vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 1 2 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 3 9 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 3 9 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
@@ -2233,7 +2233,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 221.00 1120.50 678.00 352.50 312.50 312.50 17.00 215.67 215.67 215.67 204.67 204.67 204.67 16.50 16.50
+# CHECK-NEXT: 53.33 53.33 53.33 - - - - - 438.50 1338.00 895.50 570.00 392.50 392.50 97.00 261.00 261.00 261.00 228.67 228.67 228.67 48.50 48.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -2552,10 +2552,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqps (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.50 9.50 9.50 9.50 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 17.50 17.50 17.50 17.50 8.00 8.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherqps (%rax,%zmm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19
@@ -2789,10 +2789,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequq %zmm0, %zmm1, %k2 {%k3}
# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %zmm1, %k2 {%k3}
# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdq (%rax,%ymm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.50 9.50 9.50 9.50 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherdq (%rax,%ymm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 17.50 17.50 17.50 17.50 8.00 8.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
@@ -3027,10 +3027,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 25.75 25.75 25.75 25.75 8.00 8.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.00 11.00 11.00 11.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.50 11.50 11.50 11.50 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 14.00 14.00 14.00 14.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to16}, %zmm19
@@ -3094,10 +3094,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 25.75 25.75 25.75 25.75 8.00 8.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.00 11.00 11.00 11.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.50 11.50 11.50 11.50 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 14.00 14.00 14.00 14.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
index ead609e33da4d..68623e7e27ecc 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
@@ -2392,14 +2392,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 5 0.33 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherqps (%rax,%ymm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherdpd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherdps (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vgatherqps (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 24 16 5.00 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 41 20 9.25 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 24 16 5.00 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 24 15 5.00 * vgatherqps (%rax,%ymm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 17 12 4.00 * vgatherdpd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 24 15 5.00 * vgatherdps (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 17 12 4.00 * vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 18 13 4.00 * vgatherqps (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 2 1.00 vmaxpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19
@@ -2956,14 +2956,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 4 1.00 vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 5 0.33 * vpgatherdq (%rax,%xmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%ymm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherdq (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 24 16 5.00 * vpgatherdq (%rax,%xmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 41 20 9.25 * vpgatherdd (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 24 16 5.00 * vpgatherqq (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 24 15 5.00 * vpgatherqd (%rax,%ymm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 17 12 4.00 * vpgatherdq (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 24 15 5.00 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 17 12 4.00 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 18 13 4.00 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 2 0.50 vpmovdb %xmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovdb %xmm19, (%rax)
# CHECK-NEXT: 1 2 0.50 vpmovdb %xmm19, %xmm16 {%k1}
@@ -3252,14 +3252,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 3 0.50 vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 10 0.50 * vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 10 0.50 * vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 * vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 27 9 8.25 * vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 17 6 4.00 * vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 17 6 4.00 * vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 17 6 4.00 * vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 48 14 12.25 * vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 28 9 6.00 * vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 27 9 6.50 * vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 27 9 6.50 * vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
# CHECK-NEXT: 1 1 0.50 vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: 1 8 0.50 * vpshufd $0, (%rax){1to4}, %xmm19
@@ -3398,14 +3398,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 1 0.50 vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 * vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1 1 1.00 * vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 27 9 8.25 * vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 17 6 4.00 * vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 17 6 4.00 * vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 17 6 4.00 * vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 48 14 12.25 * vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 28 9 6.00 * vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 27 9 6.50 * vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 27 9 6.50 * vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
# CHECK-NEXT: 1 2 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 3 9 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 3 9 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
@@ -3614,7 +3614,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 208.00 1084.00 637.50 261.50 509.50 509.50 32.00 355.67 355.67 355.67 334.33 334.33 334.33 32.00 32.00
+# CHECK-NEXT: 40.00 40.00 40.00 - - - - - 393.50 1269.50 823.00 447.00 569.50 569.50 92.00 379.67 379.67 379.67 349.00 349.00 349.00 46.00 46.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -4098,14 +4098,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqps (%rax,%ymm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqps (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.25 9.25 9.25 9.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqps (%rax,%ymm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherdpd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdps (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqps (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to2}, %xmm17, %xmm19
@@ -4662,14 +4662,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdq (%rax,%xmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%ymm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdq (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdq (%rax,%xmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.25 9.25 9.25 9.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherdd (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqq (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqd (%rax,%ymm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherdq (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %xmm19, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1}
@@ -4958,14 +4958,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 8.25 8.25 8.25 8.25 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 12.25 12.25 12.25 12.25 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.00 6.00 6.00 6.00 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to4}, %xmm19
@@ -5104,14 +5104,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 8.25 8.25 8.25 8.25 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 12.25 12.25 12.25 12.25 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.00 6.00 6.00 6.00 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
>From 64daba1a7b4b64404107a844fc3e6a3c71b08b07 Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Wed, 2 Sep 2026 15:54:46 +0530
Subject: [PATCH 2/8] [X86][SchedModel] Charge Znver4 gather/scatter to the
measured FP pipes
The masked gather/scatter entries put the entire fitted throughput on
Zn4FPU0123 -- 56 cycles for VPSCATTERQQZ -- and gave the FP4/5 pipes only
the element count. uops.info measures the opposite distribution for that
encoding: 8 uops on FP0-3 against 18 on FP4/5. Inverting it that way makes
a gather or scatter monopolise the FP ALU pipes, so independent FP work
appeared to contend with it: adding 14 unrelated vxorps to a VPSCATTERQQZ
took the block from 14.0 to 17.5 cycles, and 28 of them to 21.0, where the
hardware absorbs them for free.
Take the per-pipe occupancy of every entry from the uops.info Zen4 port
distribution for that encoding, and keep each uop on the sub-group it was
reported eligible for instead of summing them into Zn4FPU0123. A uop
restricted to FP1/FP2 is charged to a new Zn4FPU12 group, so the model
cannot place it on a pipe the hardware would not use; several of these
sequences are genuinely narrow -- a 512-bit VPSCATTERQQ has no FP0-eligible
uop at all -- and the summed form invented that eligibility. A scatter's
element stores stay on Zn4FPSt, so they remain subject to the
one-FP-store-per-cycle limit.
Three entries widen their few FP1/FP2 uops by one pipe rather than name
Zn4FPU12. llvm-mca's resource manager livelocks on a write that holds both
Zn4FPU01 and Zn4FPU12 -- partially overlapping groups that each also
overlap Zn4FPU123 -- though the machine scheduler handles such a write
correctly. Widening avoids that shape and leaves every modeled throughput
unchanged.
Those occupancies do not on their own reach the measured throughput -- the
microcode sequencer is the limit rather than any single pipe -- so the
fitted residual moves to a new abstract Zn4UcodeGS resource, which is now
the only number a retune edits. Treating that residual as a serialising
limit is what the part measures. Independent gathers do not overlap: with
two to five in flight the cost per operation is flat to within 3%, where an
overlapping unit would show it falling as the count rose; a lone gather
measures above that plateau only because it is latency-exposed. A gather
issued alongside a scatter costs 90-96% of the two added together rather
than the larger of the two, so the directions share one limit rather than
each having their own.
The six AVX2 gather forms each carry their own VEX port distribution
instead of borrowing an EVEX entry's occupancy, while keeping the microcode
limit measured for the shape.
Every modeled throughput is unchanged, which matters because the TTI cost
tables stacked on top of this read them. Zn4UcodeGS is named to sort last,
so no existing resource is renumbered and the llvm-mca test update is an
appended column rather than a renumbering.
---
llvm/lib/Target/X86/X86ScheduleZnver4.td | 271 +-
.../X86/Znver4/gather-mask-writeback.s | 81 +-
.../X86/Znver4/independent-load-stores.s | 32 +-
.../partially-overlapping-group-resources.s | 16 +-
.../tools/llvm-mca/X86/Znver4/resources-adx.s | 26 +-
.../tools/llvm-mca/X86/Znver4/resources-aes.s | 34 +-
.../llvm-mca/X86/Znver4/resources-avx1.s | 1392 +++----
.../llvm-mca/X86/Znver4/resources-avx2.s | 612 +--
.../llvm-mca/X86/Znver4/resources-avx512.s | 2060 +++++-----
.../X86/Znver4/resources-avx512bitalg.s | 42 +-
.../X86/Znver4/resources-avx512bitalgvl.s | 74 +-
.../llvm-mca/X86/Znver4/resources-avx512bw.s | 1016 ++---
.../X86/Znver4/resources-avx512bwvl.s | 1854 ++++-----
.../llvm-mca/X86/Znver4/resources-avx512cd.s | 86 +-
.../X86/Znver4/resources-avx512cdvl.s | 162 +-
.../llvm-mca/X86/Znver4/resources-avx512dq.s | 786 ++--
.../X86/Znver4/resources-avx512dqvl.s | 1054 +++---
.../X86/Znver4/resources-avx512gfni.s | 58 +-
.../X86/Znver4/resources-avx512gfnivl.s | 106 +-
.../X86/Znver4/resources-avx512ifma.s | 46 +-
.../X86/Znver4/resources-avx512ifmavl.s | 82 +-
.../X86/Znver4/resources-avx512vaes.s | 26 +-
.../X86/Znver4/resources-avx512vaesvl.s | 42 +-
.../X86/Znver4/resources-avx512vbmi.s | 64 +-
.../X86/Znver4/resources-avx512vbmi2.s | 242 +-
.../X86/Znver4/resources-avx512vbmi2vl.s | 474 +--
.../X86/Znver4/resources-avx512vbmivl.s | 118 +-
.../llvm-mca/X86/Znver4/resources-avx512vl.s | 3358 +++++++++--------
.../X86/Znver4/resources-avx512vnni.s | 82 +-
.../X86/Znver4/resources-avx512vnnivl.s | 154 +-
.../X86/Znver4/resources-avx512vpclmulqdq.s | 14 +-
.../X86/Znver4/resources-avx512vpclmulqdqvl.s | 18 +-
.../X86/Znver4/resources-avx512vpopcntdq.s | 46 +-
.../X86/Znver4/resources-avx512vpopcntdqvl.s | 82 +-
.../llvm-mca/X86/Znver4/resources-avxgfni.s | 34 +-
.../llvm-mca/X86/Znver4/resources-avxvnni.s | 42 +-
.../llvm-mca/X86/Znver4/resources-bmi1.s | 62 +-
.../llvm-mca/X86/Znver4/resources-bmi2.s | 74 +-
.../X86/Znver4/resources-clflushopt.s | 12 +-
.../llvm-mca/X86/Znver4/resources-clwb.s | 12 +-
.../llvm-mca/X86/Znver4/resources-cmov.s | 202 +-
.../llvm-mca/X86/Znver4/resources-cmpxchg.s | 18 +-
.../llvm-mca/X86/Znver4/resources-f16c.s | 26 +-
.../tools/llvm-mca/X86/Znver4/resources-fma.s | 394 +-
.../llvm-mca/X86/Znver4/resources-fsgsbase.s | 26 +-
.../llvm-mca/X86/Znver4/resources-gfni.s | 22 +-
.../tools/llvm-mca/X86/Znver4/resources-lea.s | 280 +-
.../llvm-mca/X86/Znver4/resources-lzcnt.s | 22 +-
.../tools/llvm-mca/X86/Znver4/resources-mmx.s | 220 +-
.../llvm-mca/X86/Znver4/resources-movbe.s | 22 +-
.../llvm-mca/X86/Znver4/resources-mwaitx.s | 14 +-
.../llvm-mca/X86/Znver4/resources-pclmul.s | 14 +-
.../llvm-mca/X86/Znver4/resources-popcnt.s | 22 +-
.../llvm-mca/X86/Znver4/resources-prefetchw.s | 14 +-
.../llvm-mca/X86/Znver4/resources-rdrand.s | 16 +-
.../llvm-mca/X86/Znver4/resources-rdseed.s | 16 +-
.../tools/llvm-mca/X86/Znver4/resources-sha.s | 38 +-
.../llvm-mca/X86/Znver4/resources-sse1.s | 258 +-
.../llvm-mca/X86/Znver4/resources-sse2.s | 544 +--
.../llvm-mca/X86/Znver4/resources-sse3.s | 52 +-
.../llvm-mca/X86/Znver4/resources-sse41.s | 202 +-
.../llvm-mca/X86/Znver4/resources-sse42.s | 50 +-
.../llvm-mca/X86/Znver4/resources-sse4a.s | 22 +-
.../llvm-mca/X86/Znver4/resources-ssse3.s | 138 +-
.../llvm-mca/X86/Znver4/resources-vaes.s | 26 +-
.../X86/Znver4/resources-vpclmulqdq.s | 14 +-
.../llvm-mca/X86/Znver4/resources-x86_32.s | 36 +-
.../llvm-mca/X86/Znver4/resources-x86_64.s | 1836 ++++-----
.../tools/llvm-mca/X86/Znver4/resources-x87.s | 306 +-
.../llvm-mca/X86/Znver4/resources-xsave.s | 20 +-
.../tools/llvm-mca/X86/Znver4/zero-idioms.s | 288 +-
71 files changed, 10228 insertions(+), 9776 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index 084a45581605a..8639d86b967fa 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -259,6 +259,15 @@ defvar Zn4FPCLM1 = Zn4FP1;
// have 2 dedicated pipelines (pipe 5 and 6).
def Zn4FPU0123 : ProcResGroup<[Zn4FP0, Zn4FP1, Zn4FP2, Zn4FP3]>;
+// Narrower eligibilities within FP0-3. A microcoded sequence's uops are not
+// all eligible for every FP pipe, so the gather/scatter entries below name the
+// subgroup each of their uops can actually issue to rather than charging them
+// all to Zn4FPU0123.
+def Zn4FPU01 : ProcResGroup<[Zn4FP0, Zn4FP1]>;
+def Zn4FPU12 : ProcResGroup<[Zn4FP1, Zn4FP2]>;
+def Zn4FPU23 : ProcResGroup<[Zn4FP2, Zn4FP3]>;
+def Zn4FPU123 : ProcResGroup<[Zn4FP1, Zn4FP2, Zn4FP3]>;
+
// (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ)
def Zn4FPFMul01 : ProcResGroup<[Zn4FPFMul0, Zn4FPFMul1]>;
@@ -324,6 +333,14 @@ def Zn4FPAES01 : ProcResGroup<[Zn4FPAES0, Zn4FPAES1]>;
// *CLM*
def Zn4FPCLM01 : ProcResGroup<[Zn4FPCLM0, Zn4FPCLM1]>;
+// Issue limit for the microcoded masked gather/scatter sequences, whose
+// throughput is set by the microcode sequencer rather than by any pipe they
+// occupy. Abstract rather than a fourth copy of some pipe: it is declared
+// 4-wide only so that round(tput * 4) keeps the measurement's resolution, and
+// is charged separately so that a gather does not falsely serialise unrelated
+// FP work. See the masked gather/scatter section below for the measurements.
+def Zn4UcodeGS : ProcResource<4>;
+
//
// Scheduling
@@ -511,140 +528,226 @@ defm : Zn4WriteResInt<WriteVecMaskedGatherWriteback, [], !add(Znver4Model.LoadLa
// AVX-512 masked GATHER / SCATTER. Microcoded, so entries are keyed by
// (#elements, element width, index width); the two index widths share an entry
-// only where they measure alike. Zn4FPU0123 carries the fitted bottleneck,
-// round(tput * 4), and every other resource its physical occupancy, so a
-// retune edits the Zn4FPU0123 number. Measured on Znver4 and accurate to about
-// a cycle; scatter latency is estimated rather than timed. Znver4Model also
-// backs znver5 and znver6, which run 25-55% faster and are pessimistic here.
-// The commit message describes how the numbers were measured.
-def Zn4WriteVPGATHERQDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 13; let NumMicroOps = 18;
-}
+// only where they measure alike. Throughput and latency were measured on
+// Znver4 with every mask bit set, and are accurate to about a cycle; scatter
+// latency is estimated rather than timed. A scatter's mask operand is tied, so
+// that estimate is what the model makes a mask consumer wait for -- a kmov
+// reading the mask after a VPSCATTERQQZ128 stalls behind its 6 cycles -- and
+// it is the one number here that no measurement backs. Znver4Model also backs
+// znver5 and znver6, which run 25-55% faster and are pessimistic here.
+//
+// The FP occupancies are the uops.info Zen4 port distributions for the same
+// encodings, kept at the eligibility they were reported with: a uop restricted
+// to FP1/FP2 is charged to Zn4FPU12 and not to all four pipes, so the model
+// cannot schedule it somewhere the hardware would not. Several of these
+// sequences are genuinely narrow -- a 512-bit VPSCATTERQQ has no FP0-eligible
+// uop at all -- and summing them into Zn4FPU0123 would invent that
+// eligibility. A scatter's element stores are charged to Zn4FPSt, which keeps
+// them subject to the one-FP-store-per-cycle limit; Zn4FP45 then carries only
+// the remaining FP4/5 uops, so the two together come to the measured FP4/5
+// total.
+//
+// Three entries widen their few FP1/FP2 uops to FP1-3 rather than name
+// Zn4FPU12. llvm-mca's resource manager livelocks on a write that holds both
+// Zn4FPU01 and Zn4FPU12 -- partially overlapping groups that each also overlap
+// Zn4FPU123 -- though the scheduler itself handles such a write correctly.
+// Widening by the one pipe avoids that shape and leaves every modeled
+// throughput here unchanged.
+//
+// Those occupancies alone fall short of the measured throughput, so Zn4UcodeGS
+// (declared with the other resources above) carries the fitted residual. It is
+// named to sort last, so adding it renumbers no existing resource.
+//
+// Treating that residual as a serialising limit is what Znver4 measures.
+// Independent gathers do not overlap: with two to five of them in flight, the
+// cost per operation is flat to within 3% -- 17.5 to 17.7 cycles for a 512-bit
+// dword gather, 9.6 to 9.9 for a 512-bit qword one -- where a unit that
+// overlapped them would show the per-operation cost falling as the count rose.
+// A lone gather measures above that plateau, 18.2 and 12.7 cycles, because it
+// is latency-exposed rather than throughput-limited. A gather issued alongside
+// a scatter costs 90-96% of the two added together rather than the larger of
+// the two, so the directions share the limit rather than each having their own.
+//
+// A retune edits only that column for as long as its pressure stays the
+// highest in the entry: throughput is the maximum over resources, so the
+// physical columns are a floor beneath which Zn4UcodeGS cannot reach. The
+// FP4/5 pressure of Zn4WriteVPSCATTERDDZ, for instance, is already 17 cycles,
+// so no value in its last column models that instruction faster than 17. A
+// measurement below an entry's floor needs the physical columns revisited too.
+
+// Each entry names its own resources, since the FP eligibilities differ from
+// one encoding to the next. The leading columns are the addressing, memory and
+// FP4/5 occupancies; the middle ones the FP0-3 subgroups; the last is always
+// Zn4UcodeGS.
+class Zn4GSRes<list<ProcResourceKind> res, list<int> cyc, int lat, int uops>
+ : SchedWriteRes<res> {
+ let ReleaseAtCycles = cyc; let Latency = lat; let NumMicroOps = uops;
+}
+def Zn4WriteVPGATHERQDZ128 : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU123, Zn4UcodeGS],
+ [2, 2, 4, 2, 2, 16], 13, 18>;
def : InstRW<[Zn4WriteVPGATHERQDZ128, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQDZ128rm, VGATHERQPSZ128rm)>;
-def Zn4WriteVPGATHERDDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [4, 4, 4, 20]; let Latency = 15; let NumMicroOps = 24;
-}
+def Zn4WriteVPGATHERDDZ128 : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU123, Zn4UcodeGS],
+ [4, 4, 6, 3, 2, 20], 15, 24>;
def : InstRW<[Zn4WriteVPGATHERDDZ128, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDDZ128rm, VGATHERDPSZ128rm,
VPGATHERQDZ256rm, VGATHERQPSZ256rm)>;
-def Zn4WriteVPGATHERDDZ256 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 37]; let Latency = 20; let NumMicroOps = 41;
-}
+def Zn4WriteVPGATHERDDZ256 : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU123, Zn4UcodeGS],
+ [8, 8, 10, 5, 4, 37], 20, 41>;
def : InstRW<[Zn4WriteVPGATHERDDZ256, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDDZ256rm, VGATHERDPSZ256rm)>;
-def Zn4WriteVPGATHERQDZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 39]; let Latency = 24; let NumMicroOps = 46;
-}
+def Zn4WriteVPGATHERQDZ : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU12, Zn4FPU123,
+ Zn4UcodeGS],
+ [8, 8, 10, 5, 2, 5, 39], 24, 46>;
def : InstRW<[Zn4WriteVPGATHERQDZ, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQDZrm, VGATHERQPSZrm)>;
-def Zn4WriteVPGATHERDDZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [16, 16, 16, 70]; let Latency = 32; let NumMicroOps = 81;
-}
+def Zn4WriteVPGATHERDDZ : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU0123, Zn4FPU123,
+ Zn4FPU23, Zn4UcodeGS],
+ [16, 16, 18, 1, 8, 11, 2, 70], 32, 81>;
def : InstRW<[Zn4WriteVPGATHERDDZ, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDDZrm, VGATHERDPSZrm)>;
-def Zn4WriteVPGATHERQQZ128 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 12; let NumMicroOps = 17;
-}
+def Zn4WriteVPGATHERQQZ128 : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU123, Zn4UcodeGS],
+ [2, 2, 4, 2, 1, 16], 12, 17>;
def : InstRW<[Zn4WriteVPGATHERQQZ128, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQQZ128rm, VGATHERQPDZ128rm,
VPGATHERDQZ128rm, VGATHERDPDZ128rm)>;
-def Zn4WriteVPGATHERQQZ256 : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [4, 4, 4, 20]; let Latency = 16; let NumMicroOps = 24;
-}
+def Zn4WriteVPGATHERQQZ256 : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU123, Zn4UcodeGS],
+ [4, 4, 6, 3, 2, 20], 16, 24>;
def : InstRW<[Zn4WriteVPGATHERQQZ256, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQQZ256rm, VGATHERQPDZ256rm,
VPGATHERDQZ256rm, VGATHERDPDZ256rm)>;
-def Zn4WriteVPGATHERQQZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 39]; let Latency = 25; let NumMicroOps = 48;
-}
+def Zn4WriteVPGATHERQQZ : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU12, Zn4FPU123,
+ Zn4FPU23, Zn4UcodeGS],
+ [8, 8, 10, 4, 3, 6, 1, 39], 25, 48>;
def : InstRW<[Zn4WriteVPGATHERQQZ, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQQZrm, VGATHERQPDZrm)>;
-def Zn4WriteVPGATHERDQZ : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 38]; let Latency = 22; let NumMicroOps = 46;
-}
+def Zn4WriteVPGATHERDQZ : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU0123, Zn4FPU12, Zn4FPU123,
+ Zn4FPU23, Zn4UcodeGS],
+ [8, 8, 10, 4, 2, 6, 1, 38], 22, 46>;
def : InstRW<[Zn4WriteVPGATHERDQZ, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDQZrm, VGATHERDPDZrm)>;
-// AVX2 (VEX) gathers. AVX2 has no scatter and no VEX form exceeds 8 x i32. All
-// but 8 x i32 measure like the EVEX entry for their shape and reuse it; 8 x i32
-// is genuinely cheaper (8.35 vs 9.19 cyc) and gets its own entry. An InstRW
-// replaces the whole Sched<> list, so each one must restate the mask-writeback
-// def that X86InstrSSE.td attaches. That def is encoding-neutral and models the
-// mask clobber at the generic load latency, 5, for VEX and EVEX alike, while
-// the data result these entries measure is 12 to 32; narrowing that gap is
-// future work for both encodings.
-def : InstRW<[Zn4WriteVPGATHERQDZ128, WriteVecMaskedGatherWriteback],
+// AVX2 (VEX) gathers. AVX2 has no scatter and no VEX form exceeds 8 x i32.
+// Each measures at the throughput of the EVEX entry for its shape, except
+// 8 x i32, which is genuinely cheaper at 8.35 against 9.19 cyc. They are not
+// the same sequences underneath, though: a VEX VPGATHERDD xmm issues eight
+// FP0-3 uops and five FP4/5 where its EVEX counterpart issues five and six. So
+// each VEX form keeps the microcode limit measured for it while carrying the
+// physical occupancy measured for its own encoding.
+//
+// An InstRW replaces the whole Sched<> list, so each one must restate the
+// mask-writeback def that X86InstrSSE.td attaches. That def is
+// encoding-neutral and models the mask clobber at the generic load latency, 5,
+// for VEX and EVEX alike, while the data result these entries measure is 12 to
+// 32; narrowing that gap is future work for both encodings.
+def Zn4WriteVPGATHERQDX : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU0123, Zn4FPU123,
+ Zn4FPU23, Zn4UcodeGS],
+ [2, 2, 3, 2, 1, 1, 1, 16], 13, 18>;
+def : InstRW<[Zn4WriteVPGATHERQDX, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQDrm, VGATHERQPSrm)>;
-def : InstRW<[Zn4WriteVPGATHERDDZ128, WriteVecMaskedGatherWriteback],
+def Zn4WriteVPGATHERDDX : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU0123, Zn4FPU123,
+ Zn4FPU23, Zn4UcodeGS],
+ [4, 4, 5, 4, 1, 2, 1, 20], 15, 24>;
+def : InstRW<[Zn4WriteVPGATHERDDX, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDDrm, VGATHERDPSrm,
VPGATHERQDYrm, VGATHERQPSYrm)>;
-def Zn4WriteVPGATHERDDY : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPLd01, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 33]; let Latency = 21; let NumMicroOps = 42;
-}
+def Zn4WriteVPGATHERDDY : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [8, 8, 9, 8, 7, 2, 33], 21, 42>;
def : InstRW<[Zn4WriteVPGATHERDDY, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDDYrm, VGATHERDPSYrm)>;
-def : InstRW<[Zn4WriteVPGATHERQQZ128, WriteVecMaskedGatherWriteback],
+def Zn4WriteVPGATHERQQX : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU0123, Zn4FPU123,
+ Zn4UcodeGS],
+ [2, 2, 3, 2, 1, 1, 16], 12, 17>;
+def : InstRW<[Zn4WriteVPGATHERQQX, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQQrm, VGATHERQPDrm,
VPGATHERDQrm, VGATHERDPDrm)>;
-def : InstRW<[Zn4WriteVPGATHERQQZ256, WriteVecMaskedGatherWriteback],
- (instrs VPGATHERQQYrm, VGATHERQPDYrm,
- VPGATHERDQYrm, VGATHERDPDYrm)>;
-
-def Zn4WriteVPSCATTERQDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 6; let NumMicroOps = 17;
-}
+def Zn4WriteVPGATHERQQY : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [4, 4, 5, 4, 3, 1, 20], 16, 24>;
+def : InstRW<[Zn4WriteVPGATHERQQY, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERQQYrm, VGATHERQPDYrm)>;
+def Zn4WriteVPGATHERDQY : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
+ Zn4FPU01, Zn4FPU0123, Zn4FPU123,
+ Zn4FPU23, Zn4UcodeGS],
+ [4, 4, 5, 4, 1, 2, 1, 20], 16, 24>;
+def : InstRW<[Zn4WriteVPGATHERDQY, WriteVecMaskedGatherWriteback],
+ (instrs VPGATHERDQYrm, VGATHERDPDYrm)>;
+
+def Zn4WriteVPSCATTERQDZ128 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU123, Zn4UcodeGS],
+ [2, 2, 2, 4, 1, 16], 6, 17>;
def : InstRW<[Zn4WriteVPSCATTERQDZ128],
(instrs VPSCATTERQDZ128mr, VSCATTERQPSZ128mr)>;
-def Zn4WriteVPSCATTERDDZ128 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [4, 4, 4, 33]; let Latency = 9; let NumMicroOps = 27;
-}
+def Zn4WriteVPSCATTERDDZ128 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU123, Zn4FPU23, Zn4UcodeGS],
+ [4, 4, 4, 6, 2, 1, 33], 9, 27>;
def : InstRW<[Zn4WriteVPSCATTERDDZ128],
(instrs VPSCATTERDDZ128mr, VSCATTERDPSZ128mr)>;
-def Zn4WriteVPSCATTERQDZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [4, 4, 4, 26]; let Latency = 9; let NumMicroOps = 27;
-}
+def Zn4WriteVPSCATTERQDZ256 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU123, Zn4FPU23, Zn4UcodeGS],
+ [4, 4, 4, 6, 2, 1, 26], 9, 27>;
def : InstRW<[Zn4WriteVPSCATTERQDZ256],
(instrs VPSCATTERQDZ256mr, VSCATTERQPSZ256mr)>;
-def Zn4WriteVPSCATTERDDZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 49]; let Latency = 14; let NumMicroOps = 48;
-}
+def Zn4WriteVPSCATTERDDZ256 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU12, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [8, 8, 8, 10, 1, 3, 3, 49], 14, 48>;
def : InstRW<[Zn4WriteVPSCATTERDDZ256],
(instrs VPSCATTERDDZ256mr, VSCATTERDPSZ256mr)>;
-def Zn4WriteVPSCATTERQDZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 46]; let Latency = 14; let NumMicroOps = 48;
-}
+def Zn4WriteVPSCATTERQDZ : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU12, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [8, 8, 8, 10, 2, 3, 3, 46], 14, 48>;
def : InstRW<[Zn4WriteVPSCATTERQDZ],
(instrs VPSCATTERQDZmr, VSCATTERQPSZmr)>;
-def Zn4WriteVPSCATTERDDZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [16, 16, 16, 103]; let Latency = 24; let NumMicroOps = 89;
-}
+def Zn4WriteVPSCATTERDDZ : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU01, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [16, 16, 16, 18, 2, 12, 4, 103], 24, 89>;
def : InstRW<[Zn4WriteVPSCATTERDDZ],
(instrs VPSCATTERDDZmr, VSCATTERDPSZmr)>;
-def Zn4WriteVPSCATTERQQZ128 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [2, 2, 2, 16]; let Latency = 6; let NumMicroOps = 17;
-}
+def Zn4WriteVPSCATTERQQZ128 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU123, Zn4UcodeGS],
+ [2, 2, 2, 4, 1, 16], 6, 17>;
def : InstRW<[Zn4WriteVPSCATTERQQZ128],
(instrs VPSCATTERQQZ128mr, VSCATTERQPDZ128mr,
VPSCATTERDQZ128mr, VSCATTERDPDZ128mr)>;
-def Zn4WriteVPSCATTERQQZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [4, 4, 4, 26]; let Latency = 9; let NumMicroOps = 27;
-}
+def Zn4WriteVPSCATTERQQZ256 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU12, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [4, 4, 4, 6, 1, 1, 1, 26], 9, 27>;
def : InstRW<[Zn4WriteVPSCATTERQQZ256],
(instrs VPSCATTERQQZ256mr, VSCATTERQPDZ256mr)>;
-def Zn4WriteVPSCATTERDQZ256 : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [4, 4, 4, 24]; let Latency = 9; let NumMicroOps = 28;
-}
+def Zn4WriteVPSCATTERDQZ256 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FP1, Zn4FPU123, Zn4UcodeGS],
+ [4, 4, 4, 6, 2, 1, 24], 9, 28>;
def : InstRW<[Zn4WriteVPSCATTERDQZ256],
(instrs VPSCATTERDQZ256mr, VSCATTERDPDZ256mr)>;
-def Zn4WriteVPSCATTERQQZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 56]; let Latency = 14; let NumMicroOps = 48;
-}
+def Zn4WriteVPSCATTERQQZ : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU12, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [8, 8, 8, 10, 4, 1, 3, 56], 14, 48>;
def : InstRW<[Zn4WriteVPSCATTERQQZ],
(instrs VPSCATTERQQZmr, VSCATTERQPDZmr)>;
-def Zn4WriteVPSCATTERDQZ : SchedWriteRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FPU0123]> {
- let ReleaseAtCycles = [8, 8, 8, 44]; let Latency = 14; let NumMicroOps = 48;
-}
+def Zn4WriteVPSCATTERDQZ : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
+ Zn4FPU12, Zn4FPU123, Zn4FPU23,
+ Zn4UcodeGS],
+ [8, 8, 8, 10, 3, 2, 2, 44], 14, 48>;
def : InstRW<[Zn4WriteVPSCATTERDQZ],
(instrs VPSCATTERDQZmr, VSCATTERDPDZmr)>;
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s b/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s
index 327332194c16d..a1da9713c48b5 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/gather-mask-writeback.s
@@ -1,3 +1,4 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 \
# RUN: -timeline -iterations=1 < %s | FileCheck %s
@@ -9,8 +10,80 @@
vpgatherdd %ymm0, (%rax,%ymm1,4), %ymm2
vpaddd %ymm0, %ymm3, %ymm4
-# CHECK: Instructions:
-# CHECK: 42 21 8.25 * vpgatherdd
+# CHECK: Iterations: 1
+# CHECK-NEXT: Instructions: 2
+# CHECK-NEXT: Total Cycles: 24
+# CHECK-NEXT: Total uOps: 43
+
+# CHECK: Dispatch Width: 6
+# CHECK-NEXT: uOps Per Cycle: 1.79
+# CHECK-NEXT: IPC: 0.08
+# CHECK-NEXT: Block RThroughput: 8.3
+
+# 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: 42 21 8.25 * vpgatherdd %ymm0, (%rax,%ymm1,4), %ymm2
+# CHECK-NEXT: 1 1 0.25 vpaddd %ymm0, %ymm3, %ymm4
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - Zn4AGU0
+# CHECK-NEXT: [1] - Zn4AGU1
+# CHECK-NEXT: [2] - Zn4AGU2
+# CHECK-NEXT: [3] - Zn4ALU0
+# CHECK-NEXT: [4] - Zn4ALU1
+# CHECK-NEXT: [5] - Zn4ALU2
+# CHECK-NEXT: [6] - Zn4ALU3
+# CHECK-NEXT: [7] - Zn4BRU1
+# CHECK-NEXT: [8] - Zn4FP0
+# CHECK-NEXT: [9] - Zn4FP1
+# CHECK-NEXT: [10] - Zn4FP2
+# CHECK-NEXT: [11] - Zn4FP3
+# CHECK-NEXT: [12.0] - Zn4FP45
+# CHECK-NEXT: [12.1] - Zn4FP45
+# CHECK-NEXT: [13] - Zn4FPSt
+# CHECK-NEXT: [14.0] - Zn4LSU
+# CHECK-NEXT: [14.1] - Zn4LSU
+# CHECK-NEXT: [14.2] - Zn4LSU
+# CHECK-NEXT: [15.0] - Zn4Load
+# CHECK-NEXT: [15.1] - Zn4Load
+# CHECK-NEXT: [15.2] - Zn4Load
+# CHECK-NEXT: [16.0] - Zn4Store
+# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - 8.00 - - - - - 1.00 8.00 7.00 2.00 - 9.00 - - - 8.00 - - 8.00 - - - - - 33.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - 8.00 - - - - - - 8.00 7.00 2.00 - 9.00 - - - 8.00 - - 8.00 - - - - - 33.00 vpgatherdd %ymm0, (%rax,%ymm1,4), %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - vpaddd %ymm0, %ymm3, %ymm4
+
# CHECK: Timeline view:
-# CHECK: [0,0] {{.*}} vpgatherdd
-# CHECK-NEXT: [0,1] {{.*}}DeE{{-*}}R vpaddd
+# CHECK-NEXT: 0123456789
+# CHECK-NEXT: Index 0123456789 0123
+
+# CHECK: [0,0] DeeeeeeeeeeeeeeeeeeeeeER vpgatherdd %ymm0, (%rax,%ymm1,4), %ymm2
+# CHECK-NEXT: [0,1] . . DeE-------------R vpaddd %ymm0, %ymm3, %ymm4
+
+# CHECK: Average Wait times (based on the timeline view):
+# CHECK-NEXT: [0]: Executions
+# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
+# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
+# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
+
+# CHECK: [0] [1] [2] [3]
+# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vpgatherdd %ymm0, (%rax,%ymm1,4), %ymm2
+# CHECK-NEXT: 1. 1 1.0 1.0 13.0 vpaddd %ymm0, %ymm3, %ymm4
+# CHECK-NEXT: 2 1.0 1.0 6.5 <total>
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/independent-load-stores.s b/llvm/test/tools/llvm-mca/X86/Znver4/independent-load-stores.s
index 0807bb55f2876..210fa24e8f705 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/independent-load-stores.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/independent-load-stores.s
@@ -75,23 +75,27 @@
# ALL-NEXT: [15.2] - Zn4Load
# ALL-NEXT: [16.0] - Zn4Store
# ALL-NEXT: [16.1] - Zn4Store
+# ALL-NEXT: [17.0] - Zn4UcodeGS
+# ALL-NEXT: [17.1] - Zn4UcodeGS
+# ALL-NEXT: [17.2] - Zn4UcodeGS
+# ALL-NEXT: [17.3] - Zn4UcodeGS
# ALL: Resource pressure per iteration:
-# ALL-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# ALL-NEXT: 6.66 6.66 6.68 2.50 2.50 2.50 2.50 - - - - - - - - 6.66 6.66 6.68 3.33 3.33 3.34 5.00 5.00
+# ALL-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# ALL-NEXT: 6.66 6.66 6.68 2.50 2.50 2.50 2.50 - - - - - - - - 6.66 6.66 6.68 3.33 3.33 3.34 5.00 5.00 - - - -
# ALL: Resource pressure by instruction:
-# ALL-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# ALL-NEXT: 0.66 0.66 0.68 - 0.50 - 0.50 - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 - 1.00 addq $44, 64(%r14)
-# ALL-NEXT: 0.66 0.68 0.66 0.50 - 0.50 - - - - - - - - - 0.66 0.68 0.66 0.33 0.34 0.33 1.00 - addq $44, 128(%r14)
-# ALL-NEXT: 0.68 0.66 0.66 - 0.50 - 0.50 - - - - - - - - 0.68 0.66 0.66 0.34 0.33 0.33 - 1.00 addq $44, 192(%r14)
-# ALL-NEXT: 0.66 0.66 0.68 0.50 - 0.50 - - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 1.00 - addq $44, 256(%r14)
-# ALL-NEXT: 0.66 0.68 0.66 - 0.50 - 0.50 - - - - - - - - 0.66 0.68 0.66 0.33 0.34 0.33 - 1.00 addq $44, 320(%r14)
-# ALL-NEXT: 0.68 0.66 0.66 0.50 - 0.50 - - - - - - - - - 0.68 0.66 0.66 0.34 0.33 0.33 1.00 - addq $44, 384(%r14)
-# ALL-NEXT: 0.66 0.66 0.68 - 0.50 - 0.50 - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 - 1.00 addq $44, 448(%r14)
-# ALL-NEXT: 0.66 0.68 0.66 0.50 - 0.50 - - - - - - - - - 0.66 0.68 0.66 0.33 0.34 0.33 1.00 - addq $44, 512(%r14)
-# ALL-NEXT: 0.68 0.66 0.66 - 0.50 - 0.50 - - - - - - - - 0.68 0.66 0.66 0.34 0.33 0.33 - 1.00 addq $44, 576(%r14)
-# ALL-NEXT: 0.66 0.66 0.68 0.50 - 0.50 - - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 1.00 - addq $44, 640(%r14)
+# ALL-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# ALL-NEXT: 0.66 0.66 0.68 - 0.50 - 0.50 - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 - 1.00 - - - - addq $44, 64(%r14)
+# ALL-NEXT: 0.66 0.68 0.66 0.50 - 0.50 - - - - - - - - - 0.66 0.68 0.66 0.33 0.34 0.33 1.00 - - - - - addq $44, 128(%r14)
+# ALL-NEXT: 0.68 0.66 0.66 - 0.50 - 0.50 - - - - - - - - 0.68 0.66 0.66 0.34 0.33 0.33 - 1.00 - - - - addq $44, 192(%r14)
+# ALL-NEXT: 0.66 0.66 0.68 0.50 - 0.50 - - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 1.00 - - - - - addq $44, 256(%r14)
+# ALL-NEXT: 0.66 0.68 0.66 - 0.50 - 0.50 - - - - - - - - 0.66 0.68 0.66 0.33 0.34 0.33 - 1.00 - - - - addq $44, 320(%r14)
+# ALL-NEXT: 0.68 0.66 0.66 0.50 - 0.50 - - - - - - - - - 0.68 0.66 0.66 0.34 0.33 0.33 1.00 - - - - - addq $44, 384(%r14)
+# ALL-NEXT: 0.66 0.66 0.68 - 0.50 - 0.50 - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 - 1.00 - - - - addq $44, 448(%r14)
+# ALL-NEXT: 0.66 0.68 0.66 0.50 - 0.50 - - - - - - - - - 0.66 0.68 0.66 0.33 0.34 0.33 1.00 - - - - - addq $44, 512(%r14)
+# ALL-NEXT: 0.68 0.66 0.66 - 0.50 - 0.50 - - - - - - - - 0.68 0.66 0.66 0.34 0.33 0.33 - 1.00 - - - - addq $44, 576(%r14)
+# ALL-NEXT: 0.66 0.66 0.68 0.50 - 0.50 - - - - - - - - - 0.66 0.66 0.68 0.33 0.33 0.34 1.00 - - - - - addq $44, 640(%r14)
# ALL: Timeline view:
@@ -141,7 +145,7 @@
# NOALIAS-NEXT: 7. 1 4.0 0.0 0.0 addq $44, 512(%r14)
# NOALIAS-NEXT: 8. 1 5.0 1.0 0.0 addq $44, 576(%r14)
# NOALIAS-NEXT: 9. 1 6.0 1.0 0.0 addq $44, 640(%r14)
-# NOALIAS-NEXT: 10 3.3 0.7 0.0 <total>
+# NOALIAS-NEXT: 10 3.3 0.7 0.0 <total>
# YESALIAS-NEXT: 1. 1 7.0 0.0 0.0 addq $44, 128(%r14)
# YESALIAS-NEXT: 2. 1 13.0 0.0 0.0 addq $44, 192(%r14)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s b/llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
index 26f017d851f78..3060d1673048f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
@@ -60,16 +60,20 @@ vpxord zmm1, zmm1, zmm1
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 1.76 1.76 1.73 1.75 - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 1.76 1.76 1.73 1.75 - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.76 1.76 0.74 1.74 - - - - - - - - - - - vpconflictd zmm0, zmm3
-# CHECK-NEXT: - - - - - - - - - - 0.99 0.01 - - - - - - - - - - - kxnorw k1, k1, k1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord zmm1, zmm1, zmm1
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.76 1.76 0.74 1.74 - - - - - - - - - - - - - - - vpconflictd zmm0, zmm3
+# CHECK-NEXT: - - - - - - - - - - 0.99 0.01 - - - - - - - - - - - - - - - kxnorw k1, k1, k1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord zmm1, zmm1, zmm1
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-adx.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-adx.s
index fdc3662f4db56..6c3b529288b1b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-adx.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-adx.s
@@ -53,18 +53,22 @@ adox (%rbx), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.33 1.33 1.33 8.00 8.00 8.00 8.00 - - - - - - - - 1.33 1.33 1.33 1.33 1.33 1.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.33 1.33 1.33 8.00 8.00 8.00 8.00 - - - - - - - - 1.33 1.33 1.33 1.33 1.33 1.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcxl %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcxl (%rbx), %ecx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcxq %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcxq (%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adoxl %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adoxl (%rbx), %ecx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adoxq %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adoxq (%rbx), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcxl %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adcxl (%rbx), %ecx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcxq %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adcxq (%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adoxl %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adoxl (%rbx), %ecx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adoxq %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adoxq (%rbx), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-aes.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-aes.s
index 7d7c4495588f8..15b4f7dc3739a 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-aes.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-aes.s
@@ -65,22 +65,26 @@ aeskeygenassist $22, (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 6.00 6.00 - - 3.00 3.00 - 2.00 2.00 2.00 2.00 2.00 2.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 6.00 6.00 - - 3.00 3.00 - 2.00 2.00 2.00 2.00 2.00 2.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - aesdec %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - aesdec (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - aesdeclast %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - aesdeclast (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - aesenc %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - aesenc (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - aesenclast %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - aesenclast (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - aesimc %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - aesimc (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - aeskeygenassist $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - aeskeygenassist $22, (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - aesdec %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - aesdec (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - aesdeclast %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - aesdeclast (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - aesenc %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - aesenc (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - aesenclast %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - aesenclast (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - aesimc %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - aesimc (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - aeskeygenassist $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - aeskeygenassist $22, (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s
index d1df30497325b..22d22325a03c9 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s
@@ -1746,701 +1746,705 @@ vzeroupper
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.33 1.33 1.33 16.50 16.50 16.50 16.50 - 204.25 392.58 268.08 158.08 208.50 208.50 65.00 119.67 119.67 119.67 107.00 107.00 107.00 19.00 19.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.33 1.33 1.33 16.50 16.50 16.50 16.50 - 204.25 392.58 268.08 158.08 208.50 208.50 65.00 119.67 119.67 119.67 107.00 107.00 107.00 19.00 19.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddsubpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddsubpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddsubps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddsubps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddsubps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddsubps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdec %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdec (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdeclast %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdeclast (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenc %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenc (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenclast %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenclast (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesimc %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesimc (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaeskeygenassist $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaeskeygenassist $22, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf128 (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcomisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcomisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcomiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcomiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtdq2pd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqx (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqy (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtpd2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psx (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2ps %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psy (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2pd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsd2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtsd2ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsd2ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtsi2sd %ecx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtsi2sd %rcx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsi2sdl (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsi2sdq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtsi2ss %ecx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtsi2ss %rcx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsi2ssl (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsi2ssq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtss2sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtss2sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvtss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvtss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqx (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqy (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvttsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvttsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttsd2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvttss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvttss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdppd $22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - - - - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdpps $22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - - - - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdpps $22, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - vextractf128 $1, %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf128 $1, %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vextractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractps $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhaddpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhaddpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhaddps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhaddps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhsubpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhsubpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhsubps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vhsubps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertps $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vlddqu (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vlddqu (%rax), %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 1.50 1.50 1.50 1.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vldmxcsr (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmaskmovdqu %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaskmovpd (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaskmovpd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 2.00 2.00 4.00 0.33 0.33 0.33 - - - 0.50 0.50 vmaskmovpd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 vmaskmovpd %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaskmovps (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaskmovps (%rax), %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 vmaskmovps %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 6.00 6.00 12.00 0.33 0.33 0.33 - - - 0.50 0.50 vmaskmovps %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vmovd %eax, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vmovd %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovddup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovddup %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovhpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovhpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovhps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovhps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovlpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovlpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovlps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovlps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vmovmskpd %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vmovmskpd %ymm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vmovmskps %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vmovmskps %ymm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovntdq %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovntdq %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovntdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovntdqa (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovntpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovntpd %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovntps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovntps %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vmovq %rax, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vmovq %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovq %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovsd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovss %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - vmpsadbw $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmpsadbw $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpand %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpand (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpandn %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpblendw $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendw $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpclmulqdq $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - vpcmpestri $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpestri $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - vpcmpestrm $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpestrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - vpcmpistri $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpistri $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - vpcmpistrm $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpistrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vperm2f128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrb $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrb $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrd $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrd $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrq $1, %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrq $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrw $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrw $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - vphaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - vphaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - vphaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vphminposuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphminposuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - vphsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - vphsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - vphsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphsubw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrb $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrb $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrd $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrq $1, %rax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrq $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrw $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrw $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmuldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmuldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmuludq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmuludq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpor %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpor (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsadbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsignb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsignd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsignw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsignw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpslld $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpslld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpslldq $1, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllq $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrad $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrad %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrad (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsraw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrld $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrldq $1, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlq $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 1.00 - - - - - - - - vptest %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 1.00 1.00 1.00 0.33 0.33 0.33 0.33 0.33 0.33 - - vptest (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 1.00 - - - - - - - - vptest %ymm0, %ymm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 1.00 1.00 1.00 0.33 0.33 0.33 0.33 0.33 0.33 - - vptest (%rax), %ymm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpxor %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpxor (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vrcpps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrcpps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vrcpps %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrcpps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vrcpss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrcpss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vroundpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vroundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vroundpd $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vroundpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vroundps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vroundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vroundps $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vroundps $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vroundsd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vroundss $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vrsqrtps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrsqrtps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vrsqrtps %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrsqrtps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufpd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufpd $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufps $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufps $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 15.00 15.00 15.00 15.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 vstmxcsr (%rax)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vtestpd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vtestpd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vtestpd %ymm0, %ymm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vtestpd (%rax), %ymm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vtestps %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vtestps (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vtestps %ymm0, %ymm1
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vtestps (%rax), %ymm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vucomisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vucomisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vucomiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vucomiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 6.00 6.00 6.00 6.00 - - - - - - - - - - - vzeroall
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vzeroupper
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddsubpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddsubpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddsubps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddsubps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddsubps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddsubps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdec %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdec (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdeclast %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdeclast (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenc %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenc (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenclast %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenclast (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesimc %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesimc (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaeskeygenassist $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaeskeygenassist $22, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendpd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendpd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendps $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf128 (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcomisd %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcomisd (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcomiss %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcomiss (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtdq2pd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqx (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %ymm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqy (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtpd2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psx (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2ps %ymm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psy (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2pd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtsd2ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsd2ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtsi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtsi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtsi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtsi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtss2sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtss2sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvtss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvtss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtss2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqx (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %ymm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqy (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvttsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvttsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvttss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvttss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttss2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdppd $22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - vextractf128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf128 $1, %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vextractps $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhaddpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhaddpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhaddps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhaddps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhsubpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhsubpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhsubps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vhsubps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vlddqu (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vlddqu (%rax), %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 1.50 1.50 1.50 1.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vldmxcsr (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 2.00 4.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmaskmovpd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmaskmovpd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmaskmovps %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 6.00 6.00 12.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmaskmovps %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vminpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vminpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vminps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vminps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmovd %eax, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmovd %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovddup %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovddup %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovhpd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovhps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovhps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovlpd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovlps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - vmovmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - vmovmskpd %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - vmovmskps %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - vmovmskps %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovntdq %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovntdq %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovntdqa (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovntdqa (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovntpd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovntpd %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovntps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovntps %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vmovq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmovq %rax, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmovq %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovq %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovsd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovss %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %ymm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - vmpsadbw $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmpsadbw $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpand %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpand (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpandn %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpandn (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpblendw $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendw $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpclmulqdq $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - vpcmpestri $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpestri $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - vpcmpestrm $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpestrm $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - vpcmpistri $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpistri $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - vpcmpistrm $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpistrm $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrb $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrb $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrd $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrd $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrq $1, %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrq $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrw $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrw $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - vphaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphaddd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - vphaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphaddsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - vphaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphaddw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vphminposuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphminposuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - vphsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphsubd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - vphsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphsubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - vphsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphsubw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrb $1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrb $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrd $1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrd $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrq $1, %rax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrq $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrw $1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrw $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - vpmovmskb %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmuldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmuldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmuludq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmuludq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpor %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpor (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsadbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsadbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsignb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsignb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsignd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsignd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsignw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsignw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpslld $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpslld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpslld (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllq $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrad $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrad %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrad (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsraw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrld $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrld (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlq $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 1.00 - - - - - - - - - - - - vptest %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 1.00 1.00 1.00 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptest (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 1.00 - - - - - - - - - - - - vptest %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 1.00 1.00 1.00 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptest (%rax), %ymm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpxor %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpxor (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vrcpps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrcpps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vrcpps %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrcpps (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vrcpss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrcpss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vroundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vroundpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vroundpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vroundpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vroundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vroundps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vroundps $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vroundps $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vroundsd $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vroundss $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vrsqrtps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrsqrtps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vrsqrtps %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrsqrtps (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrsqrtss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufpd $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufpd $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 15.00 15.00 15.00 15.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vstmxcsr (%rax)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vtestpd %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vtestpd (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vtestpd %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vtestpd (%rax), %ymm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vtestps %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vtestps (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vtestps %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vtestps (%rax), %ymm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vucomisd %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vucomisd (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vucomiss %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vucomiss (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 6.00 6.00 6.00 6.00 - - - - - - - - - - - - - - - vzeroall
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vzeroupper
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
index 69f8a4961dc92..a22b967b2dc14 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
@@ -786,311 +786,315 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 21.33 21.33 21.33 - - - - - 174.25 209.25 172.75 116.75 110.50 110.50 29.00 67.00 67.00 67.00 65.33 65.33 65.33 2.50 2.50
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 21.33 21.33 21.33 - - - - - 126.75 174.42 114.92 58.92 118.50 118.50 29.00 67.00 67.00 67.00 65.33 65.33 65.33 2.50 2.50 80.50 80.50 80.50 80.50
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti128 (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - vextracti128 $1, %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti128 $1, %ymm0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 8.25 8.25 8.25 8.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovntdqa (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpabsb %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpabsd %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpabsw %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpaddsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpaddsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpaddusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpaddusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpand %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpand (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpandn %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpandn (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpavgb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpavgw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpblendd $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpblendd $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpblendw $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendw $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastd %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastq %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $1, (%rax), %ymm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 8.25 8.25 8.25 8.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphaddd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphaddsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphaddw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphaddw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphsubd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphsubd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphsubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphsubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - vphsubw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vphsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 vpmaskmovd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 6.00 6.00 12.00 0.33 0.33 0.33 - - - 0.50 0.50 vpmaskmovd %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - 2.00 2.00 4.00 0.33 0.33 0.33 - - - 0.50 0.50 vpmaskmovq %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 vpmaskmovq %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vpmovmskb %ymm0, %ecx
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmuldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmuludq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpor %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpor (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsadbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsignb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsignb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsignd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsignd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsignw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsignw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpslld $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpslld %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpslld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpslldq $1, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllq $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllq %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllw $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrad $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrad %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrad (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsraw $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrld $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrld %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrldq $1, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlq $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlq %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlw $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsubsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsubusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsubusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpxor %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpxor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti128 $1, %ymm0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 1.25 1.58 0.58 0.58 1.50 1.50 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.25 2.92 1.42 1.42 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.25 2.92 1.42 1.42 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 4.00 6.33 3.33 3.33 4.50 4.50 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 8.25 8.25 8.25 8.25 vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 1.25 1.58 0.58 0.58 1.50 1.50 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.00 3.00 1.50 1.50 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 1.25 1.58 1.08 1.08 1.50 1.50 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.25 2.92 1.42 1.42 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmpsadbw $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpand %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpand (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpandn %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpandn (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpblendd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpblendd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpblendw $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendw $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vperm2i128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.25 2.92 1.42 1.42 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 4.00 6.33 3.33 3.33 4.50 4.50 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 8.25 8.25 8.25 8.25 vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 1.25 1.58 0.58 0.58 1.50 1.50 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.25 2.92 1.42 1.42 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 1.25 1.58 1.08 1.08 1.50 1.50 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.25 2.92 1.42 1.42 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 1.25 1.58 0.58 0.58 1.50 1.50 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 2.00 3.00 1.50 1.50 2.50 2.50 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - - vphaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - - vphaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - - vphaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - - vphsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - - vphsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - - vphsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 3.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vphsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaskmovd (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaskmovd (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 6.00 6.00 12.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaskmovq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaskmovq (%rax), %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 2.00 4.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 3.00 3.00 6.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - vpmovmskb %ymm0, %ecx
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpor (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsadbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpslld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpslld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpslld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrad $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrad %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrad (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsraw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrld $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrld %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrld (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlq $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlq %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlw $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpxor %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpxor (%rax), %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index 566a1a9e48126..3a5d0ee1d90b8 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -2230,1035 +2230,1039 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 53.33 53.33 53.33 - - - - - 438.50 1338.00 895.50 570.00 392.50 392.50 97.00 261.00 261.00 261.00 228.67 228.67 228.67 48.50 48.50
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 53.33 53.33 53.33 - - - - - 234.50 1180.67 751.17 409.67 448.50 448.50 97.00 261.00 261.00 261.00 228.67 228.67 228.67 48.50 48.50 217.50 217.50 217.50 217.50
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandnw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - knotw %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - korw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxnorw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxorw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftlw $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftrw $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kunpckbw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignd $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignq $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x4 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x4 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x4 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x4 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x4 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x4 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x4 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x4 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x4 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x4 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x4 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x4 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqsd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqsd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqss (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqss (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcomiss %xmm16, %xmm17
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcomiss (%rax), %xmm17
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtdq2pd %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtdq2pd %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtdq2pd %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtdq2ps %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtdq2ps %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtdq2ps %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2dq %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2dq %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2dq %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2udq %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2udq %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2udq %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2dq %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2dq %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2dq %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2udq %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2udq %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2udq %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2ps %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2ps %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2ps %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2dq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2dq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2dq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2dq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2dq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2dq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtps2pd %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtps2pd %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtps2pd %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtsd2usi %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtsd2usi %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsd2usi (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtsd2usi (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvtss2usi %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvtss2usi %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtss2usi (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtss2usi (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2udq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2udq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2udq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2udq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2udq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2udq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttsd2usi %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttsd2usi %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttsd2usi (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttsd2usi (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvttss2usi %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - vcvttss2usi %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttss2usi (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttss2usi (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtudq2pd %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2pd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2pd (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtudq2pd %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2pd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtudq2pd %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2pd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtudq2ps %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2ps (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2ps (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtudq2ps %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2ps (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2ps (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtusi2sd %ecx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtusi2sd %rcx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtusi2sdl (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtusi2sdq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtusi2ss %ecx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtusi2ss %rcx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtusi2ssl (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtusi2ssq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - vdivpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - vdivpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - vdivpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - {evex} vextractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 {evex} vextractps $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.50 9.50 9.50 9.50 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 17.50 17.50 17.50 17.50 8.00 8.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherqps (%rax,%zmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa32 %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa32 %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa64 %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa64 %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu32 %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu32 %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovntdqa (%rax), %zmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovshdup %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovshdup %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovshdup %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovsldup %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovsldup %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovsldup %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsd (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtq %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtq %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequq %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequq %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.50 9.50 9.50 9.50 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherdq (%rax,%ymm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 17.50 17.50 17.50 17.50 8.00 8.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.75 9.75 9.75 9.75 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermilpd $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermilpd $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermilpd $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermilps $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermilps $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermilps $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 25.75 25.75 25.75 25.75 8.00 8.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.00 11.00 11.00 11.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.50 11.50 11.50 11.50 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 14.00 14.00 14.00 14.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhdq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhqdq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckldq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 25.75 25.75 25.75 25.75 8.00 8.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.00 11.00 11.00 11.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 11.50 11.50 11.50 11.50 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 14.00 14.00 14.00 14.00 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 18.00 - - - - - - - - - - - - - vsqrtpd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 18.00 - - - - - - - - - - - - - vsqrtpd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 18.00 - - - - - - - - - - - - - vsqrtpd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - vsqrtps %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - vsqrtps %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - vsqrtps %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtsd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtsd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtsd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtss (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtss (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtss (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestmd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestmd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestmq %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestmq %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestnmd %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax){1to16}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestnmd %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax){1to16}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestnmq %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax){1to8}, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestnmq %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vucomiss %xmm16, %xmm17
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vucomiss (%rax), %xmm17
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpckhpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpckhps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpcklpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpcklps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandnw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - knotw %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - korw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxnorw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxorw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftlw $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftrw $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kunpckbw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - valignd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - valignq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x4 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x4 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x4 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x4 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x4 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x4 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x4 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x4 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x4 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x4 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x4 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x4 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqsd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqsd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqss (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqss (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vcomiss %xmm16, %xmm17
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcomiss (%rax), %xmm17
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtdq2pd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtdq2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtdq2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtdq2ps %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtdq2ps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtdq2ps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2dq %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2dq %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2dq %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2udq %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2udq %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2udq %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2dq %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2dq %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2dq %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2udq %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2udq %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2udq %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2ps %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2dq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2dq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2dq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2dq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtps2pd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtps2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtps2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtss2usi (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2udq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2udq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2udq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2udq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2udq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2udq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttss2usi (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtudq2pd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2pd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtudq2pd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtudq2pd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtudq2ps %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2ps (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2ps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtudq2ps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2ps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2ps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtusi2ssq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - - - - - vdivpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - - - - - vdivpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - - - - - vdivpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - {evex} vextractps $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - {evex} vextractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.00 4.00 4.50 3.50 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.50 9.50 9.50 9.50 vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 2.50 6.17 6.67 6.67 9.00 9.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - 17.50 17.50 17.50 17.50 vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.00 4.50 5.00 3.50 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.75 9.75 9.75 9.75 vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.25 3.92 3.92 2.92 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.75 9.75 9.75 9.75 vgatherqps (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa32 %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa64 %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu32 %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu32 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu64 %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu64 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovntdqa (%rax), %zmm0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovshdup %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovshdup %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovshdup %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovsldup %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovsldup %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovsldup %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsd (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtq %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtq %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqq %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequq %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequq %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.00 4.00 4.50 3.50 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.50 9.50 9.50 9.50 vpgatherdq (%rax,%ymm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 2.50 6.17 6.67 6.67 9.00 9.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - 17.50 17.50 17.50 17.50 vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.00 4.50 5.00 3.50 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.75 9.75 9.75 9.75 vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.25 3.92 3.92 2.92 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.75 9.75 9.75 9.75 vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqb %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqb %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqd %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqd %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqw %zmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqw %zmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermilpd $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermilpd $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermilpd $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermilps $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermilps $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermilps $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 1.00 5.00 6.00 6.00 17.00 17.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 25.75 25.75 25.75 25.75 vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.17 3.17 1.67 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.00 11.00 11.00 11.00 vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.00 3.50 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.50 11.50 11.50 11.50 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.33 3.83 1.83 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 14.00 14.00 14.00 14.00 vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhdq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhdq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhqdq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckldq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckldq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 1.00 5.00 6.00 6.00 17.00 17.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 25.75 25.75 25.75 25.75 vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.17 3.17 1.67 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.00 11.00 11.00 11.00 vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.00 3.50 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.50 11.50 11.50 11.50 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.33 3.83 1.83 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 14.00 14.00 14.00 14.00 vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi32x4 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi64x2 $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 18.00 - - - - - - - - - - - - - - - - - vsqrtpd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 18.00 - - - - - - - - - - - - - - - - - vsqrtpd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 18.00 - - - - - - - - - - - - - - - - - vsqrtpd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 18.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - - - - - vsqrtps %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - - - - - vsqrtps %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - - - - - - - - - - - - - - - - vsqrtps %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 10.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtsd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtsd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtsd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtsd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtss (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtss (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtss %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtss (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestmd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestmd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestmq %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestmq %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestnmd %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax){1to16}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestnmd %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax){1to16}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestnmq %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax){1to8}, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestnmq %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax){1to8}, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vucomiss %xmm16, %xmm17
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vucomiss (%rax), %xmm17
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpckhpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpckhpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpckhps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpckhps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpcklpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpcklpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpcklps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vunpcklps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalg.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalg.s
index 83207fc5785eb..7832813a429ed 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalg.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalg.s
@@ -70,26 +70,30 @@ vpshufbitqmb (%rdi), %zmm17, %k2 {%k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 10.00 6.00 6.00 10.00 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 10.00 6.00 6.00 10.00 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntb %zmm1, %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntb %zmm1, %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntb %zmm1, %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntw %zmm1, %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntw %zmm1, %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntw %zmm1, %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshufbitqmb %zmm16, %zmm17, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufbitqmb (%rdi), %zmm17, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshufbitqmb %zmm16, %zmm17, %k2 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufbitqmb (%rdi), %zmm17, %k2 {%k1}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntb %zmm1, %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntb %zmm1, %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntb %zmm1, %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntw %zmm1, %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntw %zmm1, %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntw %zmm1, %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshufbitqmb %zmm16, %zmm17, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufbitqmb (%rdi), %zmm17, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshufbitqmb %zmm16, %zmm17, %k2 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufbitqmb (%rdi), %zmm17, %k2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalgvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalgvl.s
index 7242374e58901..4adca4c8f265c 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalgvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bitalgvl.s
@@ -105,42 +105,46 @@ vpshufbitqmb (%rdi), %ymm17, %k2 {%k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 15.50 12.50 4.50 7.50 8.00 8.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 15.50 12.50 4.50 7.50 8.00 8.00 - 5.33 5.33 5.33 5.33 5.33 5.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntb %xmm1, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %xmm0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntb %xmm1, %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntb %xmm1, %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntb %ymm1, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntb %ymm1, %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntb %ymm1, %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntb (%rdi), %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntw %xmm1, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %xmm0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntw %xmm1, %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntw %xmm1, %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntw %ymm1, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntw %ymm1, %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntw %ymm1, %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntw (%rdi), %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufbitqmb %xmm16, %xmm17, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufbitqmb (%rdi), %xmm17, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufbitqmb %xmm16, %xmm17, %k2 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufbitqmb (%rdi), %xmm17, %k2 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshufbitqmb %ymm16, %ymm17, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufbitqmb (%rdi), %ymm17, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshufbitqmb %ymm16, %ymm17, %k2 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufbitqmb (%rdi), %ymm17, %k2 {%k1}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntb %xmm1, %xmm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntb %xmm1, %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntb %xmm1, %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntb %ymm1, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntb %ymm1, %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntb %ymm1, %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntb (%rdi), %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntw %xmm1, %xmm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntw %xmm1, %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntw %xmm1, %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntw %ymm1, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntw %ymm1, %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntw %ymm1, %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntw (%rdi), %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufbitqmb %xmm16, %xmm17, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufbitqmb (%rdi), %xmm17, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufbitqmb %xmm16, %xmm17, %k2 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufbitqmb (%rdi), %xmm17, %k2 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshufbitqmb %ymm16, %ymm17, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufbitqmb (%rdi), %ymm17, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshufbitqmb %ymm16, %ymm17, %k2 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufbitqmb (%rdi), %ymm17, %k2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
index a18c074ff3075..b923665309d9b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
@@ -1142,513 +1142,517 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 0.67 0.67 0.67 2.00 2.00 2.00 2.00 - 178.50 304.00 269.50 162.00 123.00 123.00 6.00 77.33 77.33 77.33 75.33 75.33 75.33 3.00 3.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 0.67 0.67 0.67 2.00 2.00 2.00 2.00 - 178.50 304.00 269.50 162.00 123.00 123.00 6.00 77.33 77.33 77.33 75.33 75.33 75.33 3.00 3.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kaddd %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kaddq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandd %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandnd %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandnq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kmovd %k0, %k2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - kmovd (%rax), %k2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - kmovd %k0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - kmovd %eax, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kmovd %k0, %eax
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kmovq %k0, %k2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - kmovq (%rax), %k2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - kmovq %k0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - kmovq %rax, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kmovq %k0, %rax
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - knotd %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - knotq %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kord %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - korq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kortestd %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kortestq %k0, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftld $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftlq $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftrd $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftrq $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - ktestd %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - ktestq %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kunpckdq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kunpckwd %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxnord %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxnorq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxord %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxorq %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu8 %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu8 %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu16 %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu16 %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsb %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsb %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsb %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsw %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsw %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpabsw %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackssdw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackssdw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackssdw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpacksswb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpacksswb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpacksswb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackusdw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackusdw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackusdw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackuswb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackuswb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpackuswb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddsb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddsb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddsb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddsw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddsw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddsw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddusb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddusb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddusb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddusw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddusw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddusw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpalignr $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpavgb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpavgb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpavgb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpavgw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpavgw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpavgw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpblendmb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpblendmb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpblendmb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpblendmw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpblendmw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpblendmw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %eax, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %eax, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %eax, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %eax, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %eax, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %eax, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtb %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtb %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtw %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpgtw %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequb %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequb (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequb %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequb (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequw %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequw (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpequw %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequw (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrb $0, %xmm16, %eax
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrb $0, %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrw $0, %xmm16, %eax
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrw $0, %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrb $0, %eax, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrb $0, (%rax), %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrw $0, %eax, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrw $0, (%rax), %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmaddubsw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmaddubsw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmaddubsw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmaddwd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmaddwd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmaddwd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxsb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxsb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxsb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxsw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxsw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxsw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxub %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxub %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxub %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxuw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxuw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmaxuw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminsb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminsb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminsb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminsw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminsw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminsw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminub %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminub %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminub %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminuw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminuw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpminuw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovb2m %zmm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovw2m %zmm0, %k0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %zmm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %zmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhuw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhuw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhuw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmullw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmullw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmullw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - vpsadbw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsadbw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufhw $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufhw $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshuflw $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshuflw $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpslldq $1, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpslldq $1, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsllvw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsllvw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsllvw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsravw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsravw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsravw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrldq $1, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrldq $1, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsrlvw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsrlvw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpsrlvw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubsb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubsb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubsb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubsw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubsw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubsw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubusb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubusb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubusb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubusw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubusw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubusw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestmb %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmb (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestmb %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmb (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestmw %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmw (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestmw %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmw (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestnmb %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmb (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestnmb %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmb (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vptestnmw %zmm0, %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmw (%rax), %zmm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - vptestnmw %zmm0, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmw (%rax), %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhbw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhwd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklbw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklwd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kaddd %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kaddq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandd %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandnd %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandnq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kmovd %k0, %k2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - kmovd (%rax), %k2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - kmovd %k0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - kmovd %eax, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kmovd %k0, %eax
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kmovq %k0, %k2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - kmovq (%rax), %k2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - kmovq %k0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - kmovq %rax, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kmovq %k0, %rax
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - knotd %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - knotq %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kord %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - korq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kortestd %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kortestq %k0, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftld $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftlq $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftrd $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftrq $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - ktestd %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - ktestq %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kunpckdq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kunpckwd %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxnord %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxnorq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxord %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxorq %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - vdbpsadbw $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu8 %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu8 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu16 %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu16 %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsb %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsw %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpabsw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackssdw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackssdw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackssdw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpacksswb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpacksswb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpacksswb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackusdw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackusdw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackusdw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackuswb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackuswb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpackuswb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddsb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddsb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddsb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddusb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddusb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddusb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddusw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddusw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddusw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpalignr $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpavgb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpavgb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpavgb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpavgw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpavgw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpavgw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpblendmb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpblendmb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpblendmb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpblendmw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpblendmw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpblendmw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %eax, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %eax, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %eax, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %eax, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %eax, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %eax, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtb %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtb %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtw %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpgtw %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequb %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequb (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequb %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequb (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequw %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequw (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpequw %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpcmpeqw %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrb $0, %xmm16, %eax
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrb $0, %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrw $0, %xmm16, %eax
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrw $0, %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrb $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrb $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrw $0, %eax, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrw $0, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmaddubsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmaddubsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmaddubsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmaddwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmaddwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmaddwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxsb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxsb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxsb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxub %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxub %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxub %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxuw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxuw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmaxuw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminsb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminsb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminsb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminub %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminub %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminub %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminuw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminuw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpminuw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovb2m %zmm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovw2m %zmm0, %k0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %zmm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %zmm0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovswb %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovswb %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovuswb %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovuswb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovwb %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovwb %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovwb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhuw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhuw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhuw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmulhw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmullw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmullw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmullw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - vpsadbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsadbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufhw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufhw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshuflw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshuflw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsllvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsllvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsllvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsravw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsravw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsravw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrldq $1, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsrlvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsrlvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpsrlvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubsb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubsb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubsb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubsw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubsw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubsw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubusb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubusb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubusb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubusw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubusw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubusw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestmb %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmb (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestmb %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmb (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestmw %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmw (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestmw %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestnmb %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmb (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestnmb %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmb (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vptestnmw %zmm0, %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmw (%rax), %zmm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - - vptestnmw %zmm0, %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmw (%rax), %zmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
index 79f2cb4b7ab82..699d2187e032a 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
@@ -2045,932 +2045,936 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 233.00 396.50 285.50 140.00 226.00 226.00 8.00 150.67 150.67 150.67 148.00 148.00 148.00 4.00 4.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 233.00 396.50 285.50 140.00 226.00 226.00 8.00 150.67 150.67 150.67 148.00 148.00 148.00 4.00 4.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu8 %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu8 %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu8 %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu8 %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu8 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu16 %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu16 %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu16 %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu16 %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu16 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpabsb %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpabsb %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpabsb %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsb (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpabsw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpabsw %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpabsw %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpabsw %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpabsw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackssdw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackssdw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpacksswb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpacksswb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackusdw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackusdw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpackuswb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpackuswb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddsb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddsb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddsb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddsw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddsw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddsw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddsw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddsw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddusb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddusb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddusb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpaddusw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddusw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddusw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddusw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddusw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpavgb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpavgb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpavgb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpavgw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpavgw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpavgw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpavgw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpavgw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpblendmw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpblendmw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %eax, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %eax, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastb %eax, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %eax, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %eax, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastb (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastb %eax, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %eax, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %eax, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastw %eax, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %eax, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %eax, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastw %eax, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqb (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtb %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtb %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtb %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtb %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtb (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtw %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtw %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtw %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtw %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtw (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequb %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequb (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequb %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequb (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequb %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequb (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequb %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequb (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequw %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequw (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequw %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequw (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequw %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequw (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequw %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequw (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqw (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2w %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2w (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2w %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2w (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddubsw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddubsw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmaddwd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaddwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxsw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxsw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxub %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxub (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmaxuw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmaxuw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminsw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminsw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminub %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminub (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovb2m %xmm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovw2m %xmm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovb2m %ymm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovw2m %ymm0, %k0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %ymm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhuw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhuw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsadbw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsadbw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpsadbw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsadbw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshufb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufhw $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufhw $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshuflw $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpslldq $1, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpslldq $1, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpslldq $1, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpslldq $1, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsllvw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllvw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsllw $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsllw %xmm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsllw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsravw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsravw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsraw $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsraw %xmm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsraw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrldq $1, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrldq $1, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrldq $1, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrldq $1, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpsrlvw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlvw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vpsrlw $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsrlw %xmm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsrlw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubsb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubsb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubsb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubsw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubsw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubsw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubsw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubsw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubusb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubusb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubusb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpsubusw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubusw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubusw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubusw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubusw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestmb %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmb (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestmb %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmb (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmb %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmb (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmb %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmb (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestmw %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmw (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestmw %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmw (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmw %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmw (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmw %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmw (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestnmb %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmb (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestnmb %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmb (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmb %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmb (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmb %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmb (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestnmw %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmw (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestnmw %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmw (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmw %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmw (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmw %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmw (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhbw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklbw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vdbpsadbw $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vdbpsadbw $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu8 %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu8 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu8 %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu8 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu8 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu8 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu16 %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu16 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu16 %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu16 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu16 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu16 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpabsb %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpabsb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpabsb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsb (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpabsw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpabsw %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpabsw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpabsw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpabsw (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackssdw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackssdw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpacksswb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpacksswb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackusdw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackusdw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpackuswb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpackuswb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddsb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddsb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddsb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddusb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddusb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddusb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpaddusw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddusw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddusw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddusw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddusw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpavgb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpavgb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpavgb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpavgw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpavgw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpavgw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpavgw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpavgw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpblendmw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpblendmw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %eax, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %eax, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastb %eax, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %eax, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %eax, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastb (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastb %eax, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %eax, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %eax, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastw %eax, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %eax, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %eax, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastw (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastw %eax, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqb %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqb (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtb %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtb %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtb %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtb %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtb (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtw %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtw %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtw %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtw %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtw (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequb %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequb (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequb %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequb (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequb %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequb (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequb %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequb (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequw %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequw (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequw %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequw (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequw %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequw (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequw %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequw (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqw %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqw (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2w %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2w (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2w %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2w (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddubsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddubsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmaddwd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaddwd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxub %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxub (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmaxuw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmaxuw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminub %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminub (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpminuw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpminuw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovb2m %xmm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovw2m %xmm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovb2m %ymm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovw2m %ymm0, %k0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %ymm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbw (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovswb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovswb %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovswb %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovswb %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovuswb %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovuswb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovuswb %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovuswb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovwb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovwb %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovwb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovwb %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovwb %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovwb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbw (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhrsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhrsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhuw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhuw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulhw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulhw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsadbw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsadbw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpsadbw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsadbw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshufb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufhw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufhw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsllvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsllw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsllw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsllw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsravw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsravw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsraw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsraw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsraw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrldq $1, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpsrlvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vpsrlw $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsrlw %xmm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsrlw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubsb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubsb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubsb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubsw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubsw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubsw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubsw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubsw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubusb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubusb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubusb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpsubusw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubusw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubusw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubusw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubusw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestmb %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmb (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestmb %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmb (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmb %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmb (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmb %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmb (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestmw %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmw (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestmw %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmw (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmw %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmw (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmw %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmw (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestnmb %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmb (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestnmb %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmb (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmb %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmb (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmb %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmb (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestnmw %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmw (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestnmw %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmw (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmw %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmw (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmw %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmw (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhbw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhbw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhwd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhwd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklbw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklbw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cd.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cd.s
index 96590638b5b37..69f004dec4654 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cd.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cd.s
@@ -117,48 +117,52 @@ vplzcntq (%rax){1to8}, %zmm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 30.00 25.00 19.00 24.00 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 30.00 25.00 19.00 24.00 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastmb2q %k0, %zmm16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastmw2d %k0, %zmm16
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastmb2q %k0, %zmm16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastmw2d %k0, %zmm16
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to8}, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cdvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cdvl.s
index 800716d23492a..ad5a4659891c3 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cdvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512cdvl.s
@@ -197,86 +197,90 @@ vplzcntq (%rax){1to4}, %ymm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 42.00 38.00 20.00 24.00 24.00 24.00 - 16.00 16.00 16.00 16.00 16.00 16.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 42.00 38.00 20.00 24.00 24.00 24.00 - 16.00 16.00 16.00 16.00 16.00 16.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastmb2q %k0, %xmm16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastmb2q %k0, %ymm16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastmw2d %k0, %xmm16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastmw2d %k0, %ymm16
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpconflictd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpconflictd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpconflictd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictd %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictd %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictd (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpconflictq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpconflictq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpconflictq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - vpconflictq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpconflictq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntd %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntd (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vplzcntq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vplzcntq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastmb2q %k0, %xmm16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastmb2q %k0, %ymm16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastmw2d %k0, %xmm16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastmw2d %k0, %ymm16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpconflictd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpconflictd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpconflictd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictd (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpconflictq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpconflictq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpconflictq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 2.00 2.00 1.00 - - - - - - - - - - - - - - - vpconflictq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpconflictq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntd (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vplzcntq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vplzcntq (%rax){1to4}, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s
index 4740080ab2aa7..8c5bb8c617b88 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s
@@ -880,398 +880,402 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 0.33 0.33 0.33 2.00 2.00 2.00 2.00 - 86.00 135.00 313.50 312.50 113.50 113.50 10.00 71.33 71.33 71.33 68.00 68.00 68.00 5.00 5.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 0.33 0.33 0.33 2.00 2.00 2.00 2.00 - 86.00 135.00 313.50 312.50 113.50 113.50 10.00 71.33 71.33 71.33 68.00 68.00 68.00 5.00 5.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kaddb %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kaddw %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandb %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kandnb %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kmovb %k0, %k2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - kmovb (%rax), %k2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - kmovb %k0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - kmovb %eax, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kmovb %k0, %eax
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - knotb %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - korb %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kortestb %k0, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftlb $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - kshiftrb $2, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - ktestb %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - ktestw %k0, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxnorb %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - kxorb %k0, %k1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandnpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandnpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandnps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandnps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandnps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vandps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x2 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x2 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x2 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x8 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x8 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x8 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x2 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x2 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x2 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x8 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x8 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x8 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x2 (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x2 (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2qq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2qq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2uqq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2uqq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2qq %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2qq %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2qq %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2uqq %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2uqq %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtqq2pd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtqq2pd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtqq2pd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtqq2ps %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtqq2ps %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2qq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2qq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2uqq %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2uqq %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2qq %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2qq %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2qq %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2uqq %ymm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2uqq %ymm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtuqq2pd %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtuqq2pd %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtuqq2ps %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf32x8 $1, %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf32x8 $1, %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf32x8 $1, %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf64x2 $1, %zmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf64x2 $1, %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf64x2 $1, %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti32x8 $1, %zmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti32x8 $1, %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti32x8 $1, %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdz $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to8}, %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdz $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to8}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsz $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to16}, %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsz $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to16}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasssd $171, %xmm16, %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasssd $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasssd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasssd $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassss $171, %xmm16, %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassss $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassss $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassss $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti32x8 $1, (%rax), %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti64x2 $1, (%rax), %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrd $1, %xmm16, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrd $1, %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpextrq $1, %xmm16, %rcx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vpextrq $1, %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrd $1, %ecx, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrd $1, (%rax), %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vpinsrq $1, %rcx, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpinsrq $1, (%rax), %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2q %k0, %zmm0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovd2m %zmm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovq2m %zmm0, %k0
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangesd $ab, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangess $ab, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to8}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, {sae}, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to16}, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, {sae}, %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducesd $ab, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducess $ab, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vxorpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vxorpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vxorps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vxorps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kaddb %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kaddw %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandb %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kandnb %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kmovb %k0, %k2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - kmovb (%rax), %k2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - kmovb %k0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - kmovb %eax, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kmovb %k0, %eax
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - knotb %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - korb %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kortestb %k0, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftlb $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - kshiftrb $2, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - ktestb %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - ktestw %k0, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxnorb %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - kxorb %k0, %k1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandnpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandnpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandnps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandnps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandnps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vandps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x2 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x2 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x8 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x2 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x2 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x8 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x8 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x8 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x2 (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x2 (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x2 (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtqq2pd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2qq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2qq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2qq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2uqq %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2uqq %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvttpd2uqq %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2qq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2qq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2qq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2uqq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2uqq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttps2uqq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtuqq2pd %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtuqq2pd %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - vcvtuqq2pd %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtuqq2ps %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtuqq2ps %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti32x8 $1, %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti32x8 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti32x8 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti64x2 $1, %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti64x2 $1, %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspdz $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspd $171, (%rax){1to8}, %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspdz $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspd $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspsz $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassps $171, (%rax){1to16}, %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspsz $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassps $171, (%rax){1to16}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclasssd $171, %xmm16, %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasssd $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclasssd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasssd $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclassss $171, %xmm16, %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassss $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfpclassss $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassss $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti32x8 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti32x8 $1, %ymm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti32x8 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti64x2 $1, (%rax), %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti64x2 $1, (%rax), %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrd $1, %xmm16, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrd $1, %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpextrq $1, %xmm16, %rcx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vpextrq $1, %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrd $1, %ecx, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrd $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpinsrq $1, %rcx, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpinsrq $1, (%rax), %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovd2m %zmm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovq2m %zmm0, %k0
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to8}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to16}, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, {sae}, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, {sae}, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducesd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducesd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducesd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducesd $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducess $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducess $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducess $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducess $ab, {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vxorpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vxorpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vxorps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vxorps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s
index 2183462453a0d..bb2d368531887 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s
@@ -1146,532 +1146,536 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 66.00 96.00 240.00 240.00 167.50 167.50 4.00 111.67 111.67 111.67 110.33 110.33 110.33 2.00 2.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 66.00 96.00 240.00 240.00 167.50 167.50 4.00 111.67 111.67 111.67 110.33 110.33 110.33 2.00 2.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vandps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vandps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x2 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x2 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x2 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x2 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x2 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf64x2 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x2 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x2 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x2 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2qq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2qq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2uqq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2uqq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2qq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2qq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2qq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2qq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2qq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2qq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2uqq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2uqq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2uqq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2uqq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2pd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2ps %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2psx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2ps %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2psx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2ps %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2psx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2ps %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2psx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2qq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2qq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2uqq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2uqq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2qq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2qq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2qq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2qq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2qq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2qq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2uqq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2uqq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2uqq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2uqq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2pd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtuqq2pd %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2ps %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2psx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2psx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2ps %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2psx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2psx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf64x2 $1, %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf64x2 $1, %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextractf64x2 $1, %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti64x2 $1, %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti64x2 $1, %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %xmm16, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdx $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to2}, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdy $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %xmm16, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsx $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to4}, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %xmm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsx $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to4}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsy $171, (%rax), %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to8}, %k1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsy $171, (%rax), %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to8}, %k1 {%k2}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti64x2 $1, (%rax), %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2d %k0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2q %k0, %ymm0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovd2m %xmm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovq2m %xmm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovd2m %ymm0, %k0
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovq2m %ymm0, %k0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vreducepd $ab, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vreduceps $ab, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandnps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandnps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vandps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vandps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x2 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x2 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastf32x2 %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x2 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x2 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcasti32x2 %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x2 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x2 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti64x2 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2qq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2qq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2uqq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2uqq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2qq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2qq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2qq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2qq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2qq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2qq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2qq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2uqq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2uqq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2uqq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2uqq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2uqq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2uqq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2uqq (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtuqq2pd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtuqq2pd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2ps %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2psx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtuqq2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextractf64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti64x2 $1, %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti64x2 $1, %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vextracti64x2 $1, %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclasspd $171, %xmm16, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspdx $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspd $171, (%rax){1to2}, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclasspd $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspdx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspdy $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspd $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspdy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclassps $171, %xmm16, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspsx $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassps $171, (%rax){1to4}, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclassps $171, %xmm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspsx $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassps $171, (%rax){1to4}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspsy $171, (%rax), %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassps $171, (%rax){1to8}, %k1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclasspsy $171, (%rax), %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfpclassps $171, (%rax){1to8}, %k1 {%k2}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti64x2 $1, (%rax), %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vinserti64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vinserti64x2 $1, (%rax), %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2d %k0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2q %k0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovd2m %xmm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovq2m %xmm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovd2m %ymm0, %k0
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - vpmovq2m %ymm0, %k0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vorps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmullq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmullq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangepd $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangepd $ab, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vrangeps $ab, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vrangeps $ab, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreducepd $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vreducepd $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vreducepd $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreducepd $ab, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - vreduceps $ab, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vreduceps $ab, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vreduceps $ab, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vreduceps $ab, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfni.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfni.s
index 501713d373cb8..4a1873a938a68 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfni.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfni.s
@@ -86,34 +86,38 @@ vgf2p8mulb (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 21.00 3.00 3.00 21.00 7.50 7.50 - 5.00 5.00 5.00 5.00 5.00 5.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 21.00 3.00 3.00 21.00 7.50 7.50 - 5.00 5.00 5.00 5.00 5.00 5.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vgf2p8affineinvqb $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vgf2p8affineinvqb $0, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vgf2p8affineinvqb $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vgf2p8affineqb $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vgf2p8affineqb $0, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vgf2p8affineqb $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vgf2p8mulb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vgf2p8mulb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vgf2p8mulb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vgf2p8mulb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vgf2p8mulb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vgf2p8mulb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfnivl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfnivl.s
index 47dc617796034..eed9b8dc8749c 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfnivl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512gfnivl.s
@@ -137,58 +137,62 @@ vgf2p8mulb (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 21.00 3.00 3.00 21.00 15.00 15.00 - 10.00 10.00 10.00 10.00 10.00 10.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 21.00 3.00 3.00 21.00 15.00 15.00 - 10.00 10.00 10.00 10.00 10.00 10.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifma.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifma.s
index a71589edf84e6..0c4b44dced985 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifma.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifma.s
@@ -73,28 +73,32 @@ vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 24.00 12.00 - 12.00 6.00 6.00 - 4.00 4.00 4.00 4.00 4.00 4.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 24.00 12.00 - 12.00 6.00 6.00 - 4.00 4.00 4.00 4.00 4.00 4.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifmavl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifmavl.s
index 9b7393d74ba0e..d11167ebc3337 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifmavl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512ifmavl.s
@@ -111,46 +111,50 @@ vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 36.00 24.00 - 12.00 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 36.00 24.00 - 12.00 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52huq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52huq (%rdi){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpmadd52luq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmadd52luq (%rdi){1to4}, %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaes.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaes.s
index 462233c88190c..a8b76c3c5122a 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaes.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaes.s
@@ -55,18 +55,22 @@ vaesenclast (%rax), %zmm17, %zmm19
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdec %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdec (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdeclast %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdeclast (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenc %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenc (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenclast %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenclast (%rax), %zmm17, %zmm19
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdec %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdec (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdeclast %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdeclast (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenc %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenc (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenclast %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenclast (%rax), %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaesvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaesvl.s
index 59fceb8ee0894..41211418e4137 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaesvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vaesvl.s
@@ -75,26 +75,30 @@ vaesenclast (%rax), %ymm17, %ymm19
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 8.00 8.00 - - 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 8.00 8.00 - - 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdec %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdec (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdec %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdec (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdeclast %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdeclast (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdeclast %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdeclast (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenc %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenc (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenc %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenc (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenclast %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenclast (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenclast %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenclast (%rax), %ymm17, %ymm19
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdec %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdec (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdec %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdec (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdeclast %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdeclast (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdeclast %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdeclast (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenc %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenc (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenc %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenc (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenclast %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenclast (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenclast %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenclast (%rax), %ymm17, %ymm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi.s
index 845faf8e2f942..1e033690c3167 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi.s
@@ -93,37 +93,41 @@ vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 4.50 18.00 18.00 4.50 7.50 7.50 - 5.00 5.00 5.00 5.00 5.00 5.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 4.50 18.00 18.00 4.50 7.50 7.50 - 5.00 5.00 5.00 5.00 5.00 5.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmultishiftqb %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmultishiftqb %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpmultishiftqb %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmultishiftqb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmultishiftqb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpmultishiftqb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2.s
index 88e140d54b7a2..5c32679c28a83 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2.s
@@ -283,126 +283,130 @@ vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 96.00 46.00 16.00 66.00 34.00 34.00 - 22.67 22.67 22.67 22.67 22.67 22.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 96.00 46.00 16.00 66.00 34.00 34.00 - 22.67 22.67 22.67 22.67 22.67 22.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressw %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressw %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandb %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandb (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandb %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandb (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandb %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandw %zmm16, %zmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandw %zmm16, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandw %zmm16, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshldvd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshldvq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshldvw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshrdvd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshrdvq %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpshrdvw %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressb %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressw %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressw %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandb %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandb (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandw %zmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandw (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshldvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshldvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshldvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshrdvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshrdvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - vpshrdvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2vl.s
index 325835a62f748..1d05827316f51 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2vl.s
@@ -531,242 +531,246 @@ vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 126.00 89.00 29.00 66.00 68.00 68.00 - 45.33 45.33 45.33 45.33 45.33 45.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 126.00 89.00 29.00 66.00 68.00 68.00 - 45.33 45.33 45.33 45.33 45.33 45.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressb %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressw %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressw %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressw %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcompressw %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpcompressw %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpexpandb %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandb (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpexpandb %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandb (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpexpandb %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandb %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandb (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandb %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandb (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandb %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpexpandw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpexpandw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpexpandw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandw %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandw %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpexpandw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpexpandw %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldvw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshldw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdvw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressb %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressb %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressw %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressw %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressw %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcompressw %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpcompressw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpexpandb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandb (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpexpandb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpexpandb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandb %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandb (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpexpandw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandw (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpexpandw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpexpandw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandw %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandw (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpexpandw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpexpandw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshldw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmivl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmivl.s
index 887f2f2157865..d1e8b97bab340 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmivl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmivl.s
@@ -151,64 +151,68 @@ vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 4.50 31.50 31.50 4.50 15.00 15.00 - 10.00 10.00 10.00 10.00 10.00 10.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 4.50 31.50 31.50 4.50 15.00 15.00 - 10.00 10.00 10.00 10.00 10.00 10.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermi2b %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermi2b (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermt2b %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermt2b (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmultishiftqb %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmultishiftqb %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmultishiftqb %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmultishiftqb %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmultishiftqb %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpmultishiftqb %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermi2b %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermi2b (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermt2b %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermt2b (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmultishiftqb %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmultishiftqb %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmultishiftqb %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmultishiftqb %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmultishiftqb %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpmultishiftqb %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmultishiftqb (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
index 68623e7e27ecc..cf70e38cd1f3f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
@@ -3611,1684 +3611,1688 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 40.00 40.00 40.00 - - - - - 393.50 1269.50 823.00 447.00 569.50 569.50 92.00 379.67 379.67 379.67 349.00 349.00 349.00 46.00 46.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 40.00 40.00 40.00 - - - - - 219.50 1120.17 675.67 297.67 631.50 631.50 92.00 379.67 379.67 379.67 349.00 349.00 349.00 46.00 46.00 185.50 185.50 185.50 185.50
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignd $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - valignd $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignq $1, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - valignq $1, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x4 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x4 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastf32x4 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x4 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x4 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcasti32x4 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastsd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastsd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtdq2pd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqy (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqy (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqy (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2dq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dqx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2dq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2ps %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psy (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2ps %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psy (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2ps %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psy (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtpd2ps %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtpd2ps %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtpd2ps %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2psx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2ps (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2udq %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udqy (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2udq %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udqy (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2udq %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udqy (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2udq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udqx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2udq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udqx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtpd2udq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udqx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtpd2udq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2dq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2pd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2pd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2pd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2pd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2pd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2pd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2udq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2udq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2udq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2udq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2udq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtps2udq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqy (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqy (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqy (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2dq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dqx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2dq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2dq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2udq %ymm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udqy (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2udq %ymm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udqy (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2udq %ymm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udqy (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2udq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udqx (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2udq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udqx (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvttpd2udq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udqx (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttpd2udq (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2udq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2udq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2udq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2udq %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2udq %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvttps2udq %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vdivpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.25 9.25 9.25 9.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherqps (%rax,%ymm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherdpd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vgatherdps (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vgatherqps (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa32 %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa32 %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa32 %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa32 %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa32 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa64 %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa64 %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa64 %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa64 %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa64 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu32 %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu32 %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu32 %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu32 %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu32 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu64 %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu64 (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vmovddup %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {evex} vmovntdqa (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {evex} vmovntdqa (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovshdup %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovshdup (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovsldup %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovsldup (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpaddq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpbroadcastq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpbroadcastq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpbroadcastq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqd (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtd (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtq %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtq %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtq %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpgtq %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpgtq (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpeqq (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequd (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequq %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequq %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequq %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpcmpequq %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpcmpequq (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilpd $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpermilps $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps $0, (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - vpermilps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermpd $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vpermq $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq $0, (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdq (%rax,%xmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 9.25 9.25 9.25 9.25 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - vpgatherdd (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqq (%rax,%ymm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherqd (%rax,%ymm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherdq (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 5.00 5.00 5.00 5.00 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdb %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovdw %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqb %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqd %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovqw %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %xmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %xmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %ymm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %ymm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 8.25 8.25 8.25 8.25 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 12.25 12.25 12.25 12.25 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.00 6.00 6.00 6.00 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpshufd $0, %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpsubq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestmd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestmd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmd (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestmq %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestmq %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmq %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestmq %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestmq (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestnmd %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax){1to4}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestnmd %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax){1to4}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmd %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax){1to8}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmd %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmd (%rax){1to8}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vptestnmq %xmm0, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax), %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax){1to2}, %xmm1, %k2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vptestnmq %xmm0, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax), %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax){1to2}, %xmm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmq %ymm0, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax), %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax){1to4}, %ymm1, %k2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vptestnmq %ymm0, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax), %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vptestnmq (%rax){1to4}, %ymm1, %k2 {%k3}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 8.25 8.25 8.25 8.25 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 4.00 4.00 4.00 4.00 1.00 1.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 12.25 12.25 12.25 12.25 4.00 4.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.00 6.00 6.00 6.00 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 6.50 6.50 6.50 6.50 2.00 2.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to2}, %xmm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to2}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to2}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to4}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to4}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - vsqrtpd %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtpd (%rax){1to4}, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %xmm16, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to4}, %xmm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to4}, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to4}, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %ymm16, %ymm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to8}, %ymm19
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %ymm16, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax){1to8}, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - vsqrtps %ymm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsqrtps (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vsubps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vaddps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaddps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - valignd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - valignq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - valignq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - valignq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x4 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x4 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastf32x4 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x4 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x4 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcasti32x4 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastsd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastsd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vbroadcastss %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vbroadcastss (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqpd (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtdq2pd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqy (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqy (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqy (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2dq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dqx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2dq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2ps %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psy (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2ps %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psy (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2ps %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psy (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtpd2ps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtpd2ps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtpd2ps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2psx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2ps (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2udq %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udqy (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2udq %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udqy (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2udq %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udqy (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2udq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udqx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2udq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udqx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtpd2udq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udqx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtpd2udq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2dq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2pd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2pd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2pd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2pd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2pd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2pd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2udq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2udq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2udq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2udq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2udq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtps2udq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqy (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqy (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqy (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2dq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dqx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2dq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2dq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2udq %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udqy (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2udq %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udqy (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2udq %ymm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udqy (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2udq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udqx (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2udq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udqx (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvttpd2udq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udqx (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttpd2udq (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2udq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2udq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2udq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2udq %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2udq %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvttps2udq %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vdivpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.25 2.58 2.58 2.58 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.25 9.25 9.25 9.25 vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherqps (%rax,%ymm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 0.50 0.83 0.83 0.83 2.00 2.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vgatherdpd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vgatherdps (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 0.50 0.83 0.83 0.83 2.00 2.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 0.50 1.17 1.17 1.17 2.00 2.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vgatherqps (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovapd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovapd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovaps %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovaps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa32 %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa32 %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa64 %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa64 %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqa64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqa64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqa64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu32 %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu32 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu32 %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu32 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu32 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu32 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu64 %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu64 %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu64 %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovdqu64 %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovdqu64 %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovdqu64 (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vmovddup %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovddup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {evex} vmovntdqa (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {evex} vmovntdqa (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovshdup %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovshdup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vmovsldup %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovsldup (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovupd %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovupd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vmovups %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmovups (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vmulps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vmulps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpaddq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpaddq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpbroadcastq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpbroadcastq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqd (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtd (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtq %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtq %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtq %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpgtq %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpgtq (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpeqq %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpeqq (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequd (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequq %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequq %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequq %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpcmpequq %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpcmpequq (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilpd $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpermilps $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps $0, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - - - vpermilps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermilps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermpd $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd $0, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vpermq $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq $0, (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpermq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherdq (%rax,%xmm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 1.25 2.58 2.58 2.58 5.00 5.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - 9.25 9.25 9.25 9.25 vpgatherdd (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherqq (%rax,%ymm1,2), %ymm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherqd (%rax,%ymm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 0.50 0.83 0.83 0.83 2.00 2.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vpgatherdq (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - 0.75 1.42 1.42 1.42 3.00 3.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 5.00 5.00 5.00 5.00 vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 0.50 0.83 0.83 0.83 2.00 2.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - 0.50 1.17 1.17 1.17 2.00 2.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - 4.00 4.00 4.00 4.00 vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxbq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxdq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusdw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusdw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqb %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqb %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqb %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqb %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqb %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqb %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqd %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqd %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqd %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqd %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqd %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqd %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqw %xmm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqw %xmm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqw %xmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqw %ymm19, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovusqw %ymm19, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovusqw %ymm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxbq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxdq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmovzxwq (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 0.67 1.17 1.17 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 8.25 8.25 8.25 8.25 vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - 0.33 0.33 0.33 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 4.00 4.00 4.00 4.00 vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - 0.33 0.33 0.33 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 4.00 4.00 4.00 4.00 vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - 0.33 0.33 0.33 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 4.00 4.00 4.00 4.00 vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 1.50 3.00 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 12.25 12.25 12.25 12.25 vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 2.33 0.33 0.33 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 6.00 6.00 6.00 6.00 vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 0.67 1.17 1.17 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 6.50 6.50 6.50 6.50 vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 0.83 1.33 0.83 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 6.50 6.50 6.50 6.50 vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $0, %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $0, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $0, %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpshufd $0, %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax){1to8}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpsubq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpsubq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestmd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestmd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmd (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestmq %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestmq %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmq %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestmq %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestmq (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestnmd %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax){1to4}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestnmd %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax){1to4}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmd %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax){1to8}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmd %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmd (%rax){1to8}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vptestnmq %xmm0, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax), %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax){1to2}, %xmm1, %k2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vptestnmq %xmm0, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax), %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax){1to2}, %xmm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmq %ymm0, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax), %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax){1to4}, %ymm1, %k2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vptestnmq %ymm0, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax), %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vptestnmq (%rax){1to4}, %ymm1, %k2 {%k3}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckhdq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckhdq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 0.67 1.17 1.17 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 8.25 8.25 8.25 8.25 vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - 0.33 0.33 0.33 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 4.00 4.00 4.00 4.00 vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - 0.33 0.33 0.33 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 4.00 4.00 4.00 4.00 vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - 0.33 0.33 0.33 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 4.00 4.00 4.00 4.00 vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 1.50 3.00 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 12.25 12.25 12.25 12.25 vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 2.33 0.33 0.33 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 6.00 6.00 6.00 6.00 vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 0.67 1.17 1.17 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 6.50 6.50 6.50 6.50 vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: 1.33 1.33 1.33 - - - - - - 0.83 1.33 0.83 5.00 5.00 4.00 1.33 1.33 1.33 - - - 2.00 2.00 6.50 6.50 6.50 6.50 vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi32x4 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi32x4 $0, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshufi64x2 $0, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshufi64x2 $0, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to2}, %xmm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to2}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to2}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to4}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to4}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - vsqrtpd %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtpd (%rax){1to4}, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to4}, %xmm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to4}, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to4}, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %ymm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to8}, %ymm19
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax){1to8}, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - vsqrtps %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsqrtps (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - 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 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vsubps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vsubps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpckhps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpckhps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklpd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - vunpcklps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vunpcklps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnni.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnni.s
index ecb64c5c4e993..7299c016ee5c9 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnni.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnni.s
@@ -111,46 +111,50 @@ vpdpwssds (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 48.00 24.00 - 24.00 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 48.00 24.00 - 24.00 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnnivl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnnivl.s
index f101bc14dc33f..a77b95f7fd0de 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnnivl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vnnivl.s
@@ -187,82 +187,86 @@ vpdpwssds (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 72.00 48.00 - 24.00 24.00 24.00 - 16.00 16.00 16.00 16.00 16.00 16.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 72.00 48.00 - 24.00 24.00 24.00 - 16.00 16.00 16.00 16.00 16.00 16.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpbusds %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpbusds (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssd %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to4}, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %xmm16, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to4}, %xmm17, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %xmm16, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to8}, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %ymm16, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to8}, %ymm17, %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpdpwssds %ymm16, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpdpwssds (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpbusds %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpbusds (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - vpdpwssds %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpdpwssds (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdq.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdq.s
index d1f2a980ee444..8de9ff29bf88e 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdq.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdq.s
@@ -40,12 +40,16 @@ vpclmulqdq $11, (%rax), %zmm17, %zmm19
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vpclmulqdq $11, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpclmulqdq $11, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vpclmulqdq $11, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpclmulqdq $11, (%rax), %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdqvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdqvl.s
index ea7a28027a782..99a7ef0ad58f1 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdqvl.s
@@ -45,14 +45,18 @@ vpclmulqdq $11, (%rax), %ymm17, %ymm19
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 6.00 6.00 - - 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 6.00 6.00 - - 1.00 1.00 - 0.67 0.67 0.67 0.67 0.67 0.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vpclmulqdq $11, %xmm16, %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpclmulqdq $11, (%rax), %xmm17, %xmm19
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vpclmulqdq $11, %ymm16, %ymm17, %ymm19
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpclmulqdq $11, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vpclmulqdq $11, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpclmulqdq $11, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vpclmulqdq $11, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpclmulqdq $11, (%rax), %ymm17, %ymm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdq.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdq.s
index 43b5165e628e3..5bf9f931a3991 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdq.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdq.s
@@ -77,28 +77,32 @@ vpopcntq (%rdi){1to8}, %zmm0 {%k1} {z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 9.00 9.00 9.00 9.00 6.00 6.00 - 4.00 4.00 4.00 4.00 4.00 4.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 9.00 9.00 9.00 9.00 6.00 6.00 - 4.00 4.00 4.00 4.00 4.00 4.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntd %zmm1, %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to16}, %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntd %zmm1, %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to16}, %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntd %zmm1, %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to16}, %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntq %zmm1, %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to8}, %zmm0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntq %zmm1, %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to8}, %zmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - vpopcntq %zmm1, %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %zmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to8}, %zmm0 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntd %zmm1, %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to16}, %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntd %zmm1, %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to16}, %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntd %zmm1, %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to16}, %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntq %zmm1, %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to8}, %zmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntq %zmm1, %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to8}, %zmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - vpopcntq %zmm1, %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %zmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to8}, %zmm0 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdqvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdqvl.s
index cfb25692d0ad3..1ff346aa3570a 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpopcntdqvl.s
@@ -119,46 +119,50 @@ vpopcntq (%rdi){1to4}, %ymm0 {%k1} {z}
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 13.50 13.50 7.50 7.50 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 13.50 13.50 7.50 7.50 12.00 12.00 - 8.00 8.00 8.00 8.00 8.00 8.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntd %xmm1, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to4}, %xmm0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntd %xmm1, %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to4}, %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntd %xmm1, %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to4}, %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntd %ymm1, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to8}, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntd %ymm1, %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to8}, %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntd %ymm1, %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi), %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntd (%rdi){1to8}, %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntq %xmm1, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to2}, %xmm0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntq %xmm1, %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to2}, %xmm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vpopcntq %xmm1, %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to2}, %xmm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntq %ymm1, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to4}, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntq %ymm1, %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to4}, %ymm0 {%k1}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpopcntq %ymm1, %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi), %ymm0 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpopcntq (%rdi){1to4}, %ymm0 {%k1} {z}
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntd %xmm1, %xmm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %xmm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to4}, %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntd %xmm1, %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to4}, %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntd %xmm1, %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to4}, %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntd %ymm1, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to8}, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntd %ymm1, %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to8}, %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntd %ymm1, %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi), %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntd (%rdi){1to8}, %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntq %xmm1, %xmm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %xmm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to2}, %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntq %xmm1, %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to2}, %xmm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vpopcntq %xmm1, %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to2}, %xmm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntq %ymm1, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to4}, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntq %ymm1, %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to4}, %ymm0 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vpopcntq %ymm1, %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi), %ymm0 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpopcntq (%rdi){1to4}, %ymm0 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxgfni.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxgfni.s
index f1aa550042dad..9632828b24a2c 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxgfni.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxgfni.s
@@ -65,22 +65,26 @@ vgf2p8mulb (%rax), %ymm1, %ymm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 5.00 1.00 1.00 5.00 3.00 3.00 - 2.00 2.00 2.00 2.00 2.00 2.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 5.00 1.00 1.00 5.00 3.00 3.00 - 2.00 2.00 2.00 2.00 2.00 2.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineinvqb $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vgf2p8affineqb $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8affineqb $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vgf2p8mulb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgf2p8mulb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineinvqb $0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineinvqb $0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - vgf2p8affineqb $0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8affineqb $0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - vgf2p8mulb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vgf2p8mulb (%rax), %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxvnni.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxvnni.s
index 8ff3d111fa601..9422c5180e558 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxvnni.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avxvnni.s
@@ -75,26 +75,30 @@
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 20.00 16.00 - 4.00 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 20.00 16.00 - 4.00 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusds %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusds (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusds %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusds (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssds %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssds (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssds %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssds (%rax), %ymm1, %ymm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpbusd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpbusd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpbusd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpbusd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpbusds %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpbusds (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpbusds %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpbusds (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpwssd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpwssd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpwssd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpwssd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpwssds %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpwssds (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - - {vex} vpdpwssds %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - {vex} vpdpwssds (%rax), %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi1.s
index afbd566751c95..cbb1087924eba 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi1.s
@@ -100,36 +100,40 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 4.33 4.33 4.33 4.25 8.75 8.75 4.25 - - - - - - - - 4.33 4.33 4.33 4.33 4.33 4.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 4.33 4.33 4.33 4.25 8.75 8.75 4.25 - - - - - - - - 4.33 4.33 4.33 4.33 4.33 4.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andnl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - andnl (%rax), %ebx, %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andnq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - andnq (%rax), %rbx, %rcx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - bextrl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bextrl %eax, (%rbx), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - bextrq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bextrq %rax, (%rbx), %rcx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - blsil %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - blsil (%rax), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - blsiq %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - blsiq (%rax), %rcx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - blsmskl %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - blsmskl (%rax), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - blsmskq %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - blsmskq (%rax), %rcx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - blsrl %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - blsrl (%rax), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - blsrq %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - blsrq (%rax), %rcx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - tzcntw %ax, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - tzcntw (%rax), %cx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - tzcntl %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - tzcntl (%rax), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - tzcntq %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - tzcntq (%rax), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andnl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andnl (%rax), %ebx, %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andnq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andnq (%rax), %rbx, %rcx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - bextrl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bextrl %eax, (%rbx), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - bextrq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bextrq %rax, (%rbx), %rcx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - blsil %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blsil (%rax), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - blsiq %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blsiq (%rax), %rcx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - blsmskl %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blsmskl (%rax), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - blsmskq %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blsmskq (%rax), %rcx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - blsrl %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blsrl (%rax), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - blsrq %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blsrq (%rax), %rcx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - tzcntw %ax, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - tzcntw (%rax), %cx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - tzcntl %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - tzcntl (%rax), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - tzcntq %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - tzcntq (%rax), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi2.s
index 2e38ed4d8d0d7..aca69d18c59a7 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi2.s
@@ -115,42 +115,46 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 5.33 5.33 5.33 1.00 19.00 11.00 1.00 - - - - - - - - 5.33 5.33 5.33 5.33 5.33 5.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 5.33 5.33 5.33 1.00 19.00 11.00 1.00 - - - - - - - - 5.33 5.33 5.33 5.33 5.33 5.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - bzhil %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bzhil %eax, (%rbx), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - bzhiq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bzhiq %rax, (%rbx), %rcx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulxl (%rax), %ebx, %ecx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulxq (%rax), %rbx, %rcx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - pdepl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - pdepl (%rax), %ebx, %ecx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - pdepq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - pdepq (%rax), %rbx, %rcx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - pextl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - pextl (%rax), %ebx, %ecx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - pextq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - pextq (%rax), %rbx, %rcx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorxl $1, %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rorxl $1, (%rax), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorxq $1, %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rorxq $1, (%rax), %rcx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarxl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sarxl %eax, (%rbx), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarxq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sarxq %rax, (%rbx), %rcx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlxl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shlxl %eax, (%rbx), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlxq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shlxq %rax, (%rbx), %rcx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrxl %eax, %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrxl %eax, (%rbx), %ecx
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrxq %rax, %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrxq %rax, (%rbx), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - bzhil %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bzhil %eax, (%rbx), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - bzhiq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bzhiq %rax, (%rbx), %rcx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - mulxl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulxl (%rax), %ebx, %ecx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - mulxq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulxq (%rax), %rbx, %rcx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - pdepl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pdepl (%rax), %ebx, %ecx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - pdepq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pdepq (%rax), %rbx, %rcx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - pextl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pextl (%rax), %ebx, %ecx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - pextq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pextq (%rax), %rbx, %rcx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorxl $1, %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rorxl $1, (%rax), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorxq $1, %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rorxq $1, (%rax), %rcx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarxl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sarxl %eax, (%rbx), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarxq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sarxq %rax, (%rbx), %rcx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlxl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shlxl %eax, (%rbx), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlxq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shlxq %rax, (%rbx), %rcx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrxl %eax, %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrxl %eax, (%rbx), %ecx
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrxq %rax, %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrxq %rax, (%rbx), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-clflushopt.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-clflushopt.s
index a78a70a6ae149..cc8f97db99604 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-clflushopt.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-clflushopt.s
@@ -38,11 +38,15 @@ clflushopt (%rax)
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - clflushopt (%rax)
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - clflushopt (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-clwb.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-clwb.s
index 97c05c138b898..53f42bd47e03c 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-clwb.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-clwb.s
@@ -38,11 +38,15 @@ clwb (%rax)
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - clwb (%rax)
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - clwb (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmov.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmov.s
index ad74d00579111..21490a362ee92 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmov.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmov.s
@@ -233,106 +233,110 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 16.00 16.00 16.00 48.00 - - 48.00 - - - - - - - - 16.00 16.00 16.00 16.00 16.00 16.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 16.00 16.00 16.00 48.00 - - 48.00 - - - - - - - - 16.00 16.00 16.00 16.00 16.00 16.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovow %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnow %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovbw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovaew %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovew %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnew %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovbew %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovaw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovsw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnsw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovpw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnpw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovlw %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovgew %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovlew %si, %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovgw %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovow (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnow (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovbw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovaew (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovew (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnew (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovbew (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovaw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovsw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnsw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovpw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnpw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovlw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovgew (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovlew (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovgw (%rax), %di
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovol %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnol %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovbl %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovel %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnel %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovbel %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmoval %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovsl %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnsl %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovpl %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnpl %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovll %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovgel %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovlel %esi, %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovgl %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovol (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnol (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovbl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovael (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovel (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnel (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovbel (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmoval (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovsl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnsl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovpl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnpl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovll (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovgel (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovlel (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovgl (%rax), %edi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovoq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnoq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovbq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovaeq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmoveq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovneq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovbeq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovaq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovsq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnsq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovpq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovnpq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovlq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovgeq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovleq %rsi, %rdi
-# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovgq %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovoq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnoq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovbq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovaeq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmoveq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovneq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovbeq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovaq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovsq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnsq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovpq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovnpq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovlq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovgeq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovleq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmovgq (%rax), %rdi
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovow %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnow %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovbw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovaew %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovew %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnew %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovbew %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovaw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovsw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnsw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovpw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnpw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovlw %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovgew %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovlew %si, %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovgw %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovow (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnow (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovbw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovaew (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovew (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnew (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovbew (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovaw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovsw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnsw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovpw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnpw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovlw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovgew (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovlew (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovgw (%rax), %di
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovol %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnol %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovbl %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovael %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovel %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnel %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovbel %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmoval %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovsl %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnsl %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovpl %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnpl %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovll %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovgel %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovlel %esi, %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovgl %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovol (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnol (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovbl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovael (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovel (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnel (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovbel (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmoval (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovsl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnsl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovpl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnpl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovll (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovgel (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovlel (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovgl (%rax), %edi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovoq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnoq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovbq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovaeq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmoveq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovneq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovbeq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovaq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovsq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnsq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovpq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovnpq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovlq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovgeq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovleq %rsi, %rdi
+# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - - - - - cmovgq %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovoq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnoq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovbq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovaeq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmoveq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovneq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovbeq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovaq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovsq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnsq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovpq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovnpq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovlq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovgeq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovleq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 - - 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmovgq (%rax), %rdi
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmpxchg.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmpxchg.s
index 26a42fd9964b5..e09477974ffa6 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmpxchg.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-cmpxchg.s
@@ -44,14 +44,18 @@ lock cmpxchg16b (%rax)
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 30.00 30.00 30.00 30.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 30.00 30.00 30.00 30.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 5.00 5.00 5.00 5.00 - - - - - - - - - - - - - - - - cmpxchg8b (%rax)
-# CHECK-NEXT: - - - 10.00 10.00 10.00 10.00 - - - - - - - - - - - - - - - - cmpxchg16b (%rax)
-# CHECK-NEXT: - - - 5.00 5.00 5.00 5.00 - - - - - - - - - - - - - - - - lock cmpxchg8b (%rax)
-# CHECK-NEXT: - - - 10.00 10.00 10.00 10.00 - - - - - - - - - - - - - - - - lock cmpxchg16b (%rax)
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 5.00 5.00 5.00 5.00 - - - - - - - - - - - - - - - - - - - - cmpxchg8b (%rax)
+# CHECK-NEXT: - - - 10.00 10.00 10.00 10.00 - - - - - - - - - - - - - - - - - - - - cmpxchg16b (%rax)
+# CHECK-NEXT: - - - 5.00 5.00 5.00 5.00 - - - - - - - - - - - - - - - - - - - - lock cmpxchg8b (%rax)
+# CHECK-NEXT: - - - 10.00 10.00 10.00 10.00 - - - - - - - - - - - - - - - - - - - - lock cmpxchg16b (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-f16c.s
index f8badb55a521c..c0bdd8b96dcf7 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-f16c.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-f16c.s
@@ -55,18 +55,22 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - - - 6.50 6.50 2.00 2.00 2.00 1.33 1.33 1.33 0.67 0.67 0.67 1.00 1.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - - - 6.50 6.50 2.00 2.00 2.00 1.33 1.33 1.33 0.67 0.67 0.67 1.00 1.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtph2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtph2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtph2ps %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtph2ps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2ph $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vcvtps2ph $0, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - vcvtps2ph $0, %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vcvtps2ph $0, %ymm0, (%rax)
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - vcvtph2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtph2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtph2ps %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vcvtph2ps (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2ph $0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vcvtps2ph $0, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - vcvtps2ph $0, %ymm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - vcvtps2ph $0, %ymm0, (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s
index 1d9272f5d13b9..625c0a4901c3b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s
@@ -515,202 +515,206 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 120.00 120.00 - - 48.00 48.00 - 32.00 32.00 32.00 32.00 32.00 32.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 120.00 120.00 - - 48.00 48.00 - 32.00 32.00 32.00 32.00 32.00 32.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmadd231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmadd231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmaddsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmaddsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmsub132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmsub213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmsub231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmsub132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmsub213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfmsub231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsub231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfmsubadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfmsubadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmadd132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmadd213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmadd231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmadd132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmadd213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmadd231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmadd231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vfnmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmsub132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmsub213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmsub231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmsub132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmsub213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - vfnmsub231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vfnmsub231ss (%rax), %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-fsgsbase.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-fsgsbase.s
index ee00cdbc10bff..08b0ae3e042f8 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-fsgsbase.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-fsgsbase.s
@@ -55,18 +55,22 @@ wrgsbase %rdi
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 200.00 200.00 200.00 200.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 200.00 200.00 200.00 200.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdfsbasel %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdfsbaseq %rax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdgsbasel %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdgsbaseq %rax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wrfsbasel %edi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wrfsbaseq %rdi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wrgsbasel %edi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wrgsbaseq %rdi
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdfsbasel %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdfsbaseq %rax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdgsbasel %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdgsbaseq %rax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wrfsbasel %edi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wrfsbaseq %rdi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wrgsbasel %edi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wrgsbaseq %rdi
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-gfni.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-gfni.s
index 7cbc22c5183be..ca0596c0fde13 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-gfni.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-gfni.s
@@ -50,16 +50,20 @@ gf2p8mulb (%rax), %xmm1
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 2.50 0.50 0.50 2.50 1.50 1.50 - 1.00 1.00 1.00 1.00 1.00 1.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 2.50 0.50 0.50 2.50 1.50 1.50 - 1.00 1.00 1.00 1.00 1.00 1.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - gf2p8affineinvqb $0, %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - gf2p8affineinvqb $0, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - gf2p8affineqb $0, %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - gf2p8affineqb $0, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - gf2p8mulb %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - gf2p8mulb (%rax), %xmm1
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - gf2p8affineinvqb $0, %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - gf2p8affineinvqb $0, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - gf2p8affineqb $0, %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - gf2p8affineqb $0, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - gf2p8mulb %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - gf2p8mulb (%rax), %xmm1
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-lea.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-lea.s
index d259949af3846..4fc3fbabf9440 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-lea.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-lea.s
@@ -308,145 +308,149 @@ lea 1024(%rax, %rbx, 2), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 16.67 16.67 16.67 55.00 55.00 55.00 55.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 16.67 16.67 16.67 55.00 55.00 55.00 55.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 0, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 0, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 0, %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%eax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (%eax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (%eax), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%rax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (%rax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (%rax), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (,%ebx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal (,%ebx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq (,%ebx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (,%rbx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal (,%rbx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq (,%rbx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%eax,%ebx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal (%eax,%ebx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq (%eax,%ebx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw (%rax,%rbx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal (%rax,%rbx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq (%rax,%rbx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16, %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%eax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16(%eax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16(%eax), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%rax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16(%rax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16(%rax), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(,%ebx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(,%ebx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(,%ebx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(,%rbx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(,%rbx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(,%rbx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024, %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%eax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024(%eax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024(%eax), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%rax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024(%rax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024(%rax), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(,%ebx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(,%ebx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(,%ebx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(,%rbx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(,%rbx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(,%rbx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx,2), %rcx
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx,2), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx,2), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx,2), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 0, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 0, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 0, %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%eax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (%eax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (%eax), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%rax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (%rax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (%rax), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (,%ebx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal (,%ebx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq (,%ebx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (,%rbx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal (,%rbx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq (,%rbx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%eax,%ebx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal (%eax,%ebx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq (%eax,%ebx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw (%rax,%rbx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal (%rax,%rbx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq (%rax,%rbx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16, %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%eax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16(%eax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16(%eax), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%rax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16(%rax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16(%rax), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(,%ebx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(,%ebx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(,%ebx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(,%rbx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(,%rbx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(,%rbx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(%eax,%ebx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal -16(%rax,%rbx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024, %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%eax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024(%eax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024(%eax), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%rax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024(%rax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024(%rax), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(,%ebx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(,%ebx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(,%ebx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(,%rbx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(,%rbx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(,%rbx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx,2), %rcx
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx,2), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx,2), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx,2), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-lzcnt.s
index 1339ad5fbb30d..e7a1a52db2176 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-lzcnt.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-lzcnt.s
@@ -50,16 +50,20 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.00 1.00 1.00 2.25 2.25 2.25 2.25 - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.00 1.00 1.00 2.25 2.25 2.25 2.25 - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - lzcntw %cx, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lzcntw (%rax), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - lzcntl %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lzcntl (%rax), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - lzcntq %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lzcntq (%rax), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - lzcntw %cx, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lzcntw (%rax), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - lzcntl %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lzcntl (%rax), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - lzcntq %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lzcntq (%rax), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-mmx.s
index 23d352c95adf6..531c4db84b49b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-mmx.s
@@ -294,115 +294,119 @@ pxor (%rax), %mm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - 17.00 35.00 35.00 17.00 27.00 27.00 2.00 16.00 16.00 16.00 15.33 15.33 15.33 1.00 1.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - 17.00 35.00 35.00 17.00 27.00 27.00 2.00 16.00 16.00 16.00 15.33 15.33 15.33 1.00 1.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - emms
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - - - - - - - - - movd %eax, %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movd %mm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movd %mm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - - - - - - - - - movq %rax, %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movq %mm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movq %mm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packsswb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packsswb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packssdw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packssdw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packuswb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packuswb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddsb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddusb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddusb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddusw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddusw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pand %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pand (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pandn %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pandn (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmaddwd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaddwd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulhw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulhw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmullw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmullw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - por %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - por (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pslld $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pslld %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pslld (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psllq $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psllq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psllq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psllw $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psllw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psllw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrad $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrad %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrad (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psraw $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psraw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psraw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrld $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrld %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrld (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrlq $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrlq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrlq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrlw $1, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrlw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrlw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubsb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubusb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubusb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubusw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubusw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhbw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhdq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhdq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhwd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhwd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpcklbw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpcklbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckldq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckldq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpcklwd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpcklwd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pxor %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pxor (%rax), %mm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - emms
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - - - - - - - - - - - - - movd %eax, %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - movd %mm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movd %mm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 0.50 0.50 - - - - - - - - - - - - - movq %rax, %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - movq %mm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movq %mm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packsswb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packsswb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packssdw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packssdw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packuswb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packuswb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddsb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddusb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddusb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddusw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddusw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pand %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pand (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pandn %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pandn (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmaddwd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaddwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulhw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulhw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmullw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmullw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - por %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - por (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pslld $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pslld %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pslld (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psllq $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psllq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psllq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psllw $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psllw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psllw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrad $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrad %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrad (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psraw $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psraw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psraw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrld $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrld %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrld (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrlq $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrlq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrlq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrlw $1, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrlw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrlw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubsb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubusb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubusb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubusw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubusw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhbw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhdq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhdq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhwd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpcklbw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpcklbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckldq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckldq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpcklwd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpcklwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pxor %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pxor (%rax), %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-movbe.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-movbe.s
index 5e180f3b4342d..16abdd4457026 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-movbe.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-movbe.s
@@ -50,16 +50,20 @@ movbe (%rax), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 2.00 2.00 2.00 4.50 4.50 4.50 4.50 - - - - - - - - 2.00 2.00 2.00 1.00 1.00 1.00 1.50 1.50
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 2.00 2.00 2.00 4.50 4.50 4.50 4.50 - - - - - - - - 2.00 2.00 2.00 1.00 1.00 1.00 1.50 1.50 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 movbew %cx, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movbew (%rax), %cx
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 movbel %ecx, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movbel (%rax), %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 movbeq %rcx, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movbeq (%rax), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movbew %cx, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movbew (%rax), %cx
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movbel %ecx, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movbel (%rax), %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movbeq %rcx, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movbeq (%rax), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s
index f42a35e5d3ce0..6b7b8daa56847 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s
@@ -40,12 +40,16 @@ mwaitx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 50.00 50.00 50.00 50.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 50.00 50.00 50.00 50.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - monitorx
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - mwaitx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - monitorx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - mwaitx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-pclmul.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-pclmul.s
index fc2bc8e21bf14..a11f0ad39212d 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-pclmul.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-pclmul.s
@@ -40,12 +40,16 @@ pclmulqdq $11, (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - pclmulqdq $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pclmulqdq $11, (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - pclmulqdq $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pclmulqdq $11, (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-popcnt.s
index aa77de9bb18b4..dec49c2a48b43 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-popcnt.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-popcnt.s
@@ -50,16 +50,20 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.00 1.00 1.00 2.25 2.25 2.25 2.25 - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.00 1.00 1.00 2.25 2.25 2.25 2.25 - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - popcntw %cx, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - popcntw (%rax), %cx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - popcntl %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - popcntl (%rax), %ecx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - popcntq %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - popcntq (%rax), %rcx
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - popcntw %cx, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - popcntw (%rax), %cx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - popcntl %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - popcntl (%rax), %ecx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - popcntq %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - popcntq (%rax), %rcx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-prefetchw.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-prefetchw.s
index 20d211cfeccad..7d1603e6dcc23 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-prefetchw.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-prefetchw.s
@@ -40,12 +40,16 @@ prefetchw (%rax)
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - - - - - - - 0.67 0.67 0.67 0.67 0.67 0.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 0.67 0.67 0.67 - - - - - - - - - - - - 0.67 0.67 0.67 0.67 0.67 0.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - prefetch (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - prefetchw (%rax)
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - prefetch (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - prefetchw (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdrand.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdrand.s
index 755238693ea7c..df550733a95bb 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdrand.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdrand.s
@@ -42,13 +42,17 @@ rdrand %rax
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 75.00 75.00 75.00 75.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 75.00 75.00 75.00 75.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdrandw %ax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdrandl %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdrandq %rax
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdrandw %ax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdrandl %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdrandq %rax
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdseed.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdseed.s
index e2b028c4c47ed..7b607604f7800 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdseed.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-rdseed.s
@@ -42,13 +42,17 @@ rdseed %rax
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 75.00 75.00 75.00 75.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 75.00 75.00 75.00 75.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdseedw %ax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdseedl %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdseedq %rax
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdseedw %ax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdseedl %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdseedq %rax
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s
index 77f91ba16efcd..5fba4963497a0 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s
@@ -70,24 +70,28 @@ sha256rnds2 (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.67 1.67 1.67 - - - - - 13.50 12.50 12.50 13.50 1.00 1.00 - 2.33 2.33 2.33 2.33 2.33 2.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.67 1.67 1.67 - - - - - 13.50 12.50 12.50 13.50 1.00 1.00 - 2.33 2.33 2.33 2.33 2.33 2.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - sha1msg1 %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1msg1 (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - sha1msg2 %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1msg2 (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - sha1nexte %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1nexte (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - sha1rnds4 $3, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1rnds4 $3, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.75 0.75 0.75 0.75 - - - - - - - - - - - sha256msg1 %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.75 0.75 0.75 0.75 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha256msg1 (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - sha256msg2 %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 2.00 2.00 2.00 2.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha256msg2 (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - sha256rnds2 %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha256rnds2 %xmm0, (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - sha1msg1 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha1msg1 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - sha1msg2 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha1msg2 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - sha1nexte %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha1nexte (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - sha1rnds4 $3, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha1rnds4 $3, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.75 0.75 0.75 0.75 - - - - - - - - - - - - - - - sha256msg1 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.75 0.75 0.75 0.75 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha256msg1 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - sha256msg2 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 2.00 2.00 2.00 2.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha256msg2 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - sha256rnds2 %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sha256rnds2 %xmm0, (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s
index 767477a79165f..33124737046e8 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s
@@ -343,134 +343,138 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 2.00 2.00 2.00 16.50 16.50 16.50 16.50 - 24.50 66.50 46.00 38.00 33.00 33.00 7.00 22.33 22.33 22.33 19.33 19.33 19.33 4.00 4.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 2.00 2.00 2.00 16.50 16.50 16.50 16.50 - 24.50 66.50 46.00 38.00 33.00 33.00 7.00 22.33 22.33 22.33 19.33 19.33 19.33 4.00 4.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - addps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - addps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - addss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - addss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - andnps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - andnps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - andps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - andps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - cmpeqps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpeqps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - cmpeqss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpeqss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - comiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - comiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtpi2ps %mm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtpi2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtps2pi %xmm0, %mm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtps2pi (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvtsi2ss %ecx, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvtsi2ss %rcx, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsi2ssl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsi2ssq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - cvtss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - cvtss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvttps2pi %xmm0, %mm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttps2pi (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - cvttss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - cvttss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - divps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - divps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - divss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - divss (%rax), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 1.50 1.50 1.50 1.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - ldmxcsr (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - maskmovq %mm0, %mm1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - maxps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - maxps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - maxss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - maxss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - minps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - minss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movaps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movaps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movaps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movhlps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movlhps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movhps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movhps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movlps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movlps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - movmskps %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntq %mm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movss %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movups %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movups %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movups (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - mulps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - mulss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - orps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - orps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pavgb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pavgb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pavgw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pavgw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pextrw $1, %mm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pinsrw $1, %eax, %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pinsrw $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxub %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxub (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminub %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminub (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - pmovmskb %mm0, %ecx
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulhuw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulhuw (%rax), %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - prefetcht0 (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - prefetcht1 (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - prefetcht2 (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - prefetchnta (%rax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - psadbw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psadbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pshufw $1, %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pshufw $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - rcpps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcpps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - rcpss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcpss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - rsqrtps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - rsqrtps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - rsqrtss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - rsqrtss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - 0.33 0.33 0.33 - - - - - sfence
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - shufps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - shufps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - sqrtps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sqrtps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - sqrtss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sqrtss (%rax), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 15.00 15.00 15.00 15.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 stmxcsr (%rax)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - subps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - subps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - subss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - subss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - ucomiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - ucomiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - unpckhps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - unpckhps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - unpcklps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - unpcklps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - xorps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - xorps (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - addps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - addss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - andnps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andnps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - andps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpeqss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - comiss %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - comiss (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtpi2ps %mm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtpi2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtps2pi %xmm0, %mm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtps2pi (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvtsi2ss %ecx, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvtsi2ss %rcx, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsi2ssl (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsi2ssq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - cvtss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - cvtss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtss2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvttps2pi %xmm0, %mm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttps2pi (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - cvttss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - - - - cvttss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 2.50 2.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttss2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - divps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - divss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divss (%rax), %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 1.50 1.50 1.50 1.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ldmxcsr (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - maskmovq %mm0, %mm1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - maxps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - maxps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - maxss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - maxss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - minps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - minps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - minss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - minss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movaps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movaps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movaps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movhlps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movlhps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movhps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movhps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movlps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movlps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - movmskps %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movntps %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movntq %mm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movss %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movups %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movups %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movups (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - mulps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - mulss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - orps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - orps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pavgb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pavgb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pavgw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pavgw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pextrw $1, %mm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pinsrw $1, %eax, %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pinsrw $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxub %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxub (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminub %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminub (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - pmovmskb %mm0, %ecx
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulhuw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulhuw (%rax), %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - prefetcht0 (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - prefetcht1 (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - prefetcht2 (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - prefetchnta (%rax)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - psadbw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psadbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pshufw $1, %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pshufw $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rcpps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcpps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rcpss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcpss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - rsqrtps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rsqrtps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - rsqrtss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rsqrtss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - sfence
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - shufps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shufps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - sqrtps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sqrtps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - sqrtss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sqrtss (%rax), %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 15.00 15.00 15.00 15.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - stmxcsr (%rax)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - subps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - subss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - ucomiss %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ucomiss (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - unpckhps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - unpckhps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - unpcklps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - unpcklps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - xorps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xorps (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s
index f9f02465bc7d5..1b086c932aef4 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s
@@ -699,277 +699,281 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.00 1.00 1.00 25.00 25.00 25.00 25.00 - 58.25 138.75 79.75 53.25 72.00 72.00 12.00 54.67 54.67 54.67 39.33 39.33 39.33 8.00 8.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.00 1.00 1.00 25.00 25.00 25.00 25.00 - 58.25 138.75 79.75 53.25 72.00 72.00 12.00 54.67 54.67 54.67 39.33 39.33 39.33 8.00 8.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - addpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - addpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - addsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - addsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - andnpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - andnpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - andpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - andpd (%rax), %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - clflush (%rax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - cmpeqpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpeqpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - cmpeqsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpeqsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - comisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - comisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtdq2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtdq2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtdq2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtdq2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvtpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtpd2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvtpd2pi %xmm0, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtpd2pi (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtpd2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtpd2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtpi2pd %mm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtpi2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtps2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtps2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtps2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsd2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtsd2ss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsd2ss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvtsi2sd %ecx, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvtsi2sd %rcx, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsi2sdl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtsi2sdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvtss2sd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvtss2sd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvttpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttpd2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - cvttpd2pi %xmm0, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttpd2pi (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvttps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttps2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvttsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - cvttsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - cvttsd2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - divpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - divpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - divsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - divsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - 10.00 10.00 10.00 - - - - - lfence
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 maskmovdqu %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - maxpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - maxpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - maxsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - maxsd (%rax), %xmm2
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - mfence
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - minpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - minsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movapd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movapd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movapd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movd %eax, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movd %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movdqa %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movdqa %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movdqu %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movdqu %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movdqu (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movdq2q %xmm0, %mm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movhpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movhpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movlpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movlpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - movmskpd %xmm0, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 movntil %eax, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 movntiq %rax, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntdq %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movq %rax, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movq %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movq %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - - - - - - - - - movq2dq %mm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movsd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movupd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movupd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movupd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - mulpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - mulsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - orpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - orpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packssdw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packssdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packsswb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packsswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packuswb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packuswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - paddsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - paddsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - paddusb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - paddusw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - paddw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - paddw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pand %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pand (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pandn %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pandn (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pavgb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pavgb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pavgw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pavgw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pextrw $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pinsrw $1, %eax, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pinsrw $1, (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmaddwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaddwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxub %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxub (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminub %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminub (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - pmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulhuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulhuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulhw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulhw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmullw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmullw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmuludq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmuludq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmuludq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmuludq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - por %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - por (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - psadbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psadbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pslld $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pslld %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pslld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pslldq $1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psllq $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psllq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psllq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psllw $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psllw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psllw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrad $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psrad %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrad (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psraw $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psraw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psraw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrld $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psrld %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psrldq $1, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrlq $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psrlq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrlq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - psrlw $1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psrlw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psrlw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubq %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psubsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psubsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psubusb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psubusw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psubw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhqdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckhwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckhwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpcklbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpcklbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpckldq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpckldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpcklqdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - punpcklwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - punpcklwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pxor %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pxor (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - shufpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - shufpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - sqrtpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sqrtpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - sqrtsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sqrtsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - subpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - subpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - subsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - subsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - ucomisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - ucomisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - unpckhpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - unpckhpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - unpcklpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - unpcklpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - xorpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - xorpd (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - addpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - addsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - andnpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andnpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - andpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andpd (%rax), %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - clflush (%rax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpeqsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - comisd %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - comisd (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtdq2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtdq2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtdq2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtdq2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvtpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtpd2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvtpd2pi %xmm0, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtpd2pi (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtpd2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtpd2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtpi2pd %mm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtpi2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtps2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtps2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtsd2ss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsd2ss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvtsi2sd %ecx, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvtsi2sd %rcx, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsi2sdl (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtsi2sdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvtss2sd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvtss2sd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvttpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttpd2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - cvttpd2pi %xmm0, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttpd2pi (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvttps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvttsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - cvttsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cvttsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - divpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - - - - - - - - - - - - - - divsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 5.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 10.00 10.00 10.00 - - - - - - - - - lfence
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - maxpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - maxpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - maxsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - maxsd (%rax), %xmm2
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - mfence
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - minpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - minpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - minsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - minsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movapd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movapd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movapd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - movd %eax, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - movd %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movdqa %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movdqa %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movdqa (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movdqu %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movdqu %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movdqu (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movdq2q %xmm0, %mm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movhpd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movhpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movlpd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movlpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - movntil %eax, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - movntiq %rax, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movntdq %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movntpd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - movq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - movq %rax, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - movq %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movq %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - movq2dq %mm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movsd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - movupd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movupd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movupd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - mulpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - mulsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - orpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - orpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packssdw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packssdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packsswb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packsswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packuswb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packuswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - paddsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - paddsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - paddusb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - paddusw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - paddw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - paddw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pand %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pand (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pandn %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pandn (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pavgb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pavgb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pavgw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pavgw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pextrw $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pinsrw $1, %eax, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pinsrw $1, (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmaddwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaddwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxub %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxub (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminub %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminub (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - pmovmskb %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulhuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulhuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulhw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulhw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmullw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmullw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmuludq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmuludq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmuludq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmuludq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - por %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - por (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - psadbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psadbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pslld $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pslld %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pslld (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pslldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psllq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psllq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psllq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psllw $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psllw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psllw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrad $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psrad %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrad (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psraw $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psraw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psraw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrld $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psrld %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrld (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psrldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrlq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psrlq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrlq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - psrlw $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psrlw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psrlw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubq %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psubsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psubsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psubusb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psubusw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psubw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psubw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckhwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpcklbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpckldq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpckldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpcklqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - punpcklwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pxor %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pxor (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - shufpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shufpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - sqrtpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sqrtpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - - - - - - - - - - - - - - - sqrtsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 9.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sqrtsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - subpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - subsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - ucomisd %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ucomisd (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - unpckhpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - unpckhpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - unpcklpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - unpcklpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - xorpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xorpd (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse3.s
index 51ffdc62664c2..3c65d0438a9f3 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse3.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse3.s
@@ -89,31 +89,35 @@ mwait
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 50.00 50.00 50.00 50.00 - - 3.00 21.00 2.00 5.00 5.00 - 3.33 3.33 3.33 3.33 3.33 3.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 50.00 50.00 50.00 50.00 - - 3.00 21.00 2.00 5.00 5.00 - 3.33 3.33 3.33 3.33 3.33 3.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - addsubpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - addsubpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - addsubps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - addsubps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - haddpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - haddpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - haddps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - haddps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - hsubpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - hsubpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - hsubps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - hsubps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - lddqu (%rax), %xmm2
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - monitor
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movddup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movddup (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movshdup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movshdup (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movsldup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movsldup (%rax), %xmm2
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - mwait
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - addsubpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addsubpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - addsubps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addsubps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - haddpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - haddpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - haddps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - haddps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - hsubpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - hsubpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - - - - - - - - - - hsubps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - hsubps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lddqu (%rax), %xmm2
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - monitor
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movddup %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movddup (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movshdup %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movshdup (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - movsldup %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movsldup (%rax), %xmm2
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - mwait
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse41.s
index 7f5c50c8b93ab..f860dcce05c9d 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse41.s
@@ -276,106 +276,110 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 31.00 43.00 28.00 16.00 35.50 35.50 7.00 16.33 16.33 16.33 14.67 14.67 14.67 2.50 2.50
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 31.00 43.00 28.00 16.00 35.50 35.50 7.00 16.33 16.33 16.33 14.67 14.67 14.67 2.50 2.50 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - blendpd $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - blendpd $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - blendps $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - blendps $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - blendvpd %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - blendvps %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - blendvps %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - dppd $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - dppd $22, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - - - - - - - - - - dpps $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - dpps $22, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - extractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 extractps $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - insertps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - insertps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movntdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - mpsadbw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - packusdw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - packusdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pblendvb %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pblendvb %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pblendw $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpeqq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpeqq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pextrb $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 pextrb $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pextrd $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 pextrd $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pextrq $1, %xmm0, %rcx
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 pextrq $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 pextrw $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - phminposuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phminposuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pinsrb $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pinsrb $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pinsrd $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pinsrd $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - pinsrq $1, %rax, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxud %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pmaxuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaxuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminud %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pminuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pminuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmovzxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmuldq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmuldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulld %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 1.00 - - - - - - - - ptest %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 1.00 1.00 1.00 0.33 0.33 0.33 0.33 0.33 0.33 - - ptest (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - roundpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - roundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - roundps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - roundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - roundsd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - roundsd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - roundss $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - roundss $1, (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - blendpd $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blendpd $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - blendps $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blendps $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blendvpd %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - blendvps %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - blendvps %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - dppd $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - dppd $22, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - dpps $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - dpps $22, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - extractps $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - extractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - insertps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - insertps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movntdqa (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - mpsadbw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mpsadbw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - packusdw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - packusdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pblendvb %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pblendvb %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pblendw $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pblendw $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpeqq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pextrb $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - pextrb $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pextrd $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - pextrd $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pextrq $1, %xmm0, %rcx
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - pextrq $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - pextrw $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - phminposuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phminposuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pinsrb $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pinsrb $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pinsrd $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pinsrd $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pinsrq $1, %rax, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - 1.50 1.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pinsrq $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxud %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaxuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminud %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pminuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pminuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmuldq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmuldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulld %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulld (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 1.00 - - - - - - - - - - - - ptest %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 1.00 1.00 1.00 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ptest (%rax), %xmm1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - roundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - roundpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - roundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - roundps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - roundsd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - roundsd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - roundss $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - roundss $1, (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse42.s
index ae608354e2a6f..09742bdfce1bb 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse42.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse42.s
@@ -85,30 +85,34 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 1.67 1.67 1.67 - 10.00 - - - 20.50 20.50 20.50 20.50 2.50 2.50 - 3.33 3.33 3.33 3.33 3.33 3.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 1.67 1.67 1.67 - 10.00 - - - 20.50 20.50 20.50 20.50 2.50 2.50 - 3.33 3.33 3.33 3.33 3.33 3.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - crc32b %al, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - crc32b (%rax), %ecx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - crc32l %eax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - crc32l (%rax), %ecx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - crc32w %ax, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - crc32w (%rax), %ecx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - crc32b %al, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - crc32b (%rax), %rcx
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - crc32q %rax, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - crc32q (%rax), %rcx
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - pcmpestri $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpestri $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - pcmpestrm $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpestrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - pcmpistri $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpistri $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - pcmpistrm $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpistrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pcmpgtq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pcmpgtq (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - crc32b %al, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - crc32b (%rax), %ecx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - crc32l %eax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - crc32l (%rax), %ecx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - crc32w %ax, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - crc32w (%rax), %ecx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - crc32b %al, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - crc32b (%rax), %rcx
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - crc32q %rax, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - crc32q (%rax), %rcx
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - pcmpestri $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpestri $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - pcmpestrm $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 3.00 3.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpestrm $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - pcmpistri $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpistri $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - pcmpistrm $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpistrm $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pcmpgtq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pcmpgtq (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s
index 36f7604d5efac..ddcff2d7f9739 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s
@@ -50,16 +50,20 @@ movntss %xmm0, (%rax)
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - extrq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - extrq $22, $2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - insertq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - insertq $22, $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntsd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntss %xmm0, (%rax)
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - - - - - extrq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - - - - - extrq $22, $2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - - - - - insertq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - - - - - insertq $22, $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movntsd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 - - - - movntss %xmm0, (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-ssse3.s
index 2feee84efa8ec..cac2e8f8a4978 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-ssse3.s
@@ -195,74 +195,78 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 62.50 14.50 8.50 8.50 16.00 16.00 - 10.67 10.67 10.67 10.67 10.67 10.67 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 62.50 14.50 8.50 8.50 16.00 16.00 - 10.67 10.67 10.67 10.67 10.67 10.67 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pabsb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pabsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pabsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pabsd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pabsd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pabsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - pabsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pabsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - pabsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - palignr $1, %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - palignr $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - palignr $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - palignr $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phaddd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phaddd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phaddd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phaddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phaddsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phaddsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phaddsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phaddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phaddw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phaddw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phaddw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phaddw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phsubd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phsubd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phsubd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phsubd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phsubsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phsubsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phsubsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phsubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phsubw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phsubw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - phsubw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - phsubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmaddubsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaddubsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmaddubsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmaddubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulhrsw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulhrsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - pmulhrsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pmulhrsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pshufb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pshufb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - pshufb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - pshufb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psignb %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psignb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psignb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psignb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psignd %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psignd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psignd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psignd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - psignw %mm0, %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psignw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - psignw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - psignw (%rax), %xmm2
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pabsb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pabsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pabsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pabsd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pabsd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pabsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - pabsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pabsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - pabsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - palignr $1, %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - palignr $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - palignr $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phaddd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phaddd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phaddd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phaddd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phaddsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phaddsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phaddsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phaddsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phaddw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phaddw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phaddw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phaddw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phsubd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phsubd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phsubd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phsubd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phsubsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phsubsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phsubsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phsubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phsubw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phsubw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - - - - - - - - - - - - - phsubw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - phsubw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmaddubsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaddubsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmaddubsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmaddubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulhrsw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulhrsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - pmulhrsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pmulhrsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pshufb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pshufb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - pshufb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - pshufb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psignb %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psignb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psignb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psignb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psignd %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psignd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psignd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psignd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - psignw %mm0, %mm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psignw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - psignw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - psignw (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-vaes.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-vaes.s
index 5389413436f2c..5db41cdcabae1 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-vaes.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-vaes.s
@@ -55,18 +55,22 @@ vaesenclast (%rax), %ymm1, %ymm3
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdec %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdec (%rax), %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdeclast %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdeclast (%rax), %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenc %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenc (%rax), %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenclast %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenclast (%rax), %ymm1, %ymm3
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdec %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdec (%rax), %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesdeclast %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesdeclast (%rax), %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenc %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenc (%rax), %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - vaesenclast %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vaesenclast (%rax), %ymm1, %ymm3
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-vpclmulqdq.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-vpclmulqdq.s
index dca470338b5a4..f12fba2c6e192 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-vpclmulqdq.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-vpclmulqdq.s
@@ -40,12 +40,16 @@ vpclmulqdq $11, (%rax), %ymm1, %ymm3
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - vpclmulqdq $11, %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpclmulqdq $11, (%rax), %ymm1, %ymm3
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - vpclmulqdq $11, %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpclmulqdq $11, (%rax), %ymm1, %ymm3
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_32.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_32.s
index 894a221ce7bc1..4dcb59d1428c6 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_32.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_32.s
@@ -71,23 +71,27 @@ salc
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 275.50 275.50 275.50 275.50 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 275.50 275.50 275.50 275.50 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - aaa
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - aad
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - aad $7
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - aam
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - aam $7
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - aas
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - bound %bx, (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - bound %ebx, (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - daa
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - das
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - into
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leave
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - salc
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - aaa
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - aad
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - aad $7
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - aam
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - aam $7
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - aas
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - bound %bx, (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - bound %ebx, (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - daa
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - das
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - into
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leave
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - salc
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_64.s
index bd2a8d4c8c48a..9cb7a1df2ce3b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_64.s
@@ -1972,923 +1972,927 @@ xorq (%rax), %rdi
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 259.00 259.00 259.00 1725.00 1865.50 1775.50 1529.50 1.50 - - - - - - - 259.00 259.00 259.00 151.67 151.67 151.67 161.00 161.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 259.00 259.00 259.00 1725.00 1865.50 1775.50 1529.50 1.50 - - - - - - - 259.00 259.00 259.00 151.67 151.67 151.67 161.00 161.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcb $0, %al
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcb $0, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcb $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcb $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcb $7, %al
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcb $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcb %sil, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcw $0, %ax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcw $0, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcw $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcw $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcw $511, %ax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcw $511, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcw $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcl $0, %eax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcl $0, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcl $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcl $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcl $665536, %eax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcl $665536, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcl $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcq $0, %rax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcq $0, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcq $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcq $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcq $665536, %rax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcq $665536, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcq $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 adcq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock adcq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcq (%rax), %rdi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - addb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addb %sil, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addb %sil, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - addb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - addw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - addw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - addl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - addl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - addq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - addq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 addq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock addq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - addq (%rax), %rdi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - andb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andb %sil, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andb %sil, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - andb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - andw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - andw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - andl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - andl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - andq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - andq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 andq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock andq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - andq (%rax), %rdi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - bsfw %si, %di
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - bsrw %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bsfw (%rax), %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bsrw (%rax), %di
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - bsfl %esi, %edi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - bsrl %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bsfl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bsrl (%rax), %edi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - bsfq %rsi, %rdi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - bsrq %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bsfq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - bsrq (%rax), %rdi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - bswapl %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - bswapq %rax
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - btw %si, %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btcw %si, %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btrw %si, %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btsw %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - btw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btcw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btrw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btsw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btcw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btrw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btsw %si, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - btw $7, %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btcw $7, %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btrw $7, %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btsw $7, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - btw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btcw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btrw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btsw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btcw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btrw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btsw $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - btl %esi, %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btcl %esi, %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btrl %esi, %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btsl %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - btl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btcl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btrl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btsl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btcl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btrl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btsl %esi, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - btl $7, %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btcl $7, %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btrl $7, %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btsl $7, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - btl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btcl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btrl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btsl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btcl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btrl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btsl $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - btq %rsi, %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btcq %rsi, %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btrq %rsi, %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btsq %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - btq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btcq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btrq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btsq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btcq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btrq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btsq %rsi, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - btq $7, %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btcq $7, %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btrq $7, %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - btsq $7, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - btq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btcq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btrq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 btsq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btcq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btrq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock btsq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cbtw
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cwtl
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cltq
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cwtd
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cltd
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cqto
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - clc
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cld
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmc
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpb $7, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpb %sil, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpb (%rax), %dil
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpw $511, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpw $7, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpw %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpw (%rax), %di
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpl $665536, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpl $7, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpl %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpl (%rax), %edi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpq $665536, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpq $7, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - cmpq %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpq (%rax), %rdi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - cmpsb %es:(%rdi), (%rsi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - cmpsw %es:(%rdi), (%rsi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - cmpsl %es:(%rdi), (%rsi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgb %cl, %bl
-# CHECK-NEXT: 0.33 0.33 0.33 3.00 3.00 3.00 3.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - cmpxchgb %cl, (%rbx)
-# CHECK-NEXT: 0.33 0.33 0.33 3.00 3.00 3.00 3.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lock cmpxchgb %cl, (%rbx)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgw %cx, %bx
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgw %cx, (%rbx)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - lock cmpxchgw %cx, (%rbx)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgl %ecx, %ebx
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgl %ecx, (%rbx)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - lock cmpxchgl %ecx, (%rbx)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgq %rcx, %rbx
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - cmpxchgq %rcx, (%rbx)
-# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - lock cmpxchgq %rcx, (%rbx)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - cpuid
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - decb %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 decb (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock decb (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - decw %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 decw (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock decw (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - decl %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 decl (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock decl (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - decq %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 decq (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock decq (%rax)
-# CHECK-NEXT: - - - 9.00 - - - - - - - - - - - - - - - - - - - divb %dil
-# CHECK-NEXT: 0.33 0.33 0.33 9.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - divb (%rax)
-# CHECK-NEXT: - - - 10.00 - - - - - - - - - - - - - - - - - - - divw %si
-# CHECK-NEXT: 0.33 0.33 0.33 10.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - divw (%rax)
-# CHECK-NEXT: - - - 12.00 - - - - - - - - - - - - - - - - - - - divl %edx
-# CHECK-NEXT: 0.33 0.33 0.33 12.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - divl (%rax)
-# CHECK-NEXT: - - - 18.00 - - - - - - - - - - - - - - - - - - - divq %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 18.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - divq (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - enter $7, $4095
-# CHECK-NEXT: - - - 9.00 - - - - - - - - - - - - - - - - - - - idivb %dil
-# CHECK-NEXT: 0.33 0.33 0.33 9.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - idivb (%rax)
-# CHECK-NEXT: - - - 10.00 - - - - - - - - - - - - - - - - - - - idivw %si
-# CHECK-NEXT: 0.33 0.33 0.33 10.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - idivw (%rax)
-# CHECK-NEXT: - - - 12.00 - - - - - - - - - - - - - - - - - - - idivl %edx
-# CHECK-NEXT: 0.33 0.33 0.33 12.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - idivl (%rax)
-# CHECK-NEXT: - - - 18.00 - - - - - - - - - - - - - - - - - - - idivq %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 18.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - idivq (%rax)
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - imulb %dil
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulb (%rax)
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - imulw %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulw (%rax)
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imulw %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulw (%rax), %di
-# CHECK-NEXT: - - - - 4.00 - - - - - - - - - - - - - - - - - - imulw $511, %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulw $511, (%rax), %di
-# CHECK-NEXT: - - - - 4.00 - - - - - - - - - - - - - - - - - - imulw $7, %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulw $7, (%rax), %di
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - imull %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imull (%rax)
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imull %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imull (%rax), %edi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imull $665536, %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imull $665536, (%rax), %edi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imull $7, %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imull $7, (%rax), %edi
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - imulq %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulq (%rax)
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imulq %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulq (%rax), %rdi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imulq $665536, %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulq $665536, (%rax), %rdi
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - imulq $7, %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - imulq $7, (%rax), %rdi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - inb $7, %al
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - inb %dx, %al
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - inw $7, %ax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - inw %dx, %ax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - inl $7, %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - inl %dx, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - incb %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 incb (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock incb (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - incw %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 incw (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock incw (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - incl %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 incl (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock incl (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - incq %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 incq (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock incq (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - insb %dx, %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - insw %dx, %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - insl %dx, %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - int $7
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - invlpg (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - invlpga
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - lahf
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - leave
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - lodsb (%rsi), %al
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - lodsw (%rsi), %ax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - lodsl (%rsi), %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - lodsq (%rsi), %rax
-# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - - - - - - - - - - - - loop 0
-# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - - - - - - - - - - - - loope 0
-# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - - - - - - - - - - - - loopne 0
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - movsb (%rsi), %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - movsw (%rsi), %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - movsl (%rsi), %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - movsq (%rsi), %es:(%rdi)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - movsbw %al, %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - movzbw %al, %di
-# CHECK-NEXT: 1.00 1.00 1.00 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movsbw (%rax), %di
-# CHECK-NEXT: 1.00 1.00 1.00 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movzbw (%rax), %di
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movsbl %al, %edi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movzbl %al, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movsbl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movzbl (%rax), %edi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movsbq %al, %rdi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movzbq %al, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movsbq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movzbq (%rax), %rdi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movswl %ax, %edi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movzwl %ax, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movswl (%rax), %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movzwl (%rax), %edi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movswq %ax, %rdi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movzwq %ax, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movswq (%rax), %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movzwq (%rax), %rdi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - movslq %eax, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - movslq (%rax), %rdi
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - mulb %dil
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulb (%rax)
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - mulw %si
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulw (%rax)
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - mull %edx
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - mull (%rax)
-# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - mulq %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - mulq (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - negb %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 negb (%r8)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock negb (%r8)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - negw %si
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 negw (%r9)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock negw (%r9)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - negl %edx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 negl (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock negl (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - negq %rcx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 negq (%r10)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock negq (%r10)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nop
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nopw %di
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nopw (%rcx)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nopl %esi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nopl (%r8)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nopq %rdx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - nopq (%r9)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - notb %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 notb (%r8)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock notb (%r8)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - notw %si
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 notw (%r9)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock notw (%r9)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - notl %edx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 notl (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock notl (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - notq %rcx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 notq (%r10)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock notq (%r10)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - orb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orb %sil, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orb %sil, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - orb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - orw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - orw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - orl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - orl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - orq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - orq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 orq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock orq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - orq (%rax), %rdi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outb %al, $7
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outb %al, %dx
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outw %ax, $7
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outw %ax, %dx
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outl %eax, $7
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outl %eax, %dx
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outsb (%rsi), %dx
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outsw (%rsi), %dx
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - outsl (%rsi), %dx
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - pause
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rclb %dil
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rcrb %dil
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclb (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrb (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rclb $7, %dil
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrb $7, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclb $7, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrb $7, (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rclb %cl, %dil
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrb %cl, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclb %cl, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrb %cl, (%rax)
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rclw %di
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rcrw %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclw (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrw (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rclw $7, %di
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrw $7, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclw $7, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrw $7, (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rclw %cl, %di
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrw %cl, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclw %cl, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrw %cl, (%rax)
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rcll %edi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rcrl %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcll (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrl (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rcll $7, %edi
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrl $7, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcll $7, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrl $7, (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rcll %cl, %edi
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrl %cl, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcll %cl, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrl %cl, (%rax)
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rclq %rdi
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - rcrq %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclq (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrq (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rclq $7, %rdi
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrq $7, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclq $7, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrq $7, (%rax)
-# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - rclq %cl, %rdi
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - rcrq %cl, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rclq %cl, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - rcrq %cl, (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdmsr
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdpmc
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdtsc
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - rdtscp
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolb %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorb %dil
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolb (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorb (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolb $7, %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorb $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolb %cl, %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorb %cl, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolb %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorb %cl, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolw %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorw %di
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolw (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorw (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolw $7, %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorw $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolw %cl, %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorw %cl, %di
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolw %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorw %cl, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - roll %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorl %edi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 roll (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorl (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - roll $7, %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 roll $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorl $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - roll %cl, %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorl %cl, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 roll %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorl %cl, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolq %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorq %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolq (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorq (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolq $7, %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorq $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rolq %cl, %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - rorq %cl, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rolq %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 rorq %cl, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - sahf
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarb %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlb %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrb %dil
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarb (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlb (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrb (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarb $7, %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlb $7, %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrb $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarb %cl, %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlb %cl, %dil
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrb %cl, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarb %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlb %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrb %cl, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarw %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlw %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrw %di
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarw (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlw (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrw (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarw $7, %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlw $7, %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrw $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarw %cl, %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlw %cl, %di
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrw %cl, %di
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarw %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlw %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrw %cl, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarl %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shll %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrl %edi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarl (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shll (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrl (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarl $7, %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shll $7, %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shll $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrl $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarl %cl, %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shll %cl, %edi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrl %cl, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarl %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shll %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrl %cl, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarq %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlq %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrq %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarq (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlq (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrq (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarq $7, %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlq $7, %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrq $7, (%rax)
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - sarq %cl, %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shlq %cl, %rdi
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - shrq %cl, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sarq %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shlq %cl, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 shrq %cl, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbb $0, %al
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbb $0, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbb $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbb $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbb $7, %al
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbb $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbb %sil, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sbbb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbw $0, %ax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbw $0, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbw $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbw $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbw $511, %ax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbw $511, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbw $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sbbw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbl $0, %eax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbl $0, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbl $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbl $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbl $665536, %eax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbl $665536, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbl $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sbbl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbq $0, %rax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbq $0, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbq $0, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbq $0, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbq $665536, %rax
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbq $665536, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbq $7, (%rax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - sbbq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 sbbq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock sbbq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sbbq (%rax), %rdi
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - scasb %es:(%rdi), %al
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - scasw %es:(%rdi), %ax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - scasl %es:(%rdi), %eax
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - scasq %es:(%rdi), %rax
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - seto %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 seto (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setno %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setno (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setb %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setb (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setae %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setae (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - sete %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 sete (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setne %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setne (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - seta %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 seta (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setbe %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setbe (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - sets %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 sets (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setns %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setns (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setp %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setp (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setnp %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setnp (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setl %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setl (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setge %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setge (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setg %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setg (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - setle %al
-# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 setle (%rax)
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shldw %cl, %si, %di
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shrdw %cl, %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shldw %cl, %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrdw %cl, %si, (%rax)
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shldw $7, %si, %di
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shrdw $7, %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shldw $7, %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrdw $7, %si, (%rax)
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shldl %cl, %esi, %edi
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shrdl %cl, %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shldl %cl, %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrdl %cl, %esi, (%rax)
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shldl $7, %esi, %edi
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shrdl $7, %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shldl $7, %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrdl $7, %esi, (%rax)
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shldq %cl, %rsi, %rdi
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shrdq %cl, %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shldq %cl, %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrdq %cl, %rsi, (%rax)
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shldq $7, %rsi, %rdi
-# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - shrdq $7, %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shldq $7, %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - shrdq $7, %rsi, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - stc
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - std
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - stosb %al, %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - stosw %ax, %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - stosl %eax, %es:(%rdi)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - stosq %rax, %es:(%rdi)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - subb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subb %sil, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subb %sil, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - subb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - subw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - subw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - subl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - subl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - subq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - subq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 subq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock subq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - subq (%rax), %rdi
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testb $7, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testb %sil, %dil
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testb %sil, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testw $511, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testw $7, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testw %si, %di
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testw %si, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testl $665536, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testl $7, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testl %esi, %edi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testl %esi, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testq $665536, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testq $7, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - testq %rsi, %rdi
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - testq %rsi, (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - ud2
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wrmsr
-# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - xaddb %bl, %cl
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xaddb %bl, (%rcx)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xaddb %bl, (%rcx)
-# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - xaddw %bx, %cx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xaddw %ax, (%rbx)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xaddw %ax, (%rbx)
-# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - xaddl %ebx, %ecx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xaddl %eax, (%rbx)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xaddl %eax, (%rbx)
-# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - xaddq %rbx, %rcx
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xaddq %rax, (%rbx)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xaddq %rax, (%rbx)
-# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - - xchgb %bl, %cl
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xchgb %bl, (%rbx)
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lock xchgb %bl, (%rbx)
-# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - - xchgw %bx, %ax
-# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - - xchgw %bx, %cx
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xchgw %ax, (%rbx)
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lock xchgw %ax, (%rbx)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xchgl %ebx, %eax
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xchgl %ebx, %ecx
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xchgl %eax, (%rbx)
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lock xchgl %eax, (%rbx)
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xchgq %rbx, %rax
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xchgq %rbx, %rcx
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xchgq %rax, (%rbx)
-# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - lock xchgq %rax, (%rbx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xlatb
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - xorb $7, %al
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorb $7, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorb $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorb $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorb %sil, %dil
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorb %sil, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorb %sil, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xorb (%rax), %dil
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - xorw $511, %ax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorw $511, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorw $511, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorw $511, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorw $7, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorw $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorw $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorw %si, %di
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorw %si, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorw %si, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xorw (%rax), %di
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - xorl $665536, %eax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorl $665536, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorl $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorl $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorl $7, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorl $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorl $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorl %esi, %edi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorl %esi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorl %esi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xorl (%rax), %edi
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - xorq $665536, %rax
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorq $665536, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorq $665536, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorq $665536, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorq $7, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorq $7, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorq $7, (%rax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - xorq %rsi, %rdi
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 xorq %rsi, (%rax)
-# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 lock xorq %rsi, (%rax)
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - xorq (%rax), %rdi
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcb $0, %al
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcb $0, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcb $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcb $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcb $7, %al
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcb $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcb %sil, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adcb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcw $0, %ax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcw $0, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcw $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcw $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcw $511, %ax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcw $511, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcw $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adcw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcl $0, %eax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcl $0, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcl $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcl $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcl $665536, %eax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcl $665536, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcl $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adcl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcq $0, %rax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcq $0, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcq $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcq $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcq $665536, %rax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcq $665536, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcq $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - adcq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - adcq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock adcq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - adcq (%rax), %rdi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - addb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addb %sil, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addb %sil, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - addw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - addl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - addq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - addq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - addq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock addq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - addq (%rax), %rdi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - andb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andb %sil, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andb %sil, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - andw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - andl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - andq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - andq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - andq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock andq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - andq (%rax), %rdi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - bsfw %si, %di
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - bsrw %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bsfw (%rax), %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bsrw (%rax), %di
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - bsfl %esi, %edi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - bsrl %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bsfl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bsrl (%rax), %edi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - bsfq %rsi, %rdi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - bsrq %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bsfq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - bsrq (%rax), %rdi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - bswapl %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - bswapq %rax
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - btw %si, %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btcw %si, %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btrw %si, %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btsw %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - btw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btcw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btrw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btsw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btcw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btrw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btsw %si, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - btw $7, %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btcw $7, %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btrw $7, %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btsw $7, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - btw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btcw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btrw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btsw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btcw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btrw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btsw $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - btl %esi, %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btcl %esi, %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btrl %esi, %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btsl %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - btl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btcl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btrl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btsl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btcl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btrl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btsl %esi, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - btl $7, %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btcl $7, %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btrl $7, %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btsl $7, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - btl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btcl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btrl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btsl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btcl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btrl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btsl $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - btq %rsi, %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btcq %rsi, %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btrq %rsi, %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btsq %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - btq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btcq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btrq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btsq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btcq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btrq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btsq %rsi, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - btq $7, %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btcq $7, %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btrq $7, %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - btsq $7, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 0.50 0.50 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - btq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btcq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btrq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - btsq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btcq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btrq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock btsq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cbtw
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cwtl
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cltq
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cwtd
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cltd
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cqto
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - clc
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cld
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmc
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpb $7, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpb %sil, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpb (%rax), %dil
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpw $511, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpw $7, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpw %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpw (%rax), %di
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpl $665536, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpl $7, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpl %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpl (%rax), %edi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpq $665536, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpq $7, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - cmpq %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpq (%rax), %rdi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgb %cl, %bl
+# CHECK-NEXT: 0.33 0.33 0.33 3.00 3.00 3.00 3.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: 0.33 0.33 0.33 3.00 3.00 3.00 3.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lock cmpxchgb %cl, (%rbx)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgw %cx, %bx
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - lock cmpxchgw %cx, (%rbx)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgl %ecx, %ebx
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - lock cmpxchgl %ecx, (%rbx)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgq %rcx, %rbx
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - - 3.00 3.00 3.00 3.00 - - - - - - - - - - - - - - - - - - - - lock cmpxchgq %rcx, (%rbx)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - cpuid
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - decb %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - decb (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock decb (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - decw %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - decw (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock decw (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - decl %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - decl (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock decl (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - decq %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - decq (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock decq (%rax)
+# CHECK-NEXT: - - - 9.00 - - - - - - - - - - - - - - - - - - - - - - - divb %dil
+# CHECK-NEXT: 0.33 0.33 0.33 9.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divb (%rax)
+# CHECK-NEXT: - - - 10.00 - - - - - - - - - - - - - - - - - - - - - - - divw %si
+# CHECK-NEXT: 0.33 0.33 0.33 10.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divw (%rax)
+# CHECK-NEXT: - - - 12.00 - - - - - - - - - - - - - - - - - - - - - - - divl %edx
+# CHECK-NEXT: 0.33 0.33 0.33 12.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divl (%rax)
+# CHECK-NEXT: - - - 18.00 - - - - - - - - - - - - - - - - - - - - - - - divq %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 18.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - divq (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - enter $7, $4095
+# CHECK-NEXT: - - - 9.00 - - - - - - - - - - - - - - - - - - - - - - - idivb %dil
+# CHECK-NEXT: 0.33 0.33 0.33 9.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - idivb (%rax)
+# CHECK-NEXT: - - - 10.00 - - - - - - - - - - - - - - - - - - - - - - - idivw %si
+# CHECK-NEXT: 0.33 0.33 0.33 10.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - idivw (%rax)
+# CHECK-NEXT: - - - 12.00 - - - - - - - - - - - - - - - - - - - - - - - idivl %edx
+# CHECK-NEXT: 0.33 0.33 0.33 12.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - idivl (%rax)
+# CHECK-NEXT: - - - 18.00 - - - - - - - - - - - - - - - - - - - - - - - idivq %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 18.00 - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - idivq (%rax)
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - imulb %dil
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulb (%rax)
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - imulw %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulw (%rax)
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imulw %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulw (%rax), %di
+# CHECK-NEXT: - - - - 4.00 - - - - - - - - - - - - - - - - - - - - - - imulw $511, %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulw $511, (%rax), %di
+# CHECK-NEXT: - - - - 4.00 - - - - - - - - - - - - - - - - - - - - - - imulw $7, %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulw $7, (%rax), %di
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - imull %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imull (%rax)
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imull %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imull (%rax), %edi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imull $665536, %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imull $665536, (%rax), %edi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imull $7, %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imull $7, (%rax), %edi
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - imulq %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulq (%rax)
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imulq %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulq (%rax), %rdi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imulq $665536, %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulq $665536, (%rax), %rdi
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - - - - - imulq $7, %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - imulq $7, (%rax), %rdi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - inb $7, %al
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - inb %dx, %al
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - inw $7, %ax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - inw %dx, %ax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - inl $7, %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - inl %dx, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - incb %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - incb (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock incb (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - incw %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - incw (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock incw (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - incl %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - incl (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock incl (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - incq %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - incq (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock incq (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - insb %dx, %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - insw %dx, %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - insl %dx, %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - int $7
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - invlpg (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - invlpga
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - - - - - lahf
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - leave
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - lodsb (%rsi), %al
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - lodsw (%rsi), %ax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - lodsl (%rsi), %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - lodsq (%rsi), %rax
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - - - - - - - - - - - - - - - - loop 0
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - - - - - - - - - - - - - - - - loope 0
+# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - - - - - - - - - - - - - - - - loopne 0
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - movsq (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - movsbw %al, %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - movzbw %al, %di
+# CHECK-NEXT: 1.00 1.00 1.00 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movsbw (%rax), %di
+# CHECK-NEXT: 1.00 1.00 1.00 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movzbw (%rax), %di
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movsbl %al, %edi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movzbl %al, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movsbl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movzbl (%rax), %edi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movsbq %al, %rdi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movzbq %al, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movswl %ax, %edi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movzwl %ax, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movswl (%rax), %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movzwl (%rax), %edi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movswq %ax, %rdi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movzwq %ax, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movswq (%rax), %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - movslq %eax, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - movslq (%rax), %rdi
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - mulb %dil
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulb (%rax)
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - mulw %si
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulw (%rax)
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - mull %edx
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mull (%rax)
+# CHECK-NEXT: - - - - 3.00 - - - - - - - - - - - - - - - - - - - - - - mulq %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 - 3.00 - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - mulq (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - negb %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - negb (%r8)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock negb (%r8)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - negw %si
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - negw (%r9)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock negw (%r9)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - negl %edx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - negl (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock negl (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - negq %rcx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - negq (%r10)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock negq (%r10)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nop
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nopw %di
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nopw (%rcx)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nopl %esi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nopl (%r8)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nopq %rdx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - nopq (%r9)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - notb %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - notb (%r8)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock notb (%r8)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - notw %si
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - notw (%r9)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock notw (%r9)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - notl %edx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - notl (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock notl (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - notq %rcx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - notq (%r10)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock notq (%r10)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - orb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orb %sil, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orb %sil, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - orb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - orw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - orw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - orl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - orl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - orq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - orq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - orq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock orq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - orq (%rax), %rdi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outb %al, $7
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outb %al, %dx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outw %ax, $7
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outw %ax, %dx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outl %eax, $7
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outl %eax, %dx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outsb (%rsi), %dx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outsw (%rsi), %dx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - outsl (%rsi), %dx
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - pause
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rclb %dil
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rcrb %dil
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclb (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrb (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rclb $7, %dil
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrb $7, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclb $7, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrb $7, (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rclb %cl, %dil
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrb %cl, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclb %cl, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrb %cl, (%rax)
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rclw %di
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rcrw %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclw (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrw (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rclw $7, %di
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrw $7, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclw $7, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrw $7, (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rclw %cl, %di
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrw %cl, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclw %cl, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrw %cl, (%rax)
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rcll %edi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rcrl %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcll (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrl (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rcll $7, %edi
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrl $7, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcll $7, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrl $7, (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rcll %cl, %edi
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrl %cl, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcll %cl, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrl %cl, (%rax)
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rclq %rdi
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - - - - - rcrq %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclq (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 1.00 1.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrq (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rclq $7, %rdi
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrq $7, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclq $7, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrq $7, (%rax)
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - - - - - - - - - - - - - - - rclq %cl, %rdi
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - - - - - - - - - - - - - - - rcrq %cl, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rclq %cl, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 4.00 4.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - rcrq %cl, (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdmsr
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdpmc
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdtsc
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - rdtscp
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolb %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorb %dil
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolb (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorb (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolb $7, %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorb $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolb %cl, %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorb %cl, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolb %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorb %cl, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolw %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorw %di
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolw (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorw (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolw $7, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorw $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolw %cl, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorw %cl, %di
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolw %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorw %cl, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - roll %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorl %edi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - roll (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorl (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - roll $7, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - roll $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorl $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - roll %cl, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorl %cl, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - roll %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorl %cl, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolq %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorq %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolq (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorq (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolq $7, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorq $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rolq %cl, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rorq %cl, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rolq %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - rorq %cl, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - - - - - sahf
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarb %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlb %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrb %dil
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarb (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlb (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrb (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarb $7, %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlb $7, %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrb $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarb %cl, %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlb %cl, %dil
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrb %cl, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarb %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlb %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrb %cl, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarw %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlw %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrw %di
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarw (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlw (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrw (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarw $7, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlw $7, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrw $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarw %cl, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlw %cl, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrw %cl, %di
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarw %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlw %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrw %cl, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarl %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shll %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrl %edi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarl (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shll (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrl (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarl $7, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shll $7, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shll $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrl $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarl %cl, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shll %cl, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrl %cl, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarl %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shll %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrl %cl, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarq %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlq %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrq %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarq (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlq (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrq (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarq $7, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlq $7, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrq $7, (%rax)
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - sarq %cl, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shlq %cl, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - shrq %cl, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sarq %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shlq %cl, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 - 0.50 0.50 - - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - shrq %cl, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbb $0, %al
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbb $0, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbb $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbb $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbb $7, %al
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbb $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbb %sil, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.75 1.75 1.75 1.75 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sbbb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbw $0, %ax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbw $0, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbw $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbw $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbw $511, %ax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbw $511, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbw $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sbbw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbl $0, %eax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbl $0, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbl $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbl $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbl $665536, %eax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbl $665536, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbl $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sbbl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbq $0, %rax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbq $0, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbq $0, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbq $0, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbq $665536, %rax
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbq $665536, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbq $7, (%rax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - sbbq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - sbbq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 1.00 1.00 1.00 1.00 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock sbbq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - sbbq (%rax), %rdi
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - scasb %es:(%rdi), %al
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - scasw %es:(%rdi), %ax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - scasl %es:(%rdi), %eax
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - scasq %es:(%rdi), %rax
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - seto %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - seto (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setno %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setno (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setb %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setb (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setae %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setae (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - sete %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - sete (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setne %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setne (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - seta %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - seta (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setbe %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setbe (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - sets %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - sets (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setns %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setns (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setp %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setp (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setnp %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setnp (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setl %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setl (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setge %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setge (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setg %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setg (%rax)
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - - - - - - - - - - - - - - setle %al
+# CHECK-NEXT: 0.33 0.33 0.33 1.00 - - 1.00 - - - - - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - setle (%rax)
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shldw %cl, %si, %di
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shrdw %cl, %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shldw %cl, %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrdw %cl, %si, (%rax)
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shldw $7, %si, %di
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shrdw $7, %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shldw $7, %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrdw $7, %si, (%rax)
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shldl %cl, %esi, %edi
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shrdl %cl, %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shldl %cl, %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrdl %cl, %esi, (%rax)
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shldl $7, %esi, %edi
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shrdl $7, %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shldl $7, %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrdl $7, %esi, (%rax)
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shldq %cl, %rsi, %rdi
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shrdq %cl, %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shldq %cl, %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrdq %cl, %rsi, (%rax)
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shldq $7, %rsi, %rdi
+# CHECK-NEXT: - - - - 1.50 1.50 - - - - - - - - - - - - - - - - - - - - - shrdq $7, %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shldq $7, %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 - 2.00 2.00 - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - shrdq $7, %rsi, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - stc
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - std
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - stosq %rax, %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - subb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subb %sil, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subb %sil, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - subw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - subl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - subq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - subq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - subq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock subq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - subq (%rax), %rdi
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testb $7, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testb %sil, %dil
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testb %sil, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testw $511, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testw $7, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testw %si, %di
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testw %si, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testl $665536, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testl $7, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testl %esi, %edi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testl %esi, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testq $665536, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testq $7, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - testq %rsi, %rdi
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - testq %rsi, (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - ud2
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wrmsr
+# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - - - - - xaddb %bl, %cl
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xaddb %bl, (%rcx)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xaddb %bl, (%rcx)
+# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - - - - - xaddw %bx, %cx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xaddw %ax, (%rbx)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xaddw %ax, (%rbx)
+# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - - - - - xaddl %ebx, %ecx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xaddl %eax, (%rbx)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xaddl %eax, (%rbx)
+# CHECK-NEXT: - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - - - - - - - - - - xaddq %rbx, %rcx
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xaddq %rax, (%rbx)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xaddq %rax, (%rbx)
+# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - - - - - - xchgb %bl, %cl
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xchgb %bl, (%rbx)
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lock xchgb %bl, (%rbx)
+# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - - - - - - xchgw %bx, %ax
+# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - - - - - - - - - - xchgw %bx, %cx
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xchgw %ax, (%rbx)
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lock xchgw %ax, (%rbx)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - xchgl %ebx, %eax
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - xchgl %ebx, %ecx
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xchgl %eax, (%rbx)
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lock xchgl %eax, (%rbx)
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - xchgq %rbx, %rax
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - xchgq %rbx, %rcx
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xchgq %rax, (%rbx)
+# CHECK-NEXT: 0.33 0.33 0.33 0.50 0.50 0.50 0.50 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - lock xchgq %rax, (%rbx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xlatb
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - xorb $7, %al
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorb $7, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorb $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorb $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorb %sil, %dil
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorb %sil, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorb %sil, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xorb (%rax), %dil
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - xorw $511, %ax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorw $511, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorw $511, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorw $511, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorw $7, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorw $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorw $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorw %si, %di
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorw %si, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorw %si, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xorw (%rax), %di
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - xorl $665536, %eax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorl $665536, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorl $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorl $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorl $7, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorl $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorl $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorl %esi, %edi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorl %esi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorl %esi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xorl (%rax), %edi
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - xorq $665536, %rax
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorq $665536, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorq $665536, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorq $665536, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorq $7, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorq $7, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorq $7, (%rax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - xorq %rsi, %rdi
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - xorq %rsi, (%rax)
+# CHECK-NEXT: 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - - - - - 0.67 0.67 0.67 0.33 0.33 0.33 0.50 0.50 - - - - lock xorq %rsi, (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - xorq (%rax), %rdi
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-x87.s
index f366a4798e6bb..4112eabdab2ba 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-x87.s
@@ -379,158 +379,162 @@ fyl2xp1
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 10.67 10.67 10.67 861.50 861.50 861.50 861.50 - 137.00 204.00 120.00 119.00 13.50 13.50 - 24.00 24.00 24.00 15.33 15.33 15.33 13.00 13.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: 10.67 10.67 10.67 861.50 861.50 861.50 861.50 - 137.00 204.00 120.00 119.00 13.50 13.50 - 24.00 24.00 24.00 15.33 15.33 15.33 13.00 13.00 - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - f2xm1
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fabs
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fadd %st(2), %st
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fadds (%ecx)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - faddl (%ecx)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - faddp %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - faddp %st, %st(2)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fiadds (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fiaddl (%ecx)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fbld (%ecx)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fbstp (%eax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fchs
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fnclex
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovb %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovbe %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmove %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovnb %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovnbe %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovne %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovnu %st(1), %st
-# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - fcmovu %st(1), %st
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fcom %st(1)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fcom %st(3)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fcoms (%ecx)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fcoml (%eax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fcomp %st(1)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fcomp %st(3)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fcomps (%ecx)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fcompl (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fcompp
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fcomi %st(3), %st
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fcompi %st(3), %st
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fcos
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fdecstp
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdiv %st(2), %st
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fdivs (%ecx)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fdivl (%eax)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdivp %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdivp %st, %st(2)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fidivs (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fidivl (%eax)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdivr %st(2), %st
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fdivrs (%ecx)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fdivrl (%eax)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdivrp %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - fdivrp %st, %st(2)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fidivrs (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fidivrl (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - ffree %st(0)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - ficoms (%ecx)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - ficoml (%eax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - ficomps (%ecx)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - ficompl (%eax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - filds (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fildl (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fildll (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fincstp
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fninit
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fists (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fistl (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fistps (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fistpl (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fistpll (%eax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fisttps (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fisttpl (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fisttpll (%eax)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fld %st(0)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - flds (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldl (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldt (%eax)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldcw (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fldenv (%eax)
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fld1
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldl2e
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldl2t
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldlg2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldln2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldpi
-# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fldz
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - fmul %st(2), %st
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fmuls (%ecx)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fmull (%eax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - fmulp %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - fmulp %st, %st(2)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fimuls (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fimull (%eax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - fnop
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fpatan
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fprem
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fprem1
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fptan
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - frndint
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - frstor (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fnsave (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fscale
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fsin
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fsincos
-# CHECK-NEXT: - - - - - - - - - 23.00 - - - - - - - - - - - - - fsqrt
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fst %st(0)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fsts (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fstl (%ecx)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fstp %st(0)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fstpl (%edx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fstpl (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 fstpt (%eax)
-# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - fnstcw (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fnstenv (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fnstsw (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - frstor (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wait
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fnsave (%eax)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsub %st(2), %st
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fsubs (%ecx)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fsubl (%eax)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsubp %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsubp %st, %st(2)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fisubs (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fisubl (%eax)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsubr %st(2), %st
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fsubrs (%ecx)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - fsubrl (%eax)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsubrp %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - fsubrp %st, %st(2)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fisubrs (%ecx)
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - fisubrl (%eax)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - ftst
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucom %st(1)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucom %st(3)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucomp %st(1)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucomp %st(3)
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucompp
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucomi %st(3), %st
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucompi %st(3), %st
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wait
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - fxam
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(1)
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(3)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fxrstor (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fxsave (%eax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fxtract
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fyl2x
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fyl2xp1
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - f2xm1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fabs
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fadd %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fadd %st(2), %st
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fadds (%ecx)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - faddl (%ecx)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - faddp %st, %st(2)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fiadds (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fiaddl (%ecx)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fbld (%ecx)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fbstp (%eax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fchs
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fnclex
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovb %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovbe %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmove %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovnb %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovnbe %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovne %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovnu %st(1), %st
+# CHECK-NEXT: - - - 7.00 7.00 7.00 7.00 - - - - - - - - - - - - - - - - - - - - fcmovu %st(1), %st
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fcom %st(1)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fcom %st(3)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fcoms (%ecx)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fcoml (%eax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fcomp %st(1)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fcomp %st(3)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fcomps (%ecx)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fcompl (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fcompp
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fcompi %st(3), %st
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fcos
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fdecstp
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdiv %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdiv %st(2), %st
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fdivs (%ecx)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fdivl (%eax)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdivp %st, %st(2)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fidivs (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fidivl (%eax)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdivr %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdivr %st(2), %st
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fdivrs (%ecx)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fdivrl (%eax)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - - - - - fdivrp %st, %st(2)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fidivrs (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 15.50 15.50 15.50 15.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fidivrl (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - ffree %st(0)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ficoms (%ecx)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ficoml (%eax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ficomps (%ecx)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - ficompl (%eax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - filds (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fildl (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fildll (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fincstp
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fninit
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fists (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fistl (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fistps (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fistpl (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fistpll (%eax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fisttps (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fisttpl (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fisttpll (%eax)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - fld %st(0)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - flds (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldl (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldt (%eax)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldcw (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fldenv (%eax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fld1
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldl2e
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldl2t
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldlg2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldln2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldpi
+# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fldz
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - fmul %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - fmul %st(2), %st
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fmuls (%ecx)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fmull (%eax)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - - fmulp %st, %st(2)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fimuls (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fimull (%eax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - fnop
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fpatan
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fprem
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fprem1
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fptan
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - frndint
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - frstor (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fnsave (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fscale
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fsin
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fsincos
+# CHECK-NEXT: - - - - - - - - - 23.00 - - - - - - - - - - - - - - - - - fsqrt
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - fst %st(0)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fsts (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fstl (%ecx)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - fstp %st(0)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fstpl (%edx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fstpl (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.67 0.67 0.67 - - - 1.00 1.00 - - - - fstpt (%eax)
+# CHECK-NEXT: - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - - - - - - - - - - fnstcw (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fnstenv (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fnstsw (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - frstor (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wait
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fnsave (%eax)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsub %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsub %st(2), %st
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fsubs (%ecx)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fsubl (%eax)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsubp %st, %st(2)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fisubs (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fisubl (%eax)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsubr %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsubr %st(2), %st
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fsubrs (%ecx)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fsubrl (%eax)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - - - fsubrp %st, %st(2)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fisubrs (%ecx)
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 6.00 6.00 6.00 6.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - fisubrl (%eax)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - ftst
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucom %st(1)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucom %st(3)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucomp %st(1)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucomp %st(3)
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucompp
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - - fucompi %st(3), %st
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - wait
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fxam
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - fxch %st(1)
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - - - - - fxch %st(3)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fxrstor (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fxsave (%eax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fxtract
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fyl2x
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - fyl2xp1
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-xsave.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-xsave.s
index 9c2f777c29181..a92667f1f3d02 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-xsave.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-xsave.s
@@ -50,15 +50,19 @@ xsetbv
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 125.00 125.00 125.00 125.00 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - 125.00 125.00 125.00 125.00 - - - - - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - xgetbv
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - xrstor (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - xrstors (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - xsave (%rax)
-# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - xsetbv
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - xgetbv
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - xrstor (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - xrstors (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - xsave (%rax)
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - - - - - xsetbv
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s b/llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
index 67519ab3b094c..92fb45d5ff37b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
@@ -356,152 +356,156 @@ vpxorq %zmm19, %zmm19, %zmm21
# CHECK-NEXT: [15.2] - Zn4Load
# CHECK-NEXT: [16.0] - Zn4Store
# CHECK-NEXT: [16.1] - Zn4Store
+# CHECK-NEXT: [17.0] - Zn4UcodeGS
+# CHECK-NEXT: [17.1] - Zn4UcodeGS
+# CHECK-NEXT: [17.2] - Zn4UcodeGS
+# CHECK-NEXT: [17.3] - Zn4UcodeGS
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - - - - - - 5.00 6.00 6.00 6.00 - - - - - - - - - - -
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
+# CHECK-NEXT: - - - - - - - - 5.00 6.00 6.00 6.00 - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - subl %eax, %eax
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - subq %rax, %rax
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xorl %eax, %eax
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xorq %rax, %rax
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - pcmpgtb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - pcmpgtd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - psubb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - psubd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - psubq %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - psubw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - psubb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - psubd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - psubq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubb %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - andnps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - andnpd %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - pandn %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - pandn %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %zmm2, %zmm2, %zmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnpd %zmm1, %zmm1, %zmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpandnq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - xorps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - xorpd %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - pxor %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - pxor %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxorq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxorq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxorq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %zmm4, %zmm4, %zmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorpd %zmm1, %zmm1, %zmm3
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxorq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxorq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxord %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpxorq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - subl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - subq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - xorl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - xorq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - pcmpgtb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - pcmpgtd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - pcmpgtw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - psubb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - psubd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - psubq %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - psubw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - psubd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - psubq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - psubw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubb %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpsubw %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - andnps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - andnpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - pandn %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - pandn %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnps %zmm2, %zmm2, %zmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vandnpd %zmm1, %zmm1, %zmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpandnq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - - xorps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - xorpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - pxor %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - pxor %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxorq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxorq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxorq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorps %zmm4, %zmm4, %zmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vxorpd %zmm1, %zmm1, %zmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxorq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxorq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxord %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - - vpxorq %zmm19, %zmm19, %zmm21
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
>From 1fc79ca6542556b1ab46bd820d6f74c0a7411f7e Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Thu, 17 Sep 2026 14:44:11 +0530
Subject: [PATCH 3/8] [X86][SchedModel] Correct the VEX VPGATHERQQ micro-op
count on Znver4
Zn4WriteVPGATHERQQX carried 17 micro-ops, which is the count uops.info
measures for the EVEX encoding, VPGATHERQQ (XMM, K, VSIB_XMM). The VEX
encoding it actually prices, VPGATHERQQ (XMM, VSIB_XMM, XMM), retires
18. The entry was given its own VEX port distribution when the AVX2
gathers were split out of the EVEX records, but its micro-op count
stayed behind on the EVEX value.
The two encodings agree on latency and throughput, so the micro-op count
is the only field that separates them. Say that at the entry, so the
divergence is not read as a copying mistake and repaired back.
---
llvm/lib/Target/X86/X86ScheduleZnver4.td | 7 ++++++-
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s | 8 ++++----
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index 8639d86b967fa..496cc3db63a5e 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -668,10 +668,15 @@ def Zn4WriteVPGATHERDDY : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
[8, 8, 9, 8, 7, 2, 33], 21, 42>;
def : InstRW<[Zn4WriteVPGATHERDDY, WriteVecMaskedGatherWriteback],
(instrs VPGATHERDDYrm, VGATHERDPSYrm)>;
+// The VEX form retires one micro-op more than the EVEX form of the same
+// gather: uops.info measures 18 for VPGATHERQQ (XMM, VSIB_XMM, XMM) on Zen 4
+// against 17 for VPGATHERQQ (XMM, K, VSIB_XMM), which Zn4WriteVPGATHERQQZ128
+// carries. The two encodings agree on latency and throughput, so only the
+// micro-op count distinguishes them.
def Zn4WriteVPGATHERQQX : Zn4GSRes<[Zn4AGU012, Zn4Load, Zn4FPLd01,
Zn4FPU01, Zn4FPU0123, Zn4FPU123,
Zn4UcodeGS],
- [2, 2, 3, 2, 1, 1, 16], 12, 17>;
+ [2, 2, 3, 2, 1, 1, 16], 12, 18>;
def : InstRW<[Zn4WriteVPGATHERQQX, WriteVecMaskedGatherWriteback],
(instrs VPGATHERQQrm, VGATHERQPDrm,
VPGATHERDQrm, VGATHERDPDrm)>;
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
index a22b967b2dc14..4a5ff27414249 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
@@ -465,11 +465,11 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 2 1.00 vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: 1 4 1.00 vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * vextracti128 $1, %ymm0, (%rax)
-# CHECK-NEXT: 17 12 4.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 18 12 4.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 24 16 5.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: 24 15 5.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 42 21 8.25 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 17 12 4.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 18 12 4.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 24 16 5.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 18 13 4.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 24 15 5.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
@@ -570,11 +570,11 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 11 1.00 * vpermq $1, (%rax), %ymm2
# CHECK-NEXT: 24 15 5.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 42 21 8.25 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
-# CHECK-NEXT: 17 12 4.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 18 12 4.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 24 16 5.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: 18 13 4.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 24 15 5.00 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: 17 12 4.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
+# CHECK-NEXT: 18 12 4.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 24 16 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 3 3 3.00 vphaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 10 3.00 * vphaddd (%rax), %ymm1, %ymm2
>From 216d404b999af0ef164f78bf1026f0d56f051951 Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Thu, 17 Sep 2026 15:06:41 +0530
Subject: [PATCH 4/8] [X86][SchedModel] Cite the llvm-mca defect behind the
Znver4 FP12 widening
Three gather/scatter entries charge their measured FP1/FP2 micro-ops to
FP1-3 instead of Zn4FPU12. That is a workaround for llvm-mca and not a
claim about Zen 4, but the comment said so without saying which groups
provoke it or where the defect is tracked, which leaves a future reader
no way to tell the workaround from a modelling decision -- and the
uops.info port distribution invites them to repair it back.
Name the shape and the mechanism: Zn4FPU01 and Zn4FPU12 share FP1 with
neither containing the other, both also overlap Zn4FPU123, and llvm-mca
settles that assignment with one greedy pass rather than a matching, so
an earlier group takes the only unit a later one still needed and the
instruction is never issued. Point at llvm/llvm-project#224248, which
carries a reproducer, and say plainly that the eligibility should be
restored once that is fixed.
---
llvm/lib/Target/X86/X86ScheduleZnver4.td | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index 496cc3db63a5e..e5a01b74f7a9f 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -548,11 +548,17 @@ defm : Zn4WriteResInt<WriteVecMaskedGatherWriteback, [], !add(Znver4Model.LoadLa
// total.
//
// Three entries widen their few FP1/FP2 uops to FP1-3 rather than name
-// Zn4FPU12. llvm-mca's resource manager livelocks on a write that holds both
-// Zn4FPU01 and Zn4FPU12 -- partially overlapping groups that each also overlap
-// Zn4FPU123 -- though the scheduler itself handles such a write correctly.
+// Zn4FPU12, which works around a tool limitation and is not a claim about the
+// part. llvm-mca does not terminate on a write that holds both Zn4FPU01 and
+// Zn4FPU12: they share FP1 with neither containing the other, and both also
+// overlap Zn4FPU123. Its resource manager settles such an assignment with one
+// greedy pass rather than a matching, so an earlier group takes the only unit
+// a later one still needed and the instruction never becomes issuable. The
+// machine scheduler is unaffected -- llc emits identical code either way.
// Widening by the one pipe avoids that shape and leaves every modeled
-// throughput here unchanged.
+// throughput here unchanged. Restore the measured Zn4FPU12 eligibility on
+// these three entries once llvm-mca can allocate these groups; see
+// https://github.com/llvm/llvm-project/issues/224248.
//
// Those occupancies alone fall short of the measured throughput, so Zn4UcodeGS
// (declared with the other resources above) carries the fitted residual. It is
>From b012428fdb058abef051d55f012414697cba403a Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Thu, 17 Sep 2026 15:46:15 +0530
Subject: [PATCH 5/8] [X86][SchedModel] Order Znver4's two scatter lowerings as
measured
Sixteen dword lanes reach memory either as one VPSCATTERDDZ or, when the
indices are qwords, as two VPSCATTERQDZ. Znver4 runs the pair slightly
slower than the single instruction -- 21.66 cycles against 21.05, with
one dword lane per cache line -- but the Zn4UcodeGS residual of 46 put
the pair at 23 against 25.75, eleven percent the wrong way. Consumers
that choose between the two lowerings were told the wider index was the
cheaper one.
The residual is a fitted quantity, so the qword-indexed entry is fitted
against the dword-indexed one rather than on its own: 53 reproduces the
measured three percent, and leaves VPSCATTERDDZ, which the Zen cost
tables are calibrated against, untouched. At eight lanes the same value
puts the qword form above VPSCATTERDDZ256, which is also the measured
order (10.93 cycles against 9.26).
Zn4UcodeGS stays the binding column for the entry; its FP4/5 floor of 9
cycles is well below the new 13.25, so no physical column needed
revisiting.
---
llvm/lib/Target/X86/X86ScheduleZnver4.td | 8 +++++++-
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s | 10 +++++-----
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index e5a01b74f7a9f..a0576fb7a5098 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -720,10 +720,16 @@ def Zn4WriteVPSCATTERDDZ256 : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
[8, 8, 8, 10, 1, 3, 3, 49], 14, 48>;
def : InstRW<[Zn4WriteVPSCATTERDDZ256],
(instrs VPSCATTERDDZ256mr, VSCATTERDPSZ256mr)>;
+// Sixteen dword lanes reach memory either as one VPSCATTERDDZ or as two of
+// these, and the two forms have to keep their measured order. Znver4 puts the
+// pair 3% above the single instruction (21.66 cycles against 21.05, one dword
+// lane per cache line); a residual of 46 would put it 11% below instead, which
+// is the wrong side, so the qword-indexed form is fitted against the
+// dword-indexed one rather than on its own.
def Zn4WriteVPSCATTERQDZ : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
Zn4FPU12, Zn4FPU123, Zn4FPU23,
Zn4UcodeGS],
- [8, 8, 8, 10, 2, 3, 3, 46], 14, 48>;
+ [8, 8, 8, 10, 2, 3, 3, 53], 14, 48>;
def : InstRW<[Zn4WriteVPSCATTERQDZ],
(instrs VPSCATTERQDZmr, VSCATTERQPSZmr)>;
def Zn4WriteVPSCATTERDDZ : Zn4GSRes<[Zn4AGU012, Zn4Store, Zn4FPSt, Zn4FP45,
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index 3a5d0ee1d90b8..c147383c3b94c 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -1972,7 +1972,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 89 24 25.75 * vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 48 14 11.00 * vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 48 14 11.50 * vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 48 14 13.25 * vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 48 14 14.00 * vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: 1 8 1.00 * vpshufd $0, (%rax), %zmm19
@@ -2039,7 +2039,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 89 24 25.75 * vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 48 14 11.00 * vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 48 14 11.50 * vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 48 14 13.25 * vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 48 14 14.00 * vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 1 2 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 3 9 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19
@@ -2237,7 +2237,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3]
-# CHECK-NEXT: 53.33 53.33 53.33 - - - - - 234.50 1180.67 751.17 409.67 448.50 448.50 97.00 261.00 261.00 261.00 228.67 228.67 228.67 48.50 48.50 217.50 217.50 217.50 217.50
+# CHECK-NEXT: 53.33 53.33 53.33 - - - - - 234.50 1180.67 751.17 409.67 448.50 448.50 97.00 261.00 261.00 261.00 228.67 228.67 228.67 48.50 48.50 221.00 221.00 221.00 221.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] [17.0] [17.1] [17.2] [17.3] Instructions:
@@ -3033,7 +3033,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 1.00 5.00 6.00 6.00 17.00 17.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 25.75 25.75 25.75 25.75 vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.17 3.17 1.67 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.00 11.00 11.00 11.00 vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.00 3.50 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.50 11.50 11.50 11.50 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.00 3.50 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 13.25 13.25 13.25 13.25 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.33 3.83 1.83 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 14.00 14.00 14.00 14.00 vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - vpshufd $0, %zmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpshufd $0, (%rax), %zmm19
@@ -3100,7 +3100,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 1.00 5.00 6.00 6.00 17.00 17.00 16.00 5.33 5.33 5.33 - - - 8.00 8.00 25.75 25.75 25.75 25.75 vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.17 3.17 1.67 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.00 11.00 11.00 11.00 vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.00 3.50 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 11.50 11.50 11.50 11.50 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.00 3.50 2.50 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 13.25 13.25 13.25 13.25 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: 2.67 2.67 2.67 - - - - - - 2.33 3.83 1.83 9.00 9.00 8.00 2.67 2.67 2.67 - - - 4.00 4.00 14.00 14.00 14.00 14.00 vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - - - - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - - - - - vshuff32x4 $0, (%rax), %zmm17, %zmm19
>From 6a1a1c8a30a9307555820d4b8ee3f16b564d2fcf Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Sat, 5 Sep 2026 16:32:31 +0530
Subject: [PATCH 6/8] [X86][CostModel] Add per-shape gather/scatter cost tables
for AMD znver4+
The X86 cost model prices every masked gather and scatter from one flat
overhead supplied by Intel architects, plus a per-lane memory-op term. On
Znver4 and Znver5 that single number is wrong in both directions at once: it
lets the vectorizer choose a gather where scalarising is faster, and refuses
one where the gather wins. The shapes disagree with each other by more than the
flat term can express.
Add per-shape rows behind a new TuningPreferGSCostTable, set on znver4, znver5
and znver6. Each row holds the vectorize-versus-scalarize break-even TOTAL for
one native-width shape, measured on hardware. The profitability premium is
recovered as that total minus the schedule-model body, so the hardware half
keeps its single source of truth in X86ScheduleZnver4.td and a retune there
moves the body and the derived premium together, leaving the calibrated total
where the measurement put it.
The two halves scale on different counts. The body is a hardware term and
follows the instructions CodeGen emits. The premium is the margin against
scalarising the lanes, so it follows the lanes: a shape twice a register wide
pays it twice, because the scalar alternative it is measured against grew too
and because the parts do not overlap -- Znver4 holds the per-operation cost of
a 512-bit qword gather flat at 9.6 to 9.9 cycles with two to five in flight.
Lanes that split only because the index is wider do not pay it again, since the
same lanes are gathered either way.
Emitted instructions are counted as CodeGen emits them, including the
asymmetry over a trailing part with no live lanes: it survives only for a
scatter under a variable mask, where it becomes a store under a zeroed mask.
All of this sits in getZenGSVectorCost, reached only through the tuning
feature on an AVX-512 target. The table and the schedule-model body both
require AVX-512, so the dispatch requires it too, leaving the bit inert on
a target it cannot serve rather than routing it to a fallback that counts
parts differently. No other subtarget's cost moves, on any cost kind.
---
llvm/docs/ReleaseNotes.md | 5 +
llvm/lib/Target/X86/X86.td | 15 +-
.../lib/Target/X86/X86TargetTransformInfo.cpp | 407 ++++-
llvm/lib/Target/X86/X86TargetTransformInfo.h | 21 +-
.../masked-gather-scatter-cost-edge-cases.ll | 310 ++++
.../masked-gather-scatter-cost-table-novl.ll | 91 ++
.../masked-gather-scatter-cost-table-scope.ll | 109 ++
.../X86/masked-gather-scatter-cost-table.ll | 1328 +++++++++++++++++
.../X86/masked_gather_scatter_irregular.ll | 44 +
.../gather-scatter-cost-table-decisions.ll | 164 ++
.../SLPVectorizer/X86/gather-cost-znver4.ll | 86 ++
11 files changed, 2538 insertions(+), 42 deletions(-)
create mode 100644 llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
create mode 100644 llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
create mode 100644 llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll
create mode 100644 llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
create mode 100644 llvm/test/CodeGen/X86/masked_gather_scatter_irregular.ll
create mode 100644 llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll
create mode 100644 llvm/test/Transforms/SLPVectorizer/X86/gather-cost-znver4.ll
diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md
index ef90a1f1f1c41..049db72db6e10 100644
--- a/llvm/docs/ReleaseNotes.md
+++ b/llvm/docs/ReleaseNotes.md
@@ -227,6 +227,11 @@ Makes programs 10x faster by doing Special New Thing.
### Changes to the X86 Backend
+* The cost model now uses per-shape masked gather/scatter costs measured on
+ AMD Zen hardware for `znver4`, `znver5`, and `znver6` (enabled via the
+ `prefer-gs-cost-table` tuning feature), replacing the flat AVX-512 overhead
+ for those targets.
+
### Changes to the OCaml bindings
### Changes to the Python bindings
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 5786c659b0f98..cd043a3f5758e 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -804,6 +804,18 @@ def TuningFastGather
"Indicates if gather is reasonably fast (this is true for Skylake client and all AVX-512 CPUs)",
[], InlineIgnore>;
+// Use AMD Zen-tuned cost tables for masked gather/scatter intrinsics in the
+// X86 TargetTransformInfo cost model. Refines the flat overhead used by other
+// AVX-512 targets with per-element-type/per-VL costs measured on znver4 and
+// znver5. Inherited automatically by every znver4+ CPU via ZN4Tuning; not
+// applied to pre-AVX-512 Zen parts (znver1..3), which take the scalarise
+// path for masked gather anyway.
+def TuningPreferGSCostTable
+ : SubtargetFeature<"prefer-gs-cost-table",
+ "HasPreferGSCostTable", "true",
+ "Use per-shape gather/scatter cost tables in the cost model",
+ [], InlineIgnore>;
+
// Generate vpdpwssd instead of vpmaddwd+vpaddd sequence.
def TuningFastDPWSSD
: SubtargetFeature<
@@ -1737,7 +1749,8 @@ def ProcessorFeatures {
list<SubtargetFeature> ZN4AdditionalTuning = [TuningFastDPWSSD,
TuningCOMPRESSFalseDeps,
- TuningEXPANDFalseDeps];
+ TuningEXPANDFalseDeps,
+ TuningPreferGSCostTable];
list<SubtargetFeature> ZN4Tuning =
!listremove(!listconcat(ZN3Tuning, ZN4AdditionalTuning),
[TuningSlowVecMaskStore]);
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
index 8e0cf1fc5a153..c434b67484a6b 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
@@ -57,6 +57,8 @@
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/IntrinsicInst.h"
+#include "llvm/MC/MCSchedule.h"
+#include <cmath>
#include <optional>
using namespace llvm;
@@ -6588,11 +6590,208 @@ InstructionCost X86TTIImpl::getCFInstrCost(unsigned Opcode,
return TTI::TCC_Free;
}
+// Pick a representative masked gather/scatter opcode for a data and index
+// shape, used to read the body cost from the schedule model. The integer and FP
+// variants of a shape share a scheduling class, so the integer form is
+// returned. Returns 0 for unsupported shapes.
+static unsigned getAVX512GSRepresentativeOpcode(bool IsLoad, MVT VT,
+ unsigned IndexBits) {
+ if (!VT.isVector())
+ return 0;
+ unsigned NumElts = VT.getVectorNumElements();
+ unsigned EltBits = VT.getScalarSizeInBits();
+ if (IndexBits != 32 && IndexBits != 64)
+ return 0;
+
+ if (IsLoad) {
+ if (EltBits == 32) {
+ if (IndexBits == 32)
+ return NumElts == 4 ? X86::VPGATHERDDZ128rm
+ : NumElts == 8 ? X86::VPGATHERDDZ256rm
+ : NumElts == 16 ? X86::VPGATHERDDZrm
+ : 0;
+ return NumElts == 4 ? X86::VPGATHERQDZ256rm
+ : NumElts == 8 ? X86::VPGATHERQDZrm
+ : 0;
+ }
+ if (EltBits == 64) {
+ if (IndexBits == 32)
+ return NumElts == 4 ? X86::VPGATHERDQZ256rm
+ : NumElts == 8 ? X86::VPGATHERDQZrm
+ : 0;
+ return NumElts == 4 ? X86::VPGATHERQQZ256rm
+ : NumElts == 8 ? X86::VPGATHERQQZrm
+ : 0;
+ }
+ return 0;
+ }
+ if (EltBits == 32) {
+ if (IndexBits == 32)
+ return NumElts == 4 ? X86::VPSCATTERDDZ128mr
+ : NumElts == 8 ? X86::VPSCATTERDDZ256mr
+ : NumElts == 16 ? X86::VPSCATTERDDZmr
+ : 0;
+ return NumElts == 4 ? X86::VPSCATTERQDZ256mr
+ : NumElts == 8 ? X86::VPSCATTERQDZmr
+ : 0;
+ }
+ if (EltBits == 64) {
+ if (IndexBits == 32)
+ return NumElts == 4 ? X86::VPSCATTERDQZ256mr
+ : NumElts == 8 ? X86::VPSCATTERDQZmr
+ : 0;
+ return NumElts == 4 ? X86::VPSCATTERQQZ256mr
+ : NumElts == 8 ? X86::VPSCATTERQQZmr
+ : 0;
+ }
+ return 0;
+}
+
+// Read an opcode's reciprocal-throughput body cost from this subtarget's
+// schedule model, or nullopt (caller falls back) when there is no
+// per-instruction model, the class is invalid or a variant (variants need a
+// real MachineInstr), or there is no real per-shape override.
+static std::optional<unsigned> getSchedModelGSBody(unsigned Opc,
+ const X86Subtarget *ST) {
+ const MCSchedModel &SM = ST->getSchedModel();
+ if (!SM.hasInstrSchedModel())
+ return std::nullopt;
+
+ const auto *TII = ST->getInstrInfo();
+ auto ReciprocalThroughputOf = [&](unsigned Opcode) -> std::optional<double> {
+ unsigned SClassID = TII->get(Opcode).getSchedClass();
+ const MCSchedClassDesc *SCDesc = SM.getSchedClassDesc(SClassID);
+ if (!SCDesc || !SCDesc->isValid() || SCDesc->isVariant())
+ return std::nullopt;
+ return MCSchedModel::getReciprocalThroughput(*ST, *SCDesc);
+ };
+
+ std::optional<double> RThru = ReciprocalThroughputOf(Opc);
+ if (!RThru)
+ return std::nullopt;
+
+ // A valid class alone is not enough: an unmodelled op also has one, and
+ // would round to 0. The cheapest a real gather/scatter can be is a plain
+ // vector load, so anything at or below the load's throughput is the generic
+ // default in disguise. Reading the baseline from the model avoids a magic
+ // floor.
+ std::optional<double> LoadRThru = ReciprocalThroughputOf(X86::VMOVUPSZrm);
+ if (!LoadRThru || *RThru <= *LoadRThru)
+ return std::nullopt;
+
+ return static_cast<unsigned>(std::lround(*RThru));
+}
+
+// Hardware body cost of a single native-width masked gather/scatter, read live
+// from the schedule model; getZenGSCalibratedTotal supplies the calibrated
+// total the premium is derived from.
+std::optional<unsigned>
+X86TTIImpl::getModeledGSInstrCost(bool IsLoad, Type *SrcVTy, unsigned IndexSize,
+ TTI::TargetCostKind CostKind,
+ bool WidenWithoutVLX) const {
+ if (CostKind != TTI::TCK_RecipThroughput || !ST->hasAVX512() ||
+ !ST->hasPreferGSCostTable() || !SrcVTy)
+ return std::nullopt;
+ EVT VT = TLI->getValueType(DL, SrcVTy);
+ if (!VT.isSimple())
+ return std::nullopt;
+ // An encoding whose data and index operands are both sub-512-bit requires
+ // AVX512VL. A v8i32 operation with i64 indices still uses a full zmm index
+ // and therefore does not. Without VLX there is no narrow encoding to fall
+ // back to: CodeGen widens the operation to the 512-bit form and masks off
+ // the lanes it does not want, so charge the body of the instruction it
+ // really emits rather than leaving the shape unpriced.
+ //
+ // Callers recovering the calibrated premium ask for the shape as calibrated,
+ // where VLX was present. The premium is a property of the measurement, not
+ // of the encoding this subtarget happens to have available.
+ unsigned IndexVectorBits = IndexSize * VT.getVectorNumElements();
+ MVT ShapeVT = VT.getSimpleVT();
+ if (WidenWithoutVLX && ShapeVT.getSizeInBits() < 512 &&
+ IndexVectorBits < 512 && !ST->hasVLX()) {
+ MVT EltVT = ShapeVT.getVectorElementType();
+ ShapeVT = MVT::getVectorVT(EltVT, 512 / EltVT.getSizeInBits());
+ }
+ unsigned Opc = getAVX512GSRepresentativeOpcode(IsLoad, ShapeVT, IndexSize);
+ if (!Opc)
+ return std::nullopt;
+ return getSchedModelGSBody(Opc, ST);
+}
+
+// Per-shape vectorize-vs-scalarize break-even TOTAL for AMD znver4+
+// gather/scatter (TuningPreferGSCostTable): the cost at which the
+// LoopVectorizer stops preferring the vectorised operation, as measured. The
+// profitability premium is what remains once the schedule-model body from
+// getModeledGSInstrCost is taken out, so the hardware half keeps its single
+// source of truth in X86ScheduleZnver4.td while the calibrated total stays
+// where the measurement put it.
+//
+// Storing the total rather than the premium is what makes that true: a
+// schedule-model retune moves the body and the derived premium together and
+// needs no edit here, whatever it does to the modeled throughputs.
+//
+// A row prices one native-width operation. Totals were calibrated on a Zen5
+// 9950X against a body term now measured on Znver4 (Ryzen 5 8645HS).
+//
+// The rows are keyed on the data shape alone, while the body varies with the
+// index width, so a total can be exact for only one index form. It is exact
+// for the dword form: the calibration loop loaded a 32-bit index and
+// sign-extended it, which is what the vectoriser sees in the idiom these rows
+// exist to arbitrate. A gather's qword form has a larger body of its own and
+// lands at or above the calibrated total -- the safe direction, since a wider
+// index is the more expensive lowering. Four scatter rows land below it
+// instead (v16i32 and v16f32 at 29 against 31, v4i32 and v4f32 at 18 against
+// 19), because Znver4Model prices the two half-width qword scatters CodeGen
+// emits below the single full-width dword one; that is a question for the
+// schedule model rather than a calibration error.
+//
+// Keyed by native shape (VF <= 16 for 32-bit, <= 8 for 64-bit).
+std::optional<unsigned>
+X86TTIImpl::getZenGSCalibratedTotal(bool IsLoad, Type *SrcVTy) const {
+ if (!ST->hasPreferGSCostTable() || !ST->hasAVX512() || !SrcVTy)
+ return std::nullopt;
+ // Each value sits on the intended side of the measured flip: above it where
+ // the scalarised lowering wins (all i64 shapes, and v4i32/v4f32 scatter),
+ // below it where the masked operation does.
+ //
+ // i64 sits far above f64 (32 vs 25 at VF 8) by design: the scalarised i64
+ // alternative runs on the integer pipes, a much faster baseline than f64 on
+ // the FP pipes, so those rows are set above their flip to keep the
+ // vectoriser scalar (cf. llvm/llvm-project#198850).
+ static const CostTblEntry ZenGatherTotalTable[] = {
+ {ISD::LOAD, MVT::v4i32, 12}, {ISD::LOAD, MVT::v8i32, 25},
+ {ISD::LOAD, MVT::v16i32, 35}, {ISD::LOAD, MVT::v4f32, 11},
+ {ISD::LOAD, MVT::v8f32, 25}, {ISD::LOAD, MVT::v16f32, 35},
+ {ISD::LOAD, MVT::v4f64, 11}, {ISD::LOAD, MVT::v8f64, 25},
+ {ISD::LOAD, MVT::v4i64, 15}, {ISD::LOAD, MVT::v8i64, 32},
+ };
+ static const CostTblEntry ZenScatterTotalTable[] = {
+ {ISD::STORE, MVT::v4i32, 19}, {ISD::STORE, MVT::v8i32, 25},
+ {ISD::STORE, MVT::v16i32, 31}, {ISD::STORE, MVT::v4f32, 19},
+ {ISD::STORE, MVT::v8f32, 25}, {ISD::STORE, MVT::v16f32, 31},
+ {ISD::STORE, MVT::v4f64, 10}, {ISD::STORE, MVT::v8f64, 20},
+ {ISD::STORE, MVT::v4i64, 15}, {ISD::STORE, MVT::v8i64, 32},
+ };
+ // Any shape not in the table (e.g. the VF<4 forms the auto-vectoriser
+ // force-scalarises) returns nullopt for the flat-overhead path, not an error.
+ EVT VT = TLI->getValueType(DL, SrcVTy);
+ if (!VT.isSimple())
+ return std::nullopt;
+ const int ISDOpc = IsLoad ? ISD::LOAD : ISD::STORE;
+ ArrayRef<CostTblEntry> Table =
+ IsLoad ? ZenGatherTotalTable : ZenScatterTotalTable;
+ if (const auto *E = CostTableLookup(Table, ISDOpc, VT.getSimpleVT()))
+ return E->Cost;
+ return std::nullopt;
+}
+
int X86TTIImpl::getGatherOverhead() const {
- // Some CPUs have more overhead for gather. The specified overhead is relative
- // to the Load operation. "2" is the number provided by Intel architects. This
- // parameter is used for cost estimation of Gather Op and comparison with
- // other alternatives.
+ // Flat, shape-independent gather break-even overhead relative to a plain
+ // Load. "2" is the number provided by Intel architects; the per-shape AMD
+ // znver4+ break-even lives in getZenGSCalibratedTotal
+ // instead. Gather, unlike scatter, also has a VEX form, so AVX2 targets that
+ // report it as fast are charged the same overhead; anything else is priced
+ // out of reach.
// TODO: Remove the explicit hasAVX512()?, That would mean we would only
// enable gather with a -march.
if (ST->hasAVX512() || (ST->hasAVX2() && ST->hasFastGather()))
@@ -6602,56 +6801,184 @@ int X86TTIImpl::getGatherOverhead() const {
}
int X86TTIImpl::getScatterOverhead() const {
+ // As getGatherOverhead, except that there is no VEX scatter, so AVX-512 is
+ // the only encoding that can reach the break-even overhead.
if (ST->hasAVX512())
return 2;
return 1024;
}
+// Try to reduce index size from 64 bit (default for GEP)
+// to 32. It is essential for VF 16. If the index can't be reduced to 32, the
+// operation will use 16 x 64 indices which do not fit in a zmm and needs
+// to split. Also check that the base pointer is the same for all lanes,
+// and that there's at most one variable index.
+static unsigned getGSIndexSizeInBits(const Value *Ptr, unsigned PtrSizeInBits) {
+ unsigned IndexSize = PtrSizeInBits;
+ const GetElementPtrInst *GEP = dyn_cast_or_null<GetElementPtrInst>(Ptr);
+ if (IndexSize < 64 || !GEP)
+ return IndexSize;
+
+ unsigned NumOfVarIndices = 0;
+ const Value *Ptrs = GEP->getPointerOperand();
+ if (Ptrs->getType()->isVectorTy() && !getSplatValue(Ptrs))
+ return IndexSize;
+ for (unsigned I = 1, E = GEP->getNumOperands(); I != E; ++I) {
+ if (isa<Constant>(GEP->getOperand(I)))
+ continue;
+ Type *IndxTy = GEP->getOperand(I)->getType();
+ if (auto *IndexVTy = dyn_cast<VectorType>(IndxTy))
+ IndxTy = IndexVTy->getElementType();
+ if ((IndxTy->getPrimitiveSizeInBits() == 64 &&
+ !isa<SExtInst>(GEP->getOperand(I))) ||
+ ++NumOfVarIndices > 1)
+ return IndexSize; // 64
+ }
+ return (unsigned)32;
+}
+
+// Price a gather or scatter on a subtarget carrying TuningPreferGSCostTable
+// (AMD znver4+) from the per-shape rows and the schedule model. Reached only
+// through the feature test in getGSVectorCost, so nothing here can move the
+// cost of any other target.
+InstructionCost X86TTIImpl::getZenGSVectorCost(unsigned Opcode,
+ TTI::TargetCostKind CostKind,
+ Type *SrcVTy, const Value *Ptr,
+ bool VariableMask,
+ Align Alignment,
+ unsigned AddressSpace) const {
+ unsigned VF = cast<FixedVectorType>(SrcVTy)->getNumElements();
+
+ // The index starts out as wide as the pointers being gathered, which is a
+ // property of the address space they live in. Asking the data layout without
+ // one answers for address space 0, which is not necessarily theirs.
+ unsigned PtrSizeInBits = DL.getPointerSizeInBits(
+ Ptr && Ptr->getType()->isPtrOrPtrVectorTy()
+ ? Ptr->getType()->getScalarType()->getPointerAddressSpace()
+ : AddressSpace);
+
+ // The generic model narrows only at VF 16+, where doing so avoids a
+ // legalization split. This path needs the real index width at every VF, to
+ // select the matching DQ/QQ (or DD/QD) instruction class.
+ unsigned IndexSize = ST->hasAVX512()
+ ? getGSIndexSizeInBits(Ptr, PtrSizeInBits)
+ : PtrSizeInBits;
+
+ auto *IndexVTy = FixedVectorType::get(
+ IntegerType::get(SrcVTy->getContext(), IndexSize), VF);
+ std::pair<InstructionCost, MVT> IdxsLT = getTypeLegalizationCost(IndexVTy);
+ std::pair<InstructionCost, MVT> SrcLT = getTypeLegalizationCost(SrcVTy);
+ InstructionCost::CostType SplitFactor =
+ std::max(IdxsLT.first, SrcLT.first).getValue();
+ const bool IsLoad = Opcode == Instruction::Load;
+
+ // Take the element width from the legalized type, not the IR one: a pointer
+ // element gathers as its integer equivalent (the same VPGATHERQQ), but
+ // reports a primitive size of 0.
+ EVT SrcEVT = TLI->getValueType(DL, SrcVTy);
+ unsigned EltBits = SrcEVT.isVector() ? SrcEVT.getScalarSizeInBits() : 0;
+
+ // How CodeGen decomposes the operation. Each part is as wide as the widest
+ // register CodeGen will really use, and holds as many lanes as the wider of
+ // the data and index element allows. The register width is not simply the
+ // largest the subtarget has: a function compiled with
+ // -mprefer-vector-width=256 carries prefer-vector-width=256 together with
+ // min-legal-vector-width=0, and CodeGen then uses no zmm at all, emitting a
+ // v16i32 gather as two ymm gathers rather than one zmm gather.
+ //
+ // A trailing part with no live lanes then survives only for a scatter under
+ // a variable mask, where it becomes a store under a zeroed mask: a v24i32
+ // scatter emits four instructions. A gather's trailing part is dead and is
+ // folded away, and so is a scatter's once the mask is known all-true, both
+ // leaving three.
+ unsigned PartVF = 0;
+ const unsigned MaxRegBits = ST->useAVX512Regs() ? 512 : 256;
+ InstructionCost::CostType EmittedParts = SplitFactor;
+ if (EltBits) {
+ PartVF = std::max<unsigned>(
+ 1, std::min<unsigned>(PowerOf2Ceil(VF),
+ MaxRegBits / std::max(EltBits, IndexSize)));
+ unsigned Parts = divideCeil(VF, PartVF);
+ EmittedParts = IsLoad || !VariableMask ? Parts : PowerOf2Ceil(Parts);
+ }
+
+ if (CostKind == TTI::TCK_CodeSize)
+ return EmittedParts;
+
+ // Decompose the operation into the legal power-of-two shape that CodeGen
+ // emits, then price that shape from its calibrated row and the schedule
+ // model, once per emitted part.
+ if (CostKind == TTI::TCK_RecipThroughput && ST->hasAVX512() && PartVF &&
+ (EltBits == 32 || EltBits == 64)) {
+ Type *EltTy = SrcVTy->getScalarType();
+ auto *PartVTy = FixedVectorType::get(EltTy, PartVF);
+ std::optional<unsigned> Body =
+ getModeledGSInstrCost(IsLoad, PartVTy, IndexSize, CostKind);
+
+ // The body is a hardware term and follows the instructions CodeGen emits.
+ // The premium does not: it is the margin against scalarising the lanes, so
+ // it follows the lanes. Both scale, but on different counts.
+ //
+ // Lanes beyond one register's worth pay it again, because the scalar
+ // alternative they are measured against grew too, and because the parts do
+ // not overlap -- Znver4 holds the per-operation cost of a 512-bit qword
+ // gather flat at 9.6 to 9.9 cycles with two to five in flight, the
+ // serialisation Zn4UcodeGS models. Lanes that split only because the index
+ // is wider do not: the same sixteen lanes are gathered either way, and the
+ // measured bodies of the two index forms sit within two points of each
+ // other, so charging the premium per instruction would invent a 19-point
+ // gap between two spellings of one operation.
+ unsigned NativeVF = std::max<unsigned>(
+ 1, std::min<unsigned>(PowerOf2Ceil(VF), MaxRegBits / EltBits));
+ auto *NativeVTy = FixedVectorType::get(EltTy, NativeVF);
+ InstructionCost::CostType LaneGroups = divideCeil(VF, NativeVF);
+ std::optional<unsigned> Total = getZenGSCalibratedTotal(IsLoad, NativeVTy);
+
+ // The row pins the total for one native-width operation indexed by a
+ // dword, the form it was calibrated against. Recovering the premium from
+ // that same form is what keeps a schedule-model retune out of this table:
+ // the body moves, the premium absorbs it, and the calibrated total holds.
+ std::optional<unsigned> NativeBody =
+ getModeledGSInstrCost(IsLoad, NativeVTy, /*IndexSize=*/32, CostKind,
+ /*WidenWithoutVLX=*/false);
+ if (Body && Total && NativeBody) {
+ InstructionCost::CostType Premium =
+ *Total > *NativeBody ? *Total - *NativeBody : 0;
+ return LaneGroups * Premium + EmittedParts * *Body;
+ }
+ }
+
+ // A shape with no row -- a sub-dword element, or a cost kind the rows do not
+ // supply -- falls back to the flat break-even overhead plus body, charged
+ // once per emitted part.
+ const int GSOverhead = IsLoad ? getGatherOverhead() : getScatterOverhead();
+ return SplitFactor * GSOverhead +
+ VF * getMemoryOpCost(Opcode, SrcVTy->getScalarType(), Alignment,
+ AddressSpace, CostKind);
+}
+
// Return an average cost of Gather / Scatter instruction, maybe improved later.
InstructionCost X86TTIImpl::getGSVectorCost(unsigned Opcode,
TTI::TargetCostKind CostKind,
Type *SrcVTy, const Value *Ptr,
- Align Alignment,
+ bool VariableMask, Align Alignment,
unsigned AddressSpace) const {
assert(isa<VectorType>(SrcVTy) && "Unexpected type in getGSVectorCost");
- unsigned VF = cast<FixedVectorType>(SrcVTy)->getNumElements();
- // Try to reduce index size from 64 bit (default for GEP)
- // to 32. It is essential for VF 16. If the index can't be reduced to 32, the
- // operation will use 16 x 64 indices which do not fit in a zmm and needs
- // to split. Also check that the base pointer is the same for all lanes,
- // and that there's at most one variable index.
- auto getIndexSizeInBits = [](const Value *Ptr, const DataLayout &DL) {
- unsigned IndexSize = DL.getPointerSizeInBits();
- const GetElementPtrInst *GEP = dyn_cast_or_null<GetElementPtrInst>(Ptr);
- if (IndexSize < 64 || !GEP)
- return IndexSize;
-
- unsigned NumOfVarIndices = 0;
- const Value *Ptrs = GEP->getPointerOperand();
- if (Ptrs->getType()->isVectorTy() && !getSplatValue(Ptrs))
- return IndexSize;
- for (unsigned I = 1, E = GEP->getNumOperands(); I != E; ++I) {
- if (isa<Constant>(GEP->getOperand(I)))
- continue;
- Type *IndxTy = GEP->getOperand(I)->getType();
- if (auto *IndexVTy = dyn_cast<VectorType>(IndxTy))
- IndxTy = IndexVTy->getElementType();
- if ((IndxTy->getPrimitiveSizeInBits() == 64 &&
- !isa<SExtInst>(GEP->getOperand(I))) ||
- ++NumOfVarIndices > 1)
- return IndexSize; // 64
- }
- return (unsigned)32;
- };
+ if (ST->hasPreferGSCostTable() && ST->hasAVX512())
+ return getZenGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, VariableMask,
+ Alignment, AddressSpace);
+
+ unsigned VF = cast<FixedVectorType>(SrcVTy)->getNumElements();
// Trying to reduce IndexSize to 32 bits for vector 16.
// By default the IndexSize is equal to pointer size.
- unsigned IndexSize = (ST->hasAVX512() && VF >= 16)
- ? getIndexSizeInBits(Ptr, DL)
- : DL.getPointerSizeInBits();
+ unsigned IndexSize =
+ (ST->hasAVX512() && VF >= 16)
+ ? getGSIndexSizeInBits(Ptr, DL.getPointerSizeInBits())
+ : DL.getPointerSizeInBits();
auto *IndexVTy = FixedVectorType::get(
IntegerType::get(SrcVTy->getContext(), IndexSize), VF);
@@ -6664,7 +6991,7 @@ InstructionCost X86TTIImpl::getGSVectorCost(unsigned Opcode,
auto *SplitSrcTy =
FixedVectorType::get(SrcVTy->getScalarType(), VF / SplitFactor);
return SplitFactor * getGSVectorCost(Opcode, CostKind, SplitSrcTy, Ptr,
- Alignment, AddressSpace);
+ VariableMask, Alignment, AddressSpace);
}
// If we didn't split, this will be a single gather/scatter instruction.
@@ -6701,8 +7028,8 @@ X86TTIImpl::getGatherScatterOpCost(const MemIntrinsicCostAttributes &MICA,
assert(SrcVTy->isVectorTy() && "Unexpected data type for Gather/Scatter");
unsigned AddressSpace = MICA.getAddressSpace();
- return getGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, Alignment,
- AddressSpace);
+ return getGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, MICA.getVariableMask(),
+ Alignment, AddressSpace);
}
bool X86TTIImpl::isLSRCostLess(const TargetTransformInfo::LSRCost &C1,
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.h b/llvm/lib/Target/X86/X86TargetTransformInfo.h
index 422e4aad2316c..56b2c82124453 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.h
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.h
@@ -271,10 +271,29 @@ class X86TTIImpl final : public BasicTTIImplBase<X86TTIImpl> {
bool supportsGather() const;
InstructionCost getGSVectorCost(unsigned Opcode, TTI::TargetCostKind CostKind,
Type *DataTy, const Value *Ptr,
- Align Alignment, unsigned AddressSpace) const;
+ bool VariableMask, Align Alignment,
+ unsigned AddressSpace) const;
+ InstructionCost getZenGSVectorCost(unsigned Opcode,
+ TTI::TargetCostKind CostKind, Type *DataTy,
+ const Value *Ptr, bool VariableMask,
+ Align Alignment,
+ unsigned AddressSpace) const;
int getGatherOverhead() const;
int getScatterOverhead() const;
+ // Per-shape vectorize-vs-scalarize break-even TOTAL for AMD znver4+
+ // gather/scatter, as calibrated. The profitability premium is this minus the
+ // schedule-model body from getModeledGSInstrCost.
+ std::optional<unsigned> getZenGSCalibratedTotal(bool IsLoad,
+ Type *SrcVTy) const;
+ // Hardware body cost of a single (non-split) masked gather/scatter, read
+ // live from this subtarget's schedule model, or nullopt to fall back.
+ // WidenWithoutVLX prices the wider instruction CodeGen emits for a narrow
+ // shape when AVX512VL is absent; clear it to ask for the shape as written.
+ std::optional<unsigned>
+ getModeledGSInstrCost(bool IsLoad, Type *SrcVTy, unsigned IndexSize,
+ TTI::TargetCostKind CostKind,
+ bool WidenWithoutVLX = true) const;
/// @}
};
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
new file mode 100644
index 0000000000000..74cba5171faaf
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
@@ -0,0 +1,310 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 6
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu \
+; RUN: -passes="print<cost-model>" -disable-output -cost-kind=throughput \
+; RUN: -mcpu=znver4 2>&1 | FileCheck %s --check-prefix=THROUGHPUT
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu \
+; RUN: -passes="print<cost-model>" -disable-output -cost-kind=code-size \
+; RUN: -mcpu=znver4 2>&1 | FileCheck %s --check-prefix=SIZE
+
+; Irregular widths are padded or split into the power-of-two gather shapes
+; emitted by CodeGen instead of falling back to the flat generic cost.
+
+define <3 x i32> @gather_v3i32(<3 x ptr> %ptrs, <3 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v3i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; SIZE-LABEL: 'gather_v3i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <3 x i32> %v
+;
+ %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> %ptrs, i32 4, <3 x i1> %mask, <3 x i32> poison)
+ ret <3 x i32> %v
+}
+
+define <5 x i32> @gather_v5i32(<5 x ptr> %ptrs, <5 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v5i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <5 x i32> @llvm.masked.gather.v5i32.v5p0(<5 x ptr> align 4 %ptrs, <5 x i1> %mask, <5 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <5 x i32> %v
+;
+; SIZE-LABEL: 'gather_v5i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <5 x i32> @llvm.masked.gather.v5i32.v5p0(<5 x ptr> align 4 %ptrs, <5 x i1> %mask, <5 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <5 x i32> %v
+;
+ %v = call <5 x i32> @llvm.masked.gather.v5i32.v5p0(<5 x ptr> %ptrs, i32 4, <5 x i1> %mask, <5 x i32> poison)
+ ret <5 x i32> %v
+}
+
+define <6 x i32> @gather_v6i32(<6 x ptr> %ptrs, <6 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v6i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <6 x i32> @llvm.masked.gather.v6i32.v6p0(<6 x ptr> align 4 %ptrs, <6 x i1> %mask, <6 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <6 x i32> %v
+;
+; SIZE-LABEL: 'gather_v6i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <6 x i32> @llvm.masked.gather.v6i32.v6p0(<6 x ptr> align 4 %ptrs, <6 x i1> %mask, <6 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <6 x i32> %v
+;
+ %v = call <6 x i32> @llvm.masked.gather.v6i32.v6p0(<6 x ptr> %ptrs, i32 4, <6 x i1> %mask, <6 x i32> poison)
+ ret <6 x i32> %v
+}
+
+define <7 x i32> @gather_v7i32(<7 x ptr> %ptrs, <7 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v7i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <7 x i32> @llvm.masked.gather.v7i32.v7p0(<7 x ptr> align 4 %ptrs, <7 x i1> %mask, <7 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <7 x i32> %v
+;
+; SIZE-LABEL: 'gather_v7i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <7 x i32> @llvm.masked.gather.v7i32.v7p0(<7 x ptr> align 4 %ptrs, <7 x i1> %mask, <7 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <7 x i32> %v
+;
+ %v = call <7 x i32> @llvm.masked.gather.v7i32.v7p0(<7 x ptr> %ptrs, i32 4, <7 x i1> %mask, <7 x i32> poison)
+ ret <7 x i32> %v
+}
+
+define <12 x i32> @gather_v12i32(<12 x ptr> %ptrs, <12 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v12i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> align 4 %ptrs, <12 x i1> %mask, <12 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <12 x i32> %v
+;
+; SIZE-LABEL: 'gather_v12i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> align 4 %ptrs, <12 x i1> %mask, <12 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <12 x i32> %v
+;
+ %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> %ptrs, i32 4, <12 x i1> %mask, <12 x i32> poison)
+ ret <12 x i32> %v
+}
+
+define <24 x i32> @gather_v24i32(<24 x ptr> %ptrs, <24 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v24i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> %mask, <24 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; SIZE-LABEL: 'gather_v24i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> %mask, <24 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> %mask, <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+define void @scatter_v24i32(<24 x i32> %src, <24 x ptr> %ptrs, <24 x i1> %mask) {
+; THROUGHPUT-LABEL: 'scatter_v24i32'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SIZE-LABEL: 'scatter_v24i32'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> %ptrs, i32 4, <24 x i1> %mask)
+ ret void
+}
+
+; The trailing part of a v24 scatter carries no live lanes. Under a variable
+; mask it still reaches the machine code as a store under a zeroed mask, which
+; is what the case above pays for. Under an all-true mask CodeGen folds it away
+; and emits three instructions, as the gather does, so this may not be charged
+; the fourth part.
+
+define void @scatter_v24i32_allones(<24 x i32> %src, <24 x ptr> %ptrs) {
+; THROUGHPUT-LABEL: 'scatter_v24i32_allones'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 46 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SIZE-LABEL: 'scatter_v24i32_allones'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> %ptrs, i32 4, <24 x i1> splat(i1 true))
+ ret void
+}
+
+define <24 x i32> @gather_v24i32_allones(<24 x ptr> %ptrs) {
+; THROUGHPUT-LABEL: 'gather_v24i32_allones'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true), <24 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; SIZE-LABEL: 'gather_v24i32_allones'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true), <24 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> splat(i1 true), <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+; The index is as wide as the pointers being gathered, which is a property of
+; the address space they live in rather than of address space 0. Address spaces
+; 270 and 271 hold 32-bit pointers, so eight of them carry a dword index and
+; must select the same class, and the same cost, as the GEP spelling below.
+
+define void @scatter_v8i64_as270(<8 x i64> %src, <8 x ptr addrspace(270)> %ptrs, <8 x i1> %mask) {
+; THROUGHPUT-LABEL: 'scatter_v8i64_as270'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 32 for instruction: call void @llvm.masked.scatter.v8i64.v8p270(<8 x i64> %src, <8 x ptr addrspace(270)> align 4 %ptrs, <8 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SIZE-LABEL: 'scatter_v8i64_as270'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.masked.scatter.v8i64.v8p270(<8 x i64> %src, <8 x ptr addrspace(270)> align 4 %ptrs, <8 x i1> %mask)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v8i64.v8p270(<8 x i64> %src, <8 x ptr addrspace(270)> %ptrs, i32 4, <8 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8i64_dword_index(ptr %base, <8 x i64> %src, <8 x i32> %index, <8 x i1> %mask) {
+; THROUGHPUT-LABEL: 'scatter_v8i64_dword_index'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %sext = sext <8 x i32> %index to <8 x i64>
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i64, ptr %base, <8 x i64> %sext
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 32 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SIZE-LABEL: 'scatter_v8i64_dword_index'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %sext = sext <8 x i32> %index to <8 x i64>
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i64, ptr %base, <8 x i64> %sext
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %sext = sext <8 x i32> %index to <8 x i64>
+ %ptrs = getelementptr inbounds i64, ptr %base, <8 x i64> %sext
+ call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> %ptrs, i32 4, <8 x i1> %mask)
+ ret void
+}
+
+; The schedule model distinguishes dword and qword indices. Ensure TTI selects
+; the encoding that matches the GEP rather than one based only on data width.
+
+define <8 x i32> @gather_v8i32_i32_index(ptr %base, <8 x i32> %index, <8 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v8i32_i32_index'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <8 x i32> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 25 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; SIZE-LABEL: 'gather_v8i32_i32_index'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <8 x i32> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <8 x i32> %v
+;
+ %ptrs = getelementptr i32, ptr %base, <8 x i32> %index
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+define <8 x i32> @gather_v8i32_i64_index(ptr %base, <8 x i64> %index, <8 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v8i32_i64_index'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <8 x i64> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; SIZE-LABEL: 'gather_v8i32_i64_index'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <8 x i64> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <8 x i32> %v
+;
+ %ptrs = getelementptr i32, ptr %base, <8 x i64> %index
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+define void @scatter_v8i64_i32_index(<8 x i64> %src, ptr %base, <8 x i32> %index, <8 x i1> %mask) {
+; THROUGHPUT-LABEL: 'scatter_v8i64_i32_index'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i64, ptr %base, <8 x i32> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 32 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SIZE-LABEL: 'scatter_v8i64_i32_index'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i64, ptr %base, <8 x i32> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %ptrs = getelementptr i64, ptr %base, <8 x i32> %index
+ call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> %ptrs, i32 8, <8 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8i64_i64_index(<8 x i64> %src, ptr %base, <8 x i64> %index, <8 x i1> %mask) {
+; THROUGHPUT-LABEL: 'scatter_v8i64_i64_index'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i64, ptr %base, <8 x i64> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SIZE-LABEL: 'scatter_v8i64_i64_index'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i64, ptr %base, <8 x i64> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %ptrs = getelementptr i64, ptr %base, <8 x i64> %index
+ call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> %ptrs, i32 8, <8 x i1> %mask)
+ ret void
+}
+
+; Function-level vector-width attributes, and a native data shape paying its
+; overhead once when qword indices require two sub-ops.
+;
+; The two functions below carry the attribute pair Clang emits for
+; -mprefer-vector-width=256: prefer-vector-width=256 together with
+; min-legal-vector-width=0. That combination stops CodeGen using zmm at all, so
+; each gather is emitted as two ymm gathers instead of one zmm gather. Doing
+; half the work twice leaves reciprocal throughput unchanged, which is why only
+; the instruction count separates them from the attribute-free control.
+
+define <16 x i32> @gather_v16i32_i32_index(ptr %base, <16 x i32> %index, <16 x i1> %mask) {
+; THROUGHPUT-LABEL: 'gather_v16i32_i32_index'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <16 x i32> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; SIZE-LABEL: 'gather_v16i32_i32_index'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <16 x i32> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <16 x i32> %v
+;
+ %ptrs = getelementptr i32, ptr %base, <16 x i32> %index
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
+
+define <16 x i32> @gather_v16i32_i32_index_prefer256(ptr %base, <16 x i32> %index, <16 x i1> %mask) #0 {
+; THROUGHPUT-LABEL: 'gather_v16i32_i32_index_prefer256'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <16 x i32> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 50 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; SIZE-LABEL: 'gather_v16i32_i32_index_prefer256'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <16 x i32> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <16 x i32> %v
+;
+ %ptrs = getelementptr i32, ptr %base, <16 x i32> %index
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
+
+define <16 x i32> @gather_v16i32_i64_index_prefer256(ptr %base, <16 x i64> %index, <16 x i1> %mask) #0 {
+; THROUGHPUT-LABEL: 'gather_v16i32_i64_index_prefer256'
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <16 x i64> %index
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 52 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; SIZE-LABEL: 'gather_v16i32_i64_index_prefer256'
+; SIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr i32, ptr %base, <16 x i64> %index
+; SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <16 x i32> %v
+;
+ %ptrs = getelementptr i32, ptr %base, <16 x i64> %index
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
+
+declare <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr>, i32 immarg, <3 x i1>, <3 x i32>)
+declare <5 x i32> @llvm.masked.gather.v5i32.v5p0(<5 x ptr>, i32 immarg, <5 x i1>, <5 x i32>)
+declare <6 x i32> @llvm.masked.gather.v6i32.v6p0(<6 x ptr>, i32 immarg, <6 x i1>, <6 x i32>)
+declare <7 x i32> @llvm.masked.gather.v7i32.v7p0(<7 x ptr>, i32 immarg, <7 x i1>, <7 x i32>)
+declare <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr>, i32 immarg, <8 x i1>, <8 x i32>)
+declare <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr>, i32 immarg, <12 x i1>, <12 x i32>)
+declare <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr>, i32 immarg, <16 x i1>, <16 x i32>)
+declare <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr>, i32 immarg, <24 x i1>, <24 x i32>)
+declare void @llvm.masked.scatter.v24i32.v24p0(<24 x i32>, <24 x ptr>, i32 immarg, <24 x i1>)
+declare void @llvm.masked.scatter.v8i64.v8p0(<8 x i64>, <8 x ptr>, i32 immarg, <8 x i1>)
+declare void @llvm.masked.scatter.v8i64.v8p270(<8 x i64>, <8 x ptr addrspace(270)>, i32 immarg, <8 x i1>)
+
+; The pair Clang emits for -mprefer-vector-width=256.
+attributes #0 = { "prefer-vector-width"="256" "min-legal-vector-width"="0" }
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
new file mode 100644
index 0000000000000..f6ae43e65fe4d
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
@@ -0,0 +1,91 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 6
+; Zen gather/scatter costs when AVX512VL is unavailable.
+;
+; The narrow EVEX encodings need AVX512VL. Without it, an operation whose data
+; and index both fit below 512 bits has no narrow form to use, so CodeGen widens
+; it to the 512-bit instruction and masks off the surplus lanes. The cost of
+; such a shape must therefore reflect the full-width instruction that is really
+; emitted; it must not fall back to a flat cost cheaper than the narrow form it
+; cannot use.
+;
+; Shapes that already need a 512-bit operand -- a v8i32 gather with 64-bit
+; indices uses a full zmm of indices -- do not require AVX512VL and must be
+; unaffected.
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver4 | FileCheck %s --check-prefix=VL
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver4 -mattr=-avx512vl | FileCheck %s --check-prefix=NOVL
+
+; Data and index both 256-bit: widened to a zmm gather without AVX512VL.
+define <8 x i32> @gather_v8i32_dword_index(ptr %base, <8 x i32> %idx, <8 x i1> %mask) {
+; VL-LABEL: 'gather_v8i32_dword_index'
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i32> %idx
+; VL-NEXT: Cost Model: Found an estimated cost of 25 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; NOVL-LABEL: 'gather_v8i32_dword_index'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i32> %idx
+; NOVL-NEXT: Cost Model: Found an estimated cost of 34 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <8 x i32> %idx
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+define void @scatter_v8i32_dword_index(<8 x i32> %val, ptr %base, <8 x i32> %idx, <8 x i1> %mask) {
+; VL-LABEL: 'scatter_v8i32_dword_index'
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i32> %idx
+; VL-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; NOVL-LABEL: 'scatter_v8i32_dword_index'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i32> %idx
+; NOVL-NEXT: Cost Model: Found an estimated cost of 39 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <8 x i32> %idx
+ call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> %ptrs, i32 4, <8 x i1> %mask)
+ ret void
+}
+
+; Data 256-bit, index 256-bit: likewise widened.
+define <4 x i64> @gather_v4i64_qword_index(<4 x ptr> %ptrs, <4 x i1> %mask) {
+; VL-LABEL: 'gather_v4i64_qword_index'
+; VL-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+; NOVL-LABEL: 'gather_v4i64_qword_index'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+ %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> %ptrs, i32 8, <4 x i1> %mask, <4 x i64> poison)
+ ret <4 x i64> %v
+}
+
+; Index alone already fills a zmm, so no AVX512VL is needed and the cost holds.
+define <8 x i32> @gather_v8i32_qword_index(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; VL-LABEL: 'gather_v8i32_qword_index'
+; VL-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; NOVL-LABEL: 'gather_v8i32_qword_index'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+; Already full width: unaffected either way.
+define <16 x i32> @gather_v16i32(<16 x ptr> %ptrs, <16 x i1> %mask) {
+; VL-LABEL: 'gather_v16i32'
+; VL-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; NOVL-LABEL: 'gather_v16i32'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll
new file mode 100644
index 0000000000000..00085174f38cb
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll
@@ -0,0 +1,109 @@
+; The prefer-gs-cost-table tuning feature supplies reciprocal-throughput numbers
+; only, and only for AVX-512 shapes it has a row for. Enabling it must therefore
+; not move any other cost kind, and must not affect a target the table does not
+; cover at all.
+;
+; Each prefix below is checked by a pair of RUN lines that differ only in the
+; feature bit, so if enabling it ever moves one of these costs, the pair
+; disagrees and the test fails.
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=latency -mcpu=znver4 2>&1 \
+; RUN: | FileCheck %s --check-prefix=ZEN-LAT
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=latency -mcpu=znver4 \
+; RUN: -mattr=-prefer-gs-cost-table 2>&1 | FileCheck %s --check-prefix=ZEN-LAT
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=size-latency -mcpu=znver4 2>&1 \
+; RUN: | FileCheck %s --check-prefix=ZEN-SIZELAT
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=size-latency -mcpu=znver4 \
+; RUN: -mattr=-prefer-gs-cost-table 2>&1 | FileCheck %s --check-prefix=ZEN-SIZELAT
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=code-size -mcpu=znver4 2>&1 \
+; RUN: | FileCheck %s --check-prefix=ZEN-CODESIZE
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=code-size -mcpu=znver4 \
+; RUN: -mattr=-prefer-gs-cost-table 2>&1 | FileCheck %s --check-prefix=ZEN-CODESIZE
+
+; A target with no AVX-512 can never reach the table, so the feature bit must be
+; inert there on every cost kind, not only reciprocal throughput. A length with
+; a remainder part is the case that distinguishes the two paths' part counts.
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=throughput -mcpu=skylake 2>&1 \
+; RUN: | FileCheck %s --check-prefix=NOAVX512
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=throughput -mcpu=skylake \
+; RUN: -mattr=+prefer-gs-cost-table 2>&1 | FileCheck %s --check-prefix=NOAVX512
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=code-size -mcpu=skylake 2>&1 \
+; RUN: | FileCheck %s --check-prefix=NOAVX512-CODESIZE
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
+; RUN: -disable-output -cost-kind=code-size -mcpu=skylake \
+; RUN: -mattr=+prefer-gs-cost-table 2>&1 | FileCheck %s --check-prefix=NOAVX512-CODESIZE
+
+define <16 x i32> @gather_v16i32(<16 x ptr> %ptrs, <16 x i1> %mask) {
+; ZEN-LAT-LABEL: 'gather_v16i32'
+; ZEN-LAT: Cost Model: Found an estimated cost of 68 for instruction: %v = call
+; ZEN-SIZELAT-LABEL: 'gather_v16i32'
+; ZEN-SIZELAT: Cost Model: Found an estimated cost of 20 for instruction: %v = call
+; ZEN-CODESIZE-LABEL: 'gather_v16i32'
+; ZEN-CODESIZE: Cost Model: Found an estimated cost of 2 for instruction: %v = call
+; NOAVX512-LABEL: 'gather_v16i32'
+; NOAVX512: Cost Model: Found an estimated cost of 24 for instruction: %v = call
+; NOAVX512-CODESIZE-LABEL: 'gather_v16i32'
+; NOAVX512-CODESIZE: Cost Model: Found an estimated cost of 4 for instruction: %v = call
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
+
+; A length that is not a multiple of its part width. The Zen path and the
+; generic path count parts differently here, so this is the shape that catches
+; the feature bit leaking into a target the table cannot serve.
+define <12 x i32> @gather_v12i32(<12 x ptr> %ptrs, <12 x i1> %mask) {
+; ZEN-LAT-LABEL: 'gather_v12i32'
+; ZEN-LAT: Cost Model: Found an estimated cost of 52 for instruction: %v = call
+; ZEN-SIZELAT-LABEL: 'gather_v12i32'
+; ZEN-SIZELAT: Cost Model: Found an estimated cost of 16 for instruction: %v = call
+; ZEN-CODESIZE-LABEL: 'gather_v12i32'
+; ZEN-CODESIZE: Cost Model: Found an estimated cost of 2 for instruction: %v = call
+; NOAVX512-LABEL: 'gather_v12i32'
+; NOAVX512: Cost Model: Found an estimated cost of 20 for instruction: %v = call
+; NOAVX512-CODESIZE-LABEL: 'gather_v12i32'
+; NOAVX512-CODESIZE: Cost Model: Found an estimated cost of 4 for instruction: %v = call
+ %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> %ptrs, i32 4, <12 x i1> %mask, <12 x i32> poison)
+ ret <12 x i32> %v
+}
+
+define <8 x i32> @gather_v8i32(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZEN-LAT-LABEL: 'gather_v8i32'
+; ZEN-LAT: Cost Model: Found an estimated cost of 34 for instruction: %v = call
+; ZEN-SIZELAT-LABEL: 'gather_v8i32'
+; ZEN-SIZELAT: Cost Model: Found an estimated cost of 10 for instruction: %v = call
+; ZEN-CODESIZE-LABEL: 'gather_v8i32'
+; ZEN-CODESIZE: Cost Model: Found an estimated cost of 1 for instruction: %v = call
+; NOAVX512-LABEL: 'gather_v8i32'
+; NOAVX512: Cost Model: Found an estimated cost of 12 for instruction: %v = call
+; NOAVX512-CODESIZE-LABEL: 'gather_v8i32'
+; NOAVX512-CODESIZE: Cost Model: Found an estimated cost of 2 for instruction: %v = call
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+define void @scatter_v8i64(<8 x i64> %val, <8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZEN-LAT-LABEL: 'scatter_v8i64'
+; ZEN-LAT: Cost Model: Found an estimated cost of 10 for instruction: call void
+; ZEN-SIZELAT-LABEL: 'scatter_v8i64'
+; ZEN-SIZELAT: Cost Model: Found an estimated cost of 10 for instruction: call void
+; ZEN-CODESIZE-LABEL: 'scatter_v8i64'
+; ZEN-CODESIZE: Cost Model: Found an estimated cost of 1 for instruction: call void
+; NOAVX512-LABEL: 'scatter_v8i64'
+; NOAVX512: Cost Model: Found an estimated cost of 29 for instruction: call void
+; NOAVX512-CODESIZE-LABEL: 'scatter_v8i64'
+; NOAVX512-CODESIZE: Cost Model: Found an estimated cost of 37 for instruction: call void
+ call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %val, <8 x ptr> %ptrs, i32 8, <8 x i1> %mask)
+ ret void
+}
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
new file mode 100644
index 0000000000000..cd99b6febb580
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
@@ -0,0 +1,1328 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
+; Cost-model coverage for the per-shape masked gather/scatter overheads.
+;
+; ZNVER4 / ZNVER5 carry TuningPreferGSCostTable and have AVX-512, so
+; getGSVectorCost reads the measured hardware cost from the schedule model
+; (which stays honest for llvm-mca) and adds the per-shape break-even overhead
+; from the TTI tables on top.
+; ZNVER3 lacks AVX-512, so masked gather is scalarised; its numbers are the
+; unchanged scalar fallback, kept only to show no regression on pre-AVX-512 Zen.
+; SKX is a non-Zen AVX-512 baseline: not gated into the schedule-model path, so
+; it keeps the generic flat overhead and its numbers are unchanged.
+;
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver4 | FileCheck %s --check-prefix=ZNVER4
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver5 | FileCheck %s --check-prefix=ZNVER5
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver6 | FileCheck %s --check-prefix=ZNVER6
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver3 | FileCheck %s --check-prefix=ZNVER3
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=skx | FileCheck %s --check-prefix=SKX
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=x86-64-v4 | FileCheck %s --check-prefix=X8664V4
+
+;------------------------------------------------------------------------------
+; Masked gather - i32 element type
+;------------------------------------------------------------------------------
+
+define <2 x i32> @gather_v2i32(<2 x ptr> %ptrs, <2 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v2i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v2i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v2i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v2i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i32> %v
+;
+; SKX-LABEL: 'gather_v2i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v2i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i32> %v
+;
+ %v = call <2 x i32> @llvm.masked.gather.v2i32.v2p0(<2 x ptr> %ptrs, i32 4, <2 x i1> %mask, <2 x i32> poison)
+ ret <2 x i32> %v
+}
+
+define <4 x i32> @gather_v4i32(<4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v4i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v4i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v4i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v4i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i32> %v
+;
+; SKX-LABEL: 'gather_v4i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v4i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i32> %v
+;
+ %v = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> %ptrs, i32 4, <4 x i1> %mask, <4 x i32> poison)
+ ret <4 x i32> %v
+}
+
+define <8 x i32> @gather_v8i32(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v8i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v8i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v8i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v8i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 28 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; SKX-LABEL: 'gather_v8i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v8i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+define <16 x i32> @gather_v16i32(<16 x ptr> %ptrs, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v16i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v16i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v16i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v16i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 55 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; SKX-LABEL: 'gather_v16i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v16i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
+
+;------------------------------------------------------------------------------
+; Masked gather - i64 element type
+;------------------------------------------------------------------------------
+
+define <2 x i64> @gather_v2i64(<2 x ptr> %ptrs, <2 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v2i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x i64> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i64> %v
+;
+; ZNVER5-LABEL: 'gather_v2i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x i64> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i64> %v
+;
+; ZNVER6-LABEL: 'gather_v2i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x i64> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i64> %v
+;
+; ZNVER3-LABEL: 'gather_v2i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x i64> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i64> %v
+;
+; SKX-LABEL: 'gather_v2i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x i64> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i64> %v
+;
+; X8664V4-LABEL: 'gather_v2i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x i64> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x i64> %v
+;
+ %v = call <2 x i64> @llvm.masked.gather.v2i64.v2p0(<2 x ptr> %ptrs, i32 8, <2 x i1> %mask, <2 x i64> poison)
+ ret <2 x i64> %v
+}
+
+define <4 x i64> @gather_v4i64(<4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v4i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+; ZNVER5-LABEL: 'gather_v4i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+; ZNVER6-LABEL: 'gather_v4i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+; ZNVER3-LABEL: 'gather_v4i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+; SKX-LABEL: 'gather_v4i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+; X8664V4-LABEL: 'gather_v4i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x i64> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x i64> %v
+;
+ %v = call <4 x i64> @llvm.masked.gather.v4i64.v4p0(<4 x ptr> %ptrs, i32 8, <4 x i1> %mask, <4 x i64> poison)
+ ret <4 x i64> %v
+}
+
+define <8 x i64> @gather_v8i64(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v8i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x i64> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i64> %v
+;
+; ZNVER5-LABEL: 'gather_v8i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x i64> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i64> %v
+;
+; ZNVER6-LABEL: 'gather_v8i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x i64> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i64> %v
+;
+; ZNVER3-LABEL: 'gather_v8i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 29 for instruction: %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x i64> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i64> %v
+;
+; SKX-LABEL: 'gather_v8i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x i64> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i64> %v
+;
+; X8664V4-LABEL: 'gather_v8i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x i64> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i64> %v
+;
+ %v = call <8 x i64> @llvm.masked.gather.v8i64.v8p0(<8 x ptr> %ptrs, i32 8, <8 x i1> %mask, <8 x i64> poison)
+ ret <8 x i64> %v
+}
+
+;------------------------------------------------------------------------------
+; Masked gather - f32 element type
+;------------------------------------------------------------------------------
+
+define <2 x float> @gather_v2f32(<2 x ptr> %ptrs, <2 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v2f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x float> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x float> %v
+;
+; ZNVER5-LABEL: 'gather_v2f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x float> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x float> %v
+;
+; ZNVER6-LABEL: 'gather_v2f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x float> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x float> %v
+;
+; ZNVER3-LABEL: 'gather_v2f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x float> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x float> %v
+;
+; SKX-LABEL: 'gather_v2f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x float> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x float> %v
+;
+; X8664V4-LABEL: 'gather_v2f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> align 4 %ptrs, <2 x i1> %mask, <2 x float> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x float> %v
+;
+ %v = call <2 x float> @llvm.masked.gather.v2f32.v2p0(<2 x ptr> %ptrs, i32 4, <2 x i1> %mask, <2 x float> poison)
+ ret <2 x float> %v
+}
+
+define <4 x float> @gather_v4f32(<4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v4f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x float> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x float> %v
+;
+; ZNVER5-LABEL: 'gather_v4f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x float> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x float> %v
+;
+; ZNVER6-LABEL: 'gather_v4f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x float> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x float> %v
+;
+; ZNVER3-LABEL: 'gather_v4f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 13 for instruction: %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x float> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x float> %v
+;
+; SKX-LABEL: 'gather_v4f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x float> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x float> %v
+;
+; X8664V4-LABEL: 'gather_v4f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 %ptrs, <4 x i1> %mask, <4 x float> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x float> %v
+;
+ %v = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> %ptrs, i32 4, <4 x i1> %mask, <4 x float> poison)
+ ret <4 x float> %v
+}
+
+define <8 x float> @gather_v8f32(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v8f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x float> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x float> %v
+;
+; ZNVER5-LABEL: 'gather_v8f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x float> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x float> %v
+;
+; ZNVER6-LABEL: 'gather_v8f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x float> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x float> %v
+;
+; ZNVER3-LABEL: 'gather_v8f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x float> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x float> %v
+;
+; SKX-LABEL: 'gather_v8f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x float> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x float> %v
+;
+; X8664V4-LABEL: 'gather_v8f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> %mask, <8 x float> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x float> %v
+;
+ %v = call <8 x float> @llvm.masked.gather.v8f32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %mask, <8 x float> poison)
+ ret <8 x float> %v
+}
+
+define <16 x float> @gather_v16f32(<16 x ptr> %ptrs, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v16f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; ZNVER5-LABEL: 'gather_v16f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; ZNVER6-LABEL: 'gather_v16f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 37 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; ZNVER3-LABEL: 'gather_v16f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 51 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; SKX-LABEL: 'gather_v16f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; X8664V4-LABEL: 'gather_v16f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+ %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x float> poison)
+ ret <16 x float> %v
+}
+
+;------------------------------------------------------------------------------
+; Masked gather - f64 element type
+;------------------------------------------------------------------------------
+
+define <2 x double> @gather_v2f64(<2 x ptr> %ptrs, <2 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v2f64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x double> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x double> %v
+;
+; ZNVER5-LABEL: 'gather_v2f64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x double> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x double> %v
+;
+; ZNVER6-LABEL: 'gather_v2f64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x double> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x double> %v
+;
+; ZNVER3-LABEL: 'gather_v2f64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x double> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x double> %v
+;
+; SKX-LABEL: 'gather_v2f64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x double> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x double> %v
+;
+; X8664V4-LABEL: 'gather_v2f64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> align 8 %ptrs, <2 x i1> %mask, <2 x double> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <2 x double> %v
+;
+ %v = call <2 x double> @llvm.masked.gather.v2f64.v2p0(<2 x ptr> %ptrs, i32 8, <2 x i1> %mask, <2 x double> poison)
+ ret <2 x double> %v
+}
+
+define <4 x double> @gather_v4f64(<4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v4f64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x double> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x double> %v
+;
+; ZNVER5-LABEL: 'gather_v4f64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x double> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x double> %v
+;
+; ZNVER6-LABEL: 'gather_v4f64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x double> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x double> %v
+;
+; ZNVER3-LABEL: 'gather_v4f64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 13 for instruction: %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x double> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x double> %v
+;
+; SKX-LABEL: 'gather_v4f64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x double> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x double> %v
+;
+; X8664V4-LABEL: 'gather_v4f64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x double> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x double> %v
+;
+ %v = call <4 x double> @llvm.masked.gather.v4f64.v4p0(<4 x ptr> %ptrs, i32 8, <4 x i1> %mask, <4 x double> poison)
+ ret <4 x double> %v
+}
+
+define <8 x double> @gather_v8f64(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v8f64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 25 for instruction: %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x double> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x double> %v
+;
+; ZNVER5-LABEL: 'gather_v8f64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 25 for instruction: %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x double> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x double> %v
+;
+; ZNVER6-LABEL: 'gather_v8f64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 25 for instruction: %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x double> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x double> %v
+;
+; ZNVER3-LABEL: 'gather_v8f64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 25 for instruction: %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x double> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x double> %v
+;
+; SKX-LABEL: 'gather_v8f64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x double> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x double> %v
+;
+; X8664V4-LABEL: 'gather_v8f64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x double> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x double> %v
+;
+ %v = call <8 x double> @llvm.masked.gather.v8f64.v8p0(<8 x ptr> %ptrs, i32 8, <8 x i1> %mask, <8 x double> poison)
+ ret <8 x double> %v
+}
+
+;------------------------------------------------------------------------------
+; Masked scatter - i32 element type
+;------------------------------------------------------------------------------
+
+define void @scatter_v4i32(<4 x i32> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v4i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v4i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v4i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v4i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 14 for instruction: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v4i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v4i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> %src, <4 x ptr> %ptrs, i32 4, <4 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8i32(<8 x i32> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v8i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v8i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v8i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v8i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 28 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v8i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v8i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> %ptrs, i32 4, <8 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v16i32(<16 x i32> %src, <16 x ptr> %ptrs, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v16i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v16i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v16i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v16i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 55 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v16i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 20 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v16i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 20 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> %ptrs, i32 4, <16 x i1> %mask)
+ ret void
+}
+
+;------------------------------------------------------------------------------
+; Masked scatter - i64 element type
+;------------------------------------------------------------------------------
+
+define void @scatter_v4i64(<4 x i64> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v4i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v4i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v4i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v4i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 15 for instruction: call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v4i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v4i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v4i64.v4p0(<4 x i64> %src, <4 x ptr> %ptrs, i32 8, <4 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8i64(<8 x i64> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v8i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v8i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v8i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v8i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v8i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v8i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v8i64.v8p0(<8 x i64> %src, <8 x ptr> %ptrs, i32 8, <8 x i1> %mask)
+ ret void
+}
+
+;------------------------------------------------------------------------------
+; Masked scatter - f32 element type
+;------------------------------------------------------------------------------
+
+define void @scatter_v4f32(<4 x float> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v4f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v4f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v4f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v4f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 13 for instruction: call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v4f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v4f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> align 4 %ptrs, <4 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v4f32.v4p0(<4 x float> %src, <4 x ptr> %ptrs, i32 4, <4 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8f32(<8 x float> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v8f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v8f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v8f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v8f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v8f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v8f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> %ptrs, i32 4, <8 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v16f32(<16 x float> %src, <16 x ptr> %ptrs, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v16f32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v16f32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v16f32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v16f32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 51 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v16f32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 20 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v16f32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 20 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> %ptrs, i32 4, <16 x i1> %mask)
+ ret void
+}
+
+;------------------------------------------------------------------------------
+; Masked scatter - f64 element type
+;------------------------------------------------------------------------------
+
+define void @scatter_v4f64(<4 x double> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v4f64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 11 for instruction: call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v4f64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 11 for instruction: call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v4f64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 11 for instruction: call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v4f64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 13 for instruction: call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v4f64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v4f64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> %src, <4 x ptr> %ptrs, i32 8, <4 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8f64(<8 x double> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v8f64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 23 for instruction: call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v8f64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 23 for instruction: call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v8f64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 23 for instruction: call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v8f64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v8f64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v8f64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v8f64.v8p0(<8 x double> %src, <8 x ptr> %ptrs, i32 8, <8 x i1> %mask)
+ ret void
+}
+
+;------------------------------------------------------------------------------
+; Pointer element type.
+;
+; A gather of pointers is the same VPGATHERQQ as a gather of i64, so it must be
+; priced from the i64 rows. The table is keyed on the legalized type, not the IR
+; one, which matters here because a pointer reports a primitive size of 0.
+; SLPVectorizer's ScatterVectorize reaches getGSVectorCost with these shapes.
+;------------------------------------------------------------------------------
+
+define <4 x ptr> @gather_v4ptr(<4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v4ptr'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x ptr> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x ptr> %v
+;
+; ZNVER5-LABEL: 'gather_v4ptr'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x ptr> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x ptr> %v
+;
+; ZNVER6-LABEL: 'gather_v4ptr'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x ptr> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x ptr> %v
+;
+; ZNVER3-LABEL: 'gather_v4ptr'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x ptr> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x ptr> %v
+;
+; SKX-LABEL: 'gather_v4ptr'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x ptr> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x ptr> %v
+;
+; X8664V4-LABEL: 'gather_v4ptr'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> align 8 %ptrs, <4 x i1> %mask, <4 x ptr> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <4 x ptr> %v
+;
+ %v = call <4 x ptr> @llvm.masked.gather.v4p0.v4p0(<4 x ptr> %ptrs, i32 8, <4 x i1> %mask, <4 x ptr> poison)
+ ret <4 x ptr> %v
+}
+
+define <8 x ptr> @gather_v8ptr(<8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v8ptr'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x ptr> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x ptr> %v
+;
+; ZNVER5-LABEL: 'gather_v8ptr'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x ptr> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x ptr> %v
+;
+; ZNVER6-LABEL: 'gather_v8ptr'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x ptr> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x ptr> %v
+;
+; ZNVER3-LABEL: 'gather_v8ptr'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 29 for instruction: %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x ptr> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x ptr> %v
+;
+; SKX-LABEL: 'gather_v8ptr'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x ptr> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x ptr> %v
+;
+; X8664V4-LABEL: 'gather_v8ptr'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, <8 x ptr> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x ptr> %v
+;
+ %v = call <8 x ptr> @llvm.masked.gather.v8p0.v8p0(<8 x ptr> %ptrs, i32 8, <8 x i1> %mask, <8 x ptr> poison)
+ ret <8 x ptr> %v
+}
+
+define void @scatter_v4ptr(<4 x ptr> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v4ptr'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v4ptr'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v4ptr'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v4ptr'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 15 for instruction: call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v4ptr'
+; SKX-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v4ptr'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 6 for instruction: call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> align 8 %ptrs, <4 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v4p0.v4p0(<4 x ptr> %src, <4 x ptr> %ptrs, i32 8, <4 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v8ptr(<8 x ptr> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v8ptr'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v8ptr'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v8ptr'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 35 for instruction: call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v8ptr'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v8ptr'
+; SKX-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v8ptr'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 10 for instruction: call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> align 8 %ptrs, <8 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v8p0.v8p0(<8 x ptr> %src, <8 x ptr> %ptrs, i32 8, <8 x i1> %mask)
+ ret void
+}
+
+;------------------------------------------------------------------------------
+; 16-wide gather/scatter with a single base + 32-bit index GEP.
+;
+; The bare <16 x ptr> forms above use 64-bit indices that don't fit in one zmm,
+; so the cost model splits them into two 8-wide sub-ops. These GEP forms carry a
+; 32-bit index off a common base, which getGSVectorCost reduces to a 32-bit
+; index so the op stays 16-wide and exercises the v16i32/v16f32 table rows
+; directly (rather than the v8 rows twice).
+;------------------------------------------------------------------------------
+
+define <16 x i32> @gather_v16i32_gep(ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v16i32_gep'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v16i32_gep'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v16i32_gep'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v16i32_gep'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 55 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; SKX-LABEL: 'gather_v16i32_gep'
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; SKX-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v16i32_gep'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
+
+define <16 x float> @gather_v16f32_gep(ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v16f32_gep'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; ZNVER5-LABEL: 'gather_v16f32_gep'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; ZNVER6-LABEL: 'gather_v16f32_gep'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; ZNVER3-LABEL: 'gather_v16f32_gep'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 51 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; SKX-LABEL: 'gather_v16f32_gep'
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; SKX-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+; X8664V4-LABEL: 'gather_v16f32_gep'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x float> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x float> %v
+;
+ %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+ %v = call <16 x float> @llvm.masked.gather.v16f32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x float> poison)
+ ret <16 x float> %v
+}
+
+define void @scatter_v16i32_gep(<16 x i32> %src, ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v16i32_gep'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v16i32_gep'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v16i32_gep'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v16i32_gep'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 55 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v16i32_gep'
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; SKX-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v16i32_gep'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+ call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> %ptrs, i32 4, <16 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v16f32_gep(<16 x float> %src, ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v16f32_gep'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v16f32_gep'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v16f32_gep'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v16f32_gep'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 51 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v16f32_gep'
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; SKX-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v16f32_gep'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
+ call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> %ptrs, i32 4, <16 x i1> %mask)
+ ret void
+}
+
+; Wider-than-native shapes: the cost must stay monotonic in VF (a VF32 gather is
+; measured at exactly 2x a VF16 on Zen5, VF64 at 4x), so these must not dip
+; below the widest in-table shape. Guards against the VF32-cheaper-than-VF16
+; regression that a flat out-of-table overhead would reintroduce.
+define <32 x i32> @gather_v32i32(<32 x ptr> %ptrs, <32 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v32i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 74 for instruction: %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> align 4 %ptrs, <32 x i1> %mask, <32 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v32i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 74 for instruction: %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> align 4 %ptrs, <32 x i1> %mask, <32 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v32i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 74 for instruction: %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> align 4 %ptrs, <32 x i1> %mask, <32 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v32i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 109 for instruction: %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> align 4 %ptrs, <32 x i1> %mask, <32 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i32> %v
+;
+; SKX-LABEL: 'gather_v32i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 40 for instruction: %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> align 4 %ptrs, <32 x i1> %mask, <32 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v32i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 40 for instruction: %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> align 4 %ptrs, <32 x i1> %mask, <32 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i32> %v
+;
+ %v = call <32 x i32> @llvm.masked.gather.v32i32.v32p0(<32 x ptr> %ptrs, i32 4, <32 x i1> %mask, <32 x i32> poison)
+ ret <32 x i32> %v
+}
+
+define <64 x i32> @gather_v64i32(<64 x ptr> %ptrs, <64 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v64i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 148 for instruction: %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> align 4 %ptrs, <64 x i1> %mask, <64 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <64 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v64i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 148 for instruction: %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> align 4 %ptrs, <64 x i1> %mask, <64 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <64 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v64i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 148 for instruction: %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> align 4 %ptrs, <64 x i1> %mask, <64 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <64 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v64i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 218 for instruction: %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> align 4 %ptrs, <64 x i1> %mask, <64 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <64 x i32> %v
+;
+; SKX-LABEL: 'gather_v64i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 80 for instruction: %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> align 4 %ptrs, <64 x i1> %mask, <64 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <64 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v64i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 80 for instruction: %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> align 4 %ptrs, <64 x i1> %mask, <64 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <64 x i32> %v
+;
+ %v = call <64 x i32> @llvm.masked.gather.v64i32.v64p0(<64 x ptr> %ptrs, i32 4, <64 x i1> %mask, <64 x i32> poison)
+ ret <64 x i32> %v
+}
+
+define void @scatter_v32i32(<32 x i32> %src, <32 x ptr> %ptrs, <32 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v32i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v32i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v32i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v32i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 109 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v32i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 40 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v32i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 40 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> %ptrs, i32 4, <32 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v64i32(<64 x i32> %src, <64 x ptr> %ptrs, <64 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v64i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 116 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v64i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 116 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v64i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 116 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v64i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 218 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v64i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 80 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v64i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 80 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> %ptrs, i32 4, <64 x i1> %mask)
+ ret void
+}
+
+define <16 x i64> @gather_v16i64(<16 x ptr> %ptrs, <16 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v16i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> align 8 %ptrs, <16 x i1> %mask, <16 x i64> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i64> %v
+;
+; ZNVER5-LABEL: 'gather_v16i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> align 8 %ptrs, <16 x i1> %mask, <16 x i64> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i64> %v
+;
+; ZNVER6-LABEL: 'gather_v16i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> align 8 %ptrs, <16 x i1> %mask, <16 x i64> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i64> %v
+;
+; ZNVER3-LABEL: 'gather_v16i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 57 for instruction: %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> align 8 %ptrs, <16 x i1> %mask, <16 x i64> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i64> %v
+;
+; SKX-LABEL: 'gather_v16i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> align 8 %ptrs, <16 x i1> %mask, <16 x i64> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i64> %v
+;
+; X8664V4-LABEL: 'gather_v16i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> align 8 %ptrs, <16 x i1> %mask, <16 x i64> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <16 x i64> %v
+;
+ %v = call <16 x i64> @llvm.masked.gather.v16i64.v16p0(<16 x ptr> %ptrs, i32 8, <16 x i1> %mask, <16 x i64> poison)
+ ret <16 x i64> %v
+}
+
+define <32 x i64> @gather_v32i64(<32 x ptr> %ptrs, <32 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v32i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> align 8 %ptrs, <32 x i1> %mask, <32 x i64> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i64> %v
+;
+; ZNVER5-LABEL: 'gather_v32i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> align 8 %ptrs, <32 x i1> %mask, <32 x i64> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i64> %v
+;
+; ZNVER6-LABEL: 'gather_v32i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> align 8 %ptrs, <32 x i1> %mask, <32 x i64> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i64> %v
+;
+; ZNVER3-LABEL: 'gather_v32i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 113 for instruction: %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> align 8 %ptrs, <32 x i1> %mask, <32 x i64> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i64> %v
+;
+; SKX-LABEL: 'gather_v32i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 40 for instruction: %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> align 8 %ptrs, <32 x i1> %mask, <32 x i64> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i64> %v
+;
+; X8664V4-LABEL: 'gather_v32i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 40 for instruction: %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> align 8 %ptrs, <32 x i1> %mask, <32 x i64> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <32 x i64> %v
+;
+ %v = call <32 x i64> @llvm.masked.gather.v32i64.v32p0(<32 x ptr> %ptrs, i32 8, <32 x i1> %mask, <32 x i64> poison)
+ ret <32 x i64> %v
+}
+
+;------------------------------------------------------------------------------
+; Irregular (non-power-of-2) vector lengths
+;
+; Every shape above is a power of two, so nothing pinned what happens to a VF
+; the tables have no row for. A VF3 operation should be priced as the next
+; legal shape, VF4 -- not scalarised and not tiled into VF2 + VF1, either of
+; which would show up here as a larger number than the matching *_v4* case.
+;------------------------------------------------------------------------------
+
+define <3 x i32> @gather_v3i32(<3 x ptr> %ptrs, <3 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v3i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; ZNVER5-LABEL: 'gather_v3i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; ZNVER6-LABEL: 'gather_v3i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; ZNVER3-LABEL: 'gather_v3i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; SKX-LABEL: 'gather_v3i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; X8664V4-LABEL: 'gather_v3i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+ %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> %ptrs, i32 4, <3 x i1> %mask, <3 x i32> poison)
+ ret <3 x i32> %v
+}
+
+define <3 x i64> @gather_v3i64(<3 x ptr> %ptrs, <3 x i1> %mask) {
+; ZNVER4-LABEL: 'gather_v3i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> align 8 %ptrs, <3 x i1> %mask, <3 x i64> poison)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i64> %v
+;
+; ZNVER5-LABEL: 'gather_v3i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> align 8 %ptrs, <3 x i1> %mask, <3 x i64> poison)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i64> %v
+;
+; ZNVER6-LABEL: 'gather_v3i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> align 8 %ptrs, <3 x i1> %mask, <3 x i64> poison)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i64> %v
+;
+; ZNVER3-LABEL: 'gather_v3i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 13 for instruction: %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> align 8 %ptrs, <3 x i1> %mask, <3 x i64> poison)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i64> %v
+;
+; SKX-LABEL: 'gather_v3i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> align 8 %ptrs, <3 x i1> %mask, <3 x i64> poison)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i64> %v
+;
+; X8664V4-LABEL: 'gather_v3i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> align 8 %ptrs, <3 x i1> %mask, <3 x i64> poison)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i64> %v
+;
+ %v = call <3 x i64> @llvm.masked.gather.v3i64.v3p0(<3 x ptr> %ptrs, i32 8, <3 x i1> %mask, <3 x i64> poison)
+ ret <3 x i64> %v
+}
+
+define void @scatter_v3i32(<3 x i32> %val, <3 x ptr> %ptrs, <3 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v3i32'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v3i32'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v3i32'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v3i32'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 11 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v3i32'
+; SKX-NEXT: Cost Model: Found an estimated cost of 5 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v3i32'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 5 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> %ptrs, i32 4, <3 x i1> %mask)
+ ret void
+}
+
+define void @scatter_v3i64(<3 x i64> %val, <3 x ptr> %ptrs, <3 x i1> %mask) {
+; ZNVER4-LABEL: 'scatter_v3i64'
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> align 8 %ptrs, <3 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER5-LABEL: 'scatter_v3i64'
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> align 8 %ptrs, <3 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER6-LABEL: 'scatter_v3i64'
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 16 for instruction: call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> align 8 %ptrs, <3 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; ZNVER3-LABEL: 'scatter_v3i64'
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 12 for instruction: call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> align 8 %ptrs, <3 x i1> %mask)
+; ZNVER3-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; SKX-LABEL: 'scatter_v3i64'
+; SKX-NEXT: Cost Model: Found an estimated cost of 5 for instruction: call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> align 8 %ptrs, <3 x i1> %mask)
+; SKX-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; X8664V4-LABEL: 'scatter_v3i64'
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 5 for instruction: call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> align 8 %ptrs, <3 x i1> %mask)
+; X8664V4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ call void @llvm.masked.scatter.v3i64.v3p0(<3 x i64> %val, <3 x ptr> %ptrs, i32 8, <3 x i1> %mask)
+ ret void
+}
diff --git a/llvm/test/CodeGen/X86/masked_gather_scatter_irregular.ll b/llvm/test/CodeGen/X86/masked_gather_scatter_irregular.ll
new file mode 100644
index 0000000000000..e9f6d61f82b6e
--- /dev/null
+++ b/llvm/test/CodeGen/X86/masked_gather_scatter_irregular.ll
@@ -0,0 +1,44 @@
+; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=znver4 | FileCheck %s
+
+; Instruction counts for gathers and scatters whose vector length is not a
+; power of two. X86TTIImpl::getGSVectorCost prices these by the number of
+; instructions emitted here, so the two must agree.
+;
+; A v24 operation legalizes into four parts of eight, the last of which has no
+; live lanes. For a gather that part is dead and is folded away, leaving three
+; instructions. For a scatter under a variable mask it survives as a store
+; under a zeroed mask, so four instructions reach the machine code. Once the
+; mask is known all-true the dead part folds away there too, back to three, so
+; the mask decides which of the two counts the cost model has to predict.
+
+define <24 x i32> @gather_v24i32(<24 x ptr> %ptrs, <24 x i1> %mask) {
+; CHECK-LABEL: gather_v24i32:
+; CHECK-COUNT-3: vpgatherqd
+; CHECK-NOT: vpgatherqd
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> %mask, <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+define void @scatter_v24i32(<24 x i32> %val, <24 x ptr> %ptrs, <24 x i1> %mask) {
+; CHECK-LABEL: scatter_v24i32:
+; CHECK-COUNT-4: vpscatterqd
+; CHECK-NOT: vpscatterqd
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> %ptrs, i32 4, <24 x i1> %mask)
+ ret void
+}
+
+define <24 x i32> @gather_v24i32_allones(<24 x ptr> %ptrs) {
+; CHECK-LABEL: gather_v24i32_allones:
+; CHECK-COUNT-3: vpgatherqd
+; CHECK-NOT: vpgatherqd
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> splat(i1 true), <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+define void @scatter_v24i32_allones(<24 x i32> %val, <24 x ptr> %ptrs) {
+; CHECK-LABEL: scatter_v24i32_allones:
+; CHECK-COUNT-3: vpscatterqd
+; CHECK-NOT: vpscatterqd
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> %ptrs, i32 4, <24 x i1> splat(i1 true))
+ ret void
+}
diff --git a/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll b/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll
new file mode 100644
index 0000000000000..31853d1d1c94b
--- /dev/null
+++ b/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll
@@ -0,0 +1,164 @@
+; End-to-end loop-vectorize decisions driven by the per-shape gather/scatter
+; cost tables (TuningPreferGSCostTable, set on znver4+). The companion
+; cost-model test masked-gather-scatter-cost-table.ll pins the individual cost
+; numbers; this test pins the resulting vectorizer decisions so cost-model
+; refactors that re-enable harmful gathers (or suppress profitable ones) are
+; caught here.
+;
+; Each case is run on znver5 (per-shape tables) and on skylake-avx512 (generic
+; flat overhead). Where the two disagree the decision is table-driven, and the
+; SKX run is what stops the znver5 CHECK-NOTs from passing vacuously.
+;
+; The five cases below:
+; 1. f64 indirect-load reduction -- gather IS chosen, on both.
+; 2. i64 indirect-load reduction -- gather is NOT chosen on znver5, but IS on
+; SKX (the i64 entry is set above the break-even to suppress vpgatherqq
+; for harmful patterns, cf. PR llvm#198850).
+; 3. Unit-stride load -- must stay a plain wide load, not a gather, on both.
+; Regression guard for issue llvm#91370.
+; 4. f64 indirect store -- scatter IS chosen, on both.
+; 5. i64 indirect store -- scatter is NOT chosen on znver5, but IS on SKX.
+;
+; RUN: opt < %s -S -passes=loop-vectorize -mtriple=x86_64-unknown-linux-gnu \
+; RUN: -mcpu=znver5 | FileCheck %s --check-prefixes=CHECK,ZNVER5
+; RUN: opt < %s -S -passes=loop-vectorize -mtriple=x86_64-unknown-linux-gnu \
+; RUN: -mcpu=skylake-avx512 | FileCheck %s --check-prefixes=CHECK,SKX
+
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+
+; --- Case 1: f64 indirect-load gather IS chosen ---------------------------
+; CHECK-LABEL: define double @f64_indirect_gather_chosen
+; CHECK: call <{{[0-9]+}} x double> @llvm.masked.gather.v{{[0-9]+}}f64
+define double @f64_indirect_gather_chosen(ptr noundef readonly %data, ptr noundef readonly %idx, i32 noundef %n) {
+entry:
+ %cmp = icmp ugt i32 %n, 0
+ br i1 %cmp, label %loop, label %exit
+
+loop:
+ %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
+ %acc = phi double [ 0.0, %entry ], [ %acc.next, %loop ]
+ %idx.gep = getelementptr inbounds i32, ptr %idx, i32 %i
+ %idx.val = load i32, ptr %idx.gep, align 4
+ %idx.sext = sext i32 %idx.val to i64
+ %data.gep = getelementptr inbounds double, ptr %data, i64 %idx.sext
+ %data.val = load double, ptr %data.gep, align 8
+ %acc.next = fadd fast double %acc, %data.val
+ %inc = add nuw nsw i32 %i, 1
+ %done = icmp eq i32 %inc, %n
+ br i1 %done, label %exit, label %loop
+
+exit:
+ %ret = phi double [ 0.0, %entry ], [ %acc.next, %loop ]
+ ret double %ret
+}
+
+; --- Case 2: i64 indirect-load gather is NOT chosen on znver5 ------------
+; The positive CHECK on vector.body distinguishes "vectorized without a
+; gather" from "did not vectorize at all" -- without it, a future regression
+; that fails to vectorize the loop entirely would pass CHECK-NOT vacuously.
+; SKX takes the gather here, so the two runs pin the cost difference itself.
+; CHECK-LABEL: define i64 @i64_indirect_gather_avoided
+; CHECK: vector.body
+; ZNVER5-NOT: call <{{[0-9]+}} x i64> @llvm.masked.gather.v{{[0-9]+}}i64
+; SKX: call <{{[0-9]+}} x i64> @llvm.masked.gather.v{{[0-9]+}}i64
+define i64 @i64_indirect_gather_avoided(ptr noundef readonly %data, ptr noundef readonly %idx, i32 noundef %n) {
+entry:
+ %cmp = icmp ugt i32 %n, 0
+ br i1 %cmp, label %loop, label %exit
+
+loop:
+ %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
+ %acc = phi i64 [ 0, %entry ], [ %acc.next, %loop ]
+ %idx.gep = getelementptr inbounds i64, ptr %idx, i32 %i
+ %idx.val = load i64, ptr %idx.gep, align 8
+ %data.gep = getelementptr inbounds i64, ptr %data, i64 %idx.val
+ %data.val = load i64, ptr %data.gep, align 8
+ %acc.next = add i64 %acc, %data.val
+ %inc = add nuw nsw i32 %i, 1
+ %done = icmp eq i32 %inc, %n
+ br i1 %done, label %exit, label %loop
+
+exit:
+ %ret = phi i64 [ 0, %entry ], [ %acc.next, %loop ]
+ ret i64 %ret
+}
+
+; --- Case 3: unit-stride load must NOT become a gather (#91370 guard) -----
+; Same vector.body anchor as Case 2: ensures the loop did vectorize (to a
+; wide load) rather than failing to vectorize entirely.
+; CHECK-LABEL: define void @unit_stride_no_gather
+; CHECK: vector.body
+; CHECK-NOT: call <{{[0-9]+}} x double> @llvm.masked.gather
+define void @unit_stride_no_gather(ptr noundef writeonly %out, ptr noundef readonly %in, i32 noundef %n) {
+entry:
+ %cmp = icmp ugt i32 %n, 0
+ br i1 %cmp, label %loop, label %exit
+
+loop:
+ %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
+ %in.gep = getelementptr inbounds double, ptr %in, i32 %i
+ %in.val = load double, ptr %in.gep, align 8
+ %mul = fmul fast double %in.val, 2.000000e+00
+ %out.gep = getelementptr inbounds double, ptr %out, i32 %i
+ store double %mul, ptr %out.gep, align 8
+ %inc = add nuw nsw i32 %i, 1
+ %done = icmp eq i32 %inc, %n
+ br i1 %done, label %exit, label %loop
+
+exit:
+ ret void
+}
+
+; --- Case 4: f64 indirect-store scatter IS chosen ------------------------
+; CHECK-LABEL: define void @f64_indirect_scatter_chosen
+; CHECK: call void @llvm.masked.scatter.v{{[0-9]+}}f64
+define void @f64_indirect_scatter_chosen(ptr noalias noundef writeonly %data, ptr noalias noundef readonly %idx, ptr noalias noundef readonly %src, i32 noundef %n) {
+entry:
+ %cmp = icmp ugt i32 %n, 0
+ br i1 %cmp, label %loop, label %exit
+
+loop:
+ %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
+ %idx.gep = getelementptr inbounds i32, ptr %idx, i32 %i
+ %idx.val = load i32, ptr %idx.gep, align 4
+ %idx.sext = sext i32 %idx.val to i64
+ %src.gep = getelementptr inbounds double, ptr %src, i32 %i
+ %src.val = load double, ptr %src.gep, align 8
+ %data.gep = getelementptr inbounds double, ptr %data, i64 %idx.sext
+ store double %src.val, ptr %data.gep, align 8
+ %inc = add nuw nsw i32 %i, 1
+ %done = icmp eq i32 %inc, %n
+ br i1 %done, label %exit, label %loop
+
+exit:
+ ret void
+}
+
+; --- Case 5: i64 indirect-store scatter is NOT chosen on znver5 ----------
+; Same vector.body anchor as Case 2, and the same SKX contrast: SKX scatters
+; here, so the znver5 CHECK-NOT is pinning a cost decision rather than an
+; unconditional refusal to scatter.
+; CHECK-LABEL: define void @i64_indirect_scatter_avoided
+; CHECK: vector.body
+; ZNVER5-NOT: call void @llvm.masked.scatter.v{{[0-9]+}}i64
+; SKX: call void @llvm.masked.scatter.v{{[0-9]+}}i64
+define void @i64_indirect_scatter_avoided(ptr noalias noundef writeonly %data, ptr noalias noundef readonly %idx, ptr noalias noundef readonly %src, i32 noundef %n) {
+entry:
+ %cmp = icmp ugt i32 %n, 0
+ br i1 %cmp, label %loop, label %exit
+
+loop:
+ %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
+ %idx.gep = getelementptr inbounds i64, ptr %idx, i32 %i
+ %idx.val = load i64, ptr %idx.gep, align 8
+ %src.gep = getelementptr inbounds i64, ptr %src, i32 %i
+ %src.val = load i64, ptr %src.gep, align 8
+ %data.gep = getelementptr inbounds i64, ptr %data, i64 %idx.val
+ store i64 %src.val, ptr %data.gep, align 8
+ %inc = add nuw nsw i32 %i, 1
+ %done = icmp eq i32 %inc, %n
+ br i1 %done, label %exit, label %loop
+
+exit:
+ ret void
+}
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/gather-cost-znver4.ll b/llvm/test/Transforms/SLPVectorizer/X86/gather-cost-znver4.ll
new file mode 100644
index 0000000000000..0d43c16e29055
--- /dev/null
+++ b/llvm/test/Transforms/SLPVectorizer/X86/gather-cost-znver4.ll
@@ -0,0 +1,86 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
+; RUN: opt -passes=slp-vectorizer -S < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=znver4 -slp-threshold=-5 | FileCheck %s --check-prefix=ZNVER4
+; RUN: opt -passes=slp-vectorizer -S < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=skx -slp-threshold=-5 | FileCheck %s --check-prefix=SKX
+; RUN: opt -passes=slp-vectorizer -S < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=znver4 -slp-threshold=-8 | FileCheck %s --check-prefix=ZNVER4-BUDGET
+
+; Four loads addressed by loaded indices off a common base, feeding four
+; contiguous stores: SLP vectorizes the stores and gathers the source loads via
+; ScatterVectorize, reaching X86TTIImpl::getGSVectorCost for a 4-wide gather.
+; On znver4 that gather is priced from the per-shape cost table
+; (TuningPreferGSCostTable = schedule-model body + break-even overhead) at 11,
+; against 6 from the generic flat overhead on skx.
+;
+; The first two runs pin that the difference changes the decision and not just
+; the number: at the same threshold skx forms the gather, while znver4 leaves
+; the loads scalar and vectorizes only the stores. The third run gives znver4
+; the budget to afford the gather, so the ZNVER4 checks are a costing decision
+; rather than SLP never reaching the gather at all.
+define void @gather4(ptr %base, ptr %idxp, ptr noalias %out) {
+; ZNVER4-LABEL: define void @gather4
+; ZNVER4-SAME: (ptr [[BASE:%.*]], ptr [[IDXP:%.*]], ptr noalias [[OUT:%.*]]) #[[ATTR0:[0-9]+]] {
+; ZNVER4-NEXT: [[I0:%.*]] = load i32, ptr [[IDXP]], align 4
+; ZNVER4-NEXT: [[G1:%.*]] = getelementptr inbounds i32, ptr [[IDXP]], i64 1
+; ZNVER4-NEXT: [[I1:%.*]] = load i32, ptr [[G1]], align 4
+; ZNVER4-NEXT: [[G2:%.*]] = getelementptr inbounds i32, ptr [[IDXP]], i64 2
+; ZNVER4-NEXT: [[TMP1:%.*]] = load <2 x i32>, ptr [[G2]], align 4
+; ZNVER4-NEXT: [[P0:%.*]] = getelementptr inbounds float, ptr [[BASE]], i32 [[I0]]
+; ZNVER4-NEXT: [[V0:%.*]] = load float, ptr [[P0]], align 4
+; ZNVER4-NEXT: [[P1:%.*]] = getelementptr inbounds float, ptr [[BASE]], i32 [[I1]]
+; ZNVER4-NEXT: [[V1:%.*]] = load float, ptr [[P1]], align 4
+; ZNVER4-NEXT: [[TMP2:%.*]] = extractelement <2 x i32> [[TMP1]], i64 0
+; ZNVER4-NEXT: [[P2:%.*]] = getelementptr inbounds float, ptr [[BASE]], i32 [[TMP2]]
+; ZNVER4-NEXT: [[V2:%.*]] = load float, ptr [[P2]], align 4
+; ZNVER4-NEXT: [[TMP3:%.*]] = extractelement <2 x i32> [[TMP1]], i64 1
+; ZNVER4-NEXT: [[P3:%.*]] = getelementptr inbounds float, ptr [[BASE]], i32 [[TMP3]]
+; ZNVER4-NEXT: [[V3:%.*]] = load float, ptr [[P3]], align 4
+; ZNVER4-NEXT: [[TMP4:%.*]] = insertelement <4 x float> poison, float [[V0]], i64 0
+; ZNVER4-NEXT: [[TMP5:%.*]] = insertelement <4 x float> [[TMP4]], float [[V1]], i64 1
+; ZNVER4-NEXT: [[TMP6:%.*]] = insertelement <4 x float> [[TMP5]], float [[V2]], i64 2
+; ZNVER4-NEXT: [[TMP7:%.*]] = insertelement <4 x float> [[TMP6]], float [[V3]], i64 3
+; ZNVER4-NEXT: store <4 x float> [[TMP7]], ptr [[OUT]], align 4
+; ZNVER4-NEXT: ret void
+;
+; SKX-LABEL: define void @gather4
+; SKX-SAME: (ptr [[BASE:%.*]], ptr [[IDXP:%.*]], ptr noalias [[OUT:%.*]]) #[[ATTR0:[0-9]+]] {
+; SKX-NEXT: [[TMP1:%.*]] = load <4 x i32>, ptr [[IDXP]], align 4
+; SKX-NEXT: [[TMP2:%.*]] = insertelement <4 x ptr> poison, ptr [[BASE]], i64 0
+; SKX-NEXT: [[TMP3:%.*]] = shufflevector <4 x ptr> [[TMP2]], <4 x ptr> poison, <4 x i32> zeroinitializer
+; SKX-NEXT: [[TMP4:%.*]] = getelementptr inbounds float, <4 x ptr> [[TMP3]], <4 x i32> [[TMP1]]
+; SKX-NEXT: [[TMP5:%.*]] = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 [[TMP4]], <4 x i1> splat (i1 true), <4 x float> poison)
+; SKX-NEXT: store <4 x float> [[TMP5]], ptr [[OUT]], align 4
+; SKX-NEXT: ret void
+;
+; ZNVER4-BUDGET-LABEL: define void @gather4
+; ZNVER4-BUDGET-SAME: (ptr [[BASE:%.*]], ptr [[IDXP:%.*]], ptr noalias [[OUT:%.*]]) #[[ATTR0:[0-9]+]] {
+; ZNVER4-BUDGET-NEXT: [[TMP1:%.*]] = load <4 x i32>, ptr [[IDXP]], align 4
+; ZNVER4-BUDGET-NEXT: [[TMP2:%.*]] = insertelement <4 x ptr> poison, ptr [[BASE]], i64 0
+; ZNVER4-BUDGET-NEXT: [[TMP3:%.*]] = shufflevector <4 x ptr> [[TMP2]], <4 x ptr> poison, <4 x i32> zeroinitializer
+; ZNVER4-BUDGET-NEXT: [[TMP4:%.*]] = getelementptr inbounds float, <4 x ptr> [[TMP3]], <4 x i32> [[TMP1]]
+; ZNVER4-BUDGET-NEXT: [[TMP5:%.*]] = call <4 x float> @llvm.masked.gather.v4f32.v4p0(<4 x ptr> align 4 [[TMP4]], <4 x i1> splat (i1 true), <4 x float> poison)
+; ZNVER4-BUDGET-NEXT: store <4 x float> [[TMP5]], ptr [[OUT]], align 4
+; ZNVER4-BUDGET-NEXT: ret void
+;
+ %i0 = load i32, ptr %idxp, align 4
+ %g1 = getelementptr inbounds i32, ptr %idxp, i64 1
+ %i1 = load i32, ptr %g1, align 4
+ %g2 = getelementptr inbounds i32, ptr %idxp, i64 2
+ %i2 = load i32, ptr %g2, align 4
+ %g3 = getelementptr inbounds i32, ptr %idxp, i64 3
+ %i3 = load i32, ptr %g3, align 4
+ %p0 = getelementptr inbounds float, ptr %base, i32 %i0
+ %v0 = load float, ptr %p0, align 4
+ %p1 = getelementptr inbounds float, ptr %base, i32 %i1
+ %v1 = load float, ptr %p1, align 4
+ %p2 = getelementptr inbounds float, ptr %base, i32 %i2
+ %v2 = load float, ptr %p2, align 4
+ %p3 = getelementptr inbounds float, ptr %base, i32 %i3
+ %v3 = load float, ptr %p3, align 4
+ store float %v0, ptr %out, align 4
+ %o1 = getelementptr inbounds float, ptr %out, i64 1
+ store float %v1, ptr %o1, align 4
+ %o2 = getelementptr inbounds float, ptr %out, i64 2
+ store float %v2, ptr %o2, align 4
+ %o3 = getelementptr inbounds float, ptr %out, i64 3
+ store float %v3, ptr %o3, align 4
+ ret void
+}
>From 2c3752b0ac6778d4e8961442ef406c47a81d042e Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Fri, 11 Sep 2026 13:43:01 +0530
Subject: [PATCH 7/8] [X86][CostModel] Follow the emitted parts for Zen
gather/scatter costs
Three review findings on the znver4+ per-shape rows share one cause: the
cost was taken from the shape as written rather than from the operation
CodeGen emits.
Widening without VLX divided 512 by the data element alone, so a dword
gather indexed by qwords named a 16 x i32 shape whose indices need two
zmm. That shape has no encoding, so the operation went unpriced and fell
through below the body it really costs: a v8i32 gather reported 10 under
-avx512vl while llc emitted a full-width zmm gather whose Znver4 body
alone is 17.5. Widen on the wider of the data and index element instead.
A mask known at compile time says which legalized parts survive, since a
group holding no live lane is folded away rather than emitted under a
zeroed mask. A v24i32 gather masked to its first eight lanes emits one
instruction and not three. Count the live groups, and charge the premium
against the lanes really gathered, so that one emitted instruction is
priced alike however it was spelled.
Taking the cheapest calibrated row that holds the live lanes, rather than
only the row the shape itself would use, keeps the cost monotone in the
live lane count: a premium is a break-even margin, and margins do not
shrink as the row widens, so stopping at the row that fits would price
four live lanes above the sixteen they are a subset of.
The v16 scatter rows move from 31 to 47, from the break-even ratio
measured on an idle Zen5 9950X: a dword-indexed scatter's break-even
grows x1.89 between eight lanes and sixteen, which puts the v8 row of 25
at 47. At 31 the premium was 5 against a body of 26, where the v4 and v8
rows clear theirs by 11 and 13 -- a margin that shrank as the shape
widened, and so priced a partly masked scatter by its widest row however
few of its lanes were live.
---
.../lib/Target/X86/X86TargetTransformInfo.cpp | 219 +++++++++++++++---
llvm/lib/Target/X86/X86TargetTransformInfo.h | 7 +-
.../masked-gather-scatter-cost-edge-cases.ll | 4 +-
...gather-scatter-cost-table-constant-mask.ll | 197 ++++++++++++++++
...d-gather-scatter-cost-table-index-width.ll | 89 +++++++
.../masked-gather-scatter-cost-table-novl.ll | 37 +++
.../masked-gather-scatter-cost-table-scope.ll | 14 +-
.../X86/masked-gather-scatter-cost-table.ll | 36 +--
.../gather-scatter-cost-table-decisions.ll | 36 ++-
9 files changed, 579 insertions(+), 60 deletions(-)
create mode 100644 llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll
create mode 100644 llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-index-width.ll
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
index c434b67484a6b..01fe41db2227b 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
@@ -6709,8 +6709,15 @@ X86TTIImpl::getModeledGSInstrCost(bool IsLoad, Type *SrcVTy, unsigned IndexSize,
MVT ShapeVT = VT.getSimpleVT();
if (WidenWithoutVLX && ShapeVT.getSizeInBits() < 512 &&
IndexVectorBits < 512 && !ST->hasVLX()) {
+ // The widened form holds as many lanes as the wider of its data and index
+ // element allows. A dword gather indexed by qwords fills the zmm with
+ // indices before data, so it widens to eight lanes rather than sixteen:
+ // widening on the data element alone names a shape with no encoding
+ // (16 x i32 indexed by 16 x i64 needs two zmm of indices), which leaves the
+ // operation unpriced and falling back below the body it really costs.
MVT EltVT = ShapeVT.getVectorElementType();
- ShapeVT = MVT::getVectorVT(EltVT, 512 / EltVT.getSizeInBits());
+ unsigned EltBits = EltVT.getSizeInBits();
+ ShapeVT = MVT::getVectorVT(EltVT, 512 / std::max(EltBits, IndexSize));
}
unsigned Opc = getAVX512GSRepresentativeOpcode(IsLoad, ShapeVT, IndexSize);
if (!Opc)
@@ -6740,10 +6747,24 @@ X86TTIImpl::getModeledGSInstrCost(bool IsLoad, Type *SrcVTy, unsigned IndexSize,
// exist to arbitrate. A gather's qword form has a larger body of its own and
// lands at or above the calibrated total -- the safe direction, since a wider
// index is the more expensive lowering. Four scatter rows land below it
-// instead (v16i32 and v16f32 at 29 against 31, v4i32 and v4f32 at 18 against
+// instead (v16i32 and v16f32 at 45 against 47, v4i32 and v4f32 at 18 against
// 19), because Znver4Model prices the two half-width qword scatters CodeGen
// emits below the single full-width dword one; that is a question for the
-// schedule model rather than a calibration error.
+// schedule model rather than a calibration error. The offset is fixed at two
+// points whatever the total, being the difference of two schedule-model
+// bodies, and is an order of magnitude smaller than the distance from either
+// value to the measured flip, so it cannot change a decision.
+//
+// The v16 scatter rows are set from the ratio between measured break-evens
+// rather than from an absolute measurement of their own. On an idle Zen5
+// 9950X a dword-indexed scatter's break-even grows x1.89 from eight lanes to
+// sixteen (9.03 to 17.05, in units of one scalar indexed store), so the v8 row
+// of 25 puts v16 at 47. They were previously 31, which left a premium of 5
+// against a body of 26 where the v4 and v8 rows clear theirs by 11 and 13 --
+// a margin that shrank as the shape widened, and so priced a partly masked
+// scatter by its widest row however few lanes were live. The gather column
+// needs no such correction: it reproduces its own measured ratio (x1.52
+// against the x1.40 the rows encode) and its margins already grow.
//
// Keyed by native shape (VF <= 16 for 32-bit, <= 8 for 64-bit).
std::optional<unsigned>
@@ -6767,8 +6788,8 @@ X86TTIImpl::getZenGSCalibratedTotal(bool IsLoad, Type *SrcVTy) const {
};
static const CostTblEntry ZenScatterTotalTable[] = {
{ISD::STORE, MVT::v4i32, 19}, {ISD::STORE, MVT::v8i32, 25},
- {ISD::STORE, MVT::v16i32, 31}, {ISD::STORE, MVT::v4f32, 19},
- {ISD::STORE, MVT::v8f32, 25}, {ISD::STORE, MVT::v16f32, 31},
+ {ISD::STORE, MVT::v16i32, 47}, {ISD::STORE, MVT::v4f32, 19},
+ {ISD::STORE, MVT::v8f32, 25}, {ISD::STORE, MVT::v16f32, 47},
{ISD::STORE, MVT::v4f64, 10}, {ISD::STORE, MVT::v8f64, 20},
{ISD::STORE, MVT::v4i64, 15}, {ISD::STORE, MVT::v8i64, 32},
};
@@ -6838,16 +6859,50 @@ static unsigned getGSIndexSizeInBits(const Value *Ptr, unsigned PtrSizeInBits) {
return (unsigned)32;
}
+// How many GroupSize-lane groups a compile-time mask leaves live. A group with
+// no active lane has nothing to gather, so CodeGen folds it away: a v24i32
+// gather under a mask holding only its first eight lanes emits one instruction
+// and not three. Returns nullopt when the mask is not a constant this can read,
+// where every group has to be assumed live. A VP operation's EVL is not read
+// here, so a short EVL under an all-true mask still counts every group.
+//
+// Only code size and reciprocal throughput are read from this, and throughput
+// only where the shape has a calibrated row. Everything else is served by the
+// flat path at the end of getZenGSVectorCost, which prices the whole shape
+// however the mask narrows it, so a partly masked operation reports the cost
+// of the shape it was written as rather than of the instructions left after
+// folding. That is the safe direction, and none of those queries arbitrates
+// the vectoriser decision these rows exist to settle. An all-false mask is the
+// exception: it short-circuits to zero ahead of every path.
+static std::optional<unsigned> getActiveGSGroups(const Value *Mask, unsigned VF,
+ unsigned GroupSize) {
+ const auto *CMask = dyn_cast_or_null<Constant>(Mask);
+ if (!CMask || !GroupSize)
+ return std::nullopt;
+ unsigned Active = 0;
+ for (unsigned Base = 0; Base < VF; Base += GroupSize) {
+ for (unsigned I = Base, E = std::min(Base + GroupSize, VF); I != E; ++I) {
+ // An element that cannot be read, or that is not a known-zero bit, has
+ // to be counted as active.
+ const Constant *Elt = CMask->getAggregateElement(I);
+ if (!Elt || !Elt->isNullValue()) {
+ ++Active;
+ break;
+ }
+ }
+ }
+ return Active;
+}
+
// Price a gather or scatter on a subtarget carrying TuningPreferGSCostTable
// (AMD znver4+) from the per-shape rows and the schedule model. Reached only
// through the feature test in getGSVectorCost, so nothing here can move the
// cost of any other target.
-InstructionCost X86TTIImpl::getZenGSVectorCost(unsigned Opcode,
- TTI::TargetCostKind CostKind,
- Type *SrcVTy, const Value *Ptr,
- bool VariableMask,
- Align Alignment,
- unsigned AddressSpace) const {
+InstructionCost
+X86TTIImpl::getZenGSVectorCost(unsigned Opcode, TTI::TargetCostKind CostKind,
+ Type *SrcVTy, const Value *Ptr,
+ bool VariableMask, Align Alignment,
+ unsigned AddressSpace, const Value *Mask) const {
unsigned VF = cast<FixedVectorType>(SrcVTy)->getNumElements();
// The index starts out as wide as the pointers being gathered, which is a
@@ -6895,14 +6950,25 @@ InstructionCost X86TTIImpl::getZenGSVectorCost(unsigned Opcode,
unsigned PartVF = 0;
const unsigned MaxRegBits = ST->useAVX512Regs() ? 512 : 256;
InstructionCost::CostType EmittedParts = SplitFactor;
+ InstructionCost::CostType UnmaskedParts = SplitFactor;
if (EltBits) {
PartVF = std::max<unsigned>(
1, std::min<unsigned>(PowerOf2Ceil(VF),
MaxRegBits / std::max(EltBits, IndexSize)));
unsigned Parts = divideCeil(VF, PartVF);
EmittedParts = IsLoad || !VariableMask ? Parts : PowerOf2Ceil(Parts);
+ UnmaskedParts = EmittedParts;
+ // Parts the mask empties are not emitted at all, so a mask known at
+ // compile time can leave fewer instructions than the shape alone implies.
+ if (std::optional<unsigned> Active = getActiveGSGroups(Mask, VF, PartVF))
+ EmittedParts = std::min<InstructionCost::CostType>(EmittedParts, *Active);
}
+ // A mask with no live lane leaves nothing to gather, and CodeGen folds the
+ // whole operation away rather than emitting a part of it.
+ if (EmittedParts == 0)
+ return 0;
+
if (CostKind == TTI::TCK_CodeSize)
return EmittedParts;
@@ -6929,23 +6995,100 @@ InstructionCost X86TTIImpl::getZenGSVectorCost(unsigned Opcode,
// measured bodies of the two index forms sit within two points of each
// other, so charging the premium per instruction would invent a 19-point
// gap between two spellings of one operation.
- unsigned NativeVF = std::max<unsigned>(
- 1, std::min<unsigned>(PowerOf2Ceil(VF), MaxRegBits / EltBits));
- auto *NativeVTy = FixedVectorType::get(EltTy, NativeVF);
- InstructionCost::CostType LaneGroups = divideCeil(VF, NativeVF);
- std::optional<unsigned> Total = getZenGSCalibratedTotal(IsLoad, NativeVTy);
-
- // The row pins the total for one native-width operation indexed by a
- // dword, the form it was calibrated against. Recovering the premium from
- // that same form is what keeps a schedule-model retune out of this table:
- // the body moves, the premium absorbs it, and the calibrated total holds.
- std::optional<unsigned> NativeBody =
- getModeledGSInstrCost(IsLoad, NativeVTy, /*IndexSize=*/32, CostKind,
- /*WidenWithoutVLX=*/false);
- if (Body && Total && NativeBody) {
- InstructionCost::CostType Premium =
- *Total > *NativeBody ? *Total - *NativeBody : 0;
- return LaneGroups * Premium + EmittedParts * *Body;
+ //
+ // The premium is the margin against scalarising, so it follows the lanes
+ // that are really gathered: a lane a compile-time mask turns off has no
+ // scalar load to be measured against, and so neither widens the row this
+ // is calibrated against nor pays a premium of its own. That keeps one
+ // emitted instruction priced alike however it was spelled -- a v24i32
+ // gather holding eight live lanes costs what the v8i32 gather it compiles
+ // to costs, rather than being priced against a v16i32 row it never fills.
+ unsigned ActiveLanes = VF;
+ if (std::optional<unsigned> Live = getActiveGSGroups(Mask, VF, 1))
+ ActiveLanes = *Live;
+
+ // Price a given number of live lanes spread over a given number of emitted
+ // instructions. Both counts are magnitudes: where in the vector the mask
+ // happens to place its live lanes changes neither the row this is measured
+ // against nor the instructions CodeGen emits.
+ auto priceLanes = [&](unsigned Lanes, InstructionCost::CostType Parts)
+ -> std::optional<InstructionCost::CostType> {
+ // The rows the live lanes may be measured against run from the narrowest
+ // that holds them to the one the shape itself would use. The narrowest
+ // calibrated row is four lanes wide, so a mask leaving fewer live still
+ // rounds up to it; an unmasked shape narrower than a row has no row
+ // either way and keeps falling through to the flat path below, which is
+ // where the VF<4 forms the vectoriser force-scalarises are meant to land.
+ unsigned MaxNativeVF = std::max<unsigned>(1, MaxRegBits / EltBits);
+ unsigned ShapeVF = std::min<unsigned>(PowerOf2Ceil(VF), MaxNativeVF);
+ unsigned RowLanes = std::max(Lanes, std::min(VF, 4u));
+ unsigned FitVF = std::min<unsigned>(PowerOf2Ceil(RowLanes), ShapeVF);
+
+ std::optional<InstructionCost::CostType> Margin;
+ for (unsigned NativeVF = std::max(FitVF, 1u); NativeVF <= ShapeVF;
+ NativeVF *= 2) {
+ auto *NativeVTy = FixedVectorType::get(EltTy, NativeVF);
+ std::optional<unsigned> Total =
+ getZenGSCalibratedTotal(IsLoad, NativeVTy);
+
+ // The row pins the total for one native-width operation indexed by a
+ // dword, the form it was calibrated against. Recovering the premium
+ // from that same form is what keeps a schedule-model retune out of
+ // this table: the body moves, the premium absorbs it, and the
+ // calibrated total holds.
+ std::optional<unsigned> NativeBody =
+ getModeledGSInstrCost(IsLoad, NativeVTy, /*IndexSize=*/32, CostKind,
+ /*WidenWithoutVLX=*/false);
+ if (!Total || !NativeBody)
+ continue;
+ // Every row is calibrated above the body of the shape it prices, so
+ // the premium is positive, and the retuning claim above holds only
+ // while it stays so. The margin is not generous: the smallest is 4
+ // (v4f64 scatter, total 10 against a body of 6) and the next is 6
+ // (v4f32 and v4f64 gather, 11 against 5), so a schedule-model retune
+ // could plausibly cross one. A crossed row would price the shape at
+ // its body alone and go on quietly answering queries, so assert where
+ // it happens rather than leaving the clamp below to absorb it.
+ assert(*Total > *NativeBody &&
+ "calibrated total must exceed the body it is measured against; "
+ "the row needs recalibrating against the retuned schedule");
+ InstructionCost::CostType Premium =
+ *Total > *NativeBody ? *Total - *NativeBody : 0;
+ // The premium is charged once per register's worth of live lanes. It
+ // counts how many there are, not how far apart the mask spreads them:
+ // measuring it per occupied register instead would charge a full row's
+ // premium for every isolated lane, and price four live lanes above the
+ // sixteen that compile to the same single instruction.
+ InstructionCost::CostType Term = divideCeil(Lanes, NativeVF) * Premium;
+ if (!Margin || Term < *Margin)
+ Margin = Term;
+ }
+
+ // Taking the cheapest of those rows rather than only the one that fits
+ // is what keeps the result monotone in the live lane count. A premium is
+ // a break-even margin, and margins do not shrink as the row widens -- a
+ // v4i32 scatter clears its body by 11 where a v16i32 one clears it by 5
+ // -- so stopping at the row that fits would price four live lanes above
+ // the sixteen they are a subset of, for the one instruction both emit.
+ if (!Margin)
+ return std::nullopt;
+ return *Margin + Parts * *Body;
+ };
+
+ if (Body) {
+ if (std::optional<InstructionCost::CostType> Priced =
+ priceLanes(ActiveLanes, EmittedParts)) {
+ // Turning lanes off cannot make the hardware do more work, so a masked
+ // operation is never priced above the shape it belongs to with every
+ // lane live. The rows are calibrated per shape and their premiums do
+ // not fall as the shape widens, so without this a narrow row's premium
+ // could otherwise outrun the wide operation actually emitted.
+ if (ActiveLanes != VF)
+ if (std::optional<InstructionCost::CostType> Full =
+ priceLanes(VF, UnmaskedParts))
+ return std::min(*Priced, *Full);
+ return *Priced;
+ }
}
}
@@ -6963,13 +7106,14 @@ InstructionCost X86TTIImpl::getGSVectorCost(unsigned Opcode,
TTI::TargetCostKind CostKind,
Type *SrcVTy, const Value *Ptr,
bool VariableMask, Align Alignment,
- unsigned AddressSpace) const {
+ unsigned AddressSpace,
+ const Value *Mask) const {
assert(isa<VectorType>(SrcVTy) && "Unexpected type in getGSVectorCost");
if (ST->hasPreferGSCostTable() && ST->hasAVX512())
return getZenGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, VariableMask,
- Alignment, AddressSpace);
+ Alignment, AddressSpace, Mask);
unsigned VF = cast<FixedVectorType>(SrcVTy)->getNumElements();
@@ -6991,7 +7135,8 @@ InstructionCost X86TTIImpl::getGSVectorCost(unsigned Opcode,
auto *SplitSrcTy =
FixedVectorType::get(SrcVTy->getScalarType(), VF / SplitFactor);
return SplitFactor * getGSVectorCost(Opcode, CostKind, SplitSrcTy, Ptr,
- VariableMask, Alignment, AddressSpace);
+ VariableMask, Alignment, AddressSpace,
+ Mask);
}
// If we didn't split, this will be a single gather/scatter instruction.
@@ -7028,8 +7173,18 @@ X86TTIImpl::getGatherScatterOpCost(const MemIntrinsicCostAttributes &MICA,
assert(SrcVTy->isVectorTy() && "Unexpected data type for Gather/Scatter");
unsigned AddressSpace = MICA.getAddressSpace();
+
+ // A mask known at compile time tells the cost path which legalized parts
+ // CodeGen keeps. Read it only from a real gather/scatter call: the context
+ // instruction can also be a plain load or store being considered for the
+ // transform, whose operands mean something else entirely.
+ const Value *Mask = nullptr;
+ if (const auto *II = dyn_cast_or_null<IntrinsicInst>(MICA.getInst()))
+ if (II->getIntrinsicID() == MICA.getID())
+ Mask = II->getArgOperand(IsLoad ? 1 : 2);
+
return getGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, MICA.getVariableMask(),
- Alignment, AddressSpace);
+ Alignment, AddressSpace, Mask);
}
bool X86TTIImpl::isLSRCostLess(const TargetTransformInfo::LSRCost &C1,
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.h b/llvm/lib/Target/X86/X86TargetTransformInfo.h
index 56b2c82124453..bb39964145651 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.h
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.h
@@ -272,12 +272,13 @@ class X86TTIImpl final : public BasicTTIImplBase<X86TTIImpl> {
InstructionCost getGSVectorCost(unsigned Opcode, TTI::TargetCostKind CostKind,
Type *DataTy, const Value *Ptr,
bool VariableMask, Align Alignment,
- unsigned AddressSpace) const;
+ unsigned AddressSpace,
+ const Value *Mask = nullptr) const;
InstructionCost getZenGSVectorCost(unsigned Opcode,
TTI::TargetCostKind CostKind, Type *DataTy,
const Value *Ptr, bool VariableMask,
- Align Alignment,
- unsigned AddressSpace) const;
+ Align Alignment, unsigned AddressSpace,
+ const Value *Mask = nullptr) const;
int getGatherOverhead() const;
int getScatterOverhead() const;
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
index 74cba5171faaf..e9e96a9f56318 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
@@ -89,7 +89,7 @@ define <24 x i32> @gather_v24i32(<24 x ptr> %ptrs, <24 x i1> %mask) {
define void @scatter_v24i32(<24 x i32> %src, <24 x ptr> %ptrs, <24 x i1> %mask) {
; THROUGHPUT-LABEL: 'scatter_v24i32'
-; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; SIZE-LABEL: 'scatter_v24i32'
@@ -108,7 +108,7 @@ define void @scatter_v24i32(<24 x i32> %src, <24 x ptr> %ptrs, <24 x i1> %mask)
define void @scatter_v24i32_allones(<24 x i32> %src, <24 x ptr> %ptrs) {
; THROUGHPUT-LABEL: 'scatter_v24i32_allones'
-; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 46 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 78 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; SIZE-LABEL: 'scatter_v24i32_allones'
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll
new file mode 100644
index 0000000000000..5505621c5ec37
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll
@@ -0,0 +1,197 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 6
+; Zen gather/scatter costs under a mask that is known at compile time.
+;
+; A legalized part with no active lane has nothing to gather, so CodeGen folds
+; it away: a v24i32 operation indexed by qwords splits into three eight-lane
+; parts, but a mask holding only eight live lanes leaves one instruction. The
+; cost must follow the parts that survive, not the parts the shape implies, or
+; a partially masked operation is charged several times over.
+;
+; The premium follows the live lanes for the same reason -- a lane that is
+; masked off has no scalar load to be measured against -- so a gather whose
+; live lanes fill one eight-lane part costs what the v8i32 gather it compiles
+; to costs. The reference functions below pin that equality.
+;
+; The scatter does not reach it, and the reference pins the gap rather than the
+; equality: a v16i32 scatter clears its body by 5 where a v4i32 one clears it
+; by 11, so the margin a scatter is measured against does not grow with the
+; row. Pricing the live lanes against the row that fits them would then charge
+; a partly masked scatter more than the same scatter fully live, for the one
+; instruction both emit, so the narrowest margin among the rows that could
+; describe the operation is the one charged. That holds the scatter below its
+; v8i32 reference instead of level with it. The rows are the reason -- the
+; v16i32 and v16f32 scatter totals are low against their own v4 and v8
+; neighbours -- and correcting them is a recalibration with its own
+; measurements, not a change to the accounting here.
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=throughput -mcpu=znver4 | FileCheck %s --check-prefix=RTHRU
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=code-size -mcpu=znver4 | FileCheck %s --check-prefix=CODESIZE
+
+; Reference: the eight-lane qword-indexed operation the cases below compile to.
+define <8 x i32> @ref_gather_v8i32(ptr %base, <8 x i64> %idx) {
+; RTHRU-LABEL: 'ref_gather_v8i32'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> splat (i1 true), <8 x i32> poison)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <8 x i32> %v
+;
+; CODESIZE-LABEL: 'ref_gather_v8i32'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> align 4 %ptrs, <8 x i1> splat (i1 true), <8 x i32> poison)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <8 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
+ %v = call <8 x i32> @llvm.masked.gather.v8i32.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> splat (i1 true), <8 x i32> poison)
+ ret <8 x i32> %v
+}
+
+define void @ref_scatter_v8i32(<8 x i32> %val, ptr %base, <8 x i64> %idx) {
+; RTHRU-LABEL: 'ref_scatter_v8i32'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> align 4 %ptrs, <8 x i1> splat (i1 true))
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; CODESIZE-LABEL: 'ref_scatter_v8i32'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> align 4 %ptrs, <8 x i1> splat (i1 true))
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
+ call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> %ptrs, i32 4, <8 x i1> splat (i1 true))
+ ret void
+}
+
+; Only the first part is live: one instruction, priced as the reference above.
+define <24 x i32> @gather_v24i32_first_part(ptr %base, <24 x i64> %idx) {
+; RTHRU-LABEL: 'gather_v24i32_first_part'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; CODESIZE-LABEL: 'gather_v24i32_first_part'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+define void @scatter_v24i32_first_part(<24 x i32> %val, ptr %base, <24 x i64> %idx) {
+; RTHRU-LABEL: 'scatter_v24i32_first_part'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; CODESIZE-LABEL: 'scatter_v24i32_first_part'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> %ptrs, i32 4, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>)
+ ret void
+}
+
+; The live part need not be the leading one: an interior part costs the same.
+define <24 x i32> @gather_v24i32_middle_part(ptr %base, <24 x i64> %idx) {
+; RTHRU-LABEL: 'gather_v24i32_middle_part'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 26 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; CODESIZE-LABEL: 'gather_v24i32_middle_part'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+; Nothing live: CodeGen emits no gather at all.
+define <24 x i32> @gather_v24i32_no_lanes(ptr %base, <24 x i64> %idx) {
+; RTHRU-LABEL: 'gather_v24i32_no_lanes'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> zeroinitializer, <24 x i32> poison)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; CODESIZE-LABEL: 'gather_v24i32_no_lanes'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> zeroinitializer, <24 x i32> poison)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>, <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+; An all-true mask keeps every part, so the shape is priced in full.
+define <24 x i32> @gather_v24i32_all_lanes(ptr %base, <24 x i64> %idx) {
+; RTHRU-LABEL: 'gather_v24i32_all_lanes'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true), <24 x i32> poison)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; CODESIZE-LABEL: 'gather_v24i32_all_lanes'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true), <24 x i32> poison)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> splat (i1 true), <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+; A mask that is not known at compile time has to assume every part is live.
+define <24 x i32> @gather_v24i32_variable_mask(ptr %base, <24 x i64> %idx, <24 x i1> %mask) {
+; RTHRU-LABEL: 'gather_v24i32_variable_mask'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> %mask, <24 x i32> poison)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <24 x i32> %v
+;
+; CODESIZE-LABEL: 'gather_v24i32_variable_mask'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> align 4 %ptrs, <24 x i1> %mask, <24 x i32> poison)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret <24 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ %v = call <24 x i32> @llvm.masked.gather.v24i32.v24p0(<24 x ptr> %ptrs, i32 4, <24 x i1> %mask, <24 x i32> poison)
+ ret <24 x i32> %v
+}
+
+; The same two baselines for the scatter, which splits the same way.
+define void @scatter_v24i32_all_lanes(<24 x i32> %val, ptr %base, <24 x i64> %idx) {
+; RTHRU-LABEL: 'scatter_v24i32_all_lanes'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 78 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; CODESIZE-LABEL: 'scatter_v24i32_all_lanes'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 3 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> %ptrs, i32 4, <24 x i1> splat (i1 true))
+ ret void
+}
+
+; A variable mask keeps the trailing part alive for a scatter, as a store under
+; a zeroed mask, so this one costs a part more than the all-true shape above.
+define void @scatter_v24i32_variable_mask(<24 x i32> %val, ptr %base, <24 x i64> %idx, <24 x i1> %mask) {
+; RTHRU-LABEL: 'scatter_v24i32_variable_mask'
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; CODESIZE-LABEL: 'scatter_v24i32_variable_mask'
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
+ call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> %ptrs, i32 4, <24 x i1> %mask)
+ ret void
+}
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-index-width.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-index-width.ll
new file mode 100644
index 0000000000000..f7a6691d20f00
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-index-width.ll
@@ -0,0 +1,89 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 6
+; Zen gather/scatter costs when the index comes from a GEP whose operands are
+; narrower than a pointer.
+;
+; A GEP indexed by i32 needs only a dword of index per lane, so twelve i32 lanes
+; and their indices both fit one zmm and CodeGen emits a single VPGATHERDD. The
+; generic path only looks for that narrowing at VF 16 and above, where it is
+; needed to avoid a split, and so counts two parts for a v12 shape; the table
+; path takes the real index width at every VF, because it has to name the
+; matching instruction class to price it.
+;
+; Enabling the feature therefore moves the part count here, and with it the cost
+; kinds derived from that count. The FEATURE numbers are the ones that agree
+; with the single instruction llc emits; the difference is deliberate rather
+; than the feature leaking, and this test pins it so that it cannot change
+; silently.
+
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mcpu=znver4 | FileCheck %s --check-prefix=FEATURE
+; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mcpu=znver4 -mattr=-prefer-gs-cost-table | FileCheck %s --check-prefix=GENERIC
+
+; llc emits one vpgatherdd: the dword index leaves data and index each within a
+; zmm, so there is nothing to split.
+define <12 x i32> @gather_v12i32_dword_index(ptr %base, <12 x i32> %idx, <12 x i1> %mask) {
+; FEATURE-LABEL: 'gather_v12i32_dword_index'
+; FEATURE-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <12 x i32> %idx
+; FEATURE-NEXT: Cost Model: Found costs of RThru:35 CodeSize:1 Lat:50 SizeLat:14 for: %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> align 4 %ptrs, <12 x i1> %mask, <12 x i32> poison)
+; FEATURE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <12 x i32> %v
+;
+; GENERIC-LABEL: 'gather_v12i32_dword_index'
+; GENERIC-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <12 x i32> %idx
+; GENERIC-NEXT: Cost Model: Found costs of RThru:16 CodeSize:2 Lat:52 SizeLat:16 for: %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> align 4 %ptrs, <12 x i1> %mask, <12 x i32> poison)
+; GENERIC-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <12 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <12 x i32> %idx
+ %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> %ptrs, i32 4, <12 x i1> %mask, <12 x i32> poison)
+ ret <12 x i32> %v
+}
+
+define void @scatter_v12i32_dword_index(<12 x i32> %val, ptr %base, <12 x i32> %idx, <12 x i1> %mask) {
+; FEATURE-LABEL: 'scatter_v12i32_dword_index'
+; FEATURE-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <12 x i32> %idx
+; FEATURE-NEXT: Cost Model: Found costs of RThru:47 CodeSize:1 Lat:14 SizeLat:14 for: call void @llvm.masked.scatter.v12i32.v12p0(<12 x i32> %val, <12 x ptr> align 4 %ptrs, <12 x i1> %mask)
+; FEATURE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
+;
+; GENERIC-LABEL: 'scatter_v12i32_dword_index'
+; GENERIC-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <12 x i32> %idx
+; GENERIC-NEXT: Cost Model: Found costs of RThru:16 CodeSize:2 Lat:16 SizeLat:16 for: call void @llvm.masked.scatter.v12i32.v12p0(<12 x i32> %val, <12 x ptr> align 4 %ptrs, <12 x i1> %mask)
+; GENERIC-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <12 x i32> %idx
+ call void @llvm.masked.scatter.v12i32.v12p0(<12 x i32> %val, <12 x ptr> %ptrs, i32 4, <12 x i1> %mask)
+ ret void
+}
+
+; A qword index at the same length has nothing to narrow, so both paths split it
+; the same way and the feature moves only reciprocal throughput.
+define <12 x i32> @gather_v12i32_qword_index(ptr %base, <12 x i64> %idx, <12 x i1> %mask) {
+; FEATURE-LABEL: 'gather_v12i32_qword_index'
+; FEATURE-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <12 x i64> %idx
+; FEATURE-NEXT: Cost Model: Found costs of RThru:37 CodeSize:2 Lat:52 SizeLat:16 for: %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> align 4 %ptrs, <12 x i1> %mask, <12 x i32> poison)
+; FEATURE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <12 x i32> %v
+;
+; GENERIC-LABEL: 'gather_v12i32_qword_index'
+; GENERIC-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <12 x i64> %idx
+; GENERIC-NEXT: Cost Model: Found costs of RThru:16 CodeSize:2 Lat:52 SizeLat:16 for: %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> align 4 %ptrs, <12 x i1> %mask, <12 x i32> poison)
+; GENERIC-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <12 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <12 x i64> %idx
+ %v = call <12 x i32> @llvm.masked.gather.v12i32.v12p0(<12 x ptr> %ptrs, i32 4, <12 x i1> %mask, <12 x i32> poison)
+ ret <12 x i32> %v
+}
+
+; At VF 16 the generic path narrows too, so the part counts already agree and
+; only reciprocal throughput moves.
+define <16 x i32> @gather_v16i32_dword_index(ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
+; FEATURE-LABEL: 'gather_v16i32_dword_index'
+; FEATURE-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; FEATURE-NEXT: Cost Model: Found costs of RThru:35 CodeSize:1 Lat:66 SizeLat:18 for: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; FEATURE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <16 x i32> %v
+;
+; GENERIC-LABEL: 'gather_v16i32_dword_index'
+; GENERIC-NEXT: Cost Model: Found costs of 0 for: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+; GENERIC-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:66 SizeLat:18 for: %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> align 4 %ptrs, <16 x i1> %mask, <16 x i32> poison)
+; GENERIC-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret <16 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
+ %v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
+ ret <16 x i32> %v
+}
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
index f6ae43e65fe4d..3fb005914aa48 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
@@ -89,3 +89,40 @@ define <16 x i32> @gather_v16i32(<16 x ptr> %ptrs, <16 x i1> %mask) {
%v = call <16 x i32> @llvm.masked.gather.v16i32.v16p0(<16 x ptr> %ptrs, i32 4, <16 x i1> %mask, <16 x i32> poison)
ret <16 x i32> %v
}
+
+; A VF below the narrowest encoding, indexed by qwords. Widening has to follow
+; the wider of the data and index element: three i32 lanes indexed by i64 widen
+; to the eight-lane VPGATHERQD/VPSCATTERQD, not the sixteen-lane dword-indexed
+; form, whose index would need two zmm and which therefore does not exist. Both
+; costs must stay above the narrow form they cannot use.
+define <3 x i32> @gather_v3i32_qword_index(ptr %base, <3 x i64> %idx, <3 x i1> %mask) {
+; VL-LABEL: 'gather_v3i32_qword_index'
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
+; VL-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+; NOVL-LABEL: 'gather_v3i32_qword_index'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
+; NOVL-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> align 4 %ptrs, <3 x i1> %mask, <3 x i32> poison)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret <3 x i32> %v
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
+ %v = call <3 x i32> @llvm.masked.gather.v3i32.v3p0(<3 x ptr> %ptrs, i32 4, <3 x i1> %mask, <3 x i32> poison)
+ ret <3 x i32> %v
+}
+
+define void @scatter_v3i32_qword_index(<3 x i32> %val, ptr %base, <3 x i64> %idx, <3 x i1> %mask) {
+; VL-LABEL: 'scatter_v3i32_qword_index'
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
+; VL-NEXT: Cost Model: Found an estimated cost of 18 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; VL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+; NOVL-LABEL: 'scatter_v3i32_qword_index'
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
+; NOVL-NEXT: Cost Model: Found an estimated cost of 23 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
+;
+ %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
+ call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> %ptrs, i32 4, <3 x i1> %mask)
+ ret void
+}
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll
index 00085174f38cb..417bbabafdefe 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-scope.ll
@@ -1,11 +1,17 @@
-; The prefer-gs-cost-table tuning feature supplies reciprocal-throughput numbers
-; only, and only for AVX-512 shapes it has a row for. Enabling it must therefore
-; not move any other cost kind, and must not affect a target the table does not
-; cover at all.
+; The prefer-gs-cost-table tuning feature must be inert wherever it has nothing
+; to say: on a target with no AVX-512, which can never reach the table, and on
+; the cost kinds it supplies no numbers for.
;
; Each prefix below is checked by a pair of RUN lines that differ only in the
; feature bit, so if enabling it ever moves one of these costs, the pair
; disagrees and the test fails.
+;
+; The shapes here are indexed through vectors of pointers, whose index width is
+; not open to question. Where the index comes from a GEP the feature does move
+; the part count, and with it the cost kinds derived from that count, because it
+; takes the real index width at every VF instead of only at VF 16 and above.
+; That difference is deliberate and is pinned in
+; masked-gather-scatter-cost-table-index-width.ll.
; RUN: opt < %s -S -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" \
; RUN: -disable-output -cost-kind=latency -mcpu=znver4 2>&1 \
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
index cd99b6febb580..c702463307304 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
@@ -503,15 +503,15 @@ define void @scatter_v8i32(<8 x i32> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
define void @scatter_v16i32(<16 x i32> %src, <16 x ptr> %ptrs, <16 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v16i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v16i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v16i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v16i32'
@@ -656,15 +656,15 @@ define void @scatter_v8f32(<8 x float> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
define void @scatter_v16f32(<16 x float> %src, <16 x ptr> %ptrs, <16 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v16f32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v16f32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v16f32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 29 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v16f32'
@@ -955,17 +955,17 @@ define <16 x float> @gather_v16f32_gep(ptr %base, <16 x i32> %idx, <16 x i1> %ma
define void @scatter_v16i32_gep(<16 x i32> %src, ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v16i32_gep'
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v16i32_gep'
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v16i32_gep'
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <16 x i32> %idx
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v16i32_gep'
@@ -991,17 +991,17 @@ define void @scatter_v16i32_gep(<16 x i32> %src, ptr %base, <16 x i32> %idx, <16
define void @scatter_v16f32_gep(<16 x float> %src, ptr %base, <16 x i32> %idx, <16 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v16f32_gep'
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v16f32_gep'
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v16f32_gep'
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds float, ptr %base, <16 x i32> %idx
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 31 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v16f32_gep'
@@ -1088,15 +1088,15 @@ define <64 x i32> @gather_v64i32(<64 x ptr> %ptrs, <64 x i1> %mask) {
define void @scatter_v32i32(<32 x i32> %src, <32 x ptr> %ptrs, <32 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v32i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v32i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v32i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 58 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v32i32'
@@ -1117,15 +1117,15 @@ define void @scatter_v32i32(<32 x i32> %src, <32 x ptr> %ptrs, <32 x i1> %mask)
define void @scatter_v64i32(<64 x i32> %src, <64 x ptr> %ptrs, <64 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v64i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 116 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 180 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v64i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 116 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 180 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v64i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 116 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 180 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v64i32'
diff --git a/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll b/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll
index 31853d1d1c94b..4838098eb6593 100644
--- a/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll
+++ b/llvm/test/Transforms/LoopVectorize/X86/gather-scatter-cost-table-decisions.ll
@@ -9,7 +9,7 @@
; flat overhead). Where the two disagree the decision is table-driven, and the
; SKX run is what stops the znver5 CHECK-NOTs from passing vacuously.
;
-; The five cases below:
+; The six cases below:
; 1. f64 indirect-load reduction -- gather IS chosen, on both.
; 2. i64 indirect-load reduction -- gather is NOT chosen on znver5, but IS on
; SKX (the i64 entry is set above the break-even to suppress vpgatherqq
@@ -18,6 +18,10 @@
; Regression guard for issue llvm#91370.
; 4. f64 indirect store -- scatter IS chosen, on both.
; 5. i64 indirect store -- scatter is NOT chosen on znver5, but IS on SKX.
+; 6. f32 indirect store -- scatter is chosen on both, but the per-shape rows
+; carry it to sixteen lanes where the flat overhead stops at eight. This
+; is the only case reaching the 32-bit scatter rows, which price a whole
+; zmm scatter rather than the half-width form the other cases use.
;
; RUN: opt < %s -S -passes=loop-vectorize -mtriple=x86_64-unknown-linux-gnu \
; RUN: -mcpu=znver5 | FileCheck %s --check-prefixes=CHECK,ZNVER5
@@ -162,3 +166,33 @@ loop:
exit:
ret void
}
+
+; --- Case 6: f32 indirect store scatters wider under the tables ----------
+; Both targets scatter, so the contrast is the width rather than the choice:
+; the per-shape row for a sixteen-lane f32 scatter keeps a full zmm worth of
+; lanes profitable, where the flat overhead stops at eight. Nothing else in
+; this file reaches the 32-bit scatter rows.
+; CHECK-LABEL: define void @f32_indirect_scatter_wide
+; ZNVER5: call void @llvm.masked.scatter.v16f32
+; SKX: call void @llvm.masked.scatter.v8f32
+define void @f32_indirect_scatter_wide(ptr noalias noundef writeonly %data, ptr noalias noundef readonly %idx, ptr noalias noundef readonly %src, i32 noundef %n) {
+entry:
+ %cmp = icmp ugt i32 %n, 0
+ br i1 %cmp, label %loop, label %exit
+
+loop:
+ %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
+ %idx.gep = getelementptr inbounds i32, ptr %idx, i32 %i
+ %idx.val = load i32, ptr %idx.gep, align 4
+ %idx.sext = sext i32 %idx.val to i64
+ %src.gep = getelementptr inbounds float, ptr %src, i32 %i
+ %src.val = load float, ptr %src.gep, align 4
+ %data.gep = getelementptr inbounds float, ptr %data, i64 %idx.sext
+ store float %src.val, ptr %data.gep, align 4
+ %inc = add nuw nsw i32 %i, 1
+ %done = icmp eq i32 %inc, %n
+ br i1 %done, label %exit, label %loop
+
+exit:
+ ret void
+}
>From 47130ebc212f2eefb79c1c00197f6ce607a06d8b Mon Sep 17 00:00:00 2001
From: Sumukh Bharadwaj <Sumukh.Bharadwaj at amd.com>
Date: Thu, 17 Sep 2026 15:53:25 +0530
Subject: [PATCH 8/8] [X86][CostModel][test] Refresh Zen scatter costs after
the Znver4 refit
Fitting Zn4WriteVPSCATTERQDZ against the dword-indexed form moves the
qword-indexed scatter totals that read it. The sixteen-lane rows are the
point of the exercise: v16i32 and v16f32 reported 45 where the row is
calibrated at 47, because the schedule model priced the two half-width
scatters CodeGen emits below the single full-width one. Both index
widths now reach 47, so the table's stated identity holds either way it
is spelled.
The eight-lane rows move from 25 to 26 in the same direction, which is
the measured order too: Znver4 runs a qword-indexed scatter of eight
lanes above the dword-indexed one (10.93 cycles against 9.26), so the
wider index costing a point more is what the hardware does.
The four-lane rows are unchanged; they read a different entry.
---
.../masked-gather-scatter-cost-edge-cases.ll | 4 +--
...gather-scatter-cost-table-constant-mask.ll | 8 ++---
.../masked-gather-scatter-cost-table-novl.ll | 2 +-
.../X86/masked-gather-scatter-cost-table.ll | 36 +++++++++----------
4 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
index e9e96a9f56318..88004a50dff89 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-edge-cases.ll
@@ -89,7 +89,7 @@ define <24 x i32> @gather_v24i32(<24 x ptr> %ptrs, <24 x i1> %mask) {
define void @scatter_v24i32(<24 x i32> %src, <24 x ptr> %ptrs, <24 x i1> %mask) {
; THROUGHPUT-LABEL: 'scatter_v24i32'
-; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 94 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; SIZE-LABEL: 'scatter_v24i32'
@@ -108,7 +108,7 @@ define void @scatter_v24i32(<24 x i32> %src, <24 x ptr> %ptrs, <24 x i1> %mask)
define void @scatter_v24i32_allones(<24 x i32> %src, <24 x ptr> %ptrs) {
; THROUGHPUT-LABEL: 'scatter_v24i32_allones'
-; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 78 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 81 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %src, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
; THROUGHPUT-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; SIZE-LABEL: 'scatter_v24i32_allones'
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll
index 5505621c5ec37..468fcabe604ae 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-constant-mask.ll
@@ -47,7 +47,7 @@ define <8 x i32> @ref_gather_v8i32(ptr %base, <8 x i64> %idx) {
define void @ref_scatter_v8i32(<8 x i32> %val, ptr %base, <8 x i64> %idx) {
; RTHRU-LABEL: 'ref_scatter_v8i32'
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <8 x i64> %idx
-; RTHRU-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> align 4 %ptrs, <8 x i1> splat (i1 true))
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %val, <8 x ptr> align 4 %ptrs, <8 x i1> splat (i1 true))
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; CODESIZE-LABEL: 'ref_scatter_v8i32'
@@ -80,7 +80,7 @@ define <24 x i32> @gather_v24i32_first_part(ptr %base, <24 x i64> %idx) {
define void @scatter_v24i32_first_part(<24 x i32> %val, ptr %base, <24 x i64> %idx) {
; RTHRU-LABEL: 'scatter_v24i32_first_part'
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
-; RTHRU-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>)
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; CODESIZE-LABEL: 'scatter_v24i32_first_part'
@@ -165,7 +165,7 @@ define <24 x i32> @gather_v24i32_variable_mask(ptr %base, <24 x i64> %idx, <24 x
define void @scatter_v24i32_all_lanes(<24 x i32> %val, ptr %base, <24 x i64> %idx) {
; RTHRU-LABEL: 'scatter_v24i32_all_lanes'
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
-; RTHRU-NEXT: Cost Model: Found an estimated cost of 78 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 81 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> splat (i1 true))
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; CODESIZE-LABEL: 'scatter_v24i32_all_lanes'
@@ -183,7 +183,7 @@ define void @scatter_v24i32_all_lanes(<24 x i32> %val, ptr %base, <24 x i64> %id
define void @scatter_v24i32_variable_mask(<24 x i32> %val, ptr %base, <24 x i64> %idx, <24 x i1> %mask) {
; RTHRU-LABEL: 'scatter_v24i32_variable_mask'
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <24 x i64> %idx
-; RTHRU-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
+; RTHRU-NEXT: Cost Model: Found an estimated cost of 94 for instruction: call void @llvm.masked.scatter.v24i32.v24p0(<24 x i32> %val, <24 x ptr> align 4 %ptrs, <24 x i1> %mask)
; RTHRU-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; CODESIZE-LABEL: 'scatter_v24i32_variable_mask'
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
index 3fb005914aa48..b6bfbf8e2cb4d 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table-novl.ll
@@ -119,7 +119,7 @@ define void @scatter_v3i32_qword_index(<3 x i32> %val, ptr %base, <3 x i64> %idx
;
; NOVL-LABEL: 'scatter_v3i32_qword_index'
; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
-; NOVL-NEXT: Cost Model: Found an estimated cost of 23 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
+; NOVL-NEXT: Cost Model: Found an estimated cost of 24 for instruction: call void @llvm.masked.scatter.v3i32.v3p0(<3 x i32> %val, <3 x ptr> align 4 %ptrs, <3 x i1> %mask)
; NOVL-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
%ptrs = getelementptr inbounds i32, ptr %base, <3 x i64> %idx
diff --git a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
index c702463307304..fe587806be3f3 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-gather-scatter-cost-table.ll
@@ -474,15 +474,15 @@ define void @scatter_v4i32(<4 x i32> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
define void @scatter_v8i32(<8 x i32> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v8i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v8i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v8i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8i32.v8p0(<8 x i32> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v8i32'
@@ -503,15 +503,15 @@ define void @scatter_v8i32(<8 x i32> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
define void @scatter_v16i32(<16 x i32> %src, <16 x ptr> %ptrs, <16 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v16i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v16i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v16i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16i32.v16p0(<16 x i32> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v16i32'
@@ -627,15 +627,15 @@ define void @scatter_v4f32(<4 x float> %src, <4 x ptr> %ptrs, <4 x i1> %mask) {
define void @scatter_v8f32(<8 x float> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v8f32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v8f32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v8f32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 25 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 26 for instruction: call void @llvm.masked.scatter.v8f32.v8p0(<8 x float> %src, <8 x ptr> align 4 %ptrs, <8 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v8f32'
@@ -656,15 +656,15 @@ define void @scatter_v8f32(<8 x float> %src, <8 x ptr> %ptrs, <8 x i1> %mask) {
define void @scatter_v16f32(<16 x float> %src, <16 x ptr> %ptrs, <16 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v16f32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v16f32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v16f32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 45 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 47 for instruction: call void @llvm.masked.scatter.v16f32.v16p0(<16 x float> %src, <16 x ptr> align 4 %ptrs, <16 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v16f32'
@@ -1088,15 +1088,15 @@ define <64 x i32> @gather_v64i32(<64 x ptr> %ptrs, <64 x i1> %mask) {
define void @scatter_v32i32(<32 x i32> %src, <32 x ptr> %ptrs, <32 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v32i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 94 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v32i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 94 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v32i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 90 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 94 for instruction: call void @llvm.masked.scatter.v32i32.v32p0(<32 x i32> %src, <32 x ptr> align 4 %ptrs, <32 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v32i32'
@@ -1117,15 +1117,15 @@ define void @scatter_v32i32(<32 x i32> %src, <32 x ptr> %ptrs, <32 x i1> %mask)
define void @scatter_v64i32(<64 x i32> %src, <64 x ptr> %ptrs, <64 x i1> %mask) {
; ZNVER4-LABEL: 'scatter_v64i32'
-; ZNVER4-NEXT: Cost Model: Found an estimated cost of 180 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER4-NEXT: Cost Model: Found an estimated cost of 188 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
; ZNVER4-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER5-LABEL: 'scatter_v64i32'
-; ZNVER5-NEXT: Cost Model: Found an estimated cost of 180 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER5-NEXT: Cost Model: Found an estimated cost of 188 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
; ZNVER5-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER6-LABEL: 'scatter_v64i32'
-; ZNVER6-NEXT: Cost Model: Found an estimated cost of 180 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
+; ZNVER6-NEXT: Cost Model: Found an estimated cost of 188 for instruction: call void @llvm.masked.scatter.v64i32.v64p0(<64 x i32> %src, <64 x ptr> align 4 %ptrs, <64 x i1> %mask)
; ZNVER6-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
;
; ZNVER3-LABEL: 'scatter_v64i32'
More information about the llvm-commits
mailing list