Commit 396b6bb
authored
[RISCV] Recurse on second operand of two operand shuffles (#79197)
This builds on bdc4110.
This change completes the migration to a recursive shuffle lowering
strategy where when we encounter an unknown two argument shuffle, we
lower each operand as a single source permute, and then use a vselect
(i.e. a vmerge) to combine the results. This relies for code quality on
the post-isel combine which will aggressively fold that vmerge back into
the materialization of the second operand if possible.
Note: The change includes only the most immediately obvious of the
stylistic cleanup. There's a bunch of code movement that this enables
that I'll do as a separate patch as rolling it into this creates an
unreadable diff.1 parent 56aa77e commit 396b6bb
File tree
9 files changed
+296
-391
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV/rvv
9 files changed
+296
-391
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4975 | 4975 | | |
4976 | 4976 | | |
4977 | 4977 | | |
4978 | | - | |
4979 | | - | |
4980 | | - | |
4981 | | - | |
4982 | | - | |
4983 | | - | |
| 4978 | + | |
4984 | 4979 | | |
4985 | 4980 | | |
4986 | 4981 | | |
| |||
4989 | 4984 | | |
4990 | 4985 | | |
4991 | 4986 | | |
4992 | | - | |
4993 | | - | |
4994 | | - | |
4995 | | - | |
4996 | | - | |
4997 | | - | |
4998 | | - | |
4999 | | - | |
5000 | | - | |
5001 | | - | |
| 4987 | + | |
| 4988 | + | |
| 4989 | + | |
5002 | 4990 | | |
5003 | 4991 | | |
5004 | 4992 | | |
5005 | 4993 | | |
5006 | | - | |
| 4994 | + | |
5007 | 4995 | | |
5008 | 4996 | | |
5009 | 4997 | | |
5010 | 4998 | | |
5011 | 4999 | | |
5012 | 5000 | | |
5013 | | - | |
5014 | 5001 | | |
5015 | 5002 | | |
5016 | 5003 | | |
| |||
5038 | 5025 | | |
5039 | 5026 | | |
5040 | 5027 | | |
| 5028 | + | |
| 5029 | + | |
| 5030 | + | |
| 5031 | + | |
| 5032 | + | |
5041 | 5033 | | |
5042 | 5034 | | |
5043 | 5035 | | |
| |||
5046 | 5038 | | |
5047 | 5039 | | |
5048 | 5040 | | |
5049 | | - | |
5050 | | - | |
5051 | | - | |
5052 | | - | |
5053 | | - | |
5054 | | - | |
5055 | | - | |
5056 | | - | |
5057 | | - | |
5058 | | - | |
5059 | | - | |
5060 | | - | |
5061 | | - | |
5062 | | - | |
5063 | | - | |
5064 | | - | |
5065 | | - | |
5066 | | - | |
5067 | | - | |
5068 | | - | |
5069 | | - | |
5070 | | - | |
5071 | | - | |
5072 | | - | |
5073 | | - | |
5074 | | - | |
5075 | | - | |
5076 | | - | |
5077 | | - | |
5078 | | - | |
5079 | | - | |
5080 | | - | |
5081 | | - | |
5082 | | - | |
5083 | | - | |
5084 | | - | |
5085 | | - | |
5086 | | - | |
5087 | | - | |
5088 | | - | |
5089 | | - | |
5090 | | - | |
5091 | | - | |
5092 | | - | |
| 5041 | + | |
| 5042 | + | |
| 5043 | + | |
| 5044 | + | |
| 5045 | + | |
| 5046 | + | |
| 5047 | + | |
5093 | 5048 | | |
5094 | 5049 | | |
5095 | 5050 | | |
| |||
Lines changed: 27 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
241 | 251 | | |
242 | | - | |
| 252 | + | |
243 | 253 | | |
244 | 254 | | |
245 | 255 | | |
246 | 256 | | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
252 | 262 | | |
253 | 263 | | |
| 264 | + | |
254 | 265 | | |
255 | | - | |
| 266 | + | |
| 267 | + | |
256 | 268 | | |
257 | | - | |
258 | | - | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
259 | 273 | | |
260 | 274 | | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
261 | 279 | | |
262 | 280 | | |
263 | 281 | | |
| |||
Lines changed: 27 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
403 | 403 | | |
404 | 404 | | |
405 | 405 | | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
406 | 416 | | |
407 | | - | |
| 417 | + | |
408 | 418 | | |
409 | 419 | | |
410 | 420 | | |
411 | 421 | | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
417 | 427 | | |
418 | 428 | | |
| 429 | + | |
419 | 430 | | |
420 | | - | |
| 431 | + | |
| 432 | + | |
421 | 433 | | |
422 | | - | |
423 | | - | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
424 | 438 | | |
425 | 439 | | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
426 | 444 | | |
427 | 445 | | |
428 | 446 | | |
| |||
Lines changed: 8 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
611 | 611 | | |
612 | 612 | | |
613 | 613 | | |
614 | | - | |
615 | | - | |
616 | 614 | | |
| 615 | + | |
617 | 616 | | |
618 | | - | |
619 | | - | |
| 617 | + | |
620 | 618 | | |
621 | 619 | | |
622 | 620 | | |
| |||
625 | 623 | | |
626 | 624 | | |
627 | 625 | | |
628 | | - | |
629 | | - | |
630 | 626 | | |
| 627 | + | |
631 | 628 | | |
632 | | - | |
633 | | - | |
| 629 | + | |
634 | 630 | | |
635 | 631 | | |
636 | 632 | | |
| |||
670 | 666 | | |
671 | 667 | | |
672 | 668 | | |
673 | | - | |
674 | | - | |
| 669 | + | |
675 | 670 | | |
676 | 671 | | |
677 | | - | |
678 | | - | |
| 672 | + | |
| 673 | + | |
679 | 674 | | |
680 | 675 | | |
681 | 676 | | |
| |||
686 | 681 | | |
687 | 682 | | |
688 | 683 | | |
689 | | - | |
690 | | - | |
691 | 684 | | |
692 | 685 | | |
693 | 686 | | |
694 | | - | |
| 687 | + | |
695 | 688 | | |
696 | 689 | | |
697 | 690 | | |
| |||
0 commit comments