[PATCH] D119887: [AArch64] Common patterns between UMULL and int_aarch64_neon_umull

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 15 13:03:53 PST 2022


dmgreen created this revision.
dmgreen added reviewers: fhahn, sdesmalen, efriedma, jaykang10, samtebbs.
Herald added subscribers: hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.

We have some duplicate patterns between the AArch64ISD::UMULL (/SMULL) and the int_aarch64_neon_umull (/smull) intrinsics. They did not replicate all the patterns though, leaving some gaps on instructions like umlal2 from codegen. This commons all the patterns by converting all int_aarch64_neon_umull intrinsics to UMULL nodes and removing the duplicate pattens so that all instructions go through the same tablegen pattern.

This improves some of the longer-than-legal mla patterns, helping them replace ext with umlal2. Found whilst looking at D96522 <https://reviews.llvm.org/D96522>.


https://reviews.llvm.org/D119887

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64InstrInfo.td
  llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119887.409018.patch
Type: text/x-patch
Size: 13831 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220215/4e767798/attachment.bin>


More information about the llvm-commits mailing list