Commit afc8ad0
committed
[X86] LowerFunnelShift - improve handling of vXi8 constant splat funnel shifts
This patch moves the promotion to vXi16 shifts and the upper/lower bit masking into LowerFunnelShift for targets that have a bit-select instruction (XOP's VPCMOV and AVX512's VPTERNLOG).
This prevents the regressions in #89115 due to the masking of ((X << V) | (Y >> (8-V))) vXi8 shifts.1 parent a6a4d4a commit afc8ad0
File tree
5 files changed
+48
-29
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
5 files changed
+48
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29830 | 29830 | | |
29831 | 29831 | | |
29832 | 29832 | | |
| 29833 | + | |
29833 | 29834 | | |
29834 | 29835 | | |
29835 | 29836 | | |
| |||
29858 | 29859 | | |
29859 | 29860 | | |
29860 | 29861 | | |
| 29862 | + | |
| 29863 | + | |
| 29864 | + | |
| 29865 | + | |
| 29866 | + | |
| 29867 | + | |
| 29868 | + | |
| 29869 | + | |
| 29870 | + | |
| 29871 | + | |
| 29872 | + | |
| 29873 | + | |
| 29874 | + | |
| 29875 | + | |
| 29876 | + | |
| 29877 | + | |
| 29878 | + | |
| 29879 | + | |
| 29880 | + | |
| 29881 | + | |
| 29882 | + | |
| 29883 | + | |
| 29884 | + | |
29861 | 29885 | | |
29862 | 29886 | | |
29863 | 29887 | | |
| |||
29874 | 29898 | | |
29875 | 29899 | | |
29876 | 29900 | | |
29877 | | - | |
29878 | 29901 | | |
29879 | 29902 | | |
29880 | 29903 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2453 | 2453 | | |
2454 | 2454 | | |
2455 | 2455 | | |
2456 | | - | |
2457 | | - | |
2458 | | - | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
2459 | 2459 | | |
2460 | 2460 | | |
2461 | 2461 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2344 | 2344 | | |
2345 | 2345 | | |
2346 | 2346 | | |
2347 | | - | |
2348 | | - | |
2349 | | - | |
2350 | | - | |
2351 | | - | |
2352 | | - | |
2353 | | - | |
2354 | | - | |
2355 | | - | |
2356 | | - | |
2357 | | - | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
2358 | 2356 | | |
2359 | 2357 | | |
2360 | 2358 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2462 | 2462 | | |
2463 | 2463 | | |
2464 | 2464 | | |
2465 | | - | |
2466 | | - | |
2467 | | - | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
2468 | 2468 | | |
2469 | 2469 | | |
2470 | 2470 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2145 | 2145 | | |
2146 | 2146 | | |
2147 | 2147 | | |
2148 | | - | |
2149 | | - | |
2150 | | - | |
2151 | | - | |
2152 | | - | |
2153 | | - | |
2154 | | - | |
2155 | | - | |
2156 | | - | |
2157 | | - | |
2158 | | - | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
| 2151 | + | |
| 2152 | + | |
| 2153 | + | |
| 2154 | + | |
| 2155 | + | |
| 2156 | + | |
2159 | 2157 | | |
2160 | 2158 | | |
2161 | 2159 | | |
| |||
0 commit comments