[PATCH] D148347: [AArch64] Handle vector with two different values

JinGu Kang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 17 08:40:59 PDT 2023


jaykang10 added a comment.

In D148347#4273021 <https://reviews.llvm.org/D148347#4273021>, @jaykang10 wrote:

> In D148347#4269669 <https://reviews.llvm.org/D148347#4269669>, @efriedma wrote:
>
>> Instead of special-casing this specific pattern, maybe it makes sense to generalize to all BUILD_VECTORs with two values?  Even for a completely arbitrary shuffle, you can still lower that to 5 instructions: VSELECT mask, DUP op1, DUP op2.
>
> Thanks for comment. @efriedma That's good point.
> Let me try to add the VSELECT with two DUPs.

@efriedma It seems we need BUILD_VECTOR or something like that for the `VSELECT`'s mask, which its type is `vxi1`, with legal vector type... I am not sure how we can generate it efficiently...
If you had ideas for the mask, please let me know.


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

https://reviews.llvm.org/D148347



More information about the llvm-commits mailing list