[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r23106 - in /fsf/trunk/libc: ./ math/ ports/ ports/sysdeps/aarch64/ ports/sysdeps/alpha/fpu/ ports/sysdeps/arm/ ports/sysdep...



Author: eglibc
Date: Mon May 20 00:02:00 2013
New Revision: 23106

Log:
Import glibc-mainline for 2013-05-20

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/math/README.libm-test
    fsf/trunk/libc/math/gen-libm-test.pl
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/ports/ChangeLog.aarch64
    fsf/trunk/libc/ports/ChangeLog.alpha
    fsf/trunk/libc/ports/ChangeLog.arm
    fsf/trunk/libc/ports/ChangeLog.hppa
    fsf/trunk/libc/ports/ChangeLog.ia64
    fsf/trunk/libc/ports/ChangeLog.m68k
    fsf/trunk/libc/ports/ChangeLog.microblaze
    fsf/trunk/libc/ports/ChangeLog.mips
    fsf/trunk/libc/ports/ChangeLog.powerpc
    fsf/trunk/libc/ports/ChangeLog.tile
    fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/alpha/fpu/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/arm/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/hppa/fpu/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/ia64/fpu/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/microblaze/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/mips/mips32/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/mips/mips64/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps
    fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c
    fsf/trunk/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_nearbyintl.c
    fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/s390/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/sh/sh4/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Mon May 20 00:02:00 2013
@@ -1,3 +1,42 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #15490]
+	* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use
+	math_force_eval before restoring floating-point envrionment.
+	* sysdeps/ieee754/flt-32/s_nearbyintf.c (__nearbyintf): Likewise.
+	* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
+	Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c: Include
+	<math_private.h>.
+	(__nearbyintl): Use math_force_eval before restoring
+	floating-point environment.
+	* sysdeps/ieee754/ldbl-96/s_nearbyintl.c (__nearbyintl): Likewise.
+
+	* math/gen-libm-test.pl (special_functions): Remove.
+	(parse_args): Don't handle TEST_extra.  Handle functions with no
+	return value.
+	* math/libm-test.inc (struct test_sincos_data): Replace with
+	struct test_fFF_11_data.
+	(RUN_TEST_sincos): Replace with RUN_TEST_fFF_11.
+	(RUN_TEST_LOOP_sincos): Replace with RUN_TEST_LOOP_fFF_11.
+	(sincos_test_data): Change element type to struct
+	test_fFF_11_data.  Use TEST_fFF_11 instead of TEST_extra.
+	(sincos_test): Use RUN_TEST_LOOP_fFF_11 instead of
+	RUN_TEST_LOOP_sincos.
+	* math/README.libm-test: Don't mention special handling of
+	individual functions.
+	* sysdeps/i386/fpu/libm-test-ulps: Update names of sincos tests.
+	* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
+	* sysdeps/s390/fpu/libm-test-ulps: Likewise.
+	* sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise.
+	* sysdeps/sparc/fpu/libm-test-ulps: Likewise.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
+	* math/gen-libm-test.pl (get_variable): Remove function.
+	(parse_args): Don't show pointer parameters to call in test
+	names.  Use "extra output N" in test names for extra outputs
+	rather than naming variables.
+
 2013-05-18  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	[BZ #15488]

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Mon May 20 00:02:00 2013
@@ -18,7 +18,7 @@
   15305, 15307, 15309, 15327, 15330, 15335, 15336, 15337, 15342, 15346,
   15359, 15361, 15366, 15380, 15394, 15395, 15405, 15406, 15409, 15416,
   15418, 15419, 15423, 15424, 15426, 15429, 15442, 15448, 15480, 15485,
-  15488.
+  15488, 15490.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).

Modified: fsf/trunk/libc/math/README.libm-test
==============================================================================
--- fsf/trunk/libc/math/README.libm-test (original)
+++ fsf/trunk/libc/math/README.libm-test Mon May 20 00:02:00 2013
@@ -103,8 +103,3 @@
 - "L" for long long int.
 - "F" for the address of a FLOAT (only as input parameter)
 - "I" for the address of an int (only as input parameter)
-
-Some functions need special handling.  For example gamma sets the
-global variable signgam and frexp takes an argument to &int.  This
-special treatment is coded in "gen-libm-test.pl" and used while
-parsing "libm-test.inc".

Modified: fsf/trunk/libc/math/gen-libm-test.pl
==============================================================================
--- fsf/trunk/libc/math/gen-libm-test.pl (original)
+++ fsf/trunk/libc/math/gen-libm-test.pl Mon May 20 00:02:00 2013
@@ -145,18 +145,6 @@
   return $str1;
 }
 
-# Return name of a variable
-sub get_variable {
-  my ($number) = @_;
-
-  return "x" if ($number == 1);
-  return "y" if ($number == 2);
-  return "z" if ($number == 3);
-  # return x1,x2,...
-  $number =-3;
-  return "x$number";
-}
-
 # Return the text to put in an initializer for a test's exception
 # information.
 sub show_exceptions {
@@ -168,45 +156,14 @@
   }
 }
 
-# Treat some functions especially.
-# Currently only sincos needs extra treatment.
-sub special_functions {
-  my ($file, $args) = @_;
-  my (@args, $str, $test, $cline);
-
-  @args = split /,\s*/, $args;
-
-  unless ($args[0] =~ /sincos/) {
-    die ("Don't know how to handle $args[0] extra.");
-  }
-  $cline = "    { $args[1]";
-
-  $str = 'sincos (' . &beautify ($args[1]) . ', &sin_res, &cos_res)';
-  # handle sin
-  $test = $str . ' puts ' . &beautify ($args[2]) . ' in sin_res';
-
-  $cline .= ", \"$test\", $args[2]";
-
-  # handle cos
-  $test = $str . ' puts ' . &beautify ($args[3]) . ' in cos_res';
-  $cline .= ", \"$test\", $args[3]";
-  $cline .= show_exceptions ($args[4]);
-  $cline .= " },\n";
-  print $file $cline;
-}
-
 # Parse the arguments to TEST_x_y
 sub parse_args {
   my ($file, $descr, $fct, $args) = @_;
   my (@args, $str, $descr_args, $descr_res, @descr);
   my ($current_arg, $cline, $i);
   my (@special);
-  my ($extra_var, $call);
-
-  if ($descr eq 'extra') {
-    &special_functions ($file, $args);
-    return;
-  }
+  my ($call);
+
   ($descr_args, $descr_res) = split /_/,$descr, 2;
 
   @args = split /,\s*/, $args;
@@ -215,27 +172,25 @@
 
   # Generate first the string that's shown to the user
   $current_arg = 1;
-  $extra_var = 0;
   @descr = split //,$descr_args;
   for ($i = 0; $i <= $#descr; $i++) {
-    if ($i >= 1) {
-      $call .= ', ';
+    my $comma = "";
+    if ($current_arg > 1) {
+      $comma = ', ';
     }
     # FLOAT, int, long int, long long int
     if ($descr[$i] =~ /f|i|l|L/) {
-      $call .= &beautify ($args[$current_arg]);
+      $call .= $comma . &beautify ($args[$current_arg]);
       ++$current_arg;
       next;
     }
-    # &FLOAT, &int - argument is added here
+    # &FLOAT, &int - simplify call by not showing argument.
     if ($descr[$i] =~ /F|I/) {
-      ++$extra_var;
-      $call .= '&' . &get_variable ($extra_var);
       next;
     }
     # complex
     if ($descr[$i] eq 'c') {
-      $call .= &build_complex_beautify ($args[$current_arg], $args[$current_arg+1]);
+      $call .= $comma . &build_complex_beautify ($args[$current_arg], $args[$current_arg+1]);
       $current_arg += 2;
       next;
     }
@@ -278,7 +233,6 @@
   # Put the C program line together
   # Reset some variables to start again
   $current_arg = 1;
-  $extra_var = 0;
   $cline = "{ \"$str\"";
   @descr = split //,$descr_args;
   for ($i=0; $i <= $#descr; $i++) {
@@ -299,15 +253,14 @@
       next;
     }
   }
-  $cline .= ", ";
 
   @descr = split //,$descr_res;
   foreach (@descr) {
     if ($_ =~ /b|f|i|l|L/ ) {
-      $cline .= $args[$current_arg];
+      $cline .= ", $args[$current_arg]";
       $current_arg++;
     } elsif ($_ eq 'c') {
-      $cline .= "$args[$current_arg], $args[$current_arg+1]";
+      $cline .= ", $args[$current_arg], $args[$current_arg+1]";
       $current_arg += 2;
     } elsif ($_ eq '1') {
       push @special, $args[$current_arg];
@@ -320,50 +273,17 @@
 			     : undef);
 
   # special treatment for some functions
-  if ($args[0] eq 'frexp') {
-    if (defined $special[0]) {
-      my ($extra_expected) = $special[0];
-      my ($run_extra) = ($extra_expected ne "IGNORE" ? 1 : 0);
-      my ($str) = "$call sets x to $extra_expected";
-      if (!$run_extra) {
-	$str = "";
-	$extra_expected = "0";
-      }
-      $cline .= ", \"$str\", $run_extra, $extra_expected";
-    }
-  } elsif ($args[0] eq 'gamma' || $args[0] eq 'lgamma') {
-    if (defined $special[0]) {
-      my ($extra_expected) = $special[0];
-      my ($run_extra) = ($extra_expected ne "IGNORE" ? 1 : 0);
-      my ($str) = "$call sets signgam to $extra_expected";
-      if (!$run_extra) {
-	$str = "";
-	$extra_expected = "0";
-      }
-      $cline .= ", \"$str\", $run_extra, $extra_expected";
-    }
-  } elsif ($args[0] eq 'modf') {
-    if (defined $special[0]) {
-      my ($extra_expected) = $special[0];
-      my ($run_extra) = ($extra_expected ne "IGNORE" ? 1 : 0);
-      my ($str) = "$call sets x to $extra_expected";
-      if (!$run_extra) {
-	$str = "";
-	$extra_expected = "0";
-      }
-      $cline .= ", \"$str\", $run_extra, $extra_expected";
-    }
-  } elsif ($args[0] eq 'remquo') {
-    if (defined $special[0]) {
-      my ($extra_expected) = $special[0];
-      my ($run_extra) = ($extra_expected ne "IGNORE" ? 1 : 0);
-      my ($str) = "$call sets x to $extra_expected";
-      if (!$run_extra) {
-	$str = "";
-	$extra_expected = "0";
-      }
-      $cline .= ", \"$str\", $run_extra, $extra_expected";
-    }
+  $i = 0;
+  foreach (@special) {
+    ++$i;
+    my ($extra_expected) = $_;
+    my ($run_extra) = ($extra_expected ne "IGNORE" ? 1 : 0);
+    my ($str) = "$call extra output $i";
+    if (!$run_extra) {
+      $str = "";
+      $extra_expected = "0";
+    }
+    $cline .= ", \"$str\", $run_extra, $extra_expected";
   }
   print $file "    $cline },\n";
 }

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Mon May 20 00:02:00 2013
@@ -1053,14 +1053,17 @@
   long long int expected;
   int exceptions;
 };
-struct test_sincos_data
-{
+struct test_fFF_11_data
+{
+  const char *test_name;
   FLOAT arg;
-  const char *test_name_sin;
-  FLOAT expected_sin;
-  const char *test_name_cos;
-  FLOAT expected_cos;
   int exceptions;
+  const char *extra1_name;
+  int extra1_test;
+  FLOAT extra1_expected;
+  const char *extra2_name;
+  int extra2_test;
+  FLOAT extra2_expected;
 };
 
 /* Set the rounding mode, or restore the saved value.  */
@@ -1319,26 +1322,31 @@
       RUN_TEST_f_L ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg,	\
 		    (ARRAY)[i].expected, (ARRAY)[i].exceptions);	\
   ROUND_RESTORE_ ## ROUNDING_MODE
-#define RUN_TEST_sincos(ARG, TEST_NAME_SIN, SIN_RES_VAR,		\
-			EXPECTED_SIN, TEST_NAME_COS, COS_RES_VAR,	\
-			EXPECTED_COS, EXCEPTIONS)			\
+#define RUN_TEST_fFF_11(TEST_NAME, FUNC_NAME, ARG, EXCEPTIONS,		\
+			EXTRA1_NAME, EXTRA1_VAR, EXTRA1_TEST,		\
+			EXTRA1_EXPECTED, EXTRA2_NAME, EXTRA2_VAR,	\
+			EXTRA2_TEST, EXTRA2_EXPECTED)			\
   do									\
     {									\
-      FUNC (sincos) (ARG, &(SIN_RES_VAR), &(COS_RES_VAR));		\
-      check_float (TEST_NAME_SIN, SIN_RES_VAR,				\
-		   EXPECTED_SIN, EXCEPTIONS);				\
-      check_float (TEST_NAME_COS, COS_RES_VAR,				\
-		   EXPECTED_COS, 0);					\
+      FUNC (FUNC_NAME) (ARG, &(EXTRA1_VAR), &(EXTRA2_VAR));		\
+      if (EXTRA1_TEST)							\
+	check_float (EXTRA1_NAME, EXTRA1_VAR, EXTRA1_EXPECTED,		\
+		     EXCEPTIONS);					\
+      if (EXTRA2_TEST)							\
+	check_float (EXTRA2_NAME, EXTRA2_VAR, EXTRA2_EXPECTED, 0);	\
     }									\
   while (0)
-#define RUN_TEST_LOOP_sincos(ARRAY, ROUNDING_MODE, SIN_RES_VAR,		\
-			     COS_RES_VAR)				\
+#define RUN_TEST_LOOP_fFF_11(FUNC_NAME, ARRAY, ROUNDING_MODE,		\
+			     EXTRA1_VAR, EXTRA2_VAR)			\
   IF_ROUND_INIT_ ## ROUNDING_MODE					\
     for (size_t i = 0; i < sizeof (ARRAY) / sizeof (ARRAY)[0]; i++)	\
-      RUN_TEST_sincos ((ARRAY)[i].arg, (ARRAY)[i].test_name_sin,	\
-		       SIN_RES_VAR, (ARRAY)[i].expected_sin,		\
-		       (ARRAY)[i].test_name_cos, COS_RES_VAR,		\
-		       (ARRAY)[i].expected_cos, (ARRAY)[i].exceptions);	\
+      RUN_TEST_fFF_11 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg,	\
+		       (ARRAY)[i].exceptions, (ARRAY)[i].extra1_name,	\
+		       EXTRA1_VAR, (ARRAY)[i].extra1_test,		\
+		       (ARRAY)[i].extra1_expected,			\
+		       (ARRAY)[i].extra2_name, EXTRA2_VAR,		\
+		       (ARRAY)[i].extra2_test,				\
+		       (ARRAY)[i].extra2_expected);			\
   ROUND_RESTORE_ ## ROUNDING_MODE
 
 
@@ -13394,16 +13402,15 @@
 }
 
 
-static const struct test_sincos_data sincos_test_data[] =
+static const struct test_fFF_11_data sincos_test_data[] =
   {
     START_DATA (sincos),
-    /* sincos is treated differently because it returns void.  */
-    TEST_extra (sincos, 0, 0, 1),
-
-    TEST_extra (sincos, minus_zero, minus_zero, 1),
-    TEST_extra (sincos, plus_infty, qnan_value, qnan_value, INVALID_EXCEPTION),
-    TEST_extra (sincos, minus_infty, qnan_value, qnan_value, INVALID_EXCEPTION),
-    TEST_extra (sincos, qnan_value, qnan_value, qnan_value),
+    TEST_fFF_11 (sincos, 0, 0, 1),
+
+    TEST_fFF_11 (sincos, minus_zero, minus_zero, 1),
+    TEST_fFF_11 (sincos, plus_infty, qnan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_fFF_11 (sincos, minus_infty, qnan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_fFF_11 (sincos, qnan_value, qnan_value, qnan_value),
 
     /* The value of M_PI_2l is never exactly PI/2, and therefore the
        answer is never exactly zero. The answer is equal to the error
@@ -13411,51 +13418,51 @@
        to each type.  */
 #ifdef TEST_FLOAT
     /* 32-bit float.  */
-    TEST_extra (sincos, M_PI_2l, 1, -0x1.777a5cp-25L),
+    TEST_fFF_11 (sincos, M_PI_2l, 1, -0x1.777a5cp-25L),
 #endif
 #if defined TEST_DOUBLE || (defined TEST_LDOUBLE && LDBL_MANT_DIG == 53)
     /* 64-bit double or 64-bit long double.  */
-    TEST_extra (sincos, M_PI_2l, 1, 0x1.1a62633145c07p-54L),
+    TEST_fFF_11 (sincos, M_PI_2l, 1, 0x1.1a62633145c07p-54L),
 #endif
 #if defined TEST_LDOUBLE && LDBL_MANT_DIG == 64
     /* 96-bit long double.  */
-    TEST_extra (sincos, M_PI_2l, 1, -0xe.ce675d1fc8f8cbbp-69L),
+    TEST_fFF_11 (sincos, M_PI_2l, 1, -0xe.ce675d1fc8f8cbbp-69L),
 #endif
 #if defined TEST_LDOUBLE && LDBL_MANT_DIG == 106
     /* 128-bit IBM long double.  */
-    TEST_extra (sincos, M_PI_2l, 1, 0x1.c1cd129024e088a67cc74020bcp-107L),
+    TEST_fFF_11 (sincos, M_PI_2l, 1, 0x1.c1cd129024e088a67cc74020bcp-107L),
 #endif
 #if defined TEST_LDOUBLE && LDBL_MANT_DIG == 113
     /* 128-bit long double.  */
-    TEST_extra (sincos, M_PI_2l, 1, 0x1.cd129024e088a67cc74020bbea64p-115L),
-#endif
-
-    TEST_extra (sincos, M_PI_6l, 0.5, 0.86602540378443864676372317075293616L),
-    TEST_extra (sincos, M_PI_6l*2.0, 0.86602540378443864676372317075293616L, 0.5),
-    TEST_extra (sincos, 0.75L, 0.681638760023334166733241952779893935L, 0.731688868873820886311838753000084544L),
-
-    TEST_extra (sincos, 0x1p65, -0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L),
-    TEST_extra (sincos, -0x1p65, 0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L),
+    TEST_fFF_11 (sincos, M_PI_2l, 1, 0x1.cd129024e088a67cc74020bbea64p-115L),
+#endif
+
+    TEST_fFF_11 (sincos, M_PI_6l, 0.5, 0.86602540378443864676372317075293616L),
+    TEST_fFF_11 (sincos, M_PI_6l*2.0, 0.86602540378443864676372317075293616L, 0.5),
+    TEST_fFF_11 (sincos, 0.75L, 0.681638760023334166733241952779893935L, 0.731688868873820886311838753000084544L),
+
+    TEST_fFF_11 (sincos, 0x1p65, -0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L),
+    TEST_fFF_11 (sincos, -0x1p65, 0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L),
 
 #ifdef TEST_DOUBLE
-    TEST_extra (sincos, 0.80190127184058835, 0.71867942238767868, 0.69534156199418473),
+    TEST_fFF_11 (sincos, 0.80190127184058835, 0.71867942238767868, 0.69534156199418473),
 #endif
 
 #ifndef TEST_FLOAT
-    TEST_extra (sincos, 1e22, -0.8522008497671888017727058937530293682618L, 0.5232147853951389454975944733847094921409L),
-    TEST_extra (sincos, 0x1p1023, 0.5631277798508840134529434079444683477104L, -0.826369834614147994500785680811743734805L),
+    TEST_fFF_11 (sincos, 1e22, -0.8522008497671888017727058937530293682618L, 0.5232147853951389454975944733847094921409L),
+    TEST_fFF_11 (sincos, 0x1p1023, 0.5631277798508840134529434079444683477104L, -0.826369834614147994500785680811743734805L),
 #endif
 
 #if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384
-    TEST_extra (sincos, 0x1p16383L, 0.3893629985894208126948115852610595405563L, 0.9210843909921906206874509522505756251609L),
-#endif
-
-    TEST_extra (sincos, 0x1p+120, 3.77820109360752022655548470056922991960587e-01L, -9.25879022854837867303861764107414946730833e-01L),
-    TEST_extra (sincos, 0x1p+127, 6.23385512955870240370428801097126489001833e-01L, 7.81914638714960072263910298466369236613162e-01L),
-    TEST_extra (sincos, 0x1.fffff8p+127, 4.85786063130487339701113680434728152037092e-02L, 9.98819362551949040703862043664101081064641e-01L),
-    TEST_extra (sincos, 0x1.fffffep+127, -5.21876523333658540551505357019806722935726e-01L, 8.53021039830304158051791467692161107353094e-01L),
-    TEST_extra (sincos, 0x1p+50, 4.96396515208940840876821859865411368093356e-01L, 8.68095904660550604334592502063501320395739e-01L),
-    TEST_extra (sincos, 0x1p+28, -9.86198211836975655703110310527108292055548e-01L, -1.65568979490578758865468278195361551113358e-01L),
+    TEST_fFF_11 (sincos, 0x1p16383L, 0.3893629985894208126948115852610595405563L, 0.9210843909921906206874509522505756251609L),
+#endif
+
+    TEST_fFF_11 (sincos, 0x1p+120, 3.77820109360752022655548470056922991960587e-01L, -9.25879022854837867303861764107414946730833e-01L),
+    TEST_fFF_11 (sincos, 0x1p+127, 6.23385512955870240370428801097126489001833e-01L, 7.81914638714960072263910298466369236613162e-01L),
+    TEST_fFF_11 (sincos, 0x1.fffff8p+127, 4.85786063130487339701113680434728152037092e-02L, 9.98819362551949040703862043664101081064641e-01L),
+    TEST_fFF_11 (sincos, 0x1.fffffep+127, -5.21876523333658540551505357019806722935726e-01L, 8.53021039830304158051791467692161107353094e-01L),
+    TEST_fFF_11 (sincos, 0x1p+50, 4.96396515208940840876821859865411368093356e-01L, 8.68095904660550604334592502063501320395739e-01L),
+    TEST_fFF_11 (sincos, 0x1p+28, -9.86198211836975655703110310527108292055548e-01L, -1.65568979490578758865468278195361551113358e-01L),
     END_DATA (sincos)
   };
 
@@ -13465,7 +13472,7 @@
   FLOAT sin_res, cos_res;
 
   START (sincos);
-  RUN_TEST_LOOP_sincos (sincos_test_data, , sin_res, cos_res);
+  RUN_TEST_LOOP_fFF_11 (sincos, sincos_test_data, , sin_res, cos_res);
   END (sincos);
 }
 

Modified: fsf/trunk/libc/ports/ChangeLog.aarch64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.aarch64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.aarch64 Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/aarch64/libm-test-ulps: Update names of sincos tests.
+
 2013-05-16  Maciej W. Rozycki  <macro@xxxxxxxxxxxxxxxx>
 
 	[BZ #15442]

Modified: fsf/trunk/libc/ports/ChangeLog.alpha
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.alpha (original)
+++ fsf/trunk/libc/ports/ChangeLog.alpha Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/alpha/fpu/libm-test-ulps: Update names of sincos tests.
+
 2013-05-16  Maciej W. Rozycki  <macro@xxxxxxxxxxxxxxxx>
 
 	[BZ #15442]

Modified: fsf/trunk/libc/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.arm (original)
+++ fsf/trunk/libc/ports/ChangeLog.arm Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/arm/libm-test-ulps: Update names of sincos tests.
+
 2013-05-16  Ryan S. Arnold  <rsa@xxxxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/arm/bits/atomic.h: Add missing #include

Modified: fsf/trunk/libc/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.hppa (original)
+++ fsf/trunk/libc/ports/ChangeLog.hppa Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/hppa/fpu/libm-test-ulps: Update names of sincos tests.
+
 2013-05-15  Carlos O'Donell  <carlos@xxxxxxxxxx>
 
 	* sysdeps/hppa/fpu/libm-test-ulps: Remove old values for ceil, floor,

Modified: fsf/trunk/libc/ports/ChangeLog.ia64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.ia64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.ia64 Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/ia64/fpu/libm-test-ulps: Update names of sincos tests.
+
 2013-03-12  Mike Frysinger  <vapier@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL_DECL): Add

Modified: fsf/trunk/libc/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.m68k (original)
+++ fsf/trunk/libc/ports/ChangeLog.m68k Mon May 20 00:02:00 2013
@@ -1,3 +1,9 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/m68k/coldfire/fpu/libm-test-ulps: Update names of sincos
+	tests.
+	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise.
+
 2013-04-11  Andreas Schwab  <schwab@xxxxxxx>
 
 	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update

Modified: fsf/trunk/libc/ports/ChangeLog.microblaze
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.microblaze (original)
+++ fsf/trunk/libc/ports/ChangeLog.microblaze Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/microblaze/libm-test-ulps: Update names of sincos tests.
+
 2013-03-28  David Holsgrove  <david.holsgrove@xxxxxxxxxx>
 
 	* sysdeps/microblaze/Implies: New file.

Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Mon May 20 00:02:00 2013
@@ -1,3 +1,9 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/mips32/libm-test-ulps: Update names of sincos
+	tests.
+	* sysdeps/mips/mips64/libm-test-ulps: Likewise.
+
 2013-05-16  Maciej W. Rozycki  <macro@xxxxxxxxxxxxxxxx>
 
 	[BZ #15442]

Modified: fsf/trunk/libc/ports/ChangeLog.powerpc
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.powerpc (original)
+++ fsf/trunk/libc/ports/ChangeLog.powerpc Mon May 20 00:02:00 2013
@@ -1,3 +1,8 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/nofpu/libm-test-ulps: Update names of sincos
+	tests.
+
 2013-05-16  Maciej W. Rozycki  <macro@xxxxxxxxxxxxxxxx>
 
 	[BZ #15442]

Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Mon May 20 00:02:00 2013
@@ -1,3 +1,7 @@
+2013-05-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/tile/libm-test-ulps: Update names of sincos tests.
+
 2013-05-16  Ryan S. Arnold  <rsa@xxxxxxxxxxxxxxxxxx>
 
 	* sysdeps/tile/tilegx/memusage.h: Add missing #include <stdint.h> due

Modified: fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps Mon May 20 00:02:00 2013
@@ -2998,21 +2998,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/alpha/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/alpha/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/alpha/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -2676,21 +2676,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/arm/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/arm/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/arm/libm-test-ulps Mon May 20 00:02:00 2013
@@ -1518,21 +1518,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/hppa/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/hppa/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -3973,25 +3973,25 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/ia64/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/ia64/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/ia64/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -616,22 +616,22 @@
 ldouble: 1
 
 # sincos
-Test "sincos (0.80190127184058835, &sin_res, &cos_res) puts 0.69534156199418473 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
+Test "sincos (0.80190127184058835) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (pi/2) extra output 2":
 double: 1
 float: 1
 idouble: 1
@@ -699,16 +699,16 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "y1 (1.5) == -0.412308626973911295952829820633445323":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "y1 (10.0) == 0.249015424206953883923283474663222803":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-Test "y1 (1.5) == -0.412308626973911295952829820633445323";
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
 Test "y1 (2.0) == -0.107032431540937546888370772277476637":
 double: 1
 float: 1
@@ -758,16 +758,16 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-Test "yn (1, 1.5) == -0.412308626973911295952829820633445323";
-float: 1
-ifloat: 1
-ldouble: 1
-ildouble: 1
 Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
 double: 1
 float: 1

Modified: fsf/trunk/libc/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -446,15 +446,15 @@
 ifloat: 1
 
 # sincos
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -5701,21 +5701,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (pi/2) extra output 2":
 double: 1
 float: 1
 idouble: 1

Modified: fsf/trunk/libc/ports/sysdeps/microblaze/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/microblaze/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/microblaze/libm-test-ulps Mon May 20 00:02:00 2013
@@ -1210,21 +1210,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/mips/mips32/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/mips/mips32/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/mips/mips32/libm-test-ulps Mon May 20 00:02:00 2013
@@ -1518,21 +1518,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/mips/mips64/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/mips/mips64/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/mips/mips64/libm-test-ulps Mon May 20 00:02:00 2013
@@ -2510,21 +2510,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -2114,21 +2114,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps Mon May 20 00:02:00 2013
@@ -1271,21 +1271,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -5863,31 +5863,31 @@
 ifloat: 1
 
 # sincos
-Test "sincos (-0x1p65, &sin_res, &cos_res) puts 0.047183876212354673805106149805700013943218 in sin_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1.fffff8p+127, &sin_res, &cos_res) puts 4.85786063130487339701113680434728152037092e-02 in sin_res":
-float: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 6.23385512955870240370428801097126489001833e-01 in sin_res":
-float: 1
-Test "sincos (0x1p+50, &sin_res, &cos_res) puts 8.68095904660550604334592502063501320395739e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p65, &sin_res, &cos_res) puts -0.047183876212354673805106149805700013943218 in sin_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+Test "sincos (-0x1p65) extra output 1":
+float: 1
+ifloat: 1
+Test "sincos (0x1.fffff8p+127) extra output 1":
+float: 1
+Test "sincos (0x1p+127) extra output 1":
+float: 1
+Test "sincos (0x1p+50) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p65) extra output 1":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 
 # sinh
 Test "sinh (0.75) == 0.822316731935829980703661634446913849":

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c Mon May 20 00:02:00 2013
@@ -47,6 +47,7 @@
 		libc_feholdexcept (&env);
 	        w = TWO52[sx]+x;
 	        t =  w-TWO52[sx];
+		math_force_eval (t);
 		libc_fesetenv (&env);
 		GET_HIGH_WORD(i0,t);
 		SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
@@ -59,6 +60,7 @@
 	libc_feholdexcept (&env);
 	w = TWO52[sx]+x;
 	t = w-TWO52[sx];
+	math_force_eval (t);
 	libc_fesetenv (&env);
 	return t;
 }

Modified: fsf/trunk/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c Mon May 20 00:02:00 2013
@@ -39,6 +39,7 @@
 		libc_feholdexceptf (&env);
 		w = TWO23[sx]+x;
 		t =  w-TWO23[sx];
+		math_force_eval (t);
 		libc_fesetenvf (&env);
 		GET_FLOAT_WORD(i0,t);
 		SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
@@ -51,6 +52,7 @@
 	libc_feholdexceptf (&env);
 	w = TWO23[sx]+x;
 	t = w-TWO23[sx];
+	math_force_eval (t);
 	libc_fesetenvf (&env);
 	return t;
 }

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c Mon May 20 00:02:00 2013
@@ -47,6 +47,7 @@
 		feholdexcept (&env);
 	        w = TWO112[sx]+x;
 	        t = w-TWO112[sx];
+		math_force_eval (t);
 	        fesetenv (&env);
 		GET_LDOUBLE_MSW64(i0,t);
 		SET_LDOUBLE_MSW64(t,(i0&0x7fffffffffffffffLL)|(sx<<63));
@@ -59,6 +60,7 @@
 	feholdexcept (&env);
 	w = TWO112[sx]+x;
 	t = w-TWO112[sx];
+	math_force_eval (t);
 	fesetenv (&env);
 	return t;
 }

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c Mon May 20 00:02:00 2013
@@ -21,6 +21,7 @@
    when it's coded in C.  */
 
 #include <math.h>
+#include <math_private.h>
 #include <fenv.h>
 #include <math_ldbl_opt.h>
 #include <float.h>
@@ -53,6 +54,8 @@
 	}
       u.dd[0] = high;
       u.dd[1] = 0.0;
+      math_force_eval (u.dd[0]);
+      math_force_eval (u.dd[1]);
       fesetenv (&env);
     }
   else if (fabs (u.dd[1]) < TWO52 && u.dd[1] != 0.0)
@@ -109,6 +112,8 @@
 	}
       u.dd[0] = high + low;
       u.dd[1] = high - u.dd[0] + low;
+      math_force_eval (u.dd[0]);
+      math_force_eval (u.dd[1]);
       fesetenv (&env);
     }
 

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_nearbyintl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_nearbyintl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_nearbyintl.c Mon May 20 00:02:00 2013
@@ -54,6 +54,7 @@
 		feholdexcept (&env);
 	        w = TWO63[sx]+x;
 	        t = w-TWO63[sx];
+		math_force_eval (t);
 		fesetenv (&env);
 		GET_LDOUBLE_EXP(i0,t);
 		SET_LDOUBLE_EXP(t,(i0&0x7fff)|(sx<<15));
@@ -80,6 +81,7 @@
 	feholdexcept (&env);
 	w = TWO63[sx]+x;
 	t = w-TWO63[sx];
+	math_force_eval (t);
 	fesetenv (&env);
 	return t;
 }

Modified: fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -6289,28 +6289,28 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (pi/2) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/sysdeps/s390/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/s390/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -2774,21 +2774,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/sysdeps/sh/sh4/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/sh/sh4/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/sh/sh4/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -563,27 +563,27 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842626 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
+Test "sincos (0.7) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
 double: 1
 float: 0.5
 idouble: 1
 ifloat: 0.5
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
+Test "sincos (pi/2) extra output 2":
 double: 0.2758
 float: 0.3667
 idouble: 0.2758
 ifloat: 0.3667
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res":
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -8132,21 +8132,21 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0x1p+120) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (0x1p+127) extra output 2":
+float: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps Mon May 20 00:02:00 2013
@@ -6936,22 +6936,22 @@
 ifloat: 1
 
 # sincos
-Test "sincos (0.80190127184058835, &sin_res, &cos_res) puts 0.69534156199418473 in cos_res":
-double: 1
-idouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+Test "sincos (0.80190127184058835) extra output 2":
+double: 1
+idouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (M_PI_6l*2.0) extra output 2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sincos (pi/6) extra output 2":
 float: 1
 ifloat: 1
 

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits