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 4kaddb %k0, %k1, %k2 5kaddw %k0, %k1, %k2 6kandb %k0, %k1, %k2 7kandnb %k0, %k1, %k2 8korb %k0, %k1, %k2 9kxnorb %k0, %k1, %k2 10kxorb %k0, %k1, %k2 11kshiftlb $2, %k1, %k2 12kshiftrb $2, %k1, %k2 13 14vandnpd %zmm16, %zmm17, %zmm19 15vandnpd (%rax), %zmm17, %zmm19 16vandnpd (%rax){1to8}, %zmm17, %zmm19 17vandnpd %zmm16, %zmm17, %zmm19 {k1} 18vandnpd (%rax), %zmm17, %zmm19 {k1} 19vandnpd (%rax){1to8}, %zmm17, %zmm19 {k1} 20vandnpd %zmm16, %zmm17, %zmm19 {z}{k1} 21vandnpd (%rax), %zmm17, %zmm19 {z}{k1} 22vandnpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1} 23 24vandnps %zmm16, %zmm17, %zmm19 25vandnps (%rax), %zmm17, %zmm19 26vandnps (%rax){1to16}, %zmm17, %zmm19 27vandnps %zmm16, %zmm17, %zmm19 {k1} 28vandnps (%rax), %zmm17, %zmm19 {k1} 29vandnps (%rax){1to16}, %zmm17, %zmm19 {k1} 30vandnps %zmm16, %zmm17, %zmm19 {z}{k1} 31vandnps (%rax), %zmm17, %zmm19 {z}{k1} 32vandnps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} 33 34vandpd %zmm16, %zmm17, %zmm19 35vandpd (%rax), %zmm17, %zmm19 36vandpd (%rax){1to8}, %zmm17, %zmm19 37vandpd %zmm16, %zmm17, %zmm19 {k1} 38vandpd (%rax), %zmm17, %zmm19 {k1} 39vandpd (%rax){1to8}, %zmm17, %zmm19 {k1} 40vandpd %zmm16, %zmm17, %zmm19 {z}{k1} 41vandpd (%rax), %zmm17, %zmm19 {z}{k1} 42vandpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1} 43 44vandps %zmm16, %zmm17, %zmm19 45vandps (%rax), %zmm17, %zmm19 46vandps (%rax){1to16}, %zmm17, %zmm19 47vandps %zmm16, %zmm17, %zmm19 {k1} 48vandps (%rax), %zmm17, %zmm19 {k1} 49vandps (%rax){1to16}, %zmm17, %zmm19 {k1} 50vandps %zmm16, %zmm17, %zmm19 {z}{k1} 51vandps (%rax), %zmm17, %zmm19 {z}{k1} 52vandps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} 53 54vcvtqq2pd %zmm16, %zmm19 55vcvtqq2pd (%rax), %zmm19 56vcvtqq2pd (%rax){1to8}, %zmm19 57vcvtqq2pd %zmm16, %zmm19 {k1} 58vcvtqq2pd (%rax), %zmm19 {k1} 59vcvtqq2pd (%rax){1to8}, %zmm19 {k1} 60vcvtqq2pd %zmm16, %zmm19 {z}{k1} 61vcvtqq2pd (%rax), %zmm19 {z}{k1} 62vcvtqq2pd (%rax){1to8}, %zmm19 {z}{k1} 63 64vcvtqq2ps %zmm16, %ymm19 65vcvtqq2ps (%rax), %ymm19 66vcvtqq2ps (%rax){1to8}, %ymm19 67vcvtqq2ps %zmm16, %ymm19 {k1} 68vcvtqq2ps (%rax), %ymm19 {k1} 69vcvtqq2ps (%rax){1to8}, %ymm19 {k1} 70vcvtqq2ps %zmm16, %ymm19 {z}{k1} 71vcvtqq2ps (%rax), %ymm19 {z}{k1} 72vcvtqq2ps (%rax){1to8}, %ymm19 {z}{k1} 73 74vorpd %zmm16, %zmm17, %zmm19 75vorpd (%rax), %zmm17, %zmm19 76vorpd (%rax){1to8}, %zmm17, %zmm19 77vorpd %zmm16, %zmm17, %zmm19 {k1} 78vorpd (%rax), %zmm17, %zmm19 {k1} 79vorpd (%rax){1to8}, %zmm17, %zmm19 {k1} 80vorpd %zmm16, %zmm17, %zmm19 {z}{k1} 81vorpd (%rax), %zmm17, %zmm19 {z}{k1} 82vorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1} 83 84vorps %zmm16, %zmm17, %zmm19 85vorps (%rax), %zmm17, %zmm19 86vorps (%rax){1to16}, %zmm17, %zmm19 87vorps %zmm16, %zmm17, %zmm19 {k1} 88vorps (%rax), %zmm17, %zmm19 {k1} 89vorps (%rax){1to16}, %zmm17, %zmm19 {k1} 90vorps %zmm16, %zmm17, %zmm19 {z}{k1} 91vorps (%rax), %zmm17, %zmm19 {z}{k1} 92vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} 93 94vfpclasspd $0xab, %zmm16, %k1 95vfpclasspdz $0xab, (%rax), %k1 96vfpclasspdz $0xab, (%rax){1to8}, %k1 97vfpclasspd $0xab, %zmm16, %k1 {k2} 98vfpclasspdz $0xab, (%rax), %k1 {k2} 99vfpclasspdz $0xab, (%rax){1to8}, %k1 {k2} 100 101vfpclassps $0xab, %zmm16, %k1 102vfpclasspsz $0xab, (%rax), %k1 103vfpclasspsz $0xab, (%rax){1to16}, %k1 104vfpclassps $0xab, %zmm16, %k1 {k2} 105vfpclasspsz $0xab, (%rax), %k1 {k2} 106vfpclasspsz $0xab, (%rax){1to16}, %k1 {k2} 107 108vfpclasssd $0xab, %xmm16, %k1 109vfpclasssd $0xab, (%rax), %k1 110vfpclasssd $0xab, %xmm16, %k1 {k2} 111vfpclasssd $0xab, (%rax), %k1 {k2} 112 113vfpclassss $0xab, %xmm16, %k1 114vfpclassss $0xab, (%rax), %k1 115vfpclassss $0xab, %xmm16, %k1 {k2} 116vfpclassss $0xab, (%rax), %k1 {k2} 117 118vpmullq %zmm16, %zmm17, %zmm19 119vpmullq (%rax), %zmm17, %zmm19 120vpmullq %zmm16, %zmm17, %zmm19 {k1} 121vpmullq (%rax), %zmm17, %zmm19 {k1} 122vpmullq %zmm16, %zmm17, %zmm19 {z}{k1} 123vpmullq (%rax), %zmm17, %zmm19 {z}{k1} 124 125vxorpd %zmm16, %zmm17, %zmm19 126vxorpd (%rax), %zmm17, %zmm19 127vxorpd (%rax){1to8}, %zmm17, %zmm19 128vxorpd %zmm16, %zmm17, %zmm19 {k1} 129vxorpd (%rax), %zmm17, %zmm19 {k1} 130vxorpd (%rax){1to8}, %zmm17, %zmm19 {k1} 131vxorpd %zmm16, %zmm17, %zmm19 {z}{k1} 132vxorpd (%rax), %zmm17, %zmm19 {z}{k1} 133vxorpd (%rax){1to8}, %zmm17, %zmm19 {z}{k1} 134 135vxorps %zmm16, %zmm17, %zmm19 136vxorps (%rax), %zmm17, %zmm19 137vxorps (%rax){1to16}, %zmm17, %zmm19 138vxorps %zmm16, %zmm17, %zmm19 {k1} 139vxorps (%rax), %zmm17, %zmm19 {k1} 140vxorps (%rax){1to16}, %zmm17, %zmm19 {k1} 141vxorps %zmm16, %zmm17, %zmm19 {z}{k1} 142vxorps (%rax), %zmm17, %zmm19 {z}{k1} 143vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} 144 145# CHECK: Instruction Info: 146# CHECK-NEXT: [1]: #uOps 147# CHECK-NEXT: [2]: Latency 148# CHECK-NEXT: [3]: RThroughput 149# CHECK-NEXT: [4]: MayLoad 150# CHECK-NEXT: [5]: MayStore 151# CHECK-NEXT: [6]: HasSideEffects (U) 152 153# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 154# CHECK-NEXT: 1 1 0.33 kaddb %k0, %k1, %k2 155# CHECK-NEXT: 1 1 0.33 kaddw %k0, %k1, %k2 156# CHECK-NEXT: 1 1 0.33 kandb %k0, %k1, %k2 157# CHECK-NEXT: 1 1 0.33 kandnb %k0, %k1, %k2 158# CHECK-NEXT: 1 1 0.33 korb %k0, %k1, %k2 159# CHECK-NEXT: 1 1 0.33 kxnorb %k0, %k1, %k2 160# CHECK-NEXT: 1 1 0.33 kxorb %k0, %k1, %k2 161# CHECK-NEXT: 1 1 1.00 kshiftlb $2, %k1, %k2 162# CHECK-NEXT: 1 1 1.00 kshiftrb $2, %k1, %k2 163# CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19 164# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19 165# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19 166# CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19 {%k1} 167# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19 {%k1} 168# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 169# CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z} 170# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19 {%k1} {z} 171# CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 172# CHECK-NEXT: 1 1 1.00 vandnps %zmm16, %zmm17, %zmm19 173# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %zmm17, %zmm19 174# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to16}, %zmm17, %zmm19 175# CHECK-NEXT: 1 1 1.00 vandnps %zmm16, %zmm17, %zmm19 {%k1} 176# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %zmm17, %zmm19 {%k1} 177# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} 178# CHECK-NEXT: 1 1 1.00 vandnps %zmm16, %zmm17, %zmm19 {%k1} {z} 179# CHECK-NEXT: 2 8 1.00 * vandnps (%rax), %zmm17, %zmm19 {%k1} {z} 180# CHECK-NEXT: 2 8 1.00 * vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 181# CHECK-NEXT: 1 1 1.00 vandpd %zmm16, %zmm17, %zmm19 182# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %zmm17, %zmm19 183# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to8}, %zmm17, %zmm19 184# CHECK-NEXT: 1 1 1.00 vandpd %zmm16, %zmm17, %zmm19 {%k1} 185# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %zmm17, %zmm19 {%k1} 186# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 187# CHECK-NEXT: 1 1 1.00 vandpd %zmm16, %zmm17, %zmm19 {%k1} {z} 188# CHECK-NEXT: 2 8 1.00 * vandpd (%rax), %zmm17, %zmm19 {%k1} {z} 189# CHECK-NEXT: 2 8 1.00 * vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 190# CHECK-NEXT: 1 1 1.00 vandps %zmm16, %zmm17, %zmm19 191# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %zmm17, %zmm19 192# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to16}, %zmm17, %zmm19 193# CHECK-NEXT: 1 1 1.00 vandps %zmm16, %zmm17, %zmm19 {%k1} 194# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %zmm17, %zmm19 {%k1} 195# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} 196# CHECK-NEXT: 1 1 1.00 vandps %zmm16, %zmm17, %zmm19 {%k1} {z} 197# CHECK-NEXT: 2 8 1.00 * vandps (%rax), %zmm17, %zmm19 {%k1} {z} 198# CHECK-NEXT: 2 8 1.00 * vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 199# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %zmm16, %zmm19 200# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %zmm19 201# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to8}, %zmm19 202# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %zmm16, %zmm19 {%k1} 203# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %zmm19 {%k1} 204# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} 205# CHECK-NEXT: 2 4 1.00 vcvtqq2pd %zmm16, %zmm19 {%k1} {z} 206# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax), %zmm19 {%k1} {z} 207# CHECK-NEXT: 3 10 1.00 * vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z} 208# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %zmm16, %ymm19 209# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax), %ymm19 210# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 211# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %zmm16, %ymm19 {%k1} 212# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1} 213# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} 214# CHECK-NEXT: 1 3 1.00 vcvtqq2ps %zmm16, %ymm19 {%k1} {z} 215# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax), %ymm19 {%k1} {z} 216# CHECK-NEXT: 2 10 1.00 * vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z} 217# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 218# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 219# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 220# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 {%k1} 221# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 {%k1} 222# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 223# CHECK-NEXT: 1 1 1.00 vorpd %zmm16, %zmm17, %zmm19 {%k1} {z} 224# CHECK-NEXT: 2 8 1.00 * vorpd (%rax), %zmm17, %zmm19 {%k1} {z} 225# CHECK-NEXT: 2 8 1.00 * vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 226# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 227# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 228# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 229# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1} 230# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1} 231# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} 232# CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1} {z} 233# CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1} {z} 234# CHECK-NEXT: 2 8 1.00 * vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 235# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %zmm16, %k1 236# CHECK-NEXT: 2 10 1.00 * vfpclasspdz $171, (%rax), %k1 237# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to8}, %k1 238# CHECK-NEXT: 1 3 1.00 vfpclasspd $171, %zmm16, %k1 {%k2} 239# CHECK-NEXT: 2 10 1.00 * vfpclasspdz $171, (%rax), %k1 {%k2} 240# CHECK-NEXT: 2 10 1.00 * vfpclasspd $171, (%rax){1to8}, %k1 {%k2} 241# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %zmm16, %k1 242# CHECK-NEXT: 2 10 1.00 * vfpclasspsz $171, (%rax), %k1 243# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to16}, %k1 244# CHECK-NEXT: 1 3 1.00 vfpclassps $171, %zmm16, %k1 {%k2} 245# CHECK-NEXT: 2 10 1.00 * vfpclasspsz $171, (%rax), %k1 {%k2} 246# CHECK-NEXT: 2 10 1.00 * vfpclassps $171, (%rax){1to16}, %k1 {%k2} 247# CHECK-NEXT: 1 3 1.00 vfpclasssd $171, %xmm16, %k1 248# CHECK-NEXT: 2 9 1.00 * vfpclasssd $171, (%rax), %k1 249# CHECK-NEXT: 1 3 1.00 vfpclasssd $171, %xmm16, %k1 {%k2} 250# CHECK-NEXT: 2 9 1.00 * vfpclasssd $171, (%rax), %k1 {%k2} 251# CHECK-NEXT: 1 3 1.00 vfpclassss $171, %xmm16, %k1 252# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1 253# CHECK-NEXT: 1 3 1.00 vfpclassss $171, %xmm16, %k1 {%k2} 254# CHECK-NEXT: 2 9 1.00 * vfpclassss $171, (%rax), %k1 {%k2} 255# CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 256# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19 257# CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1} 258# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1} 259# CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z} 260# CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1} {z} 261# CHECK-NEXT: 1 1 1.00 vxorpd %zmm16, %zmm17, %zmm19 262# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %zmm17, %zmm19 263# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to8}, %zmm17, %zmm19 264# CHECK-NEXT: 1 1 1.00 vxorpd %zmm16, %zmm17, %zmm19 {%k1} 265# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %zmm17, %zmm19 {%k1} 266# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 267# CHECK-NEXT: 1 1 1.00 vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z} 268# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax), %zmm17, %zmm19 {%k1} {z} 269# CHECK-NEXT: 2 8 1.00 * vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 270# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19 271# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19 272# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19 273# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19 {%k1} 274# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19 {%k1} 275# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} 276# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z} 277# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z} 278# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 279 280# CHECK: Resources: 281# CHECK-NEXT: [0] - SBDivider 282# CHECK-NEXT: [1] - SBFPDivider 283# CHECK-NEXT: [2] - SBPort0 284# CHECK-NEXT: [3] - SBPort1 285# CHECK-NEXT: [4] - SBPort4 286# CHECK-NEXT: [5] - SBPort5 287# CHECK-NEXT: [6.0] - SBPort23 288# CHECK-NEXT: [6.1] - SBPort23 289 290# CHECK: Resource pressure per iteration: 291# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] 292# CHECK-NEXT: - - 8.33 40.33 - 85.33 37.50 37.50 293 294# CHECK: Resource pressure by instruction: 295# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: 296# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kaddb %k0, %k1, %k2 297# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kaddw %k0, %k1, %k2 298# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kandb %k0, %k1, %k2 299# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kandnb %k0, %k1, %k2 300# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - korb %k0, %k1, %k2 301# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kxnorb %k0, %k1, %k2 302# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - kxorb %k0, %k1, %k2 303# CHECK-NEXT: - - - - - 1.00 - - kshiftlb $2, %k1, %k2 304# CHECK-NEXT: - - - - - 1.00 - - kshiftrb $2, %k1, %k2 305# CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19 306# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19 307# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19 308# CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19 {%k1} 309# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19 {%k1} 310# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 311# CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19 {%k1} {z} 312# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19 {%k1} {z} 313# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 314# CHECK-NEXT: - - - - - 1.00 - - vandnps %zmm16, %zmm17, %zmm19 315# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %zmm17, %zmm19 316# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to16}, %zmm17, %zmm19 317# CHECK-NEXT: - - - - - 1.00 - - vandnps %zmm16, %zmm17, %zmm19 {%k1} 318# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %zmm17, %zmm19 {%k1} 319# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} 320# CHECK-NEXT: - - - - - 1.00 - - vandnps %zmm16, %zmm17, %zmm19 {%k1} {z} 321# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax), %zmm17, %zmm19 {%k1} {z} 322# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 323# CHECK-NEXT: - - - - - 1.00 - - vandpd %zmm16, %zmm17, %zmm19 324# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %zmm17, %zmm19 325# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to8}, %zmm17, %zmm19 326# CHECK-NEXT: - - - - - 1.00 - - vandpd %zmm16, %zmm17, %zmm19 {%k1} 327# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %zmm17, %zmm19 {%k1} 328# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 329# CHECK-NEXT: - - - - - 1.00 - - vandpd %zmm16, %zmm17, %zmm19 {%k1} {z} 330# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax), %zmm17, %zmm19 {%k1} {z} 331# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 332# CHECK-NEXT: - - - - - 1.00 - - vandps %zmm16, %zmm17, %zmm19 333# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %zmm17, %zmm19 334# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to16}, %zmm17, %zmm19 335# CHECK-NEXT: - - - - - 1.00 - - vandps %zmm16, %zmm17, %zmm19 {%k1} 336# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %zmm17, %zmm19 {%k1} 337# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} 338# CHECK-NEXT: - - - - - 1.00 - - vandps %zmm16, %zmm17, %zmm19 {%k1} {z} 339# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax), %zmm17, %zmm19 {%k1} {z} 340# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 341# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %zmm16, %zmm19 342# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %zmm19 343# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to8}, %zmm19 344# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %zmm16, %zmm19 {%k1} 345# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %zmm19 {%k1} 346# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} 347# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtqq2pd %zmm16, %zmm19 {%k1} {z} 348# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax), %zmm19 {%k1} {z} 349# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z} 350# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %zmm16, %ymm19 351# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax), %ymm19 352# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to8}, %ymm19 353# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} 354# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax), %ymm19 {%k1} 355# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} 356# CHECK-NEXT: - - - 1.00 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z} 357# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax), %ymm19 {%k1} {z} 358# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z} 359# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 360# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 361# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 362# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 {%k1} 363# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 {%k1} 364# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 365# CHECK-NEXT: - - - - - 1.00 - - vorpd %zmm16, %zmm17, %zmm19 {%k1} {z} 366# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax), %zmm17, %zmm19 {%k1} {z} 367# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 368# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 369# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 370# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 371# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1} 372# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1} 373# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} 374# CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z} 375# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1} {z} 376# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 377# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %zmm16, %k1 378# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdz $171, (%rax), %k1 379# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to8}, %k1 380# CHECK-NEXT: - - - 1.00 - - - - vfpclasspd $171, %zmm16, %k1 {%k2} 381# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspdz $171, (%rax), %k1 {%k2} 382# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspd $171, (%rax){1to8}, %k1 {%k2} 383# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %zmm16, %k1 384# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsz $171, (%rax), %k1 385# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to16}, %k1 386# CHECK-NEXT: - - - 1.00 - - - - vfpclassps $171, %zmm16, %k1 {%k2} 387# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasspsz $171, (%rax), %k1 {%k2} 388# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassps $171, (%rax){1to16}, %k1 {%k2} 389# CHECK-NEXT: - - - 1.00 - - - - vfpclasssd $171, %xmm16, %k1 390# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasssd $171, (%rax), %k1 391# CHECK-NEXT: - - - 1.00 - - - - vfpclasssd $171, %xmm16, %k1 {%k2} 392# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclasssd $171, (%rax), %k1 {%k2} 393# CHECK-NEXT: - - - 1.00 - - - - vfpclassss $171, %xmm16, %k1 394# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassss $171, (%rax), %k1 395# CHECK-NEXT: - - - 1.00 - - - - vfpclassss $171, %xmm16, %k1 {%k2} 396# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vfpclassss $171, (%rax), %k1 {%k2} 397# CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 398# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19 399# CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} 400# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19 {%k1} 401# CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z} 402# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19 {%k1} {z} 403# CHECK-NEXT: - - - - - 1.00 - - vxorpd %zmm16, %zmm17, %zmm19 404# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %zmm17, %zmm19 405# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to8}, %zmm17, %zmm19 406# CHECK-NEXT: - - - - - 1.00 - - vxorpd %zmm16, %zmm17, %zmm19 {%k1} 407# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %zmm17, %zmm19 {%k1} 408# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} 409# CHECK-NEXT: - - - - - 1.00 - - vxorpd %zmm16, %zmm17, %zmm19 {%k1} {z} 410# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax), %zmm17, %zmm19 {%k1} {z} 411# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} 412# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19 413# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19 414# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19 415# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19 {%k1} 416# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19 {%k1} 417# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} 418# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z} 419# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19 {%k1} {z} 420# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} 421