[llvm-commits] [llvm-gcc-4.0] r43134 - in /llvm-gcc-4.0/trunk/gcc/config/rs6000: darwin-ldouble.c darwin-libgcc.10.4.ver darwin-libgcc.10.5.ver darwin.h

Dale Johannesen dalej at apple.com
Thu Oct 18 09:57:42 PDT 2007


Author: johannes
Date: Thu Oct 18 11:57:42 2007
New Revision: 43134

URL: http://llvm.org/viewvc/llvm-project?rev=43134&view=rev
Log:
Enable 128-bit long double on PPC darwin.
Remove hacks in library functions and build which 
worked around its absence.

This changes the ABI.  Also note that some functions
in libgcc now have a different interface, so make
sure you build and pick up the right ones.


Modified:
    llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-ldouble.c
    llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.4.ver
    llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.5.ver
    llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin.h

Modified: llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-ldouble.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-ldouble.c?rev=43134&r1=43133&r2=43134&view=diff

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-ldouble.c (original)
+++ llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-ldouble.c Thu Oct 18 11:57:42 2007
@@ -147,11 +147,7 @@
   /* Sum terms of two highest orders. */
   
   /* Use fused multiply-add to get low part of a * c.  */
-/* APPLE LOCAL begin LLVM */
-#ifndef __llvm__  /* FIXME: no long double support! */
   asm ("fmsub %0,%1,%2,%3" : "=f"(tau) : "f"(a), "f"(c), "f"(t));
-#endif
-/* APPLE LOCAL end LLVM */
   v = a*d;
   w = b*c;
   tau += v + w;	    /* Add in other second-order terms.	 */
@@ -184,11 +180,7 @@
 			   numerically necessary.  */
   
   /* Use fused multiply-add to get low part of c * t.	 */
-/* APPLE LOCAL begin LLVM */
-#ifndef __llvm__  /* FIXME: no long double support! */
   asm ("fmsub %0,%1,%2,%3" : "=f"(sigma) : "f"(c), "f"(t), "f"(s));
-#endif
-/* APPLE LOCAL end LLVM */
   v = a - s;
   
   tau = ((v-sigma)+w)/c;   /* Correction to t.  */

Modified: llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.4.ver
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.4.ver?rev=43134&r1=43133&r2=43134&view=diff

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.4.ver (original)
+++ llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.4.ver Thu Oct 18 11:57:42 2007
@@ -36,18 +36,15 @@
 ___ffsdi2
 ___fixdfdi
 ___fixsfdi
-# APPLE LOCAL LLVM FIXME!
-#___fixtfdi
+___fixtfdi
 ___fixunsdfdi
 ___fixunsdfsi
 ___fixunssfdi
 ___fixunssfsi
-# APPLE LOCAL LLVM FIXME!
-#___fixunstfdi
+___fixunstfdi
 ___floatdidf
 ___floatdisf
-# APPLE LOCAL LLVM FIXME!
-#___floatditf
+___floatditf
 ___gcc_personality_v0
 ___gcc_qadd
 ___gcc_qdiv

Modified: llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.5.ver
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.5.ver?rev=43134&r1=43133&r2=43134&view=diff

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.5.ver (original)
+++ llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin-libgcc.10.5.ver Thu Oct 18 11:57:42 2007
@@ -34,24 +34,20 @@
 ___divdc3
 ___divdi3
 ___divsc3
-# APPLE LOCAL LLVM FIXME!
-#___divtc3
+___divtc3
 ___enable_execute_stack
 ___ffsdi2
 ___fixdfdi
 ___fixsfdi
-# APPLE LOCAL LLVM FIXME!
-#___fixtfdi
+___fixtfdi
 ___fixunsdfdi
 ___fixunsdfsi
 ___fixunssfdi
 ___fixunssfsi
-# APPLE LOCAL LLVM FIXME!
-#___fixunstfdi
+___fixunstfdi
 ___floatdidf
 ___floatdisf
-# APPLE LOCAL LLVM FIXME!
-#___floatditf
+___floatditf
 ___gcc_personality_v0
 ___gcc_qadd
 ___gcc_qdiv
@@ -62,8 +58,7 @@
 ___muldc3
 ___muldi3
 ___mulsc3
-# APPLE LOCAL LLVM FIXME!
-#___multc3
+___multc3
 ___mulvdi3
 ___mulvsi3
 ___negdi2
@@ -75,8 +70,7 @@
 ___popcountsi2
 ___powidf2
 ___powisf2
-# APPLE LOCAL LLVM FIXME!
-#___powitf2
+___powitf2
 ___register_frame
 ___register_frame_info
 ___register_frame_info_bases

Modified: llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin.h?rev=43134&r1=43133&r2=43134&view=diff

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin.h (original)
+++ llvm-gcc-4.0/trunk/gcc/config/rs6000/darwin.h Thu Oct 18 11:57:42 2007
@@ -170,15 +170,7 @@
    consistency; arithmetic will work even if libc and libm support is
    not available.  */
 
-/* APPLE LOCAL begin LLVM */
-#ifndef ENABLE_LLVM
 #define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
-#else
-/* FIXME: no long double support yet! */
-#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 64
-#endif
-/* APPLE LOCAL end LLVM */
-
 
 /* We want -fPIC by default, unless we're using -static to compile for
    the kernel or some such.  */





More information about the llvm-commits mailing list