Commit ff59fd2
committed
[LLVM][CodeGen][SVE] Improve lowering of fixed length masked mem ops.
Converting fixed length masks, as used by MLOAD, to scalable vectors
is done by comparing the mask to zero. When the mask is the result
of a compare we can instead promote the operands and regenerate the
original compare. At worst this reduces the dependecy chain and in
most cases removes the need for multiple compares.1 parent b0b97e3 commit ff59fd2
File tree
4 files changed
+46
-29
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
4 files changed
+46
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20190 | 20190 | | |
20191 | 20191 | | |
20192 | 20192 | | |
| 20193 | + | |
| 20194 | + | |
| 20195 | + | |
| 20196 | + | |
| 20197 | + | |
| 20198 | + | |
20193 | 20199 | | |
20194 | 20200 | | |
20195 | 20201 | | |
| |||
28697 | 28703 | | |
28698 | 28704 | | |
28699 | 28705 | | |
28700 | | - | |
28701 | | - | |
| 28706 | + | |
28702 | 28707 | | |
28703 | 28708 | | |
28704 | 28709 | | |
28705 | 28710 | | |
28706 | | - | |
28707 | | - | |
| 28711 | + | |
| 28712 | + | |
| 28713 | + | |
| 28714 | + | |
| 28715 | + | |
| 28716 | + | |
| 28717 | + | |
| 28718 | + | |
| 28719 | + | |
| 28720 | + | |
| 28721 | + | |
| 28722 | + | |
| 28723 | + | |
| 28724 | + | |
| 28725 | + | |
| 28726 | + | |
| 28727 | + | |
| 28728 | + | |
| 28729 | + | |
| 28730 | + | |
| 28731 | + | |
| 28732 | + | |
28708 | 28733 | | |
28709 | 28734 | | |
28710 | | - | |
| 28735 | + | |
28711 | 28736 | | |
28712 | 28737 | | |
28713 | 28738 | | |
| |||
Lines changed: 2 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
463 | | - | |
464 | 463 | | |
465 | | - | |
466 | | - | |
| 464 | + | |
| 465 | + | |
467 | 466 | | |
468 | 467 | | |
469 | 468 | | |
| |||
Lines changed: 12 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
401 | 401 | | |
402 | 402 | | |
403 | 403 | | |
404 | | - | |
405 | 404 | | |
| 405 | + | |
406 | 406 | | |
407 | | - | |
408 | | - | |
| 407 | + | |
409 | 408 | | |
410 | 409 | | |
411 | 410 | | |
| |||
436 | 435 | | |
437 | 436 | | |
438 | 437 | | |
439 | | - | |
440 | 438 | | |
| 439 | + | |
441 | 440 | | |
442 | | - | |
443 | | - | |
| 441 | + | |
444 | 442 | | |
445 | 443 | | |
446 | 444 | | |
| |||
504 | 502 | | |
505 | 503 | | |
506 | 504 | | |
507 | | - | |
508 | 505 | | |
| 506 | + | |
509 | 507 | | |
510 | | - | |
511 | | - | |
| 508 | + | |
512 | 509 | | |
513 | 510 | | |
514 | 511 | | |
| |||
603 | 600 | | |
604 | 601 | | |
605 | 602 | | |
606 | | - | |
607 | 603 | | |
| 604 | + | |
608 | 605 | | |
609 | | - | |
610 | | - | |
| 606 | + | |
611 | 607 | | |
612 | 608 | | |
613 | 609 | | |
| |||
638 | 634 | | |
639 | 635 | | |
640 | 636 | | |
641 | | - | |
642 | 637 | | |
| 638 | + | |
643 | 639 | | |
644 | | - | |
645 | | - | |
| 640 | + | |
646 | 641 | | |
647 | 642 | | |
648 | 643 | | |
| |||
706 | 701 | | |
707 | 702 | | |
708 | 703 | | |
709 | | - | |
710 | 704 | | |
| 705 | + | |
711 | 706 | | |
712 | | - | |
713 | | - | |
| 707 | + | |
714 | 708 | | |
715 | 709 | | |
716 | 710 | | |
| |||
Lines changed: 2 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
436 | | - | |
437 | 436 | | |
438 | | - | |
439 | | - | |
| 437 | + | |
440 | 438 | | |
| 439 | + | |
441 | 440 | | |
442 | 441 | | |
443 | 442 | | |
| |||
0 commit comments