[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
fclearexcept() broken with xmm-instructions (latest CVS version)
From: |
Claus-Justus Heine |
Subject: |
fclearexcept() broken with xmm-instructions (latest CVS version) |
Date: |
Thu, 28 Aug 2003 14:22:25 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030806 |
Hi,
there is a little bug in sysdeps/i386/fpu/fclrexcpt.c, it's just a '&'<->'^'
thing.
#############################################################################
--- sysdeps/i386/fpu/fclrexcpt.c.old 2003-08-28 13:21:45.000000000 +0200
+++ sysdeps/i386/fpu/fclrexcpt.c 2003-08-28 13:21:55.000000000 +0200
@@ -50,7 +50,7 @@
__asm__ ("stmxcsr %0" : "=m" (*&xnew_exc));
/* Clear the relevant bits. */
- xnew_exc &= excepts ^ FE_ALL_EXCEPT;
+ xnew_exc ^= excepts ^ FE_ALL_EXCEPT;
/* Put the new data in effect. */
__asm__ ("ldmxcsr %0" : : "m" (*&xnew_exc));
#############################################################################
With "&" one clears the exception-mask bits in the mxcsr which is not
intended, the ^ will work fine because "excepts" already has all bits cleared
which do not belong to the exception status.
Regards
Claus
--- sysdeps/i386/fpu/fclrexcpt.c.old 2003-08-28 13:21:45.000000000 +0200
+++ sysdeps/i386/fpu/fclrexcpt.c 2003-08-28 13:21:55.000000000 +0200
@@ -50,7 +50,7 @@
__asm__ ("stmxcsr %0" : "=m" (*&xnew_exc));
/* Clear the relevant bits. */
- xnew_exc &= excepts ^ FE_ALL_EXCEPT;
+ xnew_exc ^= excepts ^ FE_ALL_EXCEPT;
/* Put the new data in effect. */
__asm__ ("ldmxcsr %0" : : "m" (*&xnew_exc));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- fclearexcept() broken with xmm-instructions (latest CVS version),
Claus-Justus Heine <=