Commit a0551f8
committed
[X86] Generate
When lowering `_mm512_mul_epu32` intrinsic if the generated value if later used in a vector shuffle we generate `vpmullq` instead of `vpmuludq` (https://godbolt.org/z/WbaGMqs8e) because `SimplifyDemandedVectorElts` simplifies the arguments and we fail the combine to `PMULDQ`.
Added an override to `shouldSimplifyDemandedVectorElts` in `X86TargetLowering` to check if we can combine the `MUL` to `PMULDQ` first.vpmuludq instead of vpmullq
1 parent bc87a53 commit a0551f8
2 files changed
+24
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60832 | 60832 | | |
60833 | 60833 | | |
60834 | 60834 | | |
| 60835 | + | |
| 60836 | + | |
| 60837 | + | |
| 60838 | + | |
| 60839 | + | |
| 60840 | + | |
| 60841 | + | |
| 60842 | + | |
| 60843 | + | |
| 60844 | + | |
| 60845 | + | |
| 60846 | + | |
| 60847 | + | |
| 60848 | + | |
| 60849 | + | |
| 60850 | + | |
| 60851 | + | |
| 60852 | + | |
| 60853 | + | |
| 60854 | + | |
| 60855 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1207 | 1207 | | |
1208 | 1208 | | |
1209 | 1209 | | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
1210 | 1213 | | |
1211 | 1214 | | |
1212 | 1215 | | |
| |||
0 commit comments