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.18-119-g24d22e6
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 Sep 2013 14:48:01 -0000
- Subject: 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