]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
2.4-3 cvs/fedora-glibc-2_4-3
authorJakub Jelinek <jakub@redhat.com>
Tue, 7 Mar 2006 13:28:12 +0000 (13:28 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 7 Mar 2006 13:28:12 +0000 (13:28 +0000)
ChangeLog
fedora/glibc.spec.in
math/libm-test.inc
sysdeps/powerpc/powerpc64/fpu/s_rintl.S [deleted file]

index 8e43a8cb852ff0dae3ea9fc6bd13d742dd00934e..8943e8ccd79d3a87a382c62d0b7aa42125559601 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * math/libm-test.inc [TEST_LDOUBLE] (ceil_test, floor_test, rint_test,
+       round_test, trunc_test): Only run some of the new tests if
+       LDBL_MANT_DIG > 100.
+
 2006-03-03  Steven Munroe  <sjmunroe@us.ibm.com>
            Alan Modra  <amodra@bigpond.net.au>
 
index 5e958fea93e058f147d87e884b84d4a09d55cd70..cc252b2c2d35d8308d8abd25214c09403ce2b855 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 2
+%define glibcrelease 3
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define prelinkarches noarch
 %define xenarches i686 athlon
@@ -1344,6 +1344,9 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Tue Mar  7 2006 Jakub Jelinek <jakub@redhat.com> 2.4-3
+- really fix rintl on ppc64
+
 * Tue Mar  7 2006 Jakub Jelinek <jakub@redhat.com> 2.4-2
 - accurate unwind info for lowlevellock.h stubs on %%{ix86}
 - fix ppc/ppc64 ceill, floorl, rintl, roundl and truncl (BZ#2423)
index e2a1d90bf651f8852fdbce5b9d9432f447cb2d7b..b144796f2ab7a5df95841bd2158b728ac8b44735 100644 (file)
@@ -1648,13 +1648,15 @@ ceil_test (void)
   TEST_f_f (ceil, -4503599627370496.5L, -4503599627370496.0L);
   TEST_f_f (ceil, -4503599627370496.75L, -4503599627370496.0L);
   TEST_f_f (ceil, -4503599627370497.5L, -4503599627370497.0L);
-  
+
+# if LDBL_MANT_DIG > 100
   TEST_f_f (ceil, 4503599627370494.5000000000001L, 4503599627370495.0L);
   TEST_f_f (ceil, 4503599627370495.5000000000001L, 4503599627370496.0L);
   TEST_f_f (ceil, 4503599627370496.5000000000001L, 4503599627370497.0L);
   TEST_f_f (ceil, -4503599627370494.5000000000001L, -4503599627370494.0L);
   TEST_f_f (ceil, -4503599627370495.5000000000001L, -4503599627370495.0L);
   TEST_f_f (ceil, -4503599627370496.5000000000001L, -4503599627370496.0L);
+# endif
 
   TEST_f_f (ceil, 9007199254740991.5L, 9007199254740992.0L);
   TEST_f_f (ceil, 9007199254740992.25L, 9007199254740993.0L);
@@ -1668,6 +1670,7 @@ ceil_test (void)
   TEST_f_f (ceil, -9007199254740992.75L, -9007199254740992.0L);
   TEST_f_f (ceil, -9007199254740993.5L, -9007199254740993.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (ceil, 9007199254740991.0000000000001L, 9007199254740992.0L);
   TEST_f_f (ceil, 9007199254740992.0000000000001L, 9007199254740993.0L);
   TEST_f_f (ceil, 9007199254740993.0000000000001L, 9007199254740994.0L);
@@ -1681,6 +1684,7 @@ ceil_test (void)
   TEST_f_f (ceil, -9007199254740991.5000000000001L, -9007199254740991.0L);
   TEST_f_f (ceil, -9007199254740992.5000000000001L, -9007199254740992.0L);
   TEST_f_f (ceil, -9007199254740993.5000000000001L, -9007199254740993.0L);
+# endif
 
   TEST_f_f (ceil, 72057594037927935.5L, 72057594037927936.0L);
   TEST_f_f (ceil, 72057594037927936.25L, 72057594037927937.0L);
@@ -2667,18 +2671,22 @@ floor_test (void)
   TEST_f_f (floor, 4503599627370496.5L, 4503599627370496.0L);
   TEST_f_f (floor, 4503599627370496.75L, 4503599627370496.0L);
   TEST_f_f (floor, 4503599627370497.5L, 4503599627370497.0L);
+# if LDBL_MANT_DIG > 100
   TEST_f_f (floor, 4503599627370494.5000000000001L, 4503599627370494.0L);
   TEST_f_f (floor, 4503599627370495.5000000000001L, 4503599627370495.0L);
   TEST_f_f (floor, 4503599627370496.5000000000001L, 4503599627370496.0L);
+# endif
 
   TEST_f_f (floor, -4503599627370495.5L, -4503599627370496.0L);
   TEST_f_f (floor, -4503599627370496.25L, -4503599627370497.0L);
   TEST_f_f (floor, -4503599627370496.5L, -4503599627370497.0L);
   TEST_f_f (floor, -4503599627370496.75L, -4503599627370497.0L);
   TEST_f_f (floor, -4503599627370497.5L, -4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
   TEST_f_f (floor, -4503599627370494.5000000000001L, -4503599627370495.0L);
   TEST_f_f (floor, -4503599627370495.5000000000001L, -4503599627370496.0L);
   TEST_f_f (floor, -4503599627370496.5000000000001L, -4503599627370497.0L);
+# endif
 
   TEST_f_f (floor, 9007199254740991.5L, 9007199254740991.0L);
   TEST_f_f (floor, 9007199254740992.25L, 9007199254740992.0L);
@@ -2686,12 +2694,14 @@ floor_test (void)
   TEST_f_f (floor, 9007199254740992.75L, 9007199254740992.0L);
   TEST_f_f (floor, 9007199254740993.5L, 9007199254740993.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (floor, 9007199254740991.0000000000001L, 9007199254740991.0L);
   TEST_f_f (floor, 9007199254740992.0000000000001L, 9007199254740992.0L);
   TEST_f_f (floor, 9007199254740993.0000000000001L, 9007199254740993.0L);
   TEST_f_f (floor, 9007199254740991.5000000000001L, 9007199254740991.0L);
   TEST_f_f (floor, 9007199254740992.5000000000001L, 9007199254740992.0L);
   TEST_f_f (floor, 9007199254740993.5000000000001L, 9007199254740993.0L);
+# endif
 
   TEST_f_f (floor, -9007199254740991.5L, -9007199254740992.0L);
   TEST_f_f (floor, -9007199254740992.25L, -9007199254740993.0L);
@@ -2699,12 +2709,14 @@ floor_test (void)
   TEST_f_f (floor, -9007199254740992.75L, -9007199254740993.0L);
   TEST_f_f (floor, -9007199254740993.5L, -9007199254740994.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (floor, -9007199254740991.0000000000001L, -9007199254740992.0L);
   TEST_f_f (floor, -9007199254740992.0000000000001L, -9007199254740993.0L);
   TEST_f_f (floor, -9007199254740993.0000000000001L, -9007199254740994.0L);
   TEST_f_f (floor, -9007199254740991.5000000000001L, -9007199254740992.0L);
   TEST_f_f (floor, -9007199254740992.5000000000001L, -9007199254740993.0L);
   TEST_f_f (floor, -9007199254740993.5000000000001L, -9007199254740994.0L);
+# endif
 
   TEST_f_f (floor, 72057594037927935.5L, 72057594037927935.0L);
   TEST_f_f (floor, 72057594037927936.25L, 72057594037927936.0L);
@@ -4033,9 +4045,11 @@ rint_test (void)
   TEST_f_f (rint, 4503599627370496.75L, 4503599627370497.0L);
   TEST_f_f (rint, 4503599627370497.5L, 4503599627370498.0L);
   
+# if LDBL_MANT_DIG > 100
   TEST_f_f (rint, 4503599627370494.5000000000001L, 4503599627370495.0L);
   TEST_f_f (rint, 4503599627370495.5000000000001L, 4503599627370496.0L);
   TEST_f_f (rint, 4503599627370496.5000000000001L, 4503599627370497.0L);
+# endif
 
   TEST_f_f (rint, -4503599627370495.5L, -4503599627370496.0L);
   TEST_f_f (rint, -4503599627370496.25L, -4503599627370496.0L);
@@ -4043,6 +4057,7 @@ rint_test (void)
   TEST_f_f (rint, -4503599627370496.75L, -4503599627370497.0L);
   TEST_f_f (rint, -4503599627370497.5L, -4503599627370498.0L);
   
+# if LDBL_MANT_DIG > 100
   TEST_f_f (rint, -4503599627370494.5000000000001L, -4503599627370495.0L);
   TEST_f_f (rint, -4503599627370495.5000000000001L, -4503599627370496.0L);
   TEST_f_f (rint, -4503599627370496.5000000000001L, -4503599627370497.0L);
@@ -4060,6 +4075,7 @@ rint_test (void)
   TEST_f_f (rint, -9007199254740991.5000000000001L, -9007199254740992.0L);
   TEST_f_f (rint, -9007199254740992.5000000000001L, -9007199254740993.0L);
   TEST_f_f (rint, -9007199254740993.5000000000001L, -9007199254740994.0L);
+# endif
 
   TEST_f_f (rint, 9007199254740991.5L, 9007199254740992.0L);
   TEST_f_f (rint, 9007199254740992.25L, 9007199254740992.0L);
@@ -4128,14 +4144,17 @@ rint_test_tonearest (void)
     TEST_f_f (rint, 4503599627370496.5L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370496.75L, 4503599627370497.0L);
     TEST_f_f (rint, 4503599627370497.5L, 4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, 4503599627370494.5000000000001L, 4503599627370495.0L);
     TEST_f_f (rint, 4503599627370495.5000000000001L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370496.5000000000001L, 4503599627370497.0L);
+# endif
     TEST_f_f (rint, -4503599627370495.5L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.25L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.5L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.75L, -4503599627370497.0L);
     TEST_f_f (rint, -4503599627370497.5L, -4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, -4503599627370494.5000000000001L, -4503599627370495.0L);
     TEST_f_f (rint, -4503599627370495.5000000000001L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.5000000000001L, -4503599627370497.0L);
@@ -4153,6 +4172,7 @@ rint_test_tonearest (void)
     TEST_f_f (rint, -9007199254740991.5000000000001L, -9007199254740992.0L);
     TEST_f_f (rint, -9007199254740992.5000000000001L, -9007199254740993.0L);
     TEST_f_f (rint, -9007199254740993.5000000000001L, -9007199254740994.0L);
+# endif
 #endif
   }
 
@@ -4194,14 +4214,17 @@ rint_test_towardzero (void)
     TEST_f_f (rint, 4503599627370496.5L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370496.75L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370497.5L, 4503599627370497.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, 4503599627370494.5000000000001L, 4503599627370494.0L);
     TEST_f_f (rint, 4503599627370495.5000000000001L, 4503599627370495.0L);
     TEST_f_f (rint, 4503599627370496.5000000000001L, 4503599627370496.0L);
+# endif
     TEST_f_f (rint, -4503599627370495.5L, -4503599627370495.0L);
     TEST_f_f (rint, -4503599627370496.25L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.5L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.75L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370497.5L, -4503599627370497.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, -4503599627370494.5000000000001L, -4503599627370494.0L);
     TEST_f_f (rint, -4503599627370495.5000000000001L, -4503599627370495.0L);
     TEST_f_f (rint, -4503599627370496.5000000000001L, -4503599627370496.0L);
@@ -4219,6 +4242,7 @@ rint_test_towardzero (void)
     TEST_f_f (rint, -9007199254740991.5000000000001L, -9007199254740991.0L);
     TEST_f_f (rint, -9007199254740992.5000000000001L, -9007199254740992.0L);
     TEST_f_f (rint, -9007199254740993.5000000000001L, -9007199254740993.0L);
+# endif
 #endif
   }
 
@@ -4260,14 +4284,17 @@ rint_test_downward (void)
     TEST_f_f (rint, 4503599627370496.5L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370496.75L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370497.5L, 4503599627370497.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, 4503599627370494.5000000000001L, 4503599627370494.0L);
     TEST_f_f (rint, 4503599627370495.5000000000001L, 4503599627370495.0L);
     TEST_f_f (rint, 4503599627370496.5000000000001L, 4503599627370496.0L);
+# endif
     TEST_f_f (rint, -4503599627370495.5L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.25L, -4503599627370497.0L);
     TEST_f_f (rint, -4503599627370496.5L, -4503599627370497.0L);
     TEST_f_f (rint, -4503599627370496.75L, -4503599627370497.0L);
     TEST_f_f (rint, -4503599627370497.5L, -4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, -4503599627370494.5000000000001L, -4503599627370495.0L);
     TEST_f_f (rint, -4503599627370495.5000000000001L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.5000000000001L, -4503599627370497.0L);
@@ -4285,6 +4312,7 @@ rint_test_downward (void)
     TEST_f_f (rint, -9007199254740991.5000000000001L, -9007199254740992.0L);
     TEST_f_f (rint, -9007199254740992.5000000000001L, -9007199254740993.0L);
     TEST_f_f (rint, -9007199254740993.5000000000001L, -9007199254740994.0L);
+# endif
 #endif
   }
 
@@ -4326,14 +4354,17 @@ rint_test_upward (void)
     TEST_f_f (rint, 4503599627370496.5L, 4503599627370497.0L);
     TEST_f_f (rint, 4503599627370496.75L, 4503599627370497.0L);
     TEST_f_f (rint, 4503599627370497.5L, 4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, 4503599627370494.5000000000001L, 4503599627370495.0L);
     TEST_f_f (rint, 4503599627370495.5000000000001L, 4503599627370496.0L);
     TEST_f_f (rint, 4503599627370496.5000000000001L, 4503599627370497.0L);
+# endif
     TEST_f_f (rint, -4503599627370495.5L, -4503599627370495.0L);
     TEST_f_f (rint, -4503599627370496.25L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.5L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370496.75L, -4503599627370496.0L);
     TEST_f_f (rint, -4503599627370497.5L, -4503599627370497.0L);
+# if LDBL_MANT_DIG > 100
     TEST_f_f (rint, -4503599627370494.5000000000001L, -4503599627370494.0L);
     TEST_f_f (rint, -4503599627370495.5000000000001L, -4503599627370495.0L);
     TEST_f_f (rint, -4503599627370496.5000000000001L, -4503599627370496.0L);
@@ -4351,6 +4382,7 @@ rint_test_upward (void)
     TEST_f_f (rint, -9007199254740991.5000000000001L, -9007199254740991.0L);
     TEST_f_f (rint, -9007199254740992.5000000000001L, -9007199254740992.0L);
     TEST_f_f (rint, -9007199254740993.5000000000001L, -9007199254740993.0L);
+# endif
 #endif
   }
 
@@ -4390,18 +4422,22 @@ round_test (void)
   TEST_f_f (round, 4503599627370496.5L, 4503599627370497.0L); 
   TEST_f_f (round, 4503599627370496.75L, 4503599627370497.0L);
   TEST_f_f (round, 4503599627370497.5L, 4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
   TEST_f_f (round, 4503599627370494.5000000000001L, 4503599627370495.0L);
   TEST_f_f (round, 4503599627370495.5000000000001L, 4503599627370496.0L);
   TEST_f_f (round, 4503599627370496.5000000000001L, 4503599627370497.0L);
+# endif
 
   TEST_f_f (round, -4503599627370495.5L, -4503599627370496.0L); 
   TEST_f_f (round, -4503599627370496.25L, -4503599627370496.0L); 
   TEST_f_f (round, -4503599627370496.5L, -4503599627370497.0L);
   TEST_f_f (round, -4503599627370496.75L, -4503599627370497.0L); 
   TEST_f_f (round, -4503599627370497.5L, -4503599627370498.0L);
+# if LDBL_MANT_DIG > 100
   TEST_f_f (round, -4503599627370494.5000000000001L, -4503599627370495.0L);
   TEST_f_f (round, -4503599627370495.5000000000001L, -4503599627370496.0L);
   TEST_f_f (round, -4503599627370496.5000000000001L, -4503599627370497.0L);
+# endif
 
   TEST_f_f (round, 9007199254740991.5L, 9007199254740992.0L);
   TEST_f_f (round, 9007199254740992.25L, 9007199254740992.0L);
@@ -4415,6 +4451,7 @@ round_test (void)
   TEST_f_f (round, -9007199254740992.75L, -9007199254740993.0L);
   TEST_f_f (round, -9007199254740993.5L, -9007199254740994.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (round, 9007199254740991.0000000000001L, 9007199254740991.0L);
   TEST_f_f (round, 9007199254740992.0000000000001L, 9007199254740992.0L);
   TEST_f_f (round, 9007199254740993.0000000000001L, 9007199254740993.0L);
@@ -4428,6 +4465,7 @@ round_test (void)
   TEST_f_f (round, -9007199254740991.5000000000001L, -9007199254740992.0L);
   TEST_f_f (round, -9007199254740992.5000000000001L, -9007199254740993.0L);
   TEST_f_f (round, -9007199254740993.5000000000001L, -9007199254740994.0L);
+# endif
 
   TEST_f_f (round, 72057594037927935.5L, 72057594037927936.0L);
   TEST_f_f (round, 72057594037927936.25L, 72057594037927936.0L);
@@ -4827,9 +4865,11 @@ trunc_test (void)
   TEST_f_f (trunc, 4503599627370496.75L, 4503599627370496.0L);
   TEST_f_f (trunc, 4503599627370497.5L, 4503599627370497.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (trunc, 4503599627370494.5000000000001L, 4503599627370494.0L);
   TEST_f_f (trunc, 4503599627370495.5000000000001L, 4503599627370495.0L);
   TEST_f_f (trunc, 4503599627370496.5000000000001L, 4503599627370496.0L);
+# endif
   
   TEST_f_f (trunc, -4503599627370495.5L, -4503599627370495.0L);
   TEST_f_f (trunc, -4503599627370496.25L, -4503599627370496.0L);
@@ -4837,9 +4877,11 @@ trunc_test (void)
   TEST_f_f (trunc, -4503599627370496.75L, -4503599627370496.0L);
   TEST_f_f (trunc, -4503599627370497.5L, -4503599627370497.0L);
   
+# if LDBL_MANT_DIG > 100
   TEST_f_f (trunc, -4503599627370494.5000000000001L, -4503599627370494.0L);
   TEST_f_f (trunc, -4503599627370495.5000000000001L, -4503599627370495.0L);
   TEST_f_f (trunc, -4503599627370496.5000000000001L, -4503599627370496.0L);
+# endif
 
   TEST_f_f (trunc, 9007199254740991.5L, 9007199254740991.0L);
   TEST_f_f (trunc, 9007199254740992.25L, 9007199254740992.0L);
@@ -4847,12 +4889,14 @@ trunc_test (void)
   TEST_f_f (trunc, 9007199254740992.75L, 9007199254740992.0L);
   TEST_f_f (trunc, 9007199254740993.5L, 9007199254740993.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (trunc, 9007199254740991.0000000000001L, 9007199254740991.0L);
   TEST_f_f (trunc, 9007199254740992.0000000000001L, 9007199254740992.0L);
   TEST_f_f (trunc, 9007199254740993.0000000000001L, 9007199254740993.0L);
   TEST_f_f (trunc, 9007199254740991.5000000000001L, 9007199254740991.0L);
   TEST_f_f (trunc, 9007199254740992.5000000000001L, 9007199254740992.0L);
   TEST_f_f (trunc, 9007199254740993.5000000000001L, 9007199254740993.0L);
+# endif
 
   TEST_f_f (trunc, -9007199254740991.5L, -9007199254740991.0L);
   TEST_f_f (trunc, -9007199254740992.25L, -9007199254740992.0L);
@@ -4860,12 +4904,14 @@ trunc_test (void)
   TEST_f_f (trunc, -9007199254740992.75L, -9007199254740992.0L);
   TEST_f_f (trunc, -9007199254740993.5L, -9007199254740993.0L);
 
+# if LDBL_MANT_DIG > 100
   TEST_f_f (trunc, -9007199254740991.0000000000001L, -9007199254740991.0L);
   TEST_f_f (trunc, -9007199254740992.0000000000001L, -9007199254740992.0L);
   TEST_f_f (trunc, -9007199254740993.0000000000001L, -9007199254740993.0L);
   TEST_f_f (trunc, -9007199254740991.5000000000001L, -9007199254740991.0L);
   TEST_f_f (trunc, -9007199254740992.5000000000001L, -9007199254740992.0L);
   TEST_f_f (trunc, -9007199254740993.5000000000001L, -9007199254740993.0L);
+# endif
 
   TEST_f_f (trunc, 72057594037927935.5L, 72057594037927935.0L);
   TEST_f_f (trunc, 72057594037927936.25L, 72057594037927936.0L);
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_rintl.S b/sysdeps/powerpc/powerpc64/fpu/s_rintl.S
deleted file mode 100644 (file)
index 2ca2d44..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Round to int long double floating-point values.
-   IBM extended format long double version.
-   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This has been coded in assembler because GCC makes such a mess of it
-   when it's coded in C.  */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
-       .section        ".toc","aw"
-.LC0:  /* 2**52 */
-       .tc FD_43300000_0[TC],0x4330000000000000
-       .section        ".text"
-
-ENTRY (__rintl)
-       lfd     fp13,.LC0@toc(2)
-       fabs    fp0,fp1
-       fsub    fp12,fp13,fp13  /* generate 0.0  */
-       fabs    fp9,fp2
-       fcmpu   cr7,fp0,fp13    /* if (fabs(x) > TWO52)  */
-       fcmpu   cr6,fp1,fp12    /* if (x > 0.0)  */
-       bnl-    cr7,.L2
-       fmr     fp2,fp12
-       bng-    cr6,.L1
-       fadd    fp1,fp1,fp13    /* x+= TWO52;  */
-       fsub    fp1,fp1,fp13    /* x-= TWO52;  */
-       fabs    fp1,fp1         /* if (x == 0.0)  */
-       blr                     /* x = 0.0; */
-.L1:
-       bnllr-  cr6             /* if (x < 0.0)  */
-       fsub    fp1,fp1,fp13    /* x-= TWO52;  */
-       fadd    fp1,fp1,fp13    /* x+= TWO52;  */
-       fnabs   fp1,fp1         /* if (x == 0.0)  */
-       blr                     /* x = -0.0; */
-
-/* The high double is > TWO52 so we need to round the low double and
-   perhaps the high double.  In this case we have to round the low
-   double and handle any adjustment to the high double that may be
-   caused by rounding (up).  This is complicated by the fact that the
-   high double may already be rounded and the low double may have the
-   opposite sign to compensate.This gets a bit tricky so we use the
-   following algorithm:
-
-   tau = floor(x_high/TWO52);
-   x0 = x_high - tau;
-   x1 = x_low + tau;
-   r1 = rint(x1);
-   y_high = x0 + r1;
-   y_low = x0 - y_high + r1;
-   return y;  */
-.L2:
-       fcmpu   cr7,fp9,fp13    /* if (|x_low| > TWO52)  */
-       fcmpu   cr0,fp9,fp12    /* || (|x_low| == 0.0)  */
-       fcmpu   cr5,fp2,fp12    /* if (x_low > 0.0)  */
-       bgelr-  cr7             /*   return x;  */
-       beqlr-  cr0
-       fdiv    fp8,fp1,fp13    /* x_high/TWO52  */
-       
-       bng-    cr6,.L6         /* if (x > 0.0)  */
-       fctidz  fp0,fp8
-       fcfid   fp8,fp0         /* tau = floor(x_high/TWO52);  */
-       fadd    fp8,fp8,fp8     /* tau++; Make tau even  */
-       bng     cr5,.L4         /* if (x_low > 0.0)  */
-       fmr     fp3,fp1
-       fmr     fp4,fp2
-       b       .L5
-.L4:                           /* if (x_low < 0.0)  */
-       fsub    fp3,fp1,fp8     /* x0 = x_high - tau;  */
-       fadd    fp4,fp2,fp8     /* x1 = x_low + tau;  */
-.L5:
-       fadd    fp5,fp4,fp13    /* r1 = x1 + TWO52;  */
-       fsub    fp5,fp5,fp13    /* r1 = r1 - TWO52;  */
-       b       .L9
-.L6:                           /* if (x < 0.0)  */
-       fctidz  fp0,fp8
-       fcfid   fp8,fp0         /* tau = floor(x_high/TWO52);  */
-       fadd    fp8,fp8,fp8     /* tau++; Make tau even  */     
-       bnl     cr5,.L7         /* if (x_low < 0.0)  */
-       fmr     fp3,fp1
-       fmr     fp4,fp2
-       b       .L8
-.L7:                           /* if (x_low > 0.0)  */
-       fsub    fp3,fp1,fp8     /* x0 = x_high - tau;  */
-       fadd    fp4,fp2,fp8     /* x1 = x_low + tau;  */
-.L8:
-       fsub    fp5,fp13,fp4    /* r1 = TWO52 - x1;  */
-       fsub    fp0,fp5,fp13    /* r1 = - (r1 - TWO52);  */
-       fneg    fp5,fp0
-.L9:
-       fadd    fp1,fp3,fp5     /* y_high = x0 + r1;  */
-       fsub    fp2,fp3,fp1     /* y_low = x0 - y_high + r1;  */
-       fadd    fp2,fp2,fp5
-       blr
-END (__rintl)
-
-long_double_symbol (libm, __rintl, rintl)