]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hppa: fix bug in floating point exception support
authorJohn David Anglin <dave.anglin@bell.net>
Sun, 10 Aug 2014 13:41:27 +0000 (09:41 -0400)
committerMike Frysinger <vapier@gentoo.org>
Mon, 9 Feb 2015 15:02:06 +0000 (10:02 -0500)
sysdeps/hppa/fpu/feholdexcpt.c
sysdeps/hppa/fpu/fesetenv.c

index 94eba374416f4cc340ad40d81ebc642daee7fe3b..aa5b5d23ec0568348e0316617df0d403bd1d16e6 100644 (file)
@@ -29,8 +29,8 @@ __feholdexcept (fenv_t *envp)
   /* Store the environment.  */
   bufptr = clear.buf;
   __asm__ (
-          "fstd,ma %%fr0,8(%1)\n"
-          : "=m" (clear), "+r" (bufptr) : : "%r0");
+          "fstd %%fr0,0(%1)\n"
+          : "=m" (clear) : "r" (bufptr) : "%r0");
   memcpy (envp, &clear.env, sizeof (fenv_t));
 
   /* Clear exception queues */
@@ -44,7 +44,7 @@ __feholdexcept (fenv_t *envp)
      Thus we start bufptr at the end and work backwards */
   bufptr = (unsigned long long *)((unsigned int)(clear.buf) + sizeof(unsigned int)*4);
   __asm__ (
-          "fldd,mb -8(%0),%%fr0\n"
+          "fldd 0(%0),%%fr0\n"
           : : "r" (bufptr), "m" (clear) : "%r0");
 
   return 0;
index 5b33ad61027ad17edc1568261d15f9e46302b1fd..5de755d3b50122055cc180f717a89ad3051517ab 100644 (file)
@@ -33,7 +33,7 @@ __fesetenv (const fenv_t *envp)
      we want to use from the environment specified by the parameter.  */
   bufptr = temp.buf;
   __asm__ (
-          "fstd,ma %%fr0,8(%1)\n"
+          "fstd %%fr0,0(%1)\n"
           : "=m" (temp) : "r" (bufptr) : "%r0");
 
   temp.env.__status_word &= ~(FE_ALL_EXCEPT
@@ -54,7 +54,7 @@ __fesetenv (const fenv_t *envp)
      we take advantage of that to load in reverse order so fr0
      is loaded last and T-Bit is enabled. */
   __asm__ (
-          "fldd,mb -8(%1),%%fr0\n"
+          "fldd 0(%1),%%fr0\n"
           : : "m" (temp), "r" (bufptr) : "%r0" );
 
   /* Success.  */