aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC/PPCISelLowering.h
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2012-06-22 00:49:52 +0000
committerHal Finkel <hfinkel@anl.gov>2012-06-22 00:49:52 +0000
commit070b8dba809dd75267327cc823118bf7e171d17d (patch)
tree7a28804863a11bbc8c1c1e72555e3c4d511a460c /lib/Target/PowerPC/PPCISelLowering.h
parentcd88efe516510d3413c0e880217779e3eb56e956 (diff)
downloadexternal_llvm-070b8dba809dd75267327cc823118bf7e171d17d.zip
external_llvm-070b8dba809dd75267327cc823118bf7e171d17d.tar.gz
external_llvm-070b8dba809dd75267327cc823118bf7e171d17d.tar.bz2
Convert the PPC backend to use the new FMA infrastructure.
The existing contraction patterns are replaced with fma/fneg. Overall functionality should be the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCISelLowering.h')
-rw-r--r--lib/Target/PowerPC/PPCISelLowering.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCISelLowering.h b/lib/Target/PowerPC/PPCISelLowering.h
index 973800b..b0a013b 100644
--- a/lib/Target/PowerPC/PPCISelLowering.h
+++ b/lib/Target/PowerPC/PPCISelLowering.h
@@ -366,6 +366,12 @@ namespace llvm {
bool IsZeroVal, bool MemcpyStrSrc,
MachineFunction &MF) const;
+ /// isFMAFasterThanMulAndAdd - Return true if an FMA operation is faster than
+ /// a pair of mul and add instructions. fmuladd intrinsics will be expanded to
+ /// FMAs when this method returns true (and FMAs are legal), otherwise fmuladd
+ /// is expanded to mul + add.
+ virtual bool isFMAFasterThanMulAndAdd(EVT VT) const;
+
private:
SDValue getFramePointerFrameIndex(SelectionDAG & DAG) const;
SDValue getReturnAddrFrameIndex(SelectionDAG & DAG) const;