398 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s3 4vpcompressb %zmm16, %zmm195vpcompressb %zmm16, (%rax)6vpcompressb %zmm16, %zmm19 {k1}7vpcompressb %zmm16, (%rax) {k1}8vpcompressb %zmm16, %zmm19 {k1}{z}9 10vpcompressw %zmm16, %zmm1911vpcompressw %zmm16, (%rax)12vpcompressw %zmm16, %zmm19 {k1}13vpcompressw %zmm16, (%rax) {k1}14vpcompressw %zmm16, %zmm19 {k1}{z}15 16vpexpandb %zmm16, %zmm1917vpexpandb (%rax), %zmm1918vpexpandb %zmm16, %zmm19 {k1}19vpexpandb (%rax), %zmm19 {k1}20vpexpandb %zmm16, %zmm19 {k1}{z}21 22vpexpandw %zmm16, %zmm1923vpexpandw (%rax), %zmm1924vpexpandw %zmm16, %zmm19 {k1}25vpexpandw (%rax), %zmm19 {k1}26vpexpandw %zmm16, %zmm19 {k1}{z}27 28vpshldd $1, %zmm16, %zmm17, %zmm1929vpshldd $1, (%rax), %zmm17, %zmm1930vpshldd $1, (%rax){1to16}, %zmm17, %zmm1931vpshldd $1, %zmm16, %zmm17, %zmm19 {k1}32vpshldd $1, (%rax), %zmm17, %zmm19 {k1}33vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}34vpshldd $1, %zmm16, %zmm17, %zmm19 {k1}{z}35vpshldd $1, (%rax), %zmm17, %zmm19 {k1}{z}36vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}37 38vpshldq $1, %zmm16, %zmm17, %zmm1939vpshldq $1, (%rax), %zmm17, %zmm1940vpshldq $1, (%rax){1to8}, %zmm17, %zmm1941vpshldq $1, %zmm16, %zmm17, %zmm19 {k1}42vpshldq $1, (%rax), %zmm17, %zmm19 {k1}43vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}44vpshldq $1, %zmm16, %zmm17, %zmm19 {k1}{z}45vpshldq $1, (%rax), %zmm17, %zmm19 {k1}{z}46vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}47 48vpshldvd %zmm16, %zmm17, %zmm1949vpshldvd (%rax), %zmm17, %zmm1950vpshldvd (%rax){1to16}, %zmm17, %zmm1951vpshldvd %zmm16, %zmm17, %zmm19 {k1}52vpshldvd (%rax), %zmm17, %zmm19 {k1}53vpshldvd (%rax){1to16}, %zmm17, %zmm19 {k1}54vpshldvd %zmm16, %zmm17, %zmm19 {k1}{z}55vpshldvd (%rax), %zmm17, %zmm19 {k1}{z}56vpshldvd (%rax){1to16}, %zmm17, %zmm19 {k1}{z}57 58vpshldvq %zmm16, %zmm17, %zmm1959vpshldvq (%rax), %zmm17, %zmm1960vpshldvq (%rax){1to8}, %zmm17, %zmm1961vpshldvq %zmm16, %zmm17, %zmm19 {k1}62vpshldvq (%rax), %zmm17, %zmm19 {k1}63vpshldvq (%rax){1to8}, %zmm17, %zmm19 {k1}64vpshldvq %zmm16, %zmm17, %zmm19 {k1}{z}65vpshldvq (%rax), %zmm17, %zmm19 {k1}{z}66vpshldvq (%rax){1to8}, %zmm17, %zmm19 {k1}{z}67 68vpshldvw %zmm16, %zmm17, %zmm1969vpshldvw (%rax), %zmm17, %zmm1970vpshldvw %zmm16, %zmm17, %zmm19 {k1}71vpshldvw (%rax), %zmm17, %zmm19 {k1}72vpshldvw %zmm16, %zmm17, %zmm19 {k1}{z}73vpshldvw (%rax), %zmm17, %zmm19 {k1}{z}74 75vpshldw $1, %zmm16, %zmm17, %zmm1976vpshldw $1, (%rax), %zmm17, %zmm1977vpshldw $1, %zmm16, %zmm17, %zmm19 {k1}78vpshldw $1, (%rax), %zmm17, %zmm19 {k1}79vpshldw $1, %zmm16, %zmm17, %zmm19 {k1}{z}80vpshldw $1, (%rax), %zmm17, %zmm19 {k1}{z}81 82vpshrdd $1, %zmm16, %zmm17, %zmm1983vpshrdd $1, (%rax), %zmm17, %zmm1984vpshrdd $1, (%rax){1to16}, %zmm17, %zmm1985vpshrdd $1, %zmm16, %zmm17, %zmm19 {k1}86vpshrdd $1, (%rax), %zmm17, %zmm19 {k1}87vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}88vpshrdd $1, %zmm16, %zmm17, %zmm19 {k1}{z}89vpshrdd $1, (%rax), %zmm17, %zmm19 {k1}{z}90vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}91 92vpshrdq $1, %zmm16, %zmm17, %zmm1993vpshrdq $1, (%rax), %zmm17, %zmm1994vpshrdq $1, (%rax){1to8}, %zmm17, %zmm1995vpshrdq $1, %zmm16, %zmm17, %zmm19 {k1}96vpshrdq $1, (%rax), %zmm17, %zmm19 {k1}97vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}98vpshrdq $1, %zmm16, %zmm17, %zmm19 {k1}{z}99vpshrdq $1, (%rax), %zmm17, %zmm19 {k1}{z}100vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}101 102vpshrdvd %zmm16, %zmm17, %zmm19103vpshrdvd (%rax), %zmm17, %zmm19104vpshrdvd (%rax){1to16}, %zmm17, %zmm19105vpshrdvd %zmm16, %zmm17, %zmm19 {k1}106vpshrdvd (%rax), %zmm17, %zmm19 {k1}107vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {k1}108vpshrdvd %zmm16, %zmm17, %zmm19 {k1}{z}109vpshrdvd (%rax), %zmm17, %zmm19 {k1}{z}110vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {k1}{z}111 112vpshrdvq %zmm16, %zmm17, %zmm19113vpshrdvq (%rax), %zmm17, %zmm19114vpshrdvq (%rax){1to8}, %zmm17, %zmm19115vpshrdvq %zmm16, %zmm17, %zmm19 {k1}116vpshrdvq (%rax), %zmm17, %zmm19 {k1}117vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {k1}118vpshrdvq %zmm16, %zmm17, %zmm19 {k1}{z}119vpshrdvq (%rax), %zmm17, %zmm19 {k1}{z}120vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {k1}{z}121 122vpshrdvw %zmm16, %zmm17, %zmm19123vpshrdvw (%rax), %zmm17, %zmm19124vpshrdvw %zmm16, %zmm17, %zmm19 {k1}125vpshrdvw (%rax), %zmm17, %zmm19 {k1}126vpshrdvw %zmm16, %zmm17, %zmm19 {k1}{z}127vpshrdvw (%rax), %zmm17, %zmm19 {k1}{z}128 129vpshrdw $1, %zmm16, %zmm17, %zmm19130vpshrdw $1, (%rax), %zmm17, %zmm19131vpshrdw $1, %zmm16, %zmm17, %zmm19 {k1}132vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}133vpshrdw $1, %zmm16, %zmm17, %zmm19 {k1}{z}134vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}135 136# CHECK: Instruction Info:137# CHECK-NEXT: [1]: #uOps138# CHECK-NEXT: [2]: Latency139# CHECK-NEXT: [3]: RThroughput140# CHECK-NEXT: [4]: MayLoad141# CHECK-NEXT: [5]: MayStore142# CHECK-NEXT: [6]: HasSideEffects (U)143 144# CHECK: [1] [2] [3] [4] [5] [6] Instructions:145# CHECK-NEXT: 1 3 1.00 U vpcompressb %zmm16, %zmm19146# CHECK-NEXT: 2 10 1.00 * vpcompressb %zmm16, (%rax)147# CHECK-NEXT: 1 3 1.00 vpcompressb %zmm16, %zmm19 {%k1}148# CHECK-NEXT: 2 10 1.00 * vpcompressb %zmm16, (%rax) {%k1}149# CHECK-NEXT: 1 3 1.00 vpcompressb %zmm16, %zmm19 {%k1} {z}150# CHECK-NEXT: 1 3 1.00 U vpcompressw %zmm16, %zmm19151# CHECK-NEXT: 2 10 1.00 * vpcompressw %zmm16, (%rax)152# CHECK-NEXT: 1 3 1.00 vpcompressw %zmm16, %zmm19 {%k1}153# CHECK-NEXT: 2 10 1.00 * vpcompressw %zmm16, (%rax) {%k1}154# CHECK-NEXT: 1 3 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z}155# CHECK-NEXT: 1 3 1.00 U vpexpandb %zmm16, %zmm19156# CHECK-NEXT: 2 10 1.00 * U vpexpandb (%rax), %zmm19157# CHECK-NEXT: 1 3 1.00 vpexpandb %zmm16, %zmm19 {%k1}158# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %zmm19 {%k1}159# CHECK-NEXT: 1 3 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z}160# CHECK-NEXT: 1 3 1.00 U vpexpandw %zmm16, %zmm19161# CHECK-NEXT: 2 10 1.00 * U vpexpandw (%rax), %zmm19162# CHECK-NEXT: 1 3 1.00 vpexpandw %zmm16, %zmm19 {%k1}163# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %zmm19 {%k1}164# CHECK-NEXT: 1 3 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z}165# CHECK-NEXT: 1 5 0.50 vpshldd $1, %zmm16, %zmm17, %zmm19166# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %zmm17, %zmm19167# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19168# CHECK-NEXT: 1 5 0.50 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}169# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}170# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}171# CHECK-NEXT: 1 5 0.50 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}172# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}173# CHECK-NEXT: 2 12 0.50 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}174# CHECK-NEXT: 1 5 0.50 vpshldq $1, %zmm16, %zmm17, %zmm19175# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %zmm17, %zmm19176# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19177# CHECK-NEXT: 1 5 0.50 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}178# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}179# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}180# CHECK-NEXT: 1 5 0.50 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}181# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}182# CHECK-NEXT: 2 12 0.50 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}183# CHECK-NEXT: 1 5 0.50 vpshldvd %zmm16, %zmm17, %zmm19184# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %zmm17, %zmm19185# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to16}, %zmm17, %zmm19186# CHECK-NEXT: 1 5 0.50 vpshldvd %zmm16, %zmm17, %zmm19 {%k1}187# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %zmm17, %zmm19 {%k1}188# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}189# CHECK-NEXT: 1 5 0.50 vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}190# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}191# CHECK-NEXT: 2 12 0.50 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}192# CHECK-NEXT: 1 5 0.50 vpshldvq %zmm16, %zmm17, %zmm19193# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %zmm17, %zmm19194# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to8}, %zmm17, %zmm19195# CHECK-NEXT: 1 5 0.50 vpshldvq %zmm16, %zmm17, %zmm19 {%k1}196# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %zmm17, %zmm19 {%k1}197# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}198# CHECK-NEXT: 1 5 0.50 vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}199# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}200# CHECK-NEXT: 2 12 0.50 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}201# CHECK-NEXT: 1 5 0.50 vpshldvw %zmm16, %zmm17, %zmm19202# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %zmm17, %zmm19203# CHECK-NEXT: 1 5 0.50 vpshldvw %zmm16, %zmm17, %zmm19 {%k1}204# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %zmm17, %zmm19 {%k1}205# CHECK-NEXT: 1 5 0.50 vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}206# CHECK-NEXT: 2 12 0.50 * vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}207# CHECK-NEXT: 1 5 0.50 vpshldw $1, %zmm16, %zmm17, %zmm19208# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %zmm17, %zmm19209# CHECK-NEXT: 1 5 0.50 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}210# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}211# CHECK-NEXT: 1 5 0.50 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}212# CHECK-NEXT: 2 12 0.50 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}213# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %zmm16, %zmm17, %zmm19214# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %zmm17, %zmm19215# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19216# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}217# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}218# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}219# CHECK-NEXT: 1 5 0.50 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}220# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}221# CHECK-NEXT: 2 12 0.50 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}222# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %zmm16, %zmm17, %zmm19223# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %zmm17, %zmm19224# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19225# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}226# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}227# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}228# CHECK-NEXT: 1 5 0.50 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}229# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}230# CHECK-NEXT: 2 12 0.50 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}231# CHECK-NEXT: 1 5 0.50 vpshrdvd %zmm16, %zmm17, %zmm19232# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %zmm17, %zmm19233# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19234# CHECK-NEXT: 1 5 0.50 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}235# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1}236# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}237# CHECK-NEXT: 1 5 0.50 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}238# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}239# CHECK-NEXT: 2 12 0.50 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}240# CHECK-NEXT: 1 5 0.50 vpshrdvq %zmm16, %zmm17, %zmm19241# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %zmm17, %zmm19242# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19243# CHECK-NEXT: 1 5 0.50 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}244# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1}245# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}246# CHECK-NEXT: 1 5 0.50 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}247# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}248# CHECK-NEXT: 2 12 0.50 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}249# CHECK-NEXT: 1 5 0.50 vpshrdvw %zmm16, %zmm17, %zmm19250# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %zmm17, %zmm19251# CHECK-NEXT: 1 5 0.50 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}252# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1}253# CHECK-NEXT: 1 5 0.50 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}254# CHECK-NEXT: 2 12 0.50 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}255# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %zmm16, %zmm17, %zmm19256# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %zmm17, %zmm19257# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}258# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}259# CHECK-NEXT: 1 5 0.50 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}260# CHECK-NEXT: 2 12 0.50 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}261 262# CHECK: Resources:263# CHECK-NEXT: [0] - ICXDivider264# CHECK-NEXT: [1] - ICXFPDivider265# CHECK-NEXT: [2] - ICXPort0266# CHECK-NEXT: [3] - ICXPort1267# CHECK-NEXT: [4] - ICXPort2268# CHECK-NEXT: [5] - ICXPort3269# CHECK-NEXT: [6] - ICXPort4270# CHECK-NEXT: [7] - ICXPort5271# CHECK-NEXT: [8] - ICXPort6272# CHECK-NEXT: [9] - ICXPort7273# CHECK-NEXT: [10] - ICXPort8274# CHECK-NEXT: [11] - ICXPort9275 276# CHECK: Resource pressure per iteration:277# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]278# CHECK-NEXT: - - 48.00 - 34.00 34.00 - 68.00 - - - -279 280# CHECK: Resource pressure by instruction:281# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:282# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %zmm16, %zmm19283# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %zmm16, (%rax)284# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %zmm16, %zmm19 {%k1}285# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressb %zmm16, (%rax) {%k1}286# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressb %zmm16, %zmm19 {%k1} {z}287# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %zmm16, %zmm19288# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %zmm16, (%rax)289# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %zmm16, %zmm19 {%k1}290# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcompressw %zmm16, (%rax) {%k1}291# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcompressw %zmm16, %zmm19 {%k1} {z}292# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %zmm16, %zmm19293# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %zmm19294# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %zmm16, %zmm19 {%k1}295# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandb (%rax), %zmm19 {%k1}296# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandb %zmm16, %zmm19 {%k1} {z}297# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %zmm16, %zmm19298# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %zmm19299# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %zmm16, %zmm19 {%k1}300# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpexpandw (%rax), %zmm19 {%k1}301# CHECK-NEXT: - - - - - - - 1.00 - - - - vpexpandw %zmm16, %zmm19 {%k1} {z}302# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldd $1, %zmm16, %zmm17, %zmm19303# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax), %zmm17, %zmm19304# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19305# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1}306# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1}307# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}308# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}309# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z}310# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}311# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldq $1, %zmm16, %zmm17, %zmm19312# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax), %zmm17, %zmm19313# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19314# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1}315# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1}316# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}317# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}318# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z}319# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}320# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvd %zmm16, %zmm17, %zmm19321# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax), %zmm17, %zmm19322# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19323# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1}324# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax), %zmm17, %zmm19 {%k1}325# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1}326# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z}327# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z}328# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}329# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvq %zmm16, %zmm17, %zmm19330# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax), %zmm17, %zmm19331# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19332# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1}333# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax), %zmm17, %zmm19 {%k1}334# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1}335# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z}336# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z}337# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}338# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvw %zmm16, %zmm17, %zmm19339# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvw (%rax), %zmm17, %zmm19340# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1}341# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvw (%rax), %zmm17, %zmm19 {%k1}342# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z}343# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z}344# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldw $1, %zmm16, %zmm17, %zmm19345# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldw $1, (%rax), %zmm17, %zmm19346# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1}347# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1}348# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}349# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z}350# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19351# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax), %zmm17, %zmm19352# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19353# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1}354# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1}355# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1}356# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z}357# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z}358# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}359# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19360# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax), %zmm17, %zmm19361# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19362# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1}363# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1}364# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1}365# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z}366# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z}367# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}368# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvd %zmm16, %zmm17, %zmm19369# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax), %zmm17, %zmm19370# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19371# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1}372# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1}373# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1}374# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z}375# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z}376# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}377# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvq %zmm16, %zmm17, %zmm19378# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax), %zmm17, %zmm19379# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19380# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1}381# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1}382# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1}383# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z}384# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z}385# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}386# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvw %zmm16, %zmm17, %zmm19387# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvw (%rax), %zmm17, %zmm19388# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1}389# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1}390# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z}391# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z}392# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19393# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdw $1, (%rax), %zmm17, %zmm19394# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1}395# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1}396# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z}397# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z}398