Commit 78e6120
committed
[AArch64] Split zero cycle zeoring per register class (llvm#154561)
This change improves LLVM's model accuracy by splitting AArch64
subtarget features of zero cycle zeroing per register class. This aligns
with how uarch is designed (each register bank has unique capabilities).
Similarly to how we improved ZCM modeling.
It splits `HasZeroCycleZeroingGP` to `HasZeroCycleZeroingGPR32` and
`HasZeroCycleZeroingGPR64`, removes opaque `FeatureZCZeroing`, and
infers `FeatureNoZCZeroingFP` to be `FeatureNoZCZeroingFPR64` based on
the single usage in `AArch64AsmPrinter.cpp`.
It also splits `arm64-zero-cycle-zeroing.ll` into 2 tests one `-gpr` and
one `-fpr`, similarly to ZCM, to make the tests more focused and
managable in correspondance with the new modeling.
The test cases are updated as well, exlpoiting the fact that this is a
refactor patch:
- remove redundant functions that just mix isolated ones (t1-4)
- specialize check prefixes
- replace `apple-a10` with `apple-m1`
- add a `-mtriple=arm64-apple-macosx -mcpu=generic` test case for GPR
- isolate `mtriple=arm64-apple-ios -mcpu=cyclone` FP workaround test
case and move `-fullfp16` to another non-workaround test case
(cherry-pick c3c24be)1 parent b2709ef commit 78e6120
File tree
9 files changed
+241
-266
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
9 files changed
+241
-266
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1893 | 1893 | | |
1894 | 1894 | | |
1895 | 1895 | | |
1896 | | - | |
1897 | | - | |
| 1896 | + | |
| 1897 | + | |
1898 | 1898 | | |
1899 | 1899 | | |
1900 | 1900 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
630 | 630 | | |
631 | 631 | | |
632 | 632 | | |
633 | | - | |
634 | | - | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
635 | 638 | | |
636 | 639 | | |
637 | 640 | | |
638 | 641 | | |
639 | 642 | | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
| 643 | + | |
| 644 | + | |
646 | 645 | | |
647 | 646 | | |
648 | 647 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5069 | 5069 | | |
5070 | 5070 | | |
5071 | 5071 | | |
5072 | | - | |
| 5072 | + | |
5073 | 5073 | | |
5074 | 5074 | | |
5075 | 5075 | | |
| |||
5196 | 5196 | | |
5197 | 5197 | | |
5198 | 5198 | | |
5199 | | - | |
| 5199 | + | |
5200 | 5200 | | |
5201 | 5201 | | |
5202 | 5202 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
313 | 313 | | |
314 | 314 | | |
315 | 315 | | |
316 | | - | |
| 316 | + | |
| 317 | + | |
317 | 318 | | |
318 | 319 | | |
319 | 320 | | |
| |||
327 | 328 | | |
328 | 329 | | |
329 | 330 | | |
330 | | - | |
| 331 | + | |
| 332 | + | |
331 | 333 | | |
332 | 334 | | |
333 | 335 | | |
| |||
340 | 342 | | |
341 | 343 | | |
342 | 344 | | |
343 | | - | |
| 345 | + | |
| 346 | + | |
344 | 347 | | |
345 | 348 | | |
346 | 349 | | |
| |||
353 | 356 | | |
354 | 357 | | |
355 | 358 | | |
356 | | - | |
| 359 | + | |
| 360 | + | |
357 | 361 | | |
358 | 362 | | |
359 | 363 | | |
| |||
366 | 370 | | |
367 | 371 | | |
368 | 372 | | |
369 | | - | |
| 373 | + | |
| 374 | + | |
370 | 375 | | |
371 | 376 | | |
372 | 377 | | |
| |||
384 | 389 | | |
385 | 390 | | |
386 | 391 | | |
387 | | - | |
| 392 | + | |
| 393 | + | |
388 | 394 | | |
389 | 395 | | |
390 | 396 | | |
| |||
402 | 408 | | |
403 | 409 | | |
404 | 410 | | |
405 | | - | |
| 411 | + | |
| 412 | + | |
406 | 413 | | |
407 | 414 | | |
408 | 415 | | |
| |||
420 | 427 | | |
421 | 428 | | |
422 | 429 | | |
423 | | - | |
| 430 | + | |
| 431 | + | |
424 | 432 | | |
425 | 433 | | |
426 | 434 | | |
| |||
438 | 446 | | |
439 | 447 | | |
440 | 448 | | |
441 | | - | |
| 449 | + | |
| 450 | + | |
442 | 451 | | |
443 | 452 | | |
444 | 453 | | |
| |||
455 | 464 | | |
456 | 465 | | |
457 | 466 | | |
458 | | - | |
459 | | - | |
| 467 | + | |
| 468 | + | |
460 | 469 | | |
461 | 470 | | |
462 | 471 | | |
| |||
488 | 497 | | |
489 | 498 | | |
490 | 499 | | |
491 | | - | |
| 500 | + | |
| 501 | + | |
492 | 502 | | |
493 | 503 | | |
494 | 504 | | |
495 | 505 | | |
496 | 506 | | |
497 | | - | |
| 507 | + | |
| 508 | + | |
498 | 509 | | |
499 | 510 | | |
500 | 511 | | |
501 | 512 | | |
502 | 513 | | |
503 | 514 | | |
504 | 515 | | |
505 | | - | |
| 516 | + | |
| 517 | + | |
506 | 518 | | |
507 | 519 | | |
508 | 520 | | |
| |||
598 | 610 | | |
599 | 611 | | |
600 | 612 | | |
601 | | - | |
| 613 | + | |
| 614 | + | |
602 | 615 | | |
603 | 616 | | |
604 | 617 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
Lines changed: 153 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
0 commit comments