[PATCH] D105814: [ARM] Expand types handled in VQDMULH recognition

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 12 06:55:54 PDT 2021


dmgreen created this revision.
dmgreen added reviewers: samtebbs, SjoerdMeijer, NickGuy, ostannard, simon_tatham.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.

We have a DAG combine for recognizing the sequence of nodes that make up an MVE VQDMULH, but only currently handles specifically legal types. This patch expands that to other power-2 vector types. For smaller than legal types this means any_extending the type and casting it to a legal type, using a VQDMULH where we only use some of the lanes. The result is sign extended back to the original type, to properly set the invalid lanes.  Larger than legal types are split into chunks with extracts and concat back together.


https://reviews.llvm.org/D105814

Files:
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105814.357912.patch
Type: text/x-patch
Size: 29101 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210712/863b01d9/attachment.bin>


More information about the llvm-commits mailing list