|
1 | 1 | # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py |
2 | 2 | # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s |
3 | 3 |
|
| 4 | +kaddb %k0, %k1, %k2 |
| 5 | +kaddw %k0, %k1, %k2 |
| 6 | +kandb %k0, %k1, %k2 |
| 7 | +kandnb %k0, %k1, %k2 |
| 8 | +korb %k0, %k1, %k2 |
| 9 | +kxnorb %k0, %k1, %k2 |
| 10 | +kxorb %k0, %k1, %k2 |
| 11 | +kshiftlb $2, %k1, %k2 |
| 12 | +kshiftrb $2, %k1, %k2 |
| 13 | + |
4 | 14 | vandnpd %zmm16, %zmm17, %zmm19 |
5 | 15 | vandnpd (%rax), %zmm17, %zmm19 |
6 | 16 | vandnpd (%rax){1to8}, %zmm17, %zmm19 |
@@ -81,6 +91,30 @@ vorps %zmm16, %zmm17, %zmm19 {z}{k1} |
81 | 91 | vorps (%rax), %zmm17, %zmm19 {z}{k1} |
82 | 92 | vorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} |
83 | 93 |
|
| 94 | +vfpclasspd $0xab, %zmm16, %k1 |
| 95 | +vfpclasspdz $0xab, (%rax), %k1 |
| 96 | +vfpclasspdz $0xab, (%rax){1to8}, %k1 |
| 97 | +vfpclasspd $0xab, %zmm16, %k1 {k2} |
| 98 | +vfpclasspdz $0xab, (%rax), %k1 {k2} |
| 99 | +vfpclasspdz $0xab, (%rax){1to8}, %k1 {k2} |
| 100 | + |
| 101 | +vfpclassps $0xab, %zmm16, %k1 |
| 102 | +vfpclasspsz $0xab, (%rax), %k1 |
| 103 | +vfpclasspsz $0xab, (%rax){1to16}, %k1 |
| 104 | +vfpclassps $0xab, %zmm16, %k1 {k2} |
| 105 | +vfpclasspsz $0xab, (%rax), %k1 {k2} |
| 106 | +vfpclasspsz $0xab, (%rax){1to16}, %k1 {k2} |
| 107 | + |
| 108 | +vfpclasssd $0xab, %xmm16, %k1 |
| 109 | +vfpclasssd $0xab, (%rax), %k1 |
| 110 | +vfpclasssd $0xab, %xmm16, %k1 {k2} |
| 111 | +vfpclasssd $0xab, (%rax), %k1 {k2} |
| 112 | + |
| 113 | +vfpclassss $0xab, %xmm16, %k1 |
| 114 | +vfpclassss $0xab, (%rax), %k1 |
| 115 | +vfpclassss $0xab, %xmm16, %k1 {k2} |
| 116 | +vfpclassss $0xab, (%rax), %k1 {k2} |
| 117 | + |
84 | 118 | vpmullq %zmm16, %zmm17, %zmm19 |
85 | 119 | vpmullq (%rax), %zmm17, %zmm19 |
86 | 120 | vpmullq %zmm16, %zmm17, %zmm19 {k1} |
@@ -117,6 +151,15 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} |
117 | 151 | # CHECK-NEXT: [6]: HasSideEffects (U) |
118 | 152 |
|
119 | 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 |
120 | 163 | # CHECK-NEXT: 1 1 1.00 vandnpd %zmm16, %zmm17, %zmm19 |
121 | 164 | # CHECK-NEXT: 2 8 1.00 * vandnpd (%rax), %zmm17, %zmm19 |
122 | 165 | # CHECK-NEXT: 2 8 1.00 * vandnpd (%rax){1to8}, %zmm17, %zmm19 |
@@ -189,6 +232,26 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} |
189 | 232 | # CHECK-NEXT: 1 1 1.00 vorps %zmm16, %zmm17, %zmm19 {%k1} {z} |
190 | 233 | # CHECK-NEXT: 2 8 1.00 * vorps (%rax), %zmm17, %zmm19 {%k1} {z} |
191 | 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} |
192 | 255 | # CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 |
193 | 256 | # CHECK-NEXT: 2 12 1.00 * vpmullq (%rax), %zmm17, %zmm19 |
194 | 257 | # CHECK-NEXT: 1 5 1.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1} |
@@ -226,10 +289,19 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} |
226 | 289 |
|
227 | 290 | # CHECK: Resource pressure per iteration: |
228 | 291 | # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] |
229 | | -# CHECK-NEXT: - - 6.00 18.00 - 81.00 31.50 31.50 |
| 292 | +# CHECK-NEXT: - - 8.33 40.33 - 85.33 37.50 37.50 |
230 | 293 |
|
231 | 294 | # CHECK: Resource pressure by instruction: |
232 | 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 |
233 | 305 | # CHECK-NEXT: - - - - - 1.00 - - vandnpd %zmm16, %zmm17, %zmm19 |
234 | 306 | # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax), %zmm17, %zmm19 |
235 | 307 | # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vandnpd (%rax){1to8}, %zmm17, %zmm19 |
@@ -302,6 +374,26 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} |
302 | 374 | # CHECK-NEXT: - - - - - 1.00 - - vorps %zmm16, %zmm17, %zmm19 {%k1} {z} |
303 | 375 | # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vorps (%rax), %zmm17, %zmm19 {%k1} {z} |
304 | 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} |
305 | 397 | # CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 |
306 | 398 | # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmullq (%rax), %zmm17, %zmm19 |
307 | 399 | # CHECK-NEXT: - - 1.00 - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} |
|
0 commit comments