This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.17-683-g1deff3d
- From: aj at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 May 2013 18:34:59 -0000
- Subject: 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