summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit0a479ae7d1585729fd9adbf5560f63fc6c70cd28 (patch)
treeb217f69a0b104067b0c732a7a3f7f7f1706add6f /llvm/lib/Target/PowerPC/PPCISelLowering.h
parentb820709144570a05a2e74878a86cde49989e52e0 (diff)
downloadbcm5719-llvm-0a479ae7d1585729fd9adbf5560f63fc6c70cd28.tar.gz
bcm5719-llvm-0a479ae7d1585729fd9adbf5560f63fc6c70cd28.zip
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. llvm-svn: 158955
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.h')
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.h b/llvm/lib/Target/PowerPC/PPCISelLowering.h
index 973800b4612..b0a013b4b4c 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.h
+++ b/llvm/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;
OpenPOWER on IntegriCloud