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.18-119-g24d22e6


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  24d22e65b39765bb9060f5a99974696171be1da9 (commit)
      from  2e071de0f7f75564bea9d216096c2e3366d06250 (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=24d22e65b39765bb9060f5a99974696171be1da9

commit 24d22e65b39765bb9060f5a99974696171be1da9
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Sep 18 14:47:49 2013 +0000

    e500 port: fpu_control.h.

diff --git a/ChangeLog b/ChangeLog
index 2a8feff..19fcc3c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,27 @@
 2013-09-18  Joseph Myers  <joseph@codesourcery.com>
+	    Aldy Hernandez  <aldyh@redhat.com>
+
+	* sysdeps/powerpc/fpu_control.h [_SOFT_FLOAT || __NO_FPRS__]:
+	Change condition to [_SOFT_FLOAT].
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_RC_NEAREST): New macro.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_RC_DOWN): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_RC_UP): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_RC_ZERO): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_MASK_ZM): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_MASK_OM): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_MASK_UM): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_MASK_XM): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_MASK_IM): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_RESERVED): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_DEFAULT): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_IEEE): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (fpu_control_t): New typedef.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_GETCW): New macro.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (_FPU_SETCW): Likewise.
+	[__NO_FPRS__ && !_SOFT_FLOAT] (__fpu_control): New variable
+	declaration.
+
+2013-09-18  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/powerpc/powerpc32/__longjmp-common.S (LOAD_GP): Define
 	macro conditional on [__SPE__ || (__NO_FPRS__ && !_SOFT_FLOAT)].
diff --git a/sysdeps/powerpc/fpu_control.h b/sysdeps/powerpc/fpu_control.h
index 1a6d395..c61a2e1 100644
--- a/sysdeps/powerpc/fpu_control.h
+++ b/sysdeps/powerpc/fpu_control.h
@@ -19,7 +19,7 @@
 #ifndef _FPU_CONTROL_H
 #define _FPU_CONTROL_H
 
-#if defined _SOFT_FLOAT || defined __NO_FPRS__
+#ifdef _SOFT_FLOAT
 
 # define _FPU_RESERVED 0xffffffff
 # define _FPU_DEFAULT  0x00000000 /* Default value.  */
@@ -28,6 +28,43 @@ typedef unsigned int fpu_control_t;
 # define _FPU_SETCW(cw) (void) (cw)
 extern fpu_control_t __fpu_control;
 
+#elif defined __NO_FPRS__ /* e500 */
+
+/* rounding control */
+# define _FPU_RC_NEAREST 0x00   /* RECOMMENDED */
+# define _FPU_RC_DOWN    0x03
+# define _FPU_RC_UP      0x02
+# define _FPU_RC_ZERO    0x01
+
+/* masking of interrupts */
+# define _FPU_MASK_ZM  0x10 /* zero divide */
+# define _FPU_MASK_OM  0x40 /* overflow */
+# define _FPU_MASK_UM  0x80 /* underflow */
+# define _FPU_MASK_XM  0x40 /* inexact */
+# define _FPU_MASK_IM  0x20 /* invalid operation */
+
+# define _FPU_RESERVED 0xff3fff7f /* These bits are reserved and not changed. */
+
+/* The fdlibm code requires no interrupts for exceptions.  */
+# define _FPU_DEFAULT  0x00000000 /* Default value.  */
+
+/* IEEE:  same as above, but (some) exceptions;
+   we leave the 'inexact' exception off.
+ */
+# define _FPU_IEEE     0x000003c0
+
+/* Type of the control word.  */
+typedef unsigned int fpu_control_t;
+
+/* Macros for accessing the hardware control word.  */
+# define _FPU_GETCW(cw) \
+  __asm__ volatile ("mfspefscr %0" : "=r" (cw))
+# define _FPU_SETCW(cw) \
+  __asm__ volatile ("mtspefscr %0" : : "r" (cw))
+
+/* Default control word set at startup.  */
+extern fpu_control_t __fpu_control;
+
 #else /* PowerPC 6xx floating-point.  */
 
 /* rounding control */

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

Summary of changes:
 ChangeLog                     |   23 +++++++++++++++++++++++
 sysdeps/powerpc/fpu_control.h |   39 ++++++++++++++++++++++++++++++++++++++-
 2 files changed, 61 insertions(+), 1 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]