[PATCH] D76265: [PowerPC] add IR level isFMAFasterThanFMulAndFAdd - NFC
ChenZheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 16 20:14:36 PDT 2020
shchenz created this revision.
shchenz added reviewers: PowerPC, nemanjai, hfinkel.
Herald added subscribers: llvm-commits, wuzish, kbarton, hiraditya.
Herald added a project: LLVM.
NFC patch for add IR level target hook `isFMAFasterThanFMulAndFAdd`
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D76265
Files:
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.h
Index: llvm/lib/Target/PowerPC/PPCISelLowering.h
===================================================================
--- llvm/lib/Target/PowerPC/PPCISelLowering.h
+++ llvm/lib/Target/PowerPC/PPCISelLowering.h
@@ -907,6 +907,8 @@
bool isFMAFasterThanFMulAndFAdd(const MachineFunction &MF,
EVT VT) const override;
+ bool isFMAFasterThanFMulAndFAdd(const Function &F, Type *Ty) const override;
+
const MCPhysReg *getScratchRegisters(CallingConv::ID CC) const override;
// Should we expand the build vector with shuffles?
Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp
===================================================================
--- llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -15306,17 +15306,21 @@
if (!VT.isSimple())
return false;
- switch (VT.getSimpleVT().SimpleTy) {
- case MVT::f32:
- case MVT::f64:
+ return isFMAFasterThanFMulAndFAdd(
+ MF.getFunction(), VT.getTypeForEVT(MF.getFunction().getContext()));
+}
+
+bool PPCTargetLowering::isFMAFasterThanFMulAndFAdd(const Function &F,
+ Type *Ty) const {
+ switch (Ty->getScalarType()->getTypeID()) {
+ case Type::FloatTyID:
+ case Type::DoubleTyID:
return true;
- case MVT::f128:
- return (EnableQuadPrecision && Subtarget.hasP9Vector());
+ case Type::FP128TyID:
+ return EnableQuadPrecision && Subtarget.hasP9Vector();
default:
- break;
+ return false;
}
-
- return false;
}
const MCPhysReg *
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76265.250682.patch
Type: text/x-patch
Size: 1570 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200317/747ff186/attachment.bin>
More information about the llvm-commits
mailing list