diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2012-09-15 17:02:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2012-09-15 17:02:05 +0000 |
commit | d2e180377470575c4dff588a0e8d4472e9f07270 (patch) | |
tree | 91d07089405cfd311eb799f4e8636cad3869ef7c /contrib | |
parent | 6b63b7b72653597a7ed810f761b7d68c3ac42cf4 (diff) | |
download | src-d2e180377470575c4dff588a0e8d4472e9f07270.tar.gz src-d2e180377470575c4dff588a0e8d4472e9f07270.zip |
Pull in r163967 from upstream llvm trunk:
X86: Emitting x87 fsin/fcos for sinf/cosf is not safe without unsafe
fp math.
This should make clang emit calls to libm for sinf/cosf by default.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=240531
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/llvm/lib/Target/X86/X86ISelLowering.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp b/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp index c77355f91796..4af12e44fd40 100644 --- a/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -643,7 +643,9 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM) setOperationAction(ISD::FCOPYSIGN, MVT::f32, Expand); if (!TM.Options.UnsafeFPMath) { + setOperationAction(ISD::FSIN , MVT::f32 , Expand); setOperationAction(ISD::FSIN , MVT::f64 , Expand); + setOperationAction(ISD::FCOS , MVT::f32 , Expand); setOperationAction(ISD::FCOS , MVT::f64 , Expand); } addLegalFPImmediate(APFloat(+0.0)); // FLD0 |