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

[Commits] r24742 - in /fsf/trunk/libc: ./ malloc/ sysdeps/ieee754/dbl-64/



Author: eglibc
Date: Wed Dec 11 00:02:09 2013
New Revision: 24742

Log:
Import glibc-mainline for 2013-12-11

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/malloc/Makefile
    fsf/trunk/libc/malloc/arena.c
    fsf/trunk/libc/malloc/hooks.c
    fsf/trunk/libc/malloc/malloc.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_sin.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Dec 11 00:02:09 2013
@@ -1,3 +1,54 @@
+2013-12-11  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* sysdeps/ieee754/dbl-64/s_sin.c (t22): Consolidate const
+	definition...
+	(slow1, slow2, sloww1, sloww2, bsloww1, bsloww2, cslow2,
+	csloww1, csloww2): ... from here.
+
+	* sysdeps/ieee754/dbl-64/usncs.h: Define constants as double
+	instead of structures.
+	* sysdeps/ieee754/dbl-64/s_sin.c (POLYNOMIAL2): Adjust.
+	(POLYNOMIAL): Likewise.
+	(TAYLOR_SLOW): Likewise.
+	(__sin): Likewise.
+	(__cos): Likewise.
+	(slow1): Likewise.
+	(slow2): Likewise.
+	(sloww): Likewise.
+	(sloww1); Likewise.
+	(sloww2): Likewise.
+	(bsloww1): Likewise.
+	(bsloww2): Likewise.
+	(cslow2): Likewise.
+	(csloww): Likewise.
+	(csloww1): Likewise.
+	(csloww2): Likewise.
+
+2013-12-10  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
+
+	* malloc/malloc.c (MALLOC_COPY, MALLOC_ZERO): Delete.
+	(__malloc_assert, __libc_realloc, __libc_calloc,
+	_int_realloc): Expand MALLOC_COPY and MALLOC_ZERO to
+	memcpy and memset.
+	* malloc/hooks.c (realloc_check): Likewise.
+
+2013-12-10  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
+
+	* malloc/Makefile (CPPFLAGS-malloc.c): Remove -DPER_THREAD flag.
+	* malloc/arena.c: Remove PER_THREAD conditional.
+	[!PER_THREAD]: Remove code.
+	(ptmalloc_unlock_all2): Likewise.
+	(ptmalloc_init): Likewise.
+	(_int_new_arena): Likewise.
+	(arena_get2): Likewise.
+	* malloc/hooks.c (__malloc_get_state): Likewise.
+	(__malloc_set_state): Likewise.
+	* malloc/malloc.c: Likewise.
+	(struct malloc_state): Likewise.
+	(struct malloc_par): Likewise.
+	(__libc_realloc): Likewise.
+	(__libc_mallopt): Likewise.
+
 2013-12-09  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
 
 	* Versions.def (libm): Add GLIBC_2.3 and GLIBC_2.19.

Modified: fsf/trunk/libc/malloc/Makefile
==============================================================================
--- fsf/trunk/libc/malloc/Makefile (original)
+++ fsf/trunk/libc/malloc/Makefile Wed Dec 11 00:02:09 2013
@@ -119,7 +119,6 @@
 tst-mcheck-ENV = MALLOC_CHECK_=3
 tst-malloc-usable-ENV = MALLOC_CHECK_=3
 
-CPPFLAGS-malloc.c += -DPER_THREAD
 # Uncomment this for test releases.  For public releases it is too expensive.
 #CPPFLAGS-malloc.o += -DMALLOC_DEBUG=1
 

Modified: fsf/trunk/libc/malloc/arena.c
==============================================================================
--- fsf/trunk/libc/malloc/arena.c (original)
+++ fsf/trunk/libc/malloc/arena.c Wed Dec 11 00:02:09 2013
@@ -75,10 +75,8 @@
 
 static tsd_key_t arena_key;
 static mutex_t list_lock = MUTEX_INITIALIZER;
-#ifdef PER_THREAD
 static size_t narenas = 1;
 static mstate free_list;
-#endif
 
 #if THREAD_STATS
 static int stat_n_heaps;
@@ -114,21 +112,12 @@
   ptr = (mstate)tsd_getspecific(arena_key, vptr); \
 } while(0)
 
-#ifdef PER_THREAD
 # define arena_lock(ptr, size) do { \
   if(ptr) \
     (void)mutex_lock(&ptr->mutex); \
   else \
     ptr = arena_get2(ptr, (size), NULL); \
 } while(0)
-#else
-# define arena_lock(ptr, size) do { \
-  if(ptr && !mutex_trylock(&ptr->mutex)) { \
-    THREAD_STAT(++(ptr->stat_lock_direct)); \
-  } else \
-    ptr = arena_get2(ptr, (size), NULL); \
-} while(0)
-#endif
 
 /* find the heap and corresponding arena for a given ptr */
 
@@ -292,17 +281,13 @@
   tsd_setspecific(arena_key, save_arena);
   __malloc_hook = save_malloc_hook;
   __free_hook = save_free_hook;
-#ifdef PER_THREAD
   free_list = NULL;
-#endif
   for(ar_ptr = &main_arena;;) {
     mutex_init(&ar_ptr->mutex);
-#ifdef PER_THREAD
     if (ar_ptr != save_arena) {
       ar_ptr->next_free = free_list;
       free_list = ar_ptr;
     }
-#endif
     ar_ptr = ar_ptr->next;
     if(ar_ptr == &main_arena) break;
   }
@@ -423,13 +408,10 @@
 		{
 		  if (memcmp (envline, "MMAP_MAX_", 9) == 0)
 		    __libc_mallopt(M_MMAP_MAX, atoi(&envline[10]));
-#ifdef PER_THREAD
 		  else if (memcmp (envline, "ARENA_MAX", 9) == 0)
 		    __libc_mallopt(M_ARENA_MAX, atoi(&envline[10]));
-#endif
 		}
 	      break;
-#ifdef PER_THREAD
 	    case 10:
 	      if (! __builtin_expect (__libc_enable_secure, 0))
 		{
@@ -437,7 +419,6 @@
 		    __libc_mallopt(M_ARENA_TEST, atoi(&envline[11]));
 		}
 	      break;
-#endif
 	    case 15:
 	      if (! __builtin_expect (__libc_enable_secure, 0))
 		{
@@ -745,18 +726,14 @@
   mutex_init(&a->mutex);
   (void)mutex_lock(&a->mutex);
 
-#ifdef PER_THREAD
   (void)mutex_lock(&list_lock);
-#endif
 
   /* Add the new arena to the global list.  */
   a->next = main_arena.next;
   atomic_write_barrier ();
   main_arena.next = a;
 
-#ifdef PER_THREAD
   (void)mutex_unlock(&list_lock);
-#endif
 
   THREAD_STAT(++(a->stat_lock_loop));
 
@@ -764,7 +741,6 @@
 }
 
 
-#ifdef PER_THREAD
 static mstate
 get_free_list (void)
 {
@@ -827,7 +803,6 @@
 
   return result;
 }
-#endif
 
 static mstate
 internal_function
@@ -835,7 +810,6 @@
 {
   mstate a;
 
-#ifdef PER_THREAD
   static size_t narenas_limit;
 
   a = get_free_list ();
@@ -878,54 +852,6 @@
       else
 	a = reused_arena (avoid_arena);
     }
-#else
-  if(!a_tsd)
-    a = a_tsd = &main_arena;
-  else {
-    a = a_tsd->next;
-    if(!a) {
-      /* This can only happen while initializing the new arena. */
-      (void)mutex_lock(&main_arena.mutex);
-      THREAD_STAT(++(main_arena.stat_lock_wait));
-      return &main_arena;
-    }
-  }
-
-  /* Check the global, circularly linked list for available arenas. */
-  bool retried = false;
- repeat:
-  do {
-    if(!mutex_trylock(&a->mutex)) {
-      if (retried)
-	(void)mutex_unlock(&list_lock);
-      THREAD_STAT(++(a->stat_lock_loop));
-      LIBC_PROBE (memory_arena_reuse, 2, a, a_tsd);
-      tsd_setspecific(arena_key, (void *)a);
-      return a;
-    }
-    a = a->next;
-  } while(a != a_tsd);
-
-  /* If not even the list_lock can be obtained, try again.  This can
-     happen during `atfork', or for example on systems where thread
-     creation makes it temporarily impossible to obtain _any_
-     locks. */
-  if(!retried && mutex_trylock(&list_lock)) {
-    /* We will block to not run in a busy loop.  */
-    LIBC_PROBE (memory_arena_reuse_wait, 3, &list_lock, NULL, a_tsd);
-    (void)mutex_lock(&list_lock);
-
-    /* Since we blocked there might be an arena available now.  */
-    retried = true;
-    a = a_tsd;
-    goto repeat;
-  }
-
-  /* Nothing immediately available, so generate a new arena.  */
-  a = _int_new_arena(size);
-  (void)mutex_unlock(&list_lock);
-#endif
-
   return a;
 }
 
@@ -951,7 +877,6 @@
   return ar_ptr;
 }
 
-#ifdef PER_THREAD
 static void __attribute__ ((section ("__libc_thread_freeres_fn")))
 arena_thread_freeres (void)
 {
@@ -968,7 +893,6 @@
     }
 }
 text_set_element (__libc_thread_subfreeres, arena_thread_freeres);
-#endif
 
 /*
  * Local variables:

Modified: fsf/trunk/libc/malloc/hooks.c
==============================================================================
--- fsf/trunk/libc/malloc/hooks.c (original)
+++ fsf/trunk/libc/malloc/hooks.c Wed Dec 11 00:02:09 2013
@@ -330,7 +330,7 @@
 	if (top_check() >= 0)
 	  newmem = _int_malloc(&main_arena, bytes+1);
 	if (newmem) {
-	  MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
+	  memcpy(newmem, oldmem, oldsize - 2*SIZE_SZ);
 	  munmap_chunk(oldp);
 	}
       }
@@ -476,11 +476,9 @@
   ms->max_mmapped_mem = mp_.max_mmapped_mem;
   ms->using_malloc_checking = using_malloc_checking;
   ms->max_fast = get_max_fast();
-#ifdef PER_THREAD
   ms->arena_test = mp_.arena_test;
   ms->arena_max = mp_.arena_max;
   ms->narenas = narenas;
-#endif
   (void)mutex_unlock(&main_arena.mutex);
   return (void*)ms;
 }
@@ -577,11 +575,9 @@
     }
   }
   if (ms->version >= 4) {
-#ifdef PER_THREAD
     mp_.arena_test = ms->arena_test;
     mp_.arena_max = ms->arena_max;
     narenas = ms->narenas;
-#endif
   }
   check_malloc_state(&main_arena);
 

Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Wed Dec 11 00:02:09 2013
@@ -1071,19 +1071,6 @@
 static void*   malloc_atfork(size_t sz, const void *caller);
 static void      free_atfork(void* mem, const void *caller);
 #endif
-
-
-/* ------------- Optional versions of memcopy ---------------- */
-
-
-/*
-  Note: memcpy is ONLY invoked with non-overlapping regions,
-  so the (usually slower) memmove is not needed.
-*/
-
-#define MALLOC_COPY(dest, src, nbytes)  memcpy(dest, src, nbytes)
-#define MALLOC_ZERO(dest, nbytes)       memset(dest, 0,   nbytes)
-
 
 /* ------------------ MMAP support ------------------  */
 
@@ -1707,10 +1694,8 @@
   /* Linked list */
   struct malloc_state *next;
 
-#ifdef PER_THREAD
   /* Linked list for free arenas.  */
   struct malloc_state *next_free;
-#endif
 
   /* Memory allocated from the system in this arena.  */
   INTERNAL_SIZE_T system_mem;
@@ -1722,10 +1707,8 @@
   unsigned long    trim_threshold;
   INTERNAL_SIZE_T  top_pad;
   INTERNAL_SIZE_T  mmap_threshold;
-#ifdef PER_THREAD
   INTERNAL_SIZE_T  arena_test;
   INTERNAL_SIZE_T  arena_max;
-#endif
 
   /* Memory map support */
   int              n_mmaps;
@@ -1767,18 +1750,14 @@
     .n_mmaps_max    = DEFAULT_MMAP_MAX,
     .mmap_threshold = DEFAULT_MMAP_THRESHOLD,
     .trim_threshold = DEFAULT_TRIM_THRESHOLD,
-#ifdef PER_THREAD
 # define NARENAS_FROM_NCORES(n) ((n) * (sizeof(long) == 4 ? 2 : 8))
     .arena_test     = NARENAS_FROM_NCORES (1)
-#endif
   };
 
 
-#ifdef PER_THREAD
 /*  Non public mallopt parameters.  */
 #define M_ARENA_TEST -7
 #define M_ARENA_MAX  -8
-#endif
 
 
 /* Maximum size of memory handled in fastbins.  */
@@ -2964,7 +2943,7 @@
     /* Must alloc, copy, free. */
     newmem = __libc_malloc(bytes);
     if (newmem == 0) return 0; /* propagate failure */
-    MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
+    memcpy(newmem, oldmem, oldsize - 2*SIZE_SZ);
     munmap_chunk(oldp);
     return newmem;
   }
@@ -2981,11 +2960,6 @@
   (void)mutex_lock(&ar_ptr->mutex);
 #endif
 
-#if !defined PER_THREAD
-  LIBC_PROBE (memory_arena_reuse_realloc, 1, ar_ptr);
-  /* As in malloc(), remember this arena for the next allocation. */
-  tsd_setspecific(arena_key, (void *)ar_ptr);
-#endif
 
   newp = _int_realloc(ar_ptr, oldp, oldsize, nb);
 
@@ -3000,7 +2974,7 @@
       newp = __libc_malloc(bytes);
       if (newp != NULL)
 	{
-	  MALLOC_COPY (newp, oldmem, oldsize - SIZE_SZ);
+	  memcpy (newp, oldmem, oldsize - SIZE_SZ);
 	  _int_free(ar_ptr, oldp, 0);
 	}
     }
@@ -3188,7 +3162,7 @@
   if (chunk_is_mmapped (p))
     {
       if (__builtin_expect (perturb_byte, 0))
-	return MALLOC_ZERO (mem, sz);
+	return memset (mem, 0, sz);
       return mem;
     }
 
@@ -3210,7 +3184,7 @@
   assert(nclears >= 3);
 
   if (nclears > 9)
-    return MALLOC_ZERO(d, clearsize);
+    return memset(d, 0, clearsize);
 
   else {
     *(d+0) = 0;
@@ -4214,7 +4188,7 @@
 	assert(ncopies >= 3);
 
 	if (ncopies > 9)
-	  MALLOC_COPY(d, s, copysize);
+	  memcpy(d, s, copysize);
 
 	else {
 	  *(d+0) = *(s+0);
@@ -4688,7 +4662,6 @@
     perturb_byte = value;
     break;
 
-#ifdef PER_THREAD
   case M_ARENA_TEST:
     if (value > 0)
       {
@@ -4704,7 +4677,6 @@
 	mp_.arena_max = value;
       }
     break;
-#endif
   }
   (void)mutex_unlock(&av->mutex);
   return res;

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_sin.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_sin.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_sin.c Wed Dec 11 00:02:09 2013
@@ -56,10 +56,9 @@
 #include <fenv.h>
 
 /* Helper macros to compute sin of the input values.  */
-#define POLYNOMIAL2(xx) ((((s5.x * (xx) + s4.x) * (xx) + s3.x) * (xx) + s2.x) \
-			 * (xx))
-
-#define POLYNOMIAL(xx) (POLYNOMIAL2 (xx) + s1.x)
+#define POLYNOMIAL2(xx) ((((s5 * (xx) + s4) * (xx) + s3) * (xx) + s2) * (xx))
+
+#define POLYNOMIAL(xx) (POLYNOMIAL2 (xx) + s1)
 
 /* The computed polynomial is a variation of the Taylor series expansion for
    sin(a):
@@ -88,11 +87,11 @@
   static const double th2_36 = 206158430208.0;	/*    1.5*2**37   */	      \
   double xx = (x0) * (x0);						      \
   double x1 = ((x0) + th2_36) - th2_36;					      \
-  double y = aa.x * x1 * x1 * x1;					      \
+  double y = aa * x1 * x1 * x1;						      \
   double r = (x0) + y;							      \
   double x2 = ((x0) - x1) + (dx);					      \
-  double t = (((POLYNOMIAL2 (xx) + bb.x) * xx + 3.0 * aa.x * x1 * x2)	      \
-	      * (x0)  + aa.x * x2 * x2 * x2 + (dx));			      \
+  double t = (((POLYNOMIAL2 (xx) + bb) * xx + 3.0 * aa * x1 * x2)	      \
+	      * (x0)  + aa * x2 * x2 * x2 + (dx));			      \
   t = (((x0) - r) + y) + t;						      \
   double res = r + t;							      \
   (cor) = (r - res) + t;						      \
@@ -124,6 +123,8 @@
   cs2 = 4.99999999999999999999950396842453E-01,
   cs4 = -4.16666666666664434524222570944589E-02,
   cs6 = 1.38888874007937613028114285595617E-03;
+
+static const double t22 = 0x1.8p22;
 
 void __dubsin (double x, double dx, double w[]);
 void __docos (double x, double dx, double w[]);
@@ -211,8 +212,8 @@
 /*---------------------------- 0.25<|x|< 0.855469---------------------- */
   else if (k < 0x3feb6000)
     {
-      u.x = (m > 0) ? big.x + x : big.x - x;
-      y = (m > 0) ? x - (u.x - big.x) : x + (u.x - big.x);
+      u.x = (m > 0) ? big + x : big - x;
+      y = (m > 0) ? x - (u.x - big) : x + (u.x - big);
       xx = y * y;
       s = y + y * xx * (sn3 + xx * sn5);
       c = xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -232,16 +233,16 @@
   else if (k < 0x400368fd)
     {
 
-      y = (m > 0) ? hp0.x - x : hp0.x + x;
+      y = (m > 0) ? hp0 - x : hp0 + x;
       if (y >= 0)
 	{
-	  u.x = big.x + y;
-	  y = (y - (u.x - big.x)) + hp1.x;
+	  u.x = big + y;
+	  y = (y - (u.x - big)) + hp1;
 	}
       else
 	{
-	  u.x = big.x - y;
-	  y = (-hp1.x) - (y + (u.x - big.x));
+	  u.x = big - y;
+	  y = (-hp1) - (y + (u.x - big));
 	}
       xx = y * y;
       s = y + y * xx * (sn3 + xx * sn5);
@@ -256,12 +257,12 @@
 /*-------------------------- 2.426265<|x|< 105414350 ----------------------*/
   else if (k < 0x419921FB)
     {
-      t = (x * hpinv.x + toint.x);
-      xn = t - toint.x;
+      t = (x * hpinv + toint);
+      xn = t - toint;
       v.x = t;
-      y = (x - xn * mp1.x) - xn * mp2.x;
+      y = (x - xn * mp1) - xn * mp2;
       n = v.i[LOW_HALF] & 3;
-      da = xn * mp3.x;
+      da = xn * mp3;
       a = y - da;
       da = (y - a) - da;
       eps = ABS (x) * 1.2e-30;
@@ -297,8 +298,8 @@
 		  t = -a;
 		  db = -da;
 		}
-	      u.x = big.x + t;
-	      y = t - (u.x - big.x);
+	      u.x = big + t;
+	      y = t - (u.x - big);
 	      xx = y * y;
 	      s = y + (db + y * xx * (sn3 + xx * sn5));
 	      c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -319,8 +320,8 @@
 	      a = -a;
 	      da = -da;
 	    }
-	  u.x = big.x + a;
-	  y = a - (u.x - big.x) + da;
+	  u.x = big + a;
+	  y = a - (u.x - big) + da;
 	  xx = y * y;
 	  SINCOS_TABLE_LOOKUP (u, sn, ssn, cs, ccs);
 	  s = y + y * xx * (sn3 + xx * sn5);
@@ -338,17 +339,17 @@
 /*---------------------105414350 <|x|< 281474976710656 --------------------*/
   else if (k < 0x42F00000)
     {
-      t = (x * hpinv.x + toint.x);
-      xn = t - toint.x;
+      t = (x * hpinv + toint);
+      xn = t - toint;
       v.x = t;
       xn1 = (xn + 8.0e22) - 8.0e22;
       xn2 = xn - xn1;
-      y = ((((x - xn1 * mp1.x) - xn1 * mp2.x) - xn2 * mp1.x) - xn2 * mp2.x);
+      y = ((((x - xn1 * mp1) - xn1 * mp2) - xn2 * mp1) - xn2 * mp2);
       n = v.i[LOW_HALF] & 3;
-      da = xn1 * pp3.x;
+      da = xn1 * pp3;
       t = y - da;
       da = (y - t) - da;
-      da = (da - xn2 * pp3.x) - xn * pp4.x;
+      da = (da - xn2 * pp3) - xn * pp4;
       a = t + da;
       da = (t - a) + da;
       eps = 1.0e-24;
@@ -384,8 +385,8 @@
 		  t = -a;
 		  db = -da;
 		}
-	      u.x = big.x + t;
-	      y = t - (u.x - big.x);
+	      u.x = big + t;
+	      y = t - (u.x - big);
 	      xx = y * y;
 	      s = y + (db + y * xx * (sn3 + xx * sn5));
 	      c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -406,8 +407,8 @@
 	      a = -a;
 	      da = -da;
 	    }
-	  u.x = big.x + a;
-	  y = a - (u.x - big.x) + da;
+	  u.x = big + a;
+	  y = a - (u.x - big) + da;
 	  xx = y * y;
 	  SINCOS_TABLE_LOOKUP (u, sn, ssn, cs, ccs);
 	  s = y + y * xx * (sn3 + xx * sn5);
@@ -467,8 +468,8 @@
   else if (k < 0x3feb6000)
     {				/* 2^-27 < |x| < 0.855469 */
       y = ABS (x);
-      u.x = big.x + y;
-      y = y - (u.x - big.x);
+      u.x = big + y;
+      y = y - (u.x - big);
       xx = y * y;
       s = y + y * xx * (sn3 + xx * sn5);
       c = xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -481,9 +482,9 @@
 
   else if (k < 0x400368fd)
     { /* 0.855469  <|x|<2.426265  */ ;
-      y = hp0.x - ABS (x);
-      a = y + hp1.x;
-      da = (y - a) + hp1.x;
+      y = hp0 - ABS (x);
+      a = y + hp1;
+      da = (y - a) + hp1;
       xx = a * a;
       if (xx < 0.01588)
 	{
@@ -505,8 +506,8 @@
 	      t = -a;
 	      db = -da;
 	    }
-	  u.x = big.x + t;
-	  y = t - (u.x - big.x);
+	  u.x = big + t;
+	  y = t - (u.x - big);
 	  xx = y * y;
 	  s = y + (db + y * xx * (sn3 + xx * sn5));
 	  c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -524,12 +525,12 @@
 
   else if (k < 0x419921FB)
     {				/* 2.426265<|x|< 105414350 */
-      t = (x * hpinv.x + toint.x);
-      xn = t - toint.x;
+      t = (x * hpinv + toint);
+      xn = t - toint;
       v.x = t;
-      y = (x - xn * mp1.x) - xn * mp2.x;
+      y = (x - xn * mp1) - xn * mp2;
       n = v.i[LOW_HALF] & 3;
-      da = xn * mp3.x;
+      da = xn * mp3;
       a = y - da;
       da = (y - a) - da;
       eps = ABS (x) * 1.2e-30;
@@ -564,8 +565,8 @@
 		  t = -a;
 		  db = -da;
 		}
-	      u.x = big.x + t;
-	      y = t - (u.x - big.x);
+	      u.x = big + t;
+	      y = t - (u.x - big);
 	      xx = y * y;
 	      s = y + (db + y * xx * (sn3 + xx * sn5));
 	      c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -586,8 +587,8 @@
 	      a = -a;
 	      da = -da;
 	    }
-	  u.x = big.x + a;
-	  y = a - (u.x - big.x) + da;
+	  u.x = big + a;
+	  y = a - (u.x - big) + da;
 	  xx = y * y;
 	  SINCOS_TABLE_LOOKUP (u, sn, ssn, cs, ccs);
 	  s = y + y * xx * (sn3 + xx * sn5);
@@ -604,17 +605,17 @@
 
   else if (k < 0x42F00000)
     {
-      t = (x * hpinv.x + toint.x);
-      xn = t - toint.x;
+      t = (x * hpinv + toint);
+      xn = t - toint;
       v.x = t;
       xn1 = (xn + 8.0e22) - 8.0e22;
       xn2 = xn - xn1;
-      y = ((((x - xn1 * mp1.x) - xn1 * mp2.x) - xn2 * mp1.x) - xn2 * mp2.x);
+      y = ((((x - xn1 * mp1) - xn1 * mp2) - xn2 * mp1) - xn2 * mp2);
       n = v.i[LOW_HALF] & 3;
-      da = xn1 * pp3.x;
+      da = xn1 * pp3;
       t = y - da;
       da = (y - t) - da;
-      da = (da - xn2 * pp3.x) - xn * pp4.x;
+      da = (da - xn2 * pp3) - xn * pp4;
       a = t + da;
       da = (t - a) + da;
       eps = 1.0e-24;
@@ -649,8 +650,8 @@
 		  t = -a;
 		  db = -da;
 		}
-	      u.x = big.x + t;
-	      y = t - (u.x - big.x);
+	      u.x = big + t;
+	      y = t - (u.x - big);
 	      xx = y * y;
 	      s = y + (db + y * xx * (sn3 + xx * sn5));
 	      c = y * db + xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -671,8 +672,8 @@
 	      a = -a;
 	      da = -da;
 	    }
-	  u.x = big.x + a;
-	  y = a - (u.x - big.x) + da;
+	  u.x = big + a;
+	  y = a - (u.x - big) + da;
 	  xx = y * y;
 	  SINCOS_TABLE_LOOKUP (u, sn, ssn, cs, ccs);
 	  s = y + y * xx * (sn3 + xx * sn5);
@@ -735,10 +736,9 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res;
-  static const double t22 = 6291456.0;
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
   c = xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -774,20 +774,20 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res, del;
-  static const double t22 = 6291456.0;
+
   y = ABS (x);
-  y = hp0.x - y;
+  y = hp0 - y;
   if (y >= 0)
     {
-      u.x = big.x + y;
-      y = y - (u.x - big.x);
-      del = hp1.x;
-    }
-  else
-    {
-      u.x = big.x - y;
-      y = -(y + (u.x - big.x));
-      del = -hp1.x;
+      u.x = big + y;
+      y = y - (u.x - big);
+      del = hp1;
+    }
+  else
+    {
+      u.x = big - y;
+      y = -(y + (u.x - big));
+      del = -hp1;
     }
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
@@ -806,9 +806,9 @@
     return (x > 0) ? res : -res;
   else
     {
-      y = ABS (x) - hp0.x;
-      y1 = y - hp1.x;
-      y2 = (y - y1) - hp1.x;
+      y = ABS (x) - hp0;
+      y1 = y - hp1;
+      y2 = (y - y1) - hp1;
       __docos (y1, y2, w);
       if (w[0] == w[0] + 1.000000005 * w[1])
 	return (x > 0) ? w[0] : -w[0];
@@ -855,15 +855,15 @@
 	return (x > 0) ? w[0] : -w[0];
       else
 	{
-	  t = (orig * hpinv.x + toint.x);
-	  xn = t - toint.x;
+	  t = (orig * hpinv + toint);
+	  xn = t - toint;
 	  v.x = t;
-	  y = (orig - xn * mp1.x) - xn * mp2.x;
+	  y = (orig - xn * mp1) - xn * mp2;
 	  n = v.i[LOW_HALF] & 3;
-	  da = xn * pp3.x;
+	  da = xn * pp3;
 	  t = y - da;
 	  da = (y - t) - da;
-	  y = xn * pp4.x;
+	  y = xn * pp4;
 	  a = t - y;
 	  da = ((t - a) - y) + da;
 	  if (n & 2)
@@ -898,11 +898,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   dx = (x > 0) ? dx : -dx;
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
@@ -954,11 +953,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   dx = (x > 0) ? dx : -dx;
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
@@ -1043,11 +1041,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   dx = (x > 0) ? dx : -dx;
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
@@ -1094,11 +1091,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   dx = (x > 0) ? dx : -dx;
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
@@ -1144,11 +1140,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
   c = xx * (cs2 + xx * (cs4 + xx * cs6));
@@ -1218,15 +1213,15 @@
 	return (x > 0) ? w[0] : -w[0];
       else
 	{
-	  t = (orig * hpinv.x + toint.x);
-	  xn = t - toint.x;
+	  t = (orig * hpinv + toint);
+	  xn = t - toint;
 	  v.x = t;
-	  y = (orig - xn * mp1.x) - xn * mp2.x;
+	  y = (orig - xn * mp1) - xn * mp2;
 	  n = v.i[LOW_HALF] & 3;
-	  da = xn * pp3.x;
+	  da = xn * pp3;
 	  t = y - da;
 	  da = (y - t) - da;
-	  y = xn * pp4.x;
+	  y = xn * pp4;
 	  a = t - y;
 	  da = ((t - a) - y) + da;
 	  if (n == 1)
@@ -1262,11 +1257,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, c1, c2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   dx = (x > 0) ? dx : -dx;
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);
@@ -1317,11 +1311,10 @@
 {
   mynumber u;
   double sn, ssn, cs, ccs, s, c, w[2], y, y1, y2, e1, e2, xx, cor, res;
-  static const double t22 = 6291456.0;
 
   y = ABS (x);
-  u.x = big.x + y;
-  y = y - (u.x - big.x);
+  u.x = big + y;
+  y = y - (u.x - big);
   dx = (x > 0) ? dx : -dx;
   xx = y * y;
   s = y * xx * (sn3 + xx * sn5);

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h Wed Dec 11 00:02:09 2013
@@ -27,51 +27,22 @@
 #ifndef USNCS_H
 #define USNCS_H
 
-#ifdef BIG_ENDI
-static const mynumber
-
-/**/           s1 = {{0xBFC55555, 0x55555555 }}, /* -0.16666666666666666     */
-/**/           s2 = {{0x3F811111, 0x11110ECE }}, /*  0.0083333333333323288   */
-/**/           s3 = {{0xBF2A01A0, 0x19DB08B8 }}, /* -0.00019841269834414642  */
-/**/           s4 = {{0x3EC71DE2, 0x7B9A7ED9 }}, /*  2.755729806860771e-06   */
-/**/           s5 = {{0xBE5ADDFF, 0xC2FCDF59 }}, /* -2.5022014848318398e-08  */
-/**/           aa = {{0xBFC55580, 0x00000000 }}, /* -0.1666717529296875      */
-/**/           bb = {{0x3ED55555, 0x55556E24 }}, /*  5.0862630208387126e-06  */
-/**/          big = {{0x42c80000, 0x00000000 }}, /*  52776558133248          */
-/**/          hp0 = {{0x3FF921FB, 0x54442D18 }}, /*  1.5707963267948966      */
-/**/          hp1 = {{0x3C91A626, 0x33145C07 }}, /*  6.123233995736766e-17   */
-/**/          mp1 = {{0x3FF921FB, 0x58000000 }}, /*  1.5707963407039642      */
-/**/          mp2 = {{0xBE4DDE97, 0x3C000000 }}, /* -1.3909067564377153e-08  */
-/**/          mp3 = {{0xBC8CB3B3, 0x99D747F2 }}, /* -4.9789962505147994e-17  */
-/**/          pp3 = {{0xBC8CB3B3, 0x98000000 }}, /* -4.9789962314799099e-17  */
-/**/          pp4 = {{0xbacd747f, 0x23e32ed7 }}, /* -1.9034889620193266e-25  */
-/**/        hpinv = {{0x3FE45F30, 0x6DC9C883 }}, /*  0.63661977236758138     */
-/**/        toint = {{0x43380000, 0x00000000 }}; /*  6755399441055744        */
-
-#else
-#ifdef LITTLE_ENDI
-static const mynumber
-
-/**/           s1 = {{0x55555555, 0xBFC55555 }},/* -0.16666666666666666     */
-/**/           s2 = {{0x11110ECE, 0x3F811111 }},/*  0.0083333333333323288   */
-/**/           s3 = {{0x19DB08B8, 0xBF2A01A0 }},/* -0.00019841269834414642  */
-/**/           s4 = {{0x7B9A7ED9, 0x3EC71DE2 }},/*  2.755729806860771e-06   */
-/**/           s5 = {{0xC2FCDF59, 0xBE5ADDFF }},/* -2.5022014848318398e-08  */
-/**/           aa = {{0x00000000, 0xBFC55580 }},/* -0.1666717529296875      */
-/**/           bb = {{0x55556E24, 0x3ED55555 }},/*  5.0862630208387126e-06  */
-/**/          big = {{0x00000000, 0x42c80000 }},/*  52776558133248          */
-/**/          hp0 = {{0x54442D18, 0x3FF921FB }},/*  1.5707963267948966      */
-/**/          hp1 = {{0x33145C07, 0x3C91A626 }},/*  6.123233995736766e-17   */
-/**/          mp1 = {{0x58000000, 0x3FF921FB }},/*  1.5707963407039642      */
-/**/          mp2 = {{0x3C000000, 0xBE4DDE97 }},/* -1.3909067564377153e-08  */
-/**/          mp3 = {{0x99D747F2, 0xBC8CB3B3 }},/* -4.9789962505147994e-17  */
-/**/          pp3 = {{0x98000000, 0xBC8CB3B3 }},/* -4.9789962314799099e-17  */
-/**/          pp4 = {{0x23e32ed7, 0xbacd747f }},/* -1.9034889620193266e-25  */
-/**/        hpinv = {{0x6DC9C883, 0x3FE45F30 }},/*  0.63661977236758138     */
-/**/        toint = {{0x00000000, 0x43380000 }};/*  6755399441055744        */
-
+static const double s1 = -0x1.5555555555555p-3;   /* -0.16666666666666666     */
+static const double s2 = 0x1.1111111110ECEp-7;    /*  0.0083333333333323288   */
+static const double s3 = -0x1.A01A019DB08B8p-13;  /* -0.00019841269834414642  */
+static const double s4 = 0x1.71DE27B9A7ED9p-19;   /*  2.755729806860771e-06   */
+static const double s5 = -0x1.ADDFFC2FCDF59p-26;  /* -2.5022014848318398e-08  */
+static const double aa = -0x1.5558000000000p-3;   /* -0.1666717529296875      */
+static const double bb = 0x1.5555555556E24p-18;   /*  5.0862630208387126e-06  */
+static const double big = 0x1.8000000000000p45;   /*  52776558133248          */
+static const double hp0 = 0x1.921FB54442D18p0;    /*  1.5707963267948966      */
+static const double hp1 = 0x1.1A62633145C07p-54;  /*  6.123233995736766e-17   */
+static const double mp1 = 0x1.921FB58000000p0;    /*  1.5707963407039642      */
+static const double mp2 = -0x1.DDE973C000000p-27; /* -1.3909067564377153e-08  */
+static const double mp3 = -0x1.CB3B399D747F2p-55; /* -4.9789962505147994e-17  */
+static const double pp3 = -0x1.CB3B398000000p-55; /* -4.9789962314799099e-17  */
+static const double pp4 = -0x1.d747f23e32ed7p-83; /* -1.9034889620193266e-25  */
+static const double hpinv = 0x1.45F306DC9C883p-1; /*  0.63661977236758138     */
+static const double toint = 0x1.8000000000000p52; /*  6755399441055744        */
 
 #endif
-#endif
-
-#endif

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