[PATCH] D111132: [GlobalISel] Better verification of G_UNMERGE_VALUES

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 18 13:44:30 PDT 2021


arsenm added a comment.

In D111132#3042221 <https://reviews.llvm.org/D111132#3042221>, @foad wrote:

>> 1. Splitting a vector into subvectors (the converse of G_CONCAT_VECTORS).
>
> Is there any appetite for using a new (G_UNCONCAT_VECTORS???) opcode for this case?
>
> Unfortunately there are a couple of tests that fail the verification I implemented for this case:
>
> Failed Tests (2):
>
>   LLVM :: CodeGen/AArch64/GlobalISel/combine-unmerge.mir
>   LLVM :: CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
>
> by building MIR like this: `%1:_(<2 x s16>), %2:_(<2 x s16>) = G_UNMERGE_VALUES %0:_(<2 x s32>)`
>
> Should this be allowed?

It probably shouldn't be

>> 2. Splitting a vector into its elements (the converse of G_BUILD_VECTOR).
>
> Is there any appetite for using a new G_SPLIT_VECTOR opcode for this case?

I don't see a reason to have a scalar and vector version of the same thing.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D111132



More information about the llvm-commits mailing list