Commit bdc4110
authored
[RISCV] Recurse on first operand of two operand shuffles (#79180)
This is the first step towards an alternate shuffle lowering design for
the general two vector argument case. The goal is to leverage the
existing lowering for single vector permutes to avoid as many of the
vrgathers as required - even if we do need the other.
This patch handles only the first argument, and is arguably a slightly
weird half-step. However, the test changes from the full two argument
recurse patch are a lot harder to reason about. Taking this half step
gives much more easily reviewable changes, and is thus worthwhile. I
intend to post the patch for the second argument once this has landed.1 parent 50d33c6 commit bdc4110
File tree
6 files changed
+347
-407
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV/rvv
6 files changed
+347
-407
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5033 | 5033 | | |
5034 | 5034 | | |
5035 | 5035 | | |
5036 | | - | |
5037 | | - | |
5038 | | - | |
5039 | | - | |
5040 | | - | |
5041 | | - | |
5042 | | - | |
| 5036 | + | |
| 5037 | + | |
| 5038 | + | |
| 5039 | + | |
5043 | 5040 | | |
5044 | | - | |
5045 | | - | |
5046 | | - | |
5047 | | - | |
5048 | | - | |
5049 | | - | |
5050 | | - | |
5051 | | - | |
5052 | | - | |
5053 | | - | |
5054 | | - | |
5055 | | - | |
5056 | | - | |
5057 | | - | |
5058 | | - | |
| 5041 | + | |
| 5042 | + | |
| 5043 | + | |
| 5044 | + | |
| 5045 | + | |
| 5046 | + | |
| 5047 | + | |
| 5048 | + | |
| 5049 | + | |
| 5050 | + | |
| 5051 | + | |
| 5052 | + | |
| 5053 | + | |
| 5054 | + | |
| 5055 | + | |
| 5056 | + | |
| 5057 | + | |
5059 | 5058 | | |
| 5059 | + | |
| 5060 | + | |
5060 | 5061 | | |
5061 | 5062 | | |
5062 | | - | |
5063 | | - | |
5064 | | - | |
5065 | | - | |
| 5063 | + | |
| 5064 | + | |
| 5065 | + | |
| 5066 | + | |
| 5067 | + | |
5066 | 5068 | | |
5067 | | - | |
5068 | | - | |
5069 | | - | |
| 5069 | + | |
| 5070 | + | |
5070 | 5071 | | |
5071 | | - | |
5072 | | - | |
5073 | | - | |
5074 | | - | |
5075 | | - | |
5076 | | - | |
5077 | | - | |
5078 | | - | |
5079 | | - | |
5080 | | - | |
5081 | | - | |
5082 | | - | |
5083 | | - | |
5084 | | - | |
5085 | | - | |
| 5072 | + | |
| 5073 | + | |
| 5074 | + | |
| 5075 | + | |
| 5076 | + | |
| 5077 | + | |
| 5078 | + | |
| 5079 | + | |
| 5080 | + | |
| 5081 | + | |
| 5082 | + | |
| 5083 | + | |
| 5084 | + | |
| 5085 | + | |
| 5086 | + | |
| 5087 | + | |
| 5088 | + | |
| 5089 | + | |
5086 | 5090 | | |
5087 | 5091 | | |
5088 | 5092 | | |
| |||
Lines changed: 14 additions & 27 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 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
263 | 255 | | |
264 | 256 | | |
265 | 257 | | |
266 | | - | |
267 | 258 | | |
268 | 259 | | |
269 | 260 | | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | 261 | | |
275 | 262 | | |
276 | 263 | | |
| |||
Lines changed: 28 additions & 35 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
191 | 195 | | |
192 | | - | |
193 | | - | |
194 | | - | |
| 196 | + | |
| 197 | + | |
195 | 198 | | |
196 | | - | |
| 199 | + | |
197 | 200 | | |
198 | 201 | | |
199 | 202 | | |
200 | 203 | | |
201 | 204 | | |
202 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
203 | 210 | | |
204 | | - | |
205 | | - | |
206 | | - | |
| 211 | + | |
| 212 | + | |
207 | 213 | | |
208 | | - | |
| 214 | + | |
209 | 215 | | |
210 | 216 | | |
211 | 217 | | |
| |||
397 | 403 | | |
398 | 404 | | |
399 | 405 | | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
422 | 420 | | |
423 | 421 | | |
424 | 422 | | |
425 | | - | |
426 | 423 | | |
427 | 424 | | |
428 | 425 | | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | 426 | | |
434 | 427 | | |
435 | 428 | | |
| |||
Lines changed: 16 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
612 | 612 | | |
613 | 613 | | |
614 | 614 | | |
615 | | - | |
616 | | - | |
| 615 | + | |
617 | 616 | | |
618 | 617 | | |
619 | | - | |
620 | | - | |
621 | | - | |
| 618 | + | |
| 619 | + | |
622 | 620 | | |
623 | 621 | | |
624 | 622 | | |
| |||
628 | 626 | | |
629 | 627 | | |
630 | 628 | | |
631 | | - | |
632 | | - | |
| 629 | + | |
633 | 630 | | |
634 | 631 | | |
635 | | - | |
636 | | - | |
637 | | - | |
| 632 | + | |
| 633 | + | |
638 | 634 | | |
639 | 635 | | |
640 | 636 | | |
| |||
675 | 671 | | |
676 | 672 | | |
677 | 673 | | |
678 | | - | |
679 | | - | |
| 674 | + | |
680 | 675 | | |
681 | 676 | | |
682 | | - | |
683 | | - | |
684 | | - | |
| 677 | + | |
| 678 | + | |
685 | 679 | | |
686 | 680 | | |
687 | 681 | | |
| |||
692 | 686 | | |
693 | 687 | | |
694 | 688 | | |
695 | | - | |
696 | | - | |
697 | | - | |
| 689 | + | |
| 690 | + | |
698 | 691 | | |
699 | 692 | | |
700 | | - | |
701 | | - | |
702 | | - | |
| 693 | + | |
| 694 | + | |
703 | 695 | | |
704 | 696 | | |
705 | 697 | | |
| |||
710 | 702 | | |
711 | 703 | | |
712 | 704 | | |
713 | | - | |
714 | | - | |
715 | 705 | | |
716 | 706 | | |
717 | | - | |
| 707 | + | |
718 | 708 | | |
719 | 709 | | |
720 | | - | |
721 | | - | |
722 | | - | |
| 710 | + | |
| 711 | + | |
723 | 712 | | |
724 | 713 | | |
725 | 714 | | |
| |||
0 commit comments