1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s 3 4vpabsb %zmm16, %zmm19 5vpabsb (%rax), %zmm19 6vpabsb %zmm16, %zmm19 {k1} 7vpabsb (%rax), %zmm19 {k1} 8vpabsb %zmm16, %zmm19 {z}{k1} 9vpabsb (%rax), %zmm19 {z}{k1} 10 11vpabsw %zmm16, %zmm19 12vpabsw (%rax), %zmm19 13vpabsw %zmm16, %zmm19 {k1} 14vpabsw (%rax), %zmm19 {k1} 15vpabsw %zmm16, %zmm19 {z}{k1} 16vpabsw (%rax), %zmm19 {z}{k1} 17 18vpaddb %zmm16, %zmm17, %zmm19 19vpaddb (%rax), %zmm17, %zmm19 20vpaddb %zmm16, %zmm17, %zmm19 {k1} 21vpaddb (%rax), %zmm17, %zmm19 {k1} 22vpaddb %zmm16, %zmm17, %zmm19 {z}{k1} 23vpaddb (%rax), %zmm17, %zmm19 {z}{k1} 24 25vpaddw %zmm16, %zmm17, %zmm19 26vpaddw (%rax), %zmm17, %zmm19 27vpaddw %zmm16, %zmm17, %zmm19 {k1} 28vpaddw (%rax), %zmm17, %zmm19 {k1} 29vpaddw %zmm16, %zmm17, %zmm19 {z}{k1} 30vpaddw (%rax), %zmm17, %zmm19 {z}{k1} 31 32vpermw %zmm16, %zmm17, %zmm19 33vpermw (%rax), %zmm17, %zmm19 34vpermw %zmm16, %zmm17, %zmm19 {k1} 35vpermw (%rax), %zmm17, %zmm19 {k1} 36vpermw %zmm16, %zmm17, %zmm19 {z}{k1} 37vpermw (%rax), %zmm17, %zmm19 {z}{k1} 38 39vpshufb %zmm16, %zmm17, %zmm19 40vpshufb (%rax), %zmm17, %zmm19 41vpshufb %zmm16, %zmm17, %zmm19 {k1} 42vpshufb (%rax), %zmm17, %zmm19 {k1} 43vpshufb %zmm16, %zmm17, %zmm19 {z}{k1} 44vpshufb (%rax), %zmm17, %zmm19 {z}{k1} 45 46vpshufhw $0, %zmm16, %zmm19 47vpshufhw $0, (%rax), %zmm19 48vpshufhw $0, %zmm16, %zmm19 {k1} 49vpshufhw $0, (%rax), %zmm19 {k1} 50vpshufhw $0, %zmm16, %zmm19 {z}{k1} 51vpshufhw $0, (%rax), %zmm19 {z}{k1} 52 53vpshuflw $0, %zmm16, %zmm19 54vpshuflw $0, (%rax), %zmm19 55vpshuflw $0, %zmm16, %zmm19 {k1} 56vpshuflw $0, (%rax), %zmm19 {k1} 57vpshuflw $0, %zmm16, %zmm19 {z}{k1} 58vpshuflw $0, (%rax), %zmm19 {z}{k1} 59 60vpsubb %zmm16, %zmm17, %zmm19 61vpsubb (%rax), %zmm17, %zmm19 62vpsubb %zmm16, %zmm17, %zmm19 {k1} 63vpsubb (%rax), %zmm17, %zmm19 {k1} 64vpsubb %zmm16, %zmm17, %zmm19 {z}{k1} 65vpsubb (%rax), %zmm17, %zmm19 {z}{k1} 66 67vpsubw %zmm16, %zmm17, %zmm19 68vpsubw (%rax), %zmm17, %zmm19 69vpsubw %zmm16, %zmm17, %zmm19 {k1} 70vpsubw (%rax), %zmm17, %zmm19 {k1} 71vpsubw %zmm16, %zmm17, %zmm19 {z}{k1} 72vpsubw (%rax), %zmm17, %zmm19 {z}{k1} 73 74vpunpckhbw %zmm16, %zmm17, %zmm19 75vpunpckhbw (%rax), %zmm17, %zmm19 76vpunpckhbw %zmm16, %zmm17, %zmm19 {k1} 77vpunpckhbw (%rax), %zmm17, %zmm19 {k1} 78vpunpckhbw %zmm16, %zmm17, %zmm19 {z}{k1} 79vpunpckhbw (%rax), %zmm17, %zmm19 {z}{k1} 80 81vpunpckhwd %zmm16, %zmm17, %zmm19 82vpunpckhwd (%rax), %zmm17, %zmm19 83vpunpckhwd %zmm16, %zmm17, %zmm19 {k1} 84vpunpckhwd (%rax), %zmm17, %zmm19 {k1} 85vpunpckhwd %zmm16, %zmm17, %zmm19 {z}{k1} 86vpunpckhwd (%rax), %zmm17, %zmm19 {z}{k1} 87 88vpunpcklbw %zmm16, %zmm17, %zmm19 89vpunpcklbw (%rax), %zmm17, %zmm19 90vpunpcklbw %zmm16, %zmm17, %zmm19 {k1} 91vpunpcklbw (%rax), %zmm17, %zmm19 {k1} 92vpunpcklbw %zmm16, %zmm17, %zmm19 {z}{k1} 93vpunpcklbw (%rax), %zmm17, %zmm19 {z}{k1} 94 95vpunpcklwd %zmm16, %zmm17, %zmm19 96vpunpcklwd (%rax), %zmm17, %zmm19 97vpunpcklwd %zmm16, %zmm17, %zmm19 {k1} 98vpunpcklwd (%rax), %zmm17, %zmm19 {k1} 99vpunpcklwd %zmm16, %zmm17, %zmm19 {z}{k1} 100vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1} 101 102# CHECK: Instruction Info: 103# CHECK-NEXT: [1]: #uOps 104# CHECK-NEXT: [2]: Latency 105# CHECK-NEXT: [3]: RThroughput 106# CHECK-NEXT: [4]: MayLoad 107# CHECK-NEXT: [5]: MayStore 108# CHECK-NEXT: [6]: HasSideEffects (U) 109 110# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 111# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19 112# CHECK-NEXT: 2 8 1.00 * vpabsb (%rax), %zmm19 113# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19 {%k1} 114# CHECK-NEXT: 2 8 1.00 * vpabsb (%rax), %zmm19 {%k1} 115# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19 {%k1} {z} 116# CHECK-NEXT: 2 8 1.00 * vpabsb (%rax), %zmm19 {%k1} {z} 117# CHECK-NEXT: 1 1 1.00 vpabsw %zmm16, %zmm19 118# CHECK-NEXT: 2 8 1.00 * vpabsw (%rax), %zmm19 119# CHECK-NEXT: 1 1 1.00 vpabsw %zmm16, %zmm19 {%k1} 120# CHECK-NEXT: 2 8 1.00 * vpabsw (%rax), %zmm19 {%k1} 121# CHECK-NEXT: 1 1 1.00 vpabsw %zmm16, %zmm19 {%k1} {z} 122# CHECK-NEXT: 2 8 1.00 * vpabsw (%rax), %zmm19 {%k1} {z} 123# CHECK-NEXT: 1 1 0.33 vpaddb %zmm16, %zmm17, %zmm19 124# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %zmm17, %zmm19 125# CHECK-NEXT: 1 1 0.33 vpaddb %zmm16, %zmm17, %zmm19 {%k1} 126# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %zmm17, %zmm19 {%k1} 127# CHECK-NEXT: 1 1 0.33 vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z} 128# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %zmm17, %zmm19 {%k1} {z} 129# CHECK-NEXT: 1 1 0.33 vpaddw %zmm16, %zmm17, %zmm19 130# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 131# CHECK-NEXT: 1 1 0.33 vpaddw %zmm16, %zmm17, %zmm19 {%k1} 132# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} 133# CHECK-NEXT: 1 1 0.33 vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z} 134# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} {z} 135# CHECK-NEXT: 2 6 2.00 vpermw %zmm16, %zmm17, %zmm19 136# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %zmm17, %zmm19 137# CHECK-NEXT: 2 6 2.00 vpermw %zmm16, %zmm17, %zmm19 {%k1} 138# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %zmm17, %zmm19 {%k1} 139# CHECK-NEXT: 2 6 2.00 vpermw %zmm16, %zmm17, %zmm19 {%k1} {z} 140# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %zmm17, %zmm19 {%k1} {z} 141# CHECK-NEXT: 1 1 1.00 vpshufb %zmm16, %zmm17, %zmm19 142# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %zmm17, %zmm19 143# CHECK-NEXT: 1 1 1.00 vpshufb %zmm16, %zmm17, %zmm19 {%k1} 144# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %zmm17, %zmm19 {%k1} 145# CHECK-NEXT: 1 1 1.00 vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z} 146# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %zmm17, %zmm19 {%k1} {z} 147# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 148# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 149# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1} 150# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1} 151# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1} {z} 152# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1} {z} 153# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 154# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 155# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} 156# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} 157# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z} 158# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z} 159# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19 160# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19 161# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19 {%k1} 162# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19 {%k1} 163# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z} 164# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19 {%k1} {z} 165# CHECK-NEXT: 1 1 0.33 vpsubw %zmm16, %zmm17, %zmm19 166# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 167# CHECK-NEXT: 1 1 0.33 vpsubw %zmm16, %zmm17, %zmm19 {%k1} 168# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1} 169# CHECK-NEXT: 1 1 0.33 vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z} 170# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1} {z} 171# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 172# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 173# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} 174# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} 175# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z} 176# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z} 177# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 178# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 179# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} 180# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} 181# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z} 182# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z} 183# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 184# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 185# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} 186# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} 187# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z} 188# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z} 189# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 190# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 191# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} 192# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} 193# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z} 194# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z} 195 196# CHECK: Resources: 197# CHECK-NEXT: [0] - SKXDivider 198# CHECK-NEXT: [1] - SKXFPDivider 199# CHECK-NEXT: [2] - SKXPort0 200# CHECK-NEXT: [3] - SKXPort1 201# CHECK-NEXT: [4] - SKXPort2 202# CHECK-NEXT: [5] - SKXPort3 203# CHECK-NEXT: [6] - SKXPort4 204# CHECK-NEXT: [7] - SKXPort5 205# CHECK-NEXT: [8] - SKXPort6 206# CHECK-NEXT: [9] - SKXPort7 207 208# CHECK: Resource pressure per iteration: 209# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 210# CHECK-NEXT: - - 20.00 8.00 21.00 21.00 - 62.00 - - 211 212# CHECK: Resource pressure by instruction: 213# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: 214# CHECK-NEXT: - - 1.00 - - - - - - - vpabsb %zmm16, %zmm19 215# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsb (%rax), %zmm19 216# CHECK-NEXT: - - 1.00 - - - - - - - vpabsb %zmm16, %zmm19 {%k1} 217# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsb (%rax), %zmm19 {%k1} 218# CHECK-NEXT: - - 1.00 - - - - - - - vpabsb %zmm16, %zmm19 {%k1} {z} 219# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsb (%rax), %zmm19 {%k1} {z} 220# CHECK-NEXT: - - 1.00 - - - - - - - vpabsw %zmm16, %zmm19 221# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsw (%rax), %zmm19 222# CHECK-NEXT: - - 1.00 - - - - - - - vpabsw %zmm16, %zmm19 {%k1} 223# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsw (%rax), %zmm19 {%k1} 224# CHECK-NEXT: - - 1.00 - - - - - - - vpabsw %zmm16, %zmm19 {%k1} {z} 225# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpabsw (%rax), %zmm19 {%k1} {z} 226# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %zmm16, %zmm17, %zmm19 227# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %zmm17, %zmm19 228# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %zmm16, %zmm17, %zmm19 {%k1} 229# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %zmm17, %zmm19 {%k1} 230# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %zmm16, %zmm17, %zmm19 {%k1} {z} 231# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %zmm17, %zmm19 {%k1} {z} 232# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %zmm16, %zmm17, %zmm19 233# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %zmm17, %zmm19 234# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} 235# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %zmm17, %zmm19 {%k1} 236# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z} 237# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %zmm17, %zmm19 {%k1} {z} 238# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %zmm16, %zmm17, %zmm19 239# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %zmm17, %zmm19 240# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1} 241# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %zmm17, %zmm19 {%k1} 242# CHECK-NEXT: - - - - - - - 2.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1} {z} 243# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpermw (%rax), %zmm17, %zmm19 {%k1} {z} 244# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %zmm16, %zmm17, %zmm19 245# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %zmm17, %zmm19 246# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} 247# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %zmm17, %zmm19 {%k1} 248# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z} 249# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %zmm17, %zmm19 {%k1} {z} 250# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 251# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %zmm19 252# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1} 253# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %zmm19 {%k1} 254# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1} {z} 255# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $0, (%rax), %zmm19 {%k1} {z} 256# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 257# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 258# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} 259# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 {%k1} 260# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z} 261# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 {%k1} {z} 262# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19 263# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %zmm17, %zmm19 264# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1} 265# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %zmm17, %zmm19 {%k1} 266# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1} {z} 267# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %zmm17, %zmm19 {%k1} {z} 268# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %zmm16, %zmm17, %zmm19 269# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %zmm17, %zmm19 270# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} 271# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %zmm17, %zmm19 {%k1} 272# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z} 273# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %zmm17, %zmm19 {%k1} {z} 274# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 275# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %zmm17, %zmm19 276# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} 277# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} 278# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z} 279# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z} 280# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 281# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %zmm17, %zmm19 282# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} 283# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} 284# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z} 285# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z} 286# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 287# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %zmm17, %zmm19 288# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} 289# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} 290# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z} 291# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z} 292# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 293# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 294# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} 295# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} 296# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z} 297# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z} 298