[SLP] Add cost model for `llvm.powi.*` intrinsics (REAPPLIED)
commit0d41794335761feec5d00282abf7ebf5cf8a02a0
authorNabeel Omer <Nabeel.Omer@sony.com>
Wed, 22 Jun 2022 09:56:41 +0000 (22 09:56 +0000)
committerNabeel Omer <Nabeel.Omer@sony.com>
Fri, 24 Jun 2022 10:23:19 +0000 (24 10:23 +0000)
tree24348975ed72753b47ff2a2ddcefcf7d885d30f6
parent91d61c1431c2ec46fa7a243db1643154580ab043
[SLP] Add cost model for `llvm.powi.*` intrinsics (REAPPLIED)

Patch was reverted in 4c5f10a due to buildbot failures, now being
reapplied with updated AArch64 and RISCV tests.

This patch adds handling for the llvm.powi.* intrinsics in
BasicTTIImplBase::getIntrinsicInstrCost() and improves vectorization.
Closes #53887.

Differential Revision: https://reviews.llvm.org/D128172
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
llvm/test/Analysis/CostModel/X86/powi.ll
llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll
llvm/test/Transforms/SLPVectorizer/X86/powi.ll