GlobalISel: Have lowerLoad scalarize unaligned vectors
This could be smarter by picking an ideal type, or at least splitting the vector in half first. Also handles lower for non-power-of-2, non-extending vector loads. Currently this just avoids failing to legalize some odd vector AMDGPU tests, but is a step towards removing the split logic from the NarrowScalar logic.
Showing
- llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp 16 additions, 5 deletionsllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
- llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir 110 additions, 21 deletions...test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
- llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir 110 additions, 21 deletionsllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
- llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir 1782 additions, 386 deletionsllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
- llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir 56 additions, 14 deletionsllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
Loading
Please register or sign in to comment