[PATCH] D75155: AMDGPU/GlobalISel: Don't use vector G_EXTRACT in arg lowering

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 26 03:01:01 PST 2020


foad added a comment.

Looks OK to me technically, but it seems a shame if even simple cases like `%1:(<3 x s16>) = G_EXTRACT %0:(<4 x s16>), 0` don't work well.

What do you mean about keeping everything in 32-bit pieces? I don't see anything in the test case diffs where we were not already doing that.

Also I have slight theoretical reservations about ever using `getLCMType` because of pathological cases like <17 x s32> vs <19 x s32> which would create <323 x s32>. But I suppose it's never that bad in practice.

Is there a helper function already in LegalizerHelper that does what `mergeVectorRegsToResultRegs` does?


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

https://reviews.llvm.org/D75155





More information about the llvm-commits mailing list