[PATCH] D134870: [AMDGPU][GISel] Better support for V2S16 G_EXTRACT/INSERT_VECTOR_ELT
Pierre van Houtryve via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 29 03:41:39 PDT 2022
Pierre-vh created this revision.
Pierre-vh added reviewers: arsenm, foad.
Herald added subscribers: kosarev, kerbowa, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
Herald added a project: All.
Pierre-vh requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.
- Add a pre-legalizer combine to rewrite G_INSERT_VECTOR_ELT and G_EXTRACT_VECTOR_ELT for V2S16 into another form using G_UNMERGE_VALUE and G_BUILD_VECTOR.
- With D134433 <https://reviews.llvm.org/D134433>, this allows for better matching of mad_mix in D134354 <https://reviews.llvm.org/D134354>
- Add a post-legalizer combine to remove G_TRUNC(G_BITCAST(G_BUILD_VECTOR))
- Necessary because of the `unmerge_dead_to_trunc` combine that removes the G_UNMERGE_VALUE added by the pre-legalizer combine for G_EXTRACT_VECTOR_ELT when idx == 0.
Depends on D134433 <https://reviews.llvm.org/D134433>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D134870
Files:
llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
llvm/lib/Target/AMDGPU/AMDGPUCombine.td
llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.dim.a16.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-trunc-bitcast-buildvector.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-v2s16-extract-vector-elt.mir
llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-v2s16-insert-vector-elt.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D134870.463830.patch
Type: text/x-patch
Size: 174720 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220929/0c32cba1/attachment-0001.bin>
More information about the llvm-commits
mailing list