[PATCH] D73940: GlobalISel: Reimplement moreElementsVectorDst

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 6 08:16:09 PST 2020


arsenm added a comment.

In D73940#1861817 <https://reviews.llvm.org/D73940#1861817>, @Petar.Avramovic wrote:

> This looks like a good candidate for new `LegalizeAction` ( MoreElementsLCM or something more appropriate ) that could be preferable more elements option for targets that support `G_CONCAT_VECTORS`  and `G_UNMERGE_VALUES` for large vector sizes (large enough to hold `LCM(WideTy, OrigTy)` ).


I think we should limit the number of legalize actions. Have two separate actions that accomplish the same thing, but one sometimes works or not is a confusing state to be in.

> Current algorithm seems to be designed for targets that prefer not to deal with vector types larger then WideTy. It would be difficult for them to deal with `G_CONCAT_VECTORS`  and `G_UNMERGE_VALUES` that are not legal and likely hard to combine since they have different small LLTs.

I'm not sure what you mean. Do you have an example?  The artifact combiner already handles unmerging from a concat_vector with a mixed number of elements


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73940/new/

https://reviews.llvm.org/D73940





More information about the llvm-commits mailing list