[PATCH] D140392: [SLP][AArch64] incorrectly estimated intrinsic as a function call

Dinar Temirbulatov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 20 05:36:59 PST 2022


dtemirbulatov created this revision.
dtemirbulatov added reviewers: ABataev, RKSimon, dmgreen, sdesmalen, peterwaller-arm, MattDevereau.
Herald added subscribers: vporpo, hiraditya, kristof.beyls.
Herald added a project: All.
dtemirbulatov requested review of this revision.
Herald added a subscriber: pcwang-thead.
Herald added a project: LLVM.

I found that currently we incorrectly assume intrinsic as a function call and it prevents us from the opportunity to vectorize. On Aarch64 Cortex-A53 we think that llvm.fmuladd.f64 is a function call which is wrong, but we could ask the backend about the cost of such an intrinsic to determine on how it ends instruction(s)/function call. This is one of the reasons why LNT's matmul_f64_4x4.c is not vectorized on AArch64.


https://reviews.llvm.org/D140392

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/AArch64/fmulladd.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140392.484229.patch
Type: text/x-patch
Size: 6604 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221220/522b1d99/attachment.bin>


More information about the llvm-commits mailing list