[PATCH] D72608: GlobalISel: Don't ignore requested ext narrowing type

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 13 05:48:21 PST 2020


arsenm created this revision.
arsenm added reviewers: aemerson, aditya_nandakumar, dsanders, paquette.
Herald added subscribers: Petar.Avramovic, volkan, hiraditya, rovka, nhaehnle, wdng, jvesely.
Herald added a project: LLVM.
arsenm added a child revision: D72610: GlobalISel: Implement fewerElementsVector for G_SEXT_INREG.

This was assuming the narrow target was the source type. Respect the
requested type when these don't match by using intermediate
merges. This avoids producing very wide, illegal shift expansions.


https://reviews.llvm.org/D72608

Files:
  llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
  llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/legalize-sext-zext-128.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-anyext.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zext.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72608.237642.patch
Type: text/x-patch
Size: 159930 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200113/af4c2776/attachment.bin>


More information about the llvm-commits mailing list