[PATCH] D97835: [AArch64][GlobalISel] Add combine for extract_vector_elt(build_vector, cst)
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 3 06:33:55 PST 2021
arsenm added inline comments.
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:3665-3668
+ MachineInstr *BuildVecMI =
+ getOpcodeDef(TargetOpcode::G_BUILD_VECTOR, SrcVec, MRI);
+ if (!BuildVecMI)
+ return false;
----------------
What about G_BUILD_VECTOR_TRUNC?
This also probably should check for legality / before legalize. The DAG version also has this hasOneUseCheck:
```
(VecOp.hasOneUse() || TLI.aggressivelyPreferBuildVectorSources(VecVT))) {
```
================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir:25
+ %arg2:_(s64) = COPY $x1
+ %zero:_(s32) = G_CONSTANT i32 0
+ %ins2:_(<2 x s64>) = G_BUILD_VECTOR %arg1(s64), %arg2(s64)
----------------
Should also have an out of bounds case
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97835/new/
https://reviews.llvm.org/D97835
More information about the llvm-commits
mailing list