[PATCH] D115739: [SVE][DAGCombiner] Enable ISD::ABDS and ISD::ABDU for SVE.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 14 08:58:49 PST 2021


paulwalker-arm created this revision.
Herald added subscribers: ctetreau, ecnelises, psnobl, hiraditya, tschuett.
Herald added a reviewer: efriedma.
paulwalker-arm requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Add the typical custom lowering and isel patterns to enable ABD
for scalable vectors.

The existing ABD combine doesn't quite work because for SVE only
a single scalable vector per scalar integer type it legal. (i.e.
for i32, <vscale x 4 x i32> is the only legal scalable vector type)

To account for this I've extended the combine for the case when the
extension of the input operands cannot be folded into the ABD. The
accompanying tests use legal and twice-the-size of legal types to
exercise both combines.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D115739

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
  llvm/test/CodeGen/AArch64/sve-abd.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115739.394280.patch
Type: text/x-patch
Size: 13685 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211214/c8b630ba/attachment.bin>


More information about the llvm-commits mailing list