[PATCH] D69513: [GlobalISel] Widen one type at the time for insert/extract vector elt

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 12 01:09:05 PST 2019


arsenm added a comment.

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

> I have just saw these two asserts that forbid different types of vector scalar and element scalar
>  https://github.com/llvm/llvm-project/blob/a0324e911374441151903ed0d828e0fc1994c167/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp#L1090
>  https://github.com/llvm/llvm-project/blob/a0324e911374441151903ed0d828e0fc1994c167/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp#L1100
>  Widen scalar change does not trigger asserts since it only changes operand instead of making new instruction. How do we approach this issue then?
>  Btw, based on G_ZEXTLOAD and G_SEXTLOAD, are G_SEXT_EXTRACT_VECTOR_ELT and G_ZEXT_EXTRACT_VECTOR_ELT a consideration?
>  They would have different element scalar then vector scalar.


Based on the fact that we have separate G_BUILD_VECTOR and G_BUILD_VECTOR_TRUNC, I think there should be a separate opcode for vector operations which implicitly convert


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69513





More information about the llvm-commits mailing list