This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-683-g1deff3d


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  1deff3dca1b11fd7089bb641f6ee99adedeb8d0b (commit)
       via  791f3ba0db02911933255d080b8ff973330b9ebf (commit)
       via  39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2 (commit)
      from  ecbf434213c0333d81706074e4d107ac45011635 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1deff3dca1b11fd7089bb641f6ee99adedeb8d0b

commit 1deff3dca1b11fd7089bb641f6ee99adedeb8d0b
Author: Peter Collingbourne <pcc@google.com>
Date:   Wed May 15 20:33:45 2013 +0200

    Use movq for 64-bit operations
    
    The EXTRACT_WORDS64 and INSERT_WORDS64 macros use movd for a 64-bit
    operation.  Somehow gcc manages to turn this into movq, but LLVM won't.
    
    2013-05-15  Peter Collingbourne  <pcc@google.com>
    
    	* sysdeps/x86_64/fpu/math_private.h (MOVQ): New macro.
    	(EXTRACT_WORDS64) Use where appropriate.
    	(INSERT_WORDS64) Likewise.

diff --git a/ChangeLog b/ChangeLog
index 4550566..9bdeaaf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2013-05-15  Peter Collingbourne  <pcc@google.com>
 
+	* sysdeps/x86_64/fpu/math_private.h (MOVQ): New macro.
+	(EXTRACT_WORDS64) Use where appropriate.
+	(INSERT_WORDS64) Likewise.
+
 	* sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm
 	constraints with x constraints.
 	* sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.
diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h
index 63a699e..027a6a3 100644
--- a/sysdeps/x86_64/fpu/math_private.h
+++ b/sysdeps/x86_64/fpu/math_private.h
@@ -5,15 +5,17 @@
 
 #if defined __AVX__ || defined SSE2AVX
 # define MOVD "vmovd"
+# define MOVQ "vmovq"
 #else
 # define MOVD "movd"
+# define MOVQ "movq"
 #endif
 
 /* Direct movement of float into integer register.  */
 #define EXTRACT_WORDS64(i, d)						      \
   do {									      \
     int64_t i_;								      \
-    asm (MOVD " %1, %0" : "=rm" (i_) : "x" ((double) (d)));		      \
+    asm (MOVQ " %1, %0" : "=rm" (i_) : "x" ((double) (d)));		      \
     (i) = i_;								      \
   } while (0)
 
@@ -22,7 +24,7 @@
   do {									      \
     int64_t i_ = i;							      \
     double d__;								      \
-    asm (MOVD " %1, %0" : "=x" (d__) : "rm" (i_));			      \
+    asm (MOVQ " %1, %0" : "=x" (d__) : "rm" (i_));			      \
     d = d__;								      \
   } while (0)
 

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=791f3ba0db02911933255d080b8ff973330b9ebf

commit 791f3ba0db02911933255d080b8ff973330b9ebf
Author: Peter Collingbourne <pcc@google.com>
Date:   Wed May 15 20:31:53 2013 +0200

    Use x constraints for operands to vfmaddss and vfmaddsd
    
    While these instructions accept memory operands, only one operand
    may be a memory operand.  Giving two operands xm constraints gives
    the compiler the option of using memory for both operands, which
    would result in invalid assembly code.  Using x for all operands is
    more appropriate, as most x86_64 calling conventions will pass the
    arguments in registers anyway.
    
    2013-05-15  Peter Collingbourne  <pcc@google.com>
    
    	* sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm
    	constraints with x constraints.
    	* sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.

diff --git a/ChangeLog b/ChangeLog
index 42b02ee..4550566 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2013-05-15  Peter Collingbourne  <pcc@google.com>
 
+	* sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm
+	constraints with x constraints.
+	* sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.
+
 	* malloc/obstack.c (_obstack_compat): Add initializer.
 
 2013-05-15  Edjunior Machado  <emachado@linux.vnet.ibm.com>
diff --git a/sysdeps/x86_64/fpu/multiarch/s_fma.c b/sysdeps/x86_64/fpu/multiarch/s_fma.c
index ea18559..25a306f 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_fma.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_fma.c
@@ -38,7 +38,7 @@ __fma_fma3 (double x, double y, double z)
 static double
 __fma_fma4 (double x, double y, double z)
 {
-  asm ("vfmaddsd %3, %2, %1, %0" : "=x" (x) : "x" (x), "xm" (y), "xm" (z));
+  asm ("vfmaddsd %3, %2, %1, %0" : "=x" (x) : "x" (x), "x" (y), "x" (z));
   return x;
 }
 # else
diff --git a/sysdeps/x86_64/fpu/multiarch/s_fmaf.c b/sysdeps/x86_64/fpu/multiarch/s_fmaf.c
index 9647d79..063be69 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_fmaf.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_fmaf.c
@@ -37,7 +37,7 @@ __fmaf_fma3 (float x, float y, float z)
 static float
 __fmaf_fma4 (float x, float y, float z)
 {
-  asm ("vfmaddss %3, %2, %1, %0" : "=x" (x) : "x" (x), "xm" (y), "xm" (z));
+  asm ("vfmaddss %3, %2, %1, %0" : "=x" (x) : "x" (x), "x" (y), "x" (z));
   return x;
 }
 # else

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2

commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2
Author: Peter Collingbourne <pcc@google.com>
Date:   Wed May 15 20:28:08 2013 +0200

    Move _obstack_compat out of common
    
    it is impossible to create an alias of a common symbol (as
    compat_symbol does), because common symbols do not have a section or
    an offset until linked.  GNU as tolerates aliases of common symbols by
    simply creating another common symbol, but other assemblers (notably
    LLVM's integrated assembler) are less tolerant.
    
    2013-05-15  Peter Collingbourne  <pcc@google.com>
    
    	* malloc/obstack.c (_obstack_compat): Add initializer.
    -

diff --git a/ChangeLog b/ChangeLog
index 79faa94..42b02ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-05-15  Peter Collingbourne  <pcc@google.com>
+
+	* malloc/obstack.c (_obstack_compat): Add initializer.
+
 2013-05-15  Edjunior Machado  <emachado@linux.vnet.ibm.com>
 
 	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h (siginfo_t): Remove
diff --git a/malloc/obstack.c b/malloc/obstack.c
index 25a9051..c3c7db4 100644
--- a/malloc/obstack.c
+++ b/malloc/obstack.c
@@ -115,7 +115,7 @@ int obstack_exit_failure = EXIT_FAILURE;
 /* A looong time ago (before 1994, anyway; we're not sure) this global variable
    was used by non-GNU-C macros to avoid multiple evaluation.  The GNU C
    library still exports it because somebody might use it.  */
-struct obstack *_obstack_compat;
+struct obstack *_obstack_compat = 0;
 compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0);
 #  endif
 # endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                             |   12 ++++++++++++
 malloc/obstack.c                      |    2 +-
 sysdeps/x86_64/fpu/math_private.h     |    6 ++++--
 sysdeps/x86_64/fpu/multiarch/s_fma.c  |    2 +-
 sysdeps/x86_64/fpu/multiarch/s_fmaf.c |    2 +-
 5 files changed, 19 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]