[PATCH] D80457: AMDGPU/GlobalISel: Fixed handling of non-standard vectors

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 22 14:30:23 PDT 2020


arsenm requested changes to this revision.
arsenm added inline comments.
This revision now requires changes to proceed.


================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp:555
 
+  // There can be a reminder if DstRC is wider than sources.
+  LaneBitmask Reminder = DstRC->getLaneMask() & ~Covered;
----------------
The selector shouldn't be trying to fix these up. The selector should only see directly selectable vector sizes. We can either widen the vector sources in the legalizer, or add the missing register classes. It's also not valid to use G_MERGE_VALUES on vectors. You have to use G_BUILD_VECTOR or G_CONCAT_VECTORS depending on whether the source is scalar or vector


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80457/new/

https://reviews.llvm.org/D80457





More information about the llvm-commits mailing list