Commit 443cdd0
authored
[RISCV] Fix a bug in partial.reduce lowering for zvqdotq .vx forms (#142185)
I'd missed a bitcast in the lowering. Unfortunately, that bitcast
happens to be semantically required here as the partial_reduce_* source
expects an i8 element type, but the pseudos and patterns expect an i32
element type.
This appears to only influence the .vx matching from the cases I've
found so far, and LV does not yet generate anything which will exercise
this. The reduce path (instead of the partial.reduce one) used by SLP
currently manually constructs the i32 value, and then goes directly to
the pseudo's with their i32 arguments, not the partial_reduce nodes.
We're basically loosing the .vx matching on this path until we teach
splat matching to be able to manually splat the i8 value into an i32 via
LUI/ADDI.1 parent 6a6aec6 commit 443cdd0
File tree
3 files changed
+77
-15
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV/rvv
3 files changed
+77
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8412 | 8412 | | |
8413 | 8413 | | |
8414 | 8414 | | |
| 8415 | + | |
| 8416 | + | |
| 8417 | + | |
| 8418 | + | |
| 8419 | + | |
| 8420 | + | |
8415 | 8421 | | |
8416 | 8422 | | |
8417 | 8423 | | |
8418 | 8424 | | |
8419 | | - | |
8420 | | - | |
8421 | | - | |
| 8425 | + | |
| 8426 | + | |
8422 | 8427 | | |
8423 | 8428 | | |
8424 | 8429 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
598 | 598 | | |
599 | 599 | | |
600 | 600 | | |
601 | | - | |
602 | 601 | | |
603 | 602 | | |
604 | 603 | | |
| |||
618 | 617 | | |
619 | 618 | | |
620 | 619 | | |
621 | | - | |
| 620 | + | |
622 | 621 | | |
623 | 622 | | |
624 | | - | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
625 | 627 | | |
626 | 628 | | |
627 | 629 | | |
| |||
631 | 633 | | |
632 | 634 | | |
633 | 635 | | |
634 | | - | |
635 | 636 | | |
636 | 637 | | |
637 | 638 | | |
| |||
652 | 653 | | |
653 | 654 | | |
654 | 655 | | |
655 | | - | |
| 656 | + | |
656 | 657 | | |
657 | 658 | | |
658 | | - | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
659 | 663 | | |
660 | 664 | | |
661 | 665 | | |
| |||
1372 | 1376 | | |
1373 | 1377 | | |
1374 | 1378 | | |
1375 | | - | |
1376 | 1379 | | |
1377 | 1380 | | |
1378 | 1381 | | |
| |||
1393 | 1396 | | |
1394 | 1397 | | |
1395 | 1398 | | |
| 1399 | + | |
| 1400 | + | |
1396 | 1401 | | |
1397 | 1402 | | |
1398 | | - | |
1399 | | - | |
| 1403 | + | |
1400 | 1404 | | |
1401 | 1405 | | |
1402 | 1406 | | |
| |||
1405 | 1409 | | |
1406 | 1410 | | |
1407 | 1411 | | |
1408 | | - | |
1409 | 1412 | | |
1410 | 1413 | | |
1411 | 1414 | | |
| |||
1426 | 1429 | | |
1427 | 1430 | | |
1428 | 1431 | | |
| 1432 | + | |
| 1433 | + | |
1429 | 1434 | | |
1430 | 1435 | | |
1431 | | - | |
1432 | | - | |
| 1436 | + | |
1433 | 1437 | | |
1434 | 1438 | | |
1435 | 1439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
957 | 957 | | |
958 | 958 | | |
959 | 959 | | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
0 commit comments