svn commit: r240531 - head/contrib/llvm/lib/Target/X86

Dimitry Andric dim at FreeBSD.org
Sat Sep 15 17:02:06 UTC 2012


Author: dim
Date: Sat Sep 15 17:02:05 2012
New Revision: 240531
URL: http://svn.freebsd.org/changeset/base/240531

Log:
  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

Modified:
  head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp

Modified: head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Sat Sep 15 16:24:03 2012	(r240530)
+++ head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Sat Sep 15 17:02:05 2012	(r240531)
@@ -643,7 +643,9 @@ X86TargetLowering::X86TargetLowering(X86
     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


More information about the svn-src-head mailing list