[PATCH] D94350: [GlobalISel] Combine (a[0]) | (a[1] << k1) | ...| (a[m] << kn) into a wide load
Jessica Paquette via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 13 11:27:26 PST 2021
paquette added inline comments.
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:3303
+ // TODO: Handle other types of loads.
+ auto *Load = getOpcodeDef(TargetOpcode::G_ZEXTLOAD, MaybeLoad, MRI);
+ if (!Load)
----------------
aemerson wrote:
> I think G_ZEXTLOADs are the only valid loads we can match here? Otherwise we can't merge the values with G_OR.
We can have a G_SEXTLOAD when it occupies the highest part of the result:
https://godbolt.org/z/1M11s7
Although I'm not sure how often that case comes up.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94350/new/
https://reviews.llvm.org/D94350
More information about the llvm-commits
mailing list