Commit 13d3fa8
committed
[X86] Attempt to lower 512-bit shuffle(x,y) as concat(truncate(x),truncate(y))
Avoid lowering to costly VPERMV3 v32i16/v64i8 shuffles if can perform this as a pair of (maybe offset) truncations instead.
This exposed an existing issue that we weren't splitting AVX512 stores of concat(truncate(x),truncate(y)) to allow us to use truncstores instead.1 parent 1b18ce5 commit 13d3fa8
File tree
6 files changed
+148
-327
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
6 files changed
+148
-327
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15952 | 15952 | | |
15953 | 15953 | | |
15954 | 15954 | | |
| 15955 | + | |
| 15956 | + | |
| 15957 | + | |
| 15958 | + | |
| 15959 | + | |
| 15960 | + | |
| 15961 | + | |
| 15962 | + | |
| 15963 | + | |
| 15964 | + | |
| 15965 | + | |
| 15966 | + | |
| 15967 | + | |
| 15968 | + | |
| 15969 | + | |
| 15970 | + | |
| 15971 | + | |
| 15972 | + | |
| 15973 | + | |
| 15974 | + | |
| 15975 | + | |
| 15976 | + | |
| 15977 | + | |
| 15978 | + | |
| 15979 | + | |
| 15980 | + | |
| 15981 | + | |
| 15982 | + | |
| 15983 | + | |
| 15984 | + | |
| 15985 | + | |
| 15986 | + | |
| 15987 | + | |
| 15988 | + | |
| 15989 | + | |
| 15990 | + | |
| 15991 | + | |
| 15992 | + | |
| 15993 | + | |
| 15994 | + | |
| 15995 | + | |
| 15996 | + | |
| 15997 | + | |
| 15998 | + | |
| 15999 | + | |
| 16000 | + | |
| 16001 | + | |
| 16002 | + | |
15955 | 16003 | | |
15956 | 16004 | | |
15957 | 16005 | | |
| |||
17312 | 17360 | | |
17313 | 17361 | | |
17314 | 17362 | | |
| 17363 | + | |
| 17364 | + | |
| 17365 | + | |
| 17366 | + | |
17315 | 17367 | | |
17316 | 17368 | | |
17317 | 17369 | | |
| |||
17367 | 17419 | | |
17368 | 17420 | | |
17369 | 17421 | | |
| 17422 | + | |
| 17423 | + | |
| 17424 | + | |
| 17425 | + | |
17370 | 17426 | | |
17371 | 17427 | | |
17372 | 17428 | | |
| |||
52615 | 52671 | | |
52616 | 52672 | | |
52617 | 52673 | | |
| 52674 | + | |
| 52675 | + | |
| 52676 | + | |
| 52677 | + | |
| 52678 | + | |
| 52679 | + | |
| 52680 | + | |
| 52681 | + | |
| 52682 | + | |
| 52683 | + | |
| 52684 | + | |
52618 | 52685 | | |
52619 | 52686 | | |
52620 | 52687 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2638 | 2638 | | |
2639 | 2639 | | |
2640 | 2640 | | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
2641 | 2645 | | |
2642 | 2646 | | |
2643 | 2647 | | |
2644 | 2648 | | |
2645 | | - | |
2646 | | - | |
2647 | | - | |
2648 | | - | |
2649 | 2649 | | |
2650 | 2650 | | |
2651 | 2651 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2301 | 2301 | | |
2302 | 2302 | | |
2303 | 2303 | | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
2304 | 2308 | | |
2305 | 2309 | | |
2306 | 2310 | | |
2307 | 2311 | | |
2308 | | - | |
2309 | | - | |
2310 | | - | |
2311 | | - | |
2312 | 2312 | | |
2313 | 2313 | | |
2314 | 2314 | | |
| |||
0 commit comments