[PATCH] D104782: [AArch64] Custom lower <4 x i8> loads

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 23 06:33:13 PDT 2021


SjoerdMeijer created this revision.
SjoerdMeijer added reviewers: dmgreen, efriedma, fhahn, zatrazz.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
SjoerdMeijer requested review of this revision.
Herald added a project: LLVM.

This custom lowers <4 x i8> vector loads using a 32-bit load, followed by 2 SSHLL instructions to extend it to a <4 x i32> vector. Before, it was really inefficient and expensive to construct a <4 x i32> for this as 4 byte loads and 4 moves were used. With this improvement SLP vectorisation might for example become profitable, see D103629 <https://reviews.llvm.org/D103629>.


https://reviews.llvm.org/D104782

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/test/CodeGen/AArch64/neon-extload.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104782.353947.patch
Type: text/x-patch
Size: 5268 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210623/b99e976a/attachment.bin>


More information about the llvm-commits mailing list