[llvm] d7208b0 - [MCA][X86] Add test coverage for VBMI2 instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 14 08:30:35 PST 2022
Author: Simon Pilgrim
Date: 2022-11-14T16:29:31Z
New Revision: d7208b04045b86fc5e214a5881d507858cb30352
URL: https://github.com/llvm/llvm-project/commit/d7208b04045b86fc5e214a5881d507858cb30352
DIFF: https://github.com/llvm/llvm-project/commit/d7208b04045b86fc5e214a5881d507858cb30352.diff
LOG: [MCA][X86] Add test coverage for VBMI2 instructions
Added:
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2vl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2vl.s
Modified:
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2.s
new file mode 100644
index 0000000000000..d777d31cdfa16
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2.s
@@ -0,0 +1,393 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+
+vpcompressb %zmm16, %zmm19
+vpcompressb %zmm16, (%rax)
+vpcompressb %zmm16, %zmm19 {k1}
+vpcompressb %zmm16, (%rax) {k1}
+vpcompressb %zmm16, %zmm19 {k1}{z}
+
+vpcompressw %zmm16, %zmm19
+vpcompressw %zmm16, (%rax)
+vpcompressw %zmm16, %zmm19 {k1}
+vpcompressw %zmm16, (%rax) {k1}
+vpcompressw %zmm16, %zmm19 {k1}{z}
+
+vpexpandb %zmm16, %zmm19
+vpexpandb (%rax), %zmm19
+vpexpandb %zmm16, %zmm19 {k1}
+vpexpandb (%rax), %zmm19 {k1}
+vpexpandb %zmm16, %zmm19 {k1}{z}
+
+vpexpandw %zmm16, %zmm19
+vpexpandw (%rax), %zmm19
+vpexpandw %zmm16, %zmm19 {k1}
+vpexpandw (%rax), %zmm19 {k1}
+vpexpandw %zmm16, %zmm19 {k1}{z}
+
+vpshldd $1, %zmm16, %zmm17, %zmm19
+vpshldd $1, (%rax), %zmm17, %zmm19
+vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+vpshldd $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshldd $1, (%rax), %zmm17, %zmm19 {k1}
+vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshldd $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldd $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshldq $1, %zmm16, %zmm17, %zmm19
+vpshldq $1, (%rax), %zmm17, %zmm19
+vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+vpshldq $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshldq $1, (%rax), %zmm17, %zmm19 {k1}
+vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshldq $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldq $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshldvd %zmm16, %zmm17, %zmm19
+vpshldvd (%rax), %zmm17, %zmm19
+vpshldvd (%rax){1to16}, %zmm17, %zmm19
+vpshldvd %zmm16, %zmm17, %zmm19 {k1}
+vpshldvd (%rax), %zmm17, %zmm19 {k1}
+vpshldvd (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshldvd %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldvd (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldvd (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshldvq %zmm16, %zmm17, %zmm19
+vpshldvq (%rax), %zmm17, %zmm19
+vpshldvq (%rax){1to8}, %zmm17, %zmm19
+vpshldvq %zmm16, %zmm17, %zmm19 {k1}
+vpshldvq (%rax), %zmm17, %zmm19 {k1}
+vpshldvq (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshldvq %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldvq (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldvq (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshldvw %zmm16, %zmm17, %zmm19
+vpshldvw (%rax), %zmm17, %zmm19
+vpshldvw %zmm16, %zmm17, %zmm19 {k1}
+vpshldvw (%rax), %zmm17, %zmm19 {k1}
+vpshldvw %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldvw (%rax), %zmm17, %zmm19 {k1}{z}
+
+vpshldw $1, %zmm16, %zmm17, %zmm19
+vpshldw $1, (%rax), %zmm17, %zmm19
+vpshldw $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshldw $1, (%rax), %zmm17, %zmm19 {k1}
+vpshldw $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldw $1, (%rax), %zmm17, %zmm19 {k1}{z}
+
+vpshrdd $1, %zmm16, %zmm17, %zmm19
+vpshrdd $1, (%rax), %zmm17, %zmm19
+vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+vpshrdd $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshrdd $1, (%rax), %zmm17, %zmm19 {k1}
+vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshrdd $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdd $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdq $1, %zmm16, %zmm17, %zmm19
+vpshrdq $1, (%rax), %zmm17, %zmm19
+vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+vpshrdq $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshrdq $1, (%rax), %zmm17, %zmm19 {k1}
+vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshrdq $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdq $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdvd %zmm16, %zmm17, %zmm19
+vpshrdvd (%rax), %zmm17, %zmm19
+vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+vpshrdvd %zmm16, %zmm17, %zmm19 {k1}
+vpshrdvd (%rax), %zmm17, %zmm19 {k1}
+vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshrdvd %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdvd (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdvq %zmm16, %zmm17, %zmm19
+vpshrdvq (%rax), %zmm17, %zmm19
+vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+vpshrdvq %zmm16, %zmm17, %zmm19 {k1}
+vpshrdvq (%rax), %zmm17, %zmm19 {k1}
+vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshrdvq %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdvq (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdvw %zmm16, %zmm17, %zmm19
+vpshrdvw (%rax), %zmm17, %zmm19
+vpshrdvw %zmm16, %zmm17, %zmm19 {k1}
+vpshrdvw (%rax), %zmm17, %zmm19 {k1}
+vpshrdvw %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdvw (%rax), %zmm17, %zmm19 {k1}{z}
+
+vpshrdw $1, %zmm16, %zmm17, %zmm19
+vpshrdw $1, (%rax), %zmm17, %zmm19
+vpshrdw $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}
+vpshrdw $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 1.00 U vpcompressb %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpcompressb %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpcompressb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpcompressb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpcompressb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpcompressw %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpcompressw %zmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpcompressw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpcompressw %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpexpandb %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpexpandb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpexpandw %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpexpandw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshldvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshldvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshldvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - SBDivider
+# CHECK-NEXT: [1] - SBFPDivider
+# CHECK-NEXT: [2] - SBPort0
+# CHECK-NEXT: [3] - SBPort1
+# CHECK-NEXT: [4] - SBPort4
+# CHECK-NEXT: [5] - SBPort5
+# CHECK-NEXT: [6.0] - SBPort23
+# CHECK-NEXT: [6.1] - SBPort23
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
+# CHECK-NEXT: - - 96.00 - - 20.00 34.00 34.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %zmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2vl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2vl.s
new file mode 100644
index 0000000000000..99b88fe24765c
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2vl.s
@@ -0,0 +1,757 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+
+vpcompressb %xmm16, %xmm19
+vpcompressb %xmm16, (%rax)
+vpcompressb %xmm16, %xmm19 {k1}
+vpcompressb %xmm16, (%rax) {k1}
+vpcompressb %xmm16, %xmm19 {k1}{z}
+
+vpcompressb %ymm16, %ymm19
+vpcompressb %ymm16, (%rax)
+vpcompressb %ymm16, %ymm19 {k1}
+vpcompressb %ymm16, (%rax) {k1}
+vpcompressb %ymm16, %ymm19 {k1}{z}
+
+vpcompressw %xmm16, %xmm19
+vpcompressw %xmm16, (%rax)
+vpcompressw %xmm16, %xmm19 {k1}
+vpcompressw %xmm16, (%rax) {k1}
+vpcompressw %xmm16, %xmm19 {k1}{z}
+
+vpcompressw %ymm16, %ymm19
+vpcompressw %ymm16, (%rax)
+vpcompressw %ymm16, %ymm19 {k1}
+vpcompressw %ymm16, (%rax) {k1}
+vpcompressw %ymm16, %ymm19 {k1}{z}
+
+vpexpandb %xmm16, %xmm19
+vpexpandb (%rax), %xmm19
+vpexpandb %xmm16, %xmm19 {k1}
+vpexpandb (%rax), %xmm19 {k1}
+vpexpandb %xmm16, %xmm19 {k1}{z}
+
+vpexpandb %ymm16, %ymm19
+vpexpandb (%rax), %ymm19
+vpexpandb %ymm16, %ymm19 {k1}
+vpexpandb (%rax), %ymm19 {k1}
+vpexpandb %ymm16, %ymm19 {k1}{z}
+
+vpexpandw %xmm16, %xmm19
+vpexpandw (%rax), %xmm19
+vpexpandw %xmm16, %xmm19 {k1}
+vpexpandw (%rax), %xmm19 {k1}
+vpexpandw %xmm16, %xmm19 {k1}{z}
+
+vpexpandw %ymm16, %ymm19
+vpexpandw (%rax), %ymm19
+vpexpandw %ymm16, %ymm19 {k1}
+vpexpandw (%rax), %ymm19 {k1}
+vpexpandw %ymm16, %ymm19 {k1}{z}
+
+vpshldd $1, %xmm16, %xmm17, %xmm19
+vpshldd $1, (%rax), %xmm17, %xmm19
+vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+vpshldd $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshldd $1, (%rax), %xmm17, %xmm19 {k1}
+vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshldd $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldd $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshldd $1, %ymm16, %ymm17, %ymm19
+vpshldd $1, (%rax), %ymm17, %ymm19
+vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+vpshldd $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshldd $1, (%rax), %ymm17, %ymm19 {k1}
+vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshldd $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldd $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshldq $1, %xmm16, %xmm17, %xmm19
+vpshldq $1, (%rax), %xmm17, %xmm19
+vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+vpshldq $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshldq $1, (%rax), %xmm17, %xmm19 {k1}
+vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshldq $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldq $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshldq $1, %ymm16, %ymm17, %ymm19
+vpshldq $1, (%rax), %ymm17, %ymm19
+vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+vpshldq $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshldq $1, (%rax), %ymm17, %ymm19 {k1}
+vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshldq $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldq $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshldvd %xmm16, %xmm17, %xmm19
+vpshldvd (%rax), %xmm17, %xmm19
+vpshldvd (%rax){1to4}, %xmm17, %xmm19
+vpshldvd %xmm16, %xmm17, %xmm19 {k1}
+vpshldvd (%rax), %xmm17, %xmm19 {k1}
+vpshldvd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshldvd %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldvd (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldvd (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshldvd %ymm16, %ymm17, %ymm19
+vpshldvd (%rax), %ymm17, %ymm19
+vpshldvd (%rax){1to8}, %ymm17, %ymm19
+vpshldvd %ymm16, %ymm17, %ymm19 {k1}
+vpshldvd (%rax), %ymm17, %ymm19 {k1}
+vpshldvd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshldvd %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldvd (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldvd (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshldvq %xmm16, %xmm17, %xmm19
+vpshldvq (%rax), %xmm17, %xmm19
+vpshldvq (%rax){1to2}, %xmm17, %xmm19
+vpshldvq %xmm16, %xmm17, %xmm19 {k1}
+vpshldvq (%rax), %xmm17, %xmm19 {k1}
+vpshldvq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshldvq %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldvq (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldvq (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshldvq %ymm16, %ymm17, %ymm19
+vpshldvq (%rax), %ymm17, %ymm19
+vpshldvq (%rax){1to4}, %ymm17, %ymm19
+vpshldvq %ymm16, %ymm17, %ymm19 {k1}
+vpshldvq (%rax), %ymm17, %ymm19 {k1}
+vpshldvq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshldvq %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldvq (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldvq (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshldvw %xmm16, %xmm17, %xmm19
+vpshldvw (%rax), %xmm17, %xmm19
+vpshldvw %xmm16, %xmm17, %xmm19 {k1}
+vpshldvw (%rax), %xmm17, %xmm19 {k1}
+vpshldvw %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldvw (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshldvw %ymm16, %ymm17, %ymm19
+vpshldvw (%rax), %ymm17, %ymm19
+vpshldvw %ymm16, %ymm17, %ymm19 {k1}
+vpshldvw (%rax), %ymm17, %ymm19 {k1}
+vpshldvw %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldvw (%rax), %ymm17, %ymm19 {k1}{z}
+
+vpshldw $1, %xmm16, %xmm17, %xmm19
+vpshldw $1, (%rax), %xmm17, %xmm19
+vpshldw $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshldw $1, (%rax), %xmm17, %xmm19 {k1}
+vpshldw $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldw $1, (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshldw $1, %ymm16, %ymm17, %ymm19
+vpshldw $1, (%rax), %ymm17, %ymm19
+vpshldw $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshldw $1, (%rax), %ymm17, %ymm19 {k1}
+vpshldw $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldw $1, (%rax), %ymm17, %ymm19 {k1}{z}
+
+vpshrdd $1, %xmm16, %xmm17, %xmm19
+vpshrdd $1, (%rax), %xmm17, %xmm19
+vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+vpshrdd $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshrdd $1, (%rax), %xmm17, %xmm19 {k1}
+vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshrdd $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdd $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdd $1, %ymm16, %ymm17, %ymm19
+vpshrdd $1, (%rax), %ymm17, %ymm19
+vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+vpshrdd $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshrdd $1, (%rax), %ymm17, %ymm19 {k1}
+vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshrdd $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdd $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdq $1, %xmm16, %xmm17, %xmm19
+vpshrdq $1, (%rax), %xmm17, %xmm19
+vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+vpshrdq $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshrdq $1, (%rax), %xmm17, %xmm19 {k1}
+vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshrdq $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdq $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdq $1, %ymm16, %ymm17, %ymm19
+vpshrdq $1, (%rax), %ymm17, %ymm19
+vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+vpshrdq $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshrdq $1, (%rax), %ymm17, %ymm19 {k1}
+vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshrdq $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdq $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdvd %xmm16, %xmm17, %xmm19
+vpshrdvd (%rax), %xmm17, %xmm19
+vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+vpshrdvd %xmm16, %xmm17, %xmm19 {k1}
+vpshrdvd (%rax), %xmm17, %xmm19 {k1}
+vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshrdvd %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdvd (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdvd %ymm16, %ymm17, %ymm19
+vpshrdvd (%rax), %ymm17, %ymm19
+vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+vpshrdvd %ymm16, %ymm17, %ymm19 {k1}
+vpshrdvd (%rax), %ymm17, %ymm19 {k1}
+vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshrdvd %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdvd (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdvq %xmm16, %xmm17, %xmm19
+vpshrdvq (%rax), %xmm17, %xmm19
+vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+vpshrdvq %xmm16, %xmm17, %xmm19 {k1}
+vpshrdvq (%rax), %xmm17, %xmm19 {k1}
+vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshrdvq %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdvq (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdvq %ymm16, %ymm17, %ymm19
+vpshrdvq (%rax), %ymm17, %ymm19
+vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+vpshrdvq %ymm16, %ymm17, %ymm19 {k1}
+vpshrdvq (%rax), %ymm17, %ymm19 {k1}
+vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshrdvq %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdvq (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdvw %xmm16, %xmm17, %xmm19
+vpshrdvw (%rax), %xmm17, %xmm19
+vpshrdvw %xmm16, %xmm17, %xmm19 {k1}
+vpshrdvw (%rax), %xmm17, %xmm19 {k1}
+vpshrdvw %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdvw (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshrdvw %ymm16, %ymm17, %ymm19
+vpshrdvw (%rax), %ymm17, %ymm19
+vpshrdvw %ymm16, %ymm17, %ymm19 {k1}
+vpshrdvw (%rax), %ymm17, %ymm19 {k1}
+vpshrdvw %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdvw (%rax), %ymm17, %ymm19 {k1}{z}
+
+vpshrdw $1, %xmm16, %xmm17, %xmm19
+vpshrdw $1, (%rax), %xmm17, %xmm19
+vpshrdw $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshrdw $1, (%rax), %xmm17, %xmm19 {k1}
+vpshrdw $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdw $1, (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshrdw $1, %ymm16, %ymm17, %ymm19
+vpshrdw $1, (%rax), %ymm17, %ymm19
+vpshrdw $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}
+vpshrdw $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 1.00 U vpcompressb %xmm16, %xmm19
+# CHECK-NEXT: 2 8 1.00 * vpcompressb %xmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpcompressb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpcompressb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpcompressb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpcompressb %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpcompressb %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpcompressb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpcompressb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpcompressb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpcompressw %xmm16, %xmm19
+# CHECK-NEXT: 2 8 1.00 * vpcompressw %xmm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpcompressw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpcompressw %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpcompressw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpcompressw %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpcompressw %ymm16, (%rax)
+# CHECK-NEXT: 1 1 1.00 vpcompressw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpcompressw %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 1 1.00 vpcompressw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpexpandb %xmm16, %xmm19
+# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpexpandb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpexpandb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpexpandb %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 vpexpandb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpexpandb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpexpandw %xmm16, %xmm19
+# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpexpandw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpexpandw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 U vpexpandw %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 vpexpandw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpexpandw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshldvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshldvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshldvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshldvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshldvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshldvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshldw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshldw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshldw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 1.00 * vpshrdw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - SBDivider
+# CHECK-NEXT: [1] - SBFPDivider
+# CHECK-NEXT: [2] - SBPort0
+# CHECK-NEXT: [3] - SBPort1
+# CHECK-NEXT: [4] - SBPort4
+# CHECK-NEXT: [5] - SBPort5
+# CHECK-NEXT: [6.0] - SBPort23
+# CHECK-NEXT: [6.1] - SBPort23
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
+# CHECK-NEXT: - - 192.00 - - 40.00 68.00 68.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %xmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %xmm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %ymm16, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %ymm19
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2.s
new file mode 100644
index 0000000000000..08f07dcb3b976
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2.s
@@ -0,0 +1,397 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
+
+vpcompressb %zmm16, %zmm19
+vpcompressb %zmm16, (%rax)
+vpcompressb %zmm16, %zmm19 {k1}
+vpcompressb %zmm16, (%rax) {k1}
+vpcompressb %zmm16, %zmm19 {k1}{z}
+
+vpcompressw %zmm16, %zmm19
+vpcompressw %zmm16, (%rax)
+vpcompressw %zmm16, %zmm19 {k1}
+vpcompressw %zmm16, (%rax) {k1}
+vpcompressw %zmm16, %zmm19 {k1}{z}
+
+vpexpandb %zmm16, %zmm19
+vpexpandb (%rax), %zmm19
+vpexpandb %zmm16, %zmm19 {k1}
+vpexpandb (%rax), %zmm19 {k1}
+vpexpandb %zmm16, %zmm19 {k1}{z}
+
+vpexpandw %zmm16, %zmm19
+vpexpandw (%rax), %zmm19
+vpexpandw %zmm16, %zmm19 {k1}
+vpexpandw (%rax), %zmm19 {k1}
+vpexpandw %zmm16, %zmm19 {k1}{z}
+
+vpshldd $1, %zmm16, %zmm17, %zmm19
+vpshldd $1, (%rax), %zmm17, %zmm19
+vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+vpshldd $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshldd $1, (%rax), %zmm17, %zmm19 {k1}
+vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshldd $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldd $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshldq $1, %zmm16, %zmm17, %zmm19
+vpshldq $1, (%rax), %zmm17, %zmm19
+vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+vpshldq $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshldq $1, (%rax), %zmm17, %zmm19 {k1}
+vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshldq $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldq $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshldvd %zmm16, %zmm17, %zmm19
+vpshldvd (%rax), %zmm17, %zmm19
+vpshldvd (%rax){1to16}, %zmm17, %zmm19
+vpshldvd %zmm16, %zmm17, %zmm19 {k1}
+vpshldvd (%rax), %zmm17, %zmm19 {k1}
+vpshldvd (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshldvd %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldvd (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldvd (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshldvq %zmm16, %zmm17, %zmm19
+vpshldvq (%rax), %zmm17, %zmm19
+vpshldvq (%rax){1to8}, %zmm17, %zmm19
+vpshldvq %zmm16, %zmm17, %zmm19 {k1}
+vpshldvq (%rax), %zmm17, %zmm19 {k1}
+vpshldvq (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshldvq %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldvq (%rax), %zmm17, %zmm19 {k1}{z}
+vpshldvq (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshldvw %zmm16, %zmm17, %zmm19
+vpshldvw (%rax), %zmm17, %zmm19
+vpshldvw %zmm16, %zmm17, %zmm19 {k1}
+vpshldvw (%rax), %zmm17, %zmm19 {k1}
+vpshldvw %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldvw (%rax), %zmm17, %zmm19 {k1}{z}
+
+vpshldw $1, %zmm16, %zmm17, %zmm19
+vpshldw $1, (%rax), %zmm17, %zmm19
+vpshldw $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshldw $1, (%rax), %zmm17, %zmm19 {k1}
+vpshldw $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshldw $1, (%rax), %zmm17, %zmm19 {k1}{z}
+
+vpshrdd $1, %zmm16, %zmm17, %zmm19
+vpshrdd $1, (%rax), %zmm17, %zmm19
+vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+vpshrdd $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshrdd $1, (%rax), %zmm17, %zmm19 {k1}
+vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshrdd $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdd $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdq $1, %zmm16, %zmm17, %zmm19
+vpshrdq $1, (%rax), %zmm17, %zmm19
+vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+vpshrdq $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshrdq $1, (%rax), %zmm17, %zmm19 {k1}
+vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshrdq $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdq $1, (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdvd %zmm16, %zmm17, %zmm19
+vpshrdvd (%rax), %zmm17, %zmm19
+vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+vpshrdvd %zmm16, %zmm17, %zmm19 {k1}
+vpshrdvd (%rax), %zmm17, %zmm19 {k1}
+vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpshrdvd %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdvd (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdvq %zmm16, %zmm17, %zmm19
+vpshrdvq (%rax), %zmm17, %zmm19
+vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+vpshrdvq %zmm16, %zmm17, %zmm19 {k1}
+vpshrdvq (%rax), %zmm17, %zmm19 {k1}
+vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {k1}
+vpshrdvq %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdvq (%rax), %zmm17, %zmm19 {k1}{z}
+vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
+
+vpshrdvw %zmm16, %zmm17, %zmm19
+vpshrdvw (%rax), %zmm17, %zmm19
+vpshrdvw %zmm16, %zmm17, %zmm19 {k1}
+vpshrdvw (%rax), %zmm17, %zmm19 {k1}
+vpshrdvw %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdvw (%rax), %zmm17, %zmm19 {k1}{z}
+
+vpshrdw $1, %zmm16, %zmm17, %zmm19
+vpshrdw $1, (%rax), %zmm17, %zmm19
+vpshrdw $1, %zmm16, %zmm17, %zmm19 {k1}
+vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}
+vpshrdw $1, %zmm16, %zmm17, %zmm19 {k1}{z}
+vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 3 1.00 U vpcompressb %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vpcompressb %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpcompressb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpcompressb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpcompressb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpcompressw %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 * vpcompressw %zmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpcompressw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpcompressw %zmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpexpandb %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 U vpexpandb (%rax), %zmm19
+# CHECK-NEXT: 1 3 1.00 vpexpandb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpexpandw %zmm16, %zmm19
+# CHECK-NEXT: 2 10 1.00 U vpexpandw (%rax), %zmm19
+# CHECK-NEXT: 1 3 1.00 vpexpandw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshldvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshldvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshldvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - ICXDivider
+# CHECK-NEXT: [1] - ICXFPDivider
+# CHECK-NEXT: [2] - ICXPort0
+# CHECK-NEXT: [3] - ICXPort1
+# CHECK-NEXT: [4] - ICXPort2
+# CHECK-NEXT: [5] - ICXPort3
+# CHECK-NEXT: [6] - ICXPort4
+# CHECK-NEXT: [7] - ICXPort5
+# CHECK-NEXT: [8] - ICXPort6
+# CHECK-NEXT: [9] - ICXPort7
+# CHECK-NEXT: [10] - ICXPort8
+# CHECK-NEXT: [11] - ICXPort9
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
+# CHECK-NEXT: - - 48.00 - 34.00 34.00 - 68.00 - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %zmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %zmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvq %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdw $1, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2vl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2vl.s
new file mode 100644
index 0000000000000..0194303612b6a
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2vl.s
@@ -0,0 +1,761 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
+
+vpcompressb %xmm16, %xmm19
+vpcompressb %xmm16, (%rax)
+vpcompressb %xmm16, %xmm19 {k1}
+vpcompressb %xmm16, (%rax) {k1}
+vpcompressb %xmm16, %xmm19 {k1}{z}
+
+vpcompressb %ymm16, %ymm19
+vpcompressb %ymm16, (%rax)
+vpcompressb %ymm16, %ymm19 {k1}
+vpcompressb %ymm16, (%rax) {k1}
+vpcompressb %ymm16, %ymm19 {k1}{z}
+
+vpcompressw %xmm16, %xmm19
+vpcompressw %xmm16, (%rax)
+vpcompressw %xmm16, %xmm19 {k1}
+vpcompressw %xmm16, (%rax) {k1}
+vpcompressw %xmm16, %xmm19 {k1}{z}
+
+vpcompressw %ymm16, %ymm19
+vpcompressw %ymm16, (%rax)
+vpcompressw %ymm16, %ymm19 {k1}
+vpcompressw %ymm16, (%rax) {k1}
+vpcompressw %ymm16, %ymm19 {k1}{z}
+
+vpexpandb %xmm16, %xmm19
+vpexpandb (%rax), %xmm19
+vpexpandb %xmm16, %xmm19 {k1}
+vpexpandb (%rax), %xmm19 {k1}
+vpexpandb %xmm16, %xmm19 {k1}{z}
+
+vpexpandb %ymm16, %ymm19
+vpexpandb (%rax), %ymm19
+vpexpandb %ymm16, %ymm19 {k1}
+vpexpandb (%rax), %ymm19 {k1}
+vpexpandb %ymm16, %ymm19 {k1}{z}
+
+vpexpandw %xmm16, %xmm19
+vpexpandw (%rax), %xmm19
+vpexpandw %xmm16, %xmm19 {k1}
+vpexpandw (%rax), %xmm19 {k1}
+vpexpandw %xmm16, %xmm19 {k1}{z}
+
+vpexpandw %ymm16, %ymm19
+vpexpandw (%rax), %ymm19
+vpexpandw %ymm16, %ymm19 {k1}
+vpexpandw (%rax), %ymm19 {k1}
+vpexpandw %ymm16, %ymm19 {k1}{z}
+
+vpshldd $1, %xmm16, %xmm17, %xmm19
+vpshldd $1, (%rax), %xmm17, %xmm19
+vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+vpshldd $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshldd $1, (%rax), %xmm17, %xmm19 {k1}
+vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshldd $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldd $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshldd $1, %ymm16, %ymm17, %ymm19
+vpshldd $1, (%rax), %ymm17, %ymm19
+vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+vpshldd $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshldd $1, (%rax), %ymm17, %ymm19 {k1}
+vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshldd $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldd $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshldq $1, %xmm16, %xmm17, %xmm19
+vpshldq $1, (%rax), %xmm17, %xmm19
+vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+vpshldq $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshldq $1, (%rax), %xmm17, %xmm19 {k1}
+vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshldq $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldq $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshldq $1, %ymm16, %ymm17, %ymm19
+vpshldq $1, (%rax), %ymm17, %ymm19
+vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+vpshldq $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshldq $1, (%rax), %ymm17, %ymm19 {k1}
+vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshldq $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldq $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshldvd %xmm16, %xmm17, %xmm19
+vpshldvd (%rax), %xmm17, %xmm19
+vpshldvd (%rax){1to4}, %xmm17, %xmm19
+vpshldvd %xmm16, %xmm17, %xmm19 {k1}
+vpshldvd (%rax), %xmm17, %xmm19 {k1}
+vpshldvd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshldvd %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldvd (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldvd (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshldvd %ymm16, %ymm17, %ymm19
+vpshldvd (%rax), %ymm17, %ymm19
+vpshldvd (%rax){1to8}, %ymm17, %ymm19
+vpshldvd %ymm16, %ymm17, %ymm19 {k1}
+vpshldvd (%rax), %ymm17, %ymm19 {k1}
+vpshldvd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshldvd %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldvd (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldvd (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshldvq %xmm16, %xmm17, %xmm19
+vpshldvq (%rax), %xmm17, %xmm19
+vpshldvq (%rax){1to2}, %xmm17, %xmm19
+vpshldvq %xmm16, %xmm17, %xmm19 {k1}
+vpshldvq (%rax), %xmm17, %xmm19 {k1}
+vpshldvq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshldvq %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldvq (%rax), %xmm17, %xmm19 {k1}{z}
+vpshldvq (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshldvq %ymm16, %ymm17, %ymm19
+vpshldvq (%rax), %ymm17, %ymm19
+vpshldvq (%rax){1to4}, %ymm17, %ymm19
+vpshldvq %ymm16, %ymm17, %ymm19 {k1}
+vpshldvq (%rax), %ymm17, %ymm19 {k1}
+vpshldvq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshldvq %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldvq (%rax), %ymm17, %ymm19 {k1}{z}
+vpshldvq (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshldvw %xmm16, %xmm17, %xmm19
+vpshldvw (%rax), %xmm17, %xmm19
+vpshldvw %xmm16, %xmm17, %xmm19 {k1}
+vpshldvw (%rax), %xmm17, %xmm19 {k1}
+vpshldvw %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldvw (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshldvw %ymm16, %ymm17, %ymm19
+vpshldvw (%rax), %ymm17, %ymm19
+vpshldvw %ymm16, %ymm17, %ymm19 {k1}
+vpshldvw (%rax), %ymm17, %ymm19 {k1}
+vpshldvw %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldvw (%rax), %ymm17, %ymm19 {k1}{z}
+
+vpshldw $1, %xmm16, %xmm17, %xmm19
+vpshldw $1, (%rax), %xmm17, %xmm19
+vpshldw $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshldw $1, (%rax), %xmm17, %xmm19 {k1}
+vpshldw $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshldw $1, (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshldw $1, %ymm16, %ymm17, %ymm19
+vpshldw $1, (%rax), %ymm17, %ymm19
+vpshldw $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshldw $1, (%rax), %ymm17, %ymm19 {k1}
+vpshldw $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshldw $1, (%rax), %ymm17, %ymm19 {k1}{z}
+
+vpshrdd $1, %xmm16, %xmm17, %xmm19
+vpshrdd $1, (%rax), %xmm17, %xmm19
+vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+vpshrdd $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshrdd $1, (%rax), %xmm17, %xmm19 {k1}
+vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshrdd $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdd $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdd $1, %ymm16, %ymm17, %ymm19
+vpshrdd $1, (%rax), %ymm17, %ymm19
+vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+vpshrdd $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshrdd $1, (%rax), %ymm17, %ymm19 {k1}
+vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshrdd $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdd $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdq $1, %xmm16, %xmm17, %xmm19
+vpshrdq $1, (%rax), %xmm17, %xmm19
+vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+vpshrdq $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshrdq $1, (%rax), %xmm17, %xmm19 {k1}
+vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshrdq $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdq $1, (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdq $1, %ymm16, %ymm17, %ymm19
+vpshrdq $1, (%rax), %ymm17, %ymm19
+vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+vpshrdq $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshrdq $1, (%rax), %ymm17, %ymm19 {k1}
+vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshrdq $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdq $1, (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdvd %xmm16, %xmm17, %xmm19
+vpshrdvd (%rax), %xmm17, %xmm19
+vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+vpshrdvd %xmm16, %xmm17, %xmm19 {k1}
+vpshrdvd (%rax), %xmm17, %xmm19 {k1}
+vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpshrdvd %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdvd (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdvd %ymm16, %ymm17, %ymm19
+vpshrdvd (%rax), %ymm17, %ymm19
+vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+vpshrdvd %ymm16, %ymm17, %ymm19 {k1}
+vpshrdvd (%rax), %ymm17, %ymm19 {k1}
+vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpshrdvd %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdvd (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdvq %xmm16, %xmm17, %xmm19
+vpshrdvq (%rax), %xmm17, %xmm19
+vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+vpshrdvq %xmm16, %xmm17, %xmm19 {k1}
+vpshrdvq (%rax), %xmm17, %xmm19 {k1}
+vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {k1}
+vpshrdvq %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdvq (%rax), %xmm17, %xmm19 {k1}{z}
+vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {k1}{z}
+
+vpshrdvq %ymm16, %ymm17, %ymm19
+vpshrdvq (%rax), %ymm17, %ymm19
+vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+vpshrdvq %ymm16, %ymm17, %ymm19 {k1}
+vpshrdvq (%rax), %ymm17, %ymm19 {k1}
+vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {k1}
+vpshrdvq %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdvq (%rax), %ymm17, %ymm19 {k1}{z}
+vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {k1}{z}
+
+vpshrdvw %xmm16, %xmm17, %xmm19
+vpshrdvw (%rax), %xmm17, %xmm19
+vpshrdvw %xmm16, %xmm17, %xmm19 {k1}
+vpshrdvw (%rax), %xmm17, %xmm19 {k1}
+vpshrdvw %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdvw (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshrdvw %ymm16, %ymm17, %ymm19
+vpshrdvw (%rax), %ymm17, %ymm19
+vpshrdvw %ymm16, %ymm17, %ymm19 {k1}
+vpshrdvw (%rax), %ymm17, %ymm19 {k1}
+vpshrdvw %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdvw (%rax), %ymm17, %ymm19 {k1}{z}
+
+vpshrdw $1, %xmm16, %xmm17, %xmm19
+vpshrdw $1, (%rax), %xmm17, %xmm19
+vpshrdw $1, %xmm16, %xmm17, %xmm19 {k1}
+vpshrdw $1, (%rax), %xmm17, %xmm19 {k1}
+vpshrdw $1, %xmm16, %xmm17, %xmm19 {k1}{z}
+vpshrdw $1, (%rax), %xmm17, %xmm19 {k1}{z}
+
+vpshrdw $1, %ymm16, %ymm17, %ymm19
+vpshrdw $1, (%rax), %ymm17, %ymm19
+vpshrdw $1, %ymm16, %ymm17, %ymm19 {k1}
+vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}
+vpshrdw $1, %ymm16, %ymm17, %ymm19 {k1}{z}
+vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 3 1.00 U vpcompressb %xmm16, %xmm19
+# CHECK-NEXT: 2 10 1.00 * vpcompressb %xmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpcompressb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpcompressb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpcompressb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpcompressb %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vpcompressb %ymm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpcompressb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpcompressb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpcompressb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpcompressw %xmm16, %xmm19
+# CHECK-NEXT: 2 10 1.00 * vpcompressw %xmm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpcompressw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpcompressw %xmm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpcompressw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpcompressw %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 * vpcompressw %ymm16, (%rax)
+# CHECK-NEXT: 1 3 1.00 vpcompressw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpcompressw %ymm16, (%rax) {%k1}
+# CHECK-NEXT: 1 3 1.00 vpcompressw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpexpandb %xmm16, %xmm19
+# CHECK-NEXT: 2 10 1.00 U vpexpandb (%rax), %xmm19
+# CHECK-NEXT: 1 3 1.00 vpexpandb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vpexpandb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpexpandb %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 U vpexpandb (%rax), %ymm19
+# CHECK-NEXT: 1 3 1.00 vpexpandb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vpexpandb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpexpandw %xmm16, %xmm19
+# CHECK-NEXT: 2 10 1.00 U vpexpandw (%rax), %xmm19
+# CHECK-NEXT: 1 3 1.00 vpexpandw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vpexpandw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 3 1.00 U vpexpandw %ymm16, %ymm19
+# CHECK-NEXT: 2 10 1.00 U vpexpandw (%rax), %ymm19
+# CHECK-NEXT: 1 3 1.00 vpexpandw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: 1 3 1.00 vpexpandw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshldvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshldvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshldvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshldvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshldvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshldvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshldw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshldw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshldw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdvw (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vpshrdw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - ICXDivider
+# CHECK-NEXT: [1] - ICXFPDivider
+# CHECK-NEXT: [2] - ICXPort0
+# CHECK-NEXT: [3] - ICXPort1
+# CHECK-NEXT: [4] - ICXPort2
+# CHECK-NEXT: [5] - ICXPort3
+# CHECK-NEXT: [6] - ICXPort4
+# CHECK-NEXT: [7] - ICXPort5
+# CHECK-NEXT: [8] - ICXPort6
+# CHECK-NEXT: [9] - ICXPort7
+# CHECK-NEXT: [10] - ICXPort8
+# CHECK-NEXT: [11] - ICXPort9
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
+# CHECK-NEXT: - - 96.00 96.00 68.00 68.00 - 40.00 - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %xmm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %xmm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %ymm16, (%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %ymm16, (%rax) {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %ymm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %ymm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshldvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshldvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshldvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshldvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshldvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshldvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshldw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshldw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdd $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdd $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdd $1, (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdq $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdq $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdq $1, (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshrdvd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshrdvd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshrdvq (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvq %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshrdvq (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvq %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvq (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshrdvw (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvw (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvw %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - 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 - - - - - - vpshrdvw (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvw (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdvw %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdvw (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdw $1, (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdw $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdw $1, (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdw $1, (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpshrdw $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpshrdw $1, (%rax), %ymm17, %ymm19 {%k1} {z}
More information about the llvm-commits
mailing list