Commit 46e9d63
authored
[LLVM][CodeGen][SVE] Use BFMLALB for promoted bfloat fma operations. (llvm#167340)
We're likely to get better code from custom legalisation, where we can
remove unpack instructions (plus SVE2p1 has BFMLSLB/T), but we get much
of benefit with these two small changes.
NOTE: LLVM has no support for FEAT_AFP in terms of feature detection or
ACLE builtins, so the compiler works under the assumption the feature is
not enabled.
Patch is also more aggressive when enabling bfloat fma construction
because it removes unnecessary rounding which is generally preferable
regardless of whether BFMLALB is used or not.1 parent 02c68b3 commit 46e9d63
File tree
4 files changed
+616
-145
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
4 files changed
+616
-145
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18555 | 18555 | | |
18556 | 18556 | | |
18557 | 18557 | | |
18558 | | - | |
| 18558 | + | |
18559 | 18559 | | |
18560 | 18560 | | |
18561 | 18561 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2583 | 2583 | | |
2584 | 2584 | | |
2585 | 2585 | | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
2586 | 2591 | | |
2587 | 2592 | | |
2588 | 2593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
466 | 466 | | |
467 | 467 | | |
468 | 468 | | |
469 | | - | |
470 | | - | |
471 | 469 | | |
472 | 470 | | |
473 | | - | |
474 | | - | |
| 471 | + | |
| 472 | + | |
475 | 473 | | |
476 | 474 | | |
477 | 475 | | |
| |||
486 | 484 | | |
487 | 485 | | |
488 | 486 | | |
489 | | - | |
490 | | - | |
491 | | - | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
492 | 491 | | |
493 | 492 | | |
494 | | - | |
495 | 493 | | |
496 | 494 | | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | 495 | | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
507 | 501 | | |
508 | 502 | | |
509 | 503 | | |
| |||
0 commit comments