[LoopVectorize] Add vector reduction support for fmuladd intrinsic
authorRosie Sumpter <rosie.sumpter@arm.com>
Mon, 11 Oct 2021 14:50:44 +0000 (15:50 +0100)
committerRosie Sumpter <rosie.sumpter@arm.com>
Wed, 24 Nov 2021 08:50:04 +0000 (08:50 +0000)
commitc2441b6b89bfe52a16f6c5ed5a0a49c9a02daf2a
tree7528628c52c0c4ac62a9c2f14869a48b3cfa9af1
parent7f5d9bf13a7d872dc173d09598743c006f59d6b8
[LoopVectorize] Add vector reduction support for fmuladd intrinsic

Enables LoopVectorize to handle reduction patterns involving the
llvm.fmuladd intrinsic.

Differential Revision: https://reviews.llvm.org/D111555
llvm/include/llvm/Analysis/IVDescriptors.h
llvm/lib/Analysis/IVDescriptors.cpp
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
llvm/lib/Transforms/Utils/LoopUtils.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
llvm/test/Transforms/LoopVectorize/reduction-inloop.ll