diff options
author | Hal Finkel <hfinkel@anl.gov> | 2013-08-19 05:01:02 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2013-08-19 05:01:02 +0000 |
commit | 953a78084b85ea88cd2b208153a72df70e27133f (patch) | |
tree | 0d675bc7cfc49f17f2da670f7fab40f064f6b84b /lib/Target/PowerPC/PPCSubtarget.h | |
parent | a9b697975592b204e86496efc62a8b26fbfa1a03 (diff) | |
download | llvm-953a78084b85ea88cd2b208153a72df70e27133f.tar.gz llvm-953a78084b85ea88cd2b208153a72df70e27133f.tar.bz2 llvm-953a78084b85ea88cd2b208153a72df70e27133f.tar.xz |
Add the PPC fcpsgn instruction
Modern PPC cores support a floating-point copysign instruction, and we can use
this to lower the FCOPYSIGN node (which is created from calls to the libm
copysign function). A couple of extra patterns are necessary because the
operand types of FCOPYSIGN need not agree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188653 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCSubtarget.h')
-rw-r--r-- | lib/Target/PowerPC/PPCSubtarget.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCSubtarget.h b/lib/Target/PowerPC/PPCSubtarget.h index 3f3fc0e9cd..a933bf69bb 100644 --- a/lib/Target/PowerPC/PPCSubtarget.h +++ b/lib/Target/PowerPC/PPCSubtarget.h @@ -76,6 +76,7 @@ protected: bool IsPPC64; bool HasAltivec; bool HasQPX; + bool HasFCPSGN; bool HasFSQRT; bool HasFRE, HasFRES, HasFRSQRTE, HasFRSQRTES; bool HasRecipPrec; @@ -171,6 +172,7 @@ public: bool isLittleEndian() const { return IsLittleEndian; } // Specific obvious features. + bool hasFCPSGN() const { return HasFCPSGN; } bool hasFSQRT() const { return HasFSQRT; } bool hasFRE() const { return HasFRE; } bool hasFRES() const { return HasFRES; } |