1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s 3 4vpcompressb %zmm16, %zmm19 5vpcompressb %zmm16, (%rax) 6vpcompressb %zmm16, %zmm19 {k1} 7vpcompressb %zmm16, (%rax) {k1} 8vpcompressb %zmm16, %zmm19 {k1}{z} 9 10vpcompressw %zmm16, %zmm19 11vpcompressw %zmm16, (%rax) 12vpcompressw %zmm16, %zmm19 {k1} 13vpcompressw %zmm16, (%rax) {k1} 14vpcompressw %zmm16, %zmm19 {k1}{z} 15 16vpexpandb %zmm16, %zmm19 17vpexpandb (%rax), %zmm19 18vpexpandb %zmm16, %zmm19 {k1} 19vpexpandb (%rax), %zmm19 {k1} 20vpexpandb %zmm16, %zmm19 {k1}{z} 21 22vpexpandw %zmm16, %zmm19 23vpexpandw (%rax), %zmm19 24vpexpandw %zmm16, %zmm19 {k1} 25vpexpandw (%rax), %zmm19 {k1} 26vpexpandw %zmm16, %zmm19 {k1}{z} 27 28vpshldd $1, %zmm16, %zmm17, %zmm19 29vpshldd $1, (%rax), %zmm17, %zmm19 30vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 31vpshldd $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, %zmm19 39vpshldq $1, (%rax), %zmm17, %zmm19 40vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 41vpshldq $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, %zmm19 49vpshldvd (%rax), %zmm17, %zmm19 50vpshldvd (%rax){1to16}, %zmm17, %zmm19 51vpshldvd %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, %zmm19 59vpshldvq (%rax), %zmm17, %zmm19 60vpshldvq (%rax){1to8}, %zmm17, %zmm19 61vpshldvq %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, %zmm19 69vpshldvw (%rax), %zmm17, %zmm19 70vpshldvw %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, %zmm19 76vpshldw $1, (%rax), %zmm17, %zmm19 77vpshldw $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, %zmm19 83vpshrdd $1, (%rax), %zmm17, %zmm19 84vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 85vpshrdd $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, %zmm19 93vpshrdq $1, (%rax), %zmm17, %zmm19 94vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 95vpshrdq $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, %zmm19 103vpshrdvd (%rax), %zmm17, %zmm19 104vpshrdvd (%rax){1to16}, %zmm17, %zmm19 105vpshrdvd %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, %zmm19 113vpshrdvq (%rax), %zmm17, %zmm19 114vpshrdvq (%rax){1to8}, %zmm17, %zmm19 115vpshrdvq %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, %zmm19 123vpshrdvw (%rax), %zmm17, %zmm19 124vpshrdvw %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, %zmm19 130vpshrdw $1, (%rax), %zmm17, %zmm19 131vpshrdw $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]: #uOps 138# CHECK-NEXT: [2]: Latency 139# CHECK-NEXT: [3]: RThroughput 140# CHECK-NEXT: [4]: MayLoad 141# CHECK-NEXT: [5]: MayStore 142# CHECK-NEXT: [6]: HasSideEffects (U) 143 144# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 145# CHECK-NEXT: 1 1 1.00 U vpcompressb %zmm16, %zmm19 146# CHECK-NEXT: 2 8 1.00 * vpcompressb %zmm16, (%rax) 147# CHECK-NEXT: 1 1 1.00 vpcompressb %zmm16, %zmm19 {%k1} 148# CHECK-NEXT: 2 8 1.00 * vpcompressb %zmm16, (%rax) {%k1} 149# CHECK-NEXT: 1 1 1.00 vpcompressb %zmm16, %zmm19 {%k1} {z} 150# CHECK-NEXT: 1 1 1.00 U vpcompressw %zmm16, %zmm19 151# CHECK-NEXT: 2 8 1.00 * vpcompressw %zmm16, (%rax) 152# CHECK-NEXT: 1 1 1.00 vpcompressw %zmm16, %zmm19 {%k1} 153# CHECK-NEXT: 2 8 1.00 * vpcompressw %zmm16, (%rax) {%k1} 154# CHECK-NEXT: 1 1 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z} 155# CHECK-NEXT: 1 1 1.00 U vpexpandb %zmm16, %zmm19 156# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %zmm19 157# CHECK-NEXT: 1 1 1.00 vpexpandb %zmm16, %zmm19 {%k1} 158# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %zmm19 {%k1} 159# CHECK-NEXT: 1 1 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z} 160# CHECK-NEXT: 1 1 1.00 U vpexpandw %zmm16, %zmm19 161# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %zmm19 162# CHECK-NEXT: 1 1 1.00 vpexpandw %zmm16, %zmm19 {%k1} 163# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %zmm19 {%k1} 164# CHECK-NEXT: 1 1 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z} 165# CHECK-NEXT: 1 5 1.00 vpshldd $1, %zmm16, %zmm17, %zmm19 166# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %zmm17, %zmm19 167# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 168# CHECK-NEXT: 1 5 1.00 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} 169# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} 170# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} 171# CHECK-NEXT: 1 5 1.00 vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 172# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z} 173# CHECK-NEXT: 2 12 1.00 * vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 174# CHECK-NEXT: 1 5 1.00 vpshldq $1, %zmm16, %zmm17, %zmm19 175# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %zmm17, %zmm19 176# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 177# CHECK-NEXT: 1 5 1.00 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} 178# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} 179# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} 180# CHECK-NEXT: 1 5 1.00 vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 181# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z} 182# CHECK-NEXT: 2 12 1.00 * vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 183# CHECK-NEXT: 1 5 1.00 vpshldvd %zmm16, %zmm17, %zmm19 184# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %zmm17, %zmm19 185# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 186# CHECK-NEXT: 1 5 1.00 vpshldvd %zmm16, %zmm17, %zmm19 {%k1} 187# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %zmm17, %zmm19 {%k1} 188# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} 189# CHECK-NEXT: 1 5 1.00 vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z} 190# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z} 191# CHECK-NEXT: 2 12 1.00 * vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 192# CHECK-NEXT: 1 5 1.00 vpshldvq %zmm16, %zmm17, %zmm19 193# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %zmm17, %zmm19 194# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 195# CHECK-NEXT: 1 5 1.00 vpshldvq %zmm16, %zmm17, %zmm19 {%k1} 196# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %zmm17, %zmm19 {%k1} 197# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} 198# CHECK-NEXT: 1 5 1.00 vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z} 199# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z} 200# CHECK-NEXT: 2 12 1.00 * vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 201# CHECK-NEXT: 1 5 1.00 vpshldvw %zmm16, %zmm17, %zmm19 202# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %zmm17, %zmm19 203# CHECK-NEXT: 1 5 1.00 vpshldvw %zmm16, %zmm17, %zmm19 {%k1} 204# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %zmm17, %zmm19 {%k1} 205# CHECK-NEXT: 1 5 1.00 vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z} 206# CHECK-NEXT: 2 12 1.00 * vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z} 207# CHECK-NEXT: 1 5 1.00 vpshldw $1, %zmm16, %zmm17, %zmm19 208# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %zmm17, %zmm19 209# CHECK-NEXT: 1 5 1.00 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} 210# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} 211# CHECK-NEXT: 1 5 1.00 vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 212# CHECK-NEXT: 2 12 1.00 * vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z} 213# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %zmm16, %zmm17, %zmm19 214# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %zmm17, %zmm19 215# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 216# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} 217# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} 218# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} 219# CHECK-NEXT: 1 5 1.00 vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 220# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z} 221# CHECK-NEXT: 2 12 1.00 * vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 222# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %zmm16, %zmm17, %zmm19 223# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %zmm17, %zmm19 224# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 225# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} 226# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} 227# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} 228# CHECK-NEXT: 1 5 1.00 vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 229# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z} 230# CHECK-NEXT: 2 12 1.00 * vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 231# CHECK-NEXT: 1 5 1.00 vpshrdvd %zmm16, %zmm17, %zmm19 232# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %zmm17, %zmm19 233# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 234# CHECK-NEXT: 1 5 1.00 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} 235# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1} 236# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} 237# CHECK-NEXT: 1 5 1.00 vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z} 238# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z} 239# CHECK-NEXT: 2 12 1.00 * vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 240# CHECK-NEXT: 1 5 1.00 vpshrdvq %zmm16, %zmm17, %zmm19 241# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %zmm17, %zmm19 242# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 243# CHECK-NEXT: 1 5 1.00 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} 244# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1} 245# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} 246# CHECK-NEXT: 1 5 1.00 vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z} 247# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z} 248# CHECK-NEXT: 2 12 1.00 * vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 249# CHECK-NEXT: 1 5 1.00 vpshrdvw %zmm16, %zmm17, %zmm19 250# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %zmm17, %zmm19 251# CHECK-NEXT: 1 5 1.00 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} 252# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1} 253# CHECK-NEXT: 1 5 1.00 vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z} 254# CHECK-NEXT: 2 12 1.00 * vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z} 255# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %zmm16, %zmm17, %zmm19 256# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %zmm17, %zmm19 257# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} 258# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} 259# CHECK-NEXT: 1 5 1.00 vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 260# CHECK-NEXT: 2 12 1.00 * vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z} 261 262# CHECK: Resources: 263# CHECK-NEXT: [0] - SBDivider 264# CHECK-NEXT: [1] - SBFPDivider 265# CHECK-NEXT: [2] - SBPort0 266# CHECK-NEXT: [3] - SBPort1 267# CHECK-NEXT: [4] - SBPort4 268# CHECK-NEXT: [5] - SBPort5 269# CHECK-NEXT: [6.0] - SBPort23 270# CHECK-NEXT: [6.1] - SBPort23 271 272# CHECK: Resource pressure per iteration: 273# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] 274# CHECK-NEXT: - - 96.00 - - 20.00 34.00 34.00 275 276# CHECK: Resource pressure by instruction: 277# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: 278# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %zmm16, %zmm19 279# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %zmm16, (%rax) 280# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %zmm16, %zmm19 {%k1} 281# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressb %zmm16, (%rax) {%k1} 282# CHECK-NEXT: - - - - - 1.00 - - vpcompressb %zmm16, %zmm19 {%k1} {z} 283# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %zmm16, %zmm19 284# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %zmm16, (%rax) 285# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %zmm16, %zmm19 {%k1} 286# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpcompressw %zmm16, (%rax) {%k1} 287# CHECK-NEXT: - - - - - 1.00 - - vpcompressw %zmm16, %zmm19 {%k1} {z} 288# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %zmm16, %zmm19 289# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %zmm19 290# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %zmm16, %zmm19 {%k1} 291# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandb (%rax), %zmm19 {%k1} 292# CHECK-NEXT: - - - - - 1.00 - - vpexpandb %zmm16, %zmm19 {%k1} {z} 293# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %zmm16, %zmm19 294# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %zmm19 295# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %zmm16, %zmm19 {%k1} 296# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpexpandw (%rax), %zmm19 {%k1} 297# CHECK-NEXT: - - - - - 1.00 - - vpexpandw %zmm16, %zmm19 {%k1} {z} 298# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 299# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %zmm17, %zmm19 300# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 301# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} 302# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} 303# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} 304# CHECK-NEXT: - - 1.00 - - - - - vpshldd $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 305# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax), %zmm17, %zmm19 {%k1} {z} 306# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 307# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 308# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %zmm17, %zmm19 309# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 310# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} 311# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} 312# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} 313# CHECK-NEXT: - - 1.00 - - - - - vpshldq $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 314# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax), %zmm17, %zmm19 {%k1} {z} 315# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 316# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %zmm16, %zmm17, %zmm19 317# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %zmm17, %zmm19 318# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to16}, %zmm17, %zmm19 319# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} 320# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %zmm17, %zmm19 {%k1} 321# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} 322# CHECK-NEXT: - - 1.00 - - - - - vpshldvd %zmm16, %zmm17, %zmm19 {%k1} {z} 323# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax), %zmm17, %zmm19 {%k1} {z} 324# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 325# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %zmm16, %zmm17, %zmm19 326# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %zmm17, %zmm19 327# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to8}, %zmm17, %zmm19 328# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} 329# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %zmm17, %zmm19 {%k1} 330# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} 331# CHECK-NEXT: - - 1.00 - - - - - vpshldvq %zmm16, %zmm17, %zmm19 {%k1} {z} 332# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax), %zmm17, %zmm19 {%k1} {z} 333# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 334# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %zmm16, %zmm17, %zmm19 335# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %zmm17, %zmm19 336# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} 337# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %zmm17, %zmm19 {%k1} 338# CHECK-NEXT: - - 1.00 - - - - - vpshldvw %zmm16, %zmm17, %zmm19 {%k1} {z} 339# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldvw (%rax), %zmm17, %zmm19 {%k1} {z} 340# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 341# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %zmm17, %zmm19 342# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} 343# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} 344# CHECK-NEXT: - - 1.00 - - - - - vpshldw $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 345# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshldw $1, (%rax), %zmm17, %zmm19 {%k1} {z} 346# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 347# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %zmm17, %zmm19 348# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 349# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} 350# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} 351# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} 352# CHECK-NEXT: - - 1.00 - - - - - vpshrdd $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 353# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax), %zmm17, %zmm19 {%k1} {z} 354# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdd $1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 355# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 356# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %zmm17, %zmm19 357# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 358# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} 359# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} 360# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} 361# CHECK-NEXT: - - 1.00 - - - - - vpshrdq $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 362# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax), %zmm17, %zmm19 {%k1} {z} 363# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdq $1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 364# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 365# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %zmm17, %zmm19 366# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to16}, %zmm17, %zmm19 367# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} 368# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %zmm17, %zmm19 {%k1} 369# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} 370# CHECK-NEXT: - - 1.00 - - - - - vpshrdvd %zmm16, %zmm17, %zmm19 {%k1} {z} 371# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax), %zmm17, %zmm19 {%k1} {z} 372# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 373# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 374# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %zmm17, %zmm19 375# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to8}, %zmm17, %zmm19 376# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} 377# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %zmm17, %zmm19 {%k1} 378# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} 379# CHECK-NEXT: - - 1.00 - - - - - vpshrdvq %zmm16, %zmm17, %zmm19 {%k1} {z} 380# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax), %zmm17, %zmm19 {%k1} {z} 381# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 382# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 383# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %zmm17, %zmm19 384# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} 385# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %zmm17, %zmm19 {%k1} 386# CHECK-NEXT: - - 1.00 - - - - - vpshrdvw %zmm16, %zmm17, %zmm19 {%k1} {z} 387# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdvw (%rax), %zmm17, %zmm19 {%k1} {z} 388# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 389# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %zmm17, %zmm19 390# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} 391# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} 392# CHECK-NEXT: - - 1.00 - - - - - vpshrdw $1, %zmm16, %zmm17, %zmm19 {%k1} {z} 393# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpshrdw $1, (%rax), %zmm17, %zmm19 {%k1} {z} 394