AMDGPU/GlobalISel: Don't use vector G_EXTRACT in arg lowering
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 25 Feb 2020 19:45:07 +0000 (14:45 -0500)
committerMatt Arsenault <arsenm2@gmail.com>
Wed, 4 Mar 2020 21:49:01 +0000 (16:49 -0500)
commit9e1d2afc13c291fed0610bdfe89eb678890f7b88
tree1b484c27f260b9e60a380434ddac4c3d56d2d54a
parentf70e7dc17d78a83265a89158ee549f1147d7d500
AMDGPU/GlobalISel: Don't use vector G_EXTRACT in arg lowering

Create a wider source vector, and unmerge with dead defs like the
legalizer. The legalization handling for G_EXTRACT is incomplete, and
it's preferrable to keep everything in 32-bit pieces.

We should probably start moving these functions into utils, since we
have a growing number of places that do almost the same thing.
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll