about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc64/soft-fp/sfp-machine.h')
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/sfp-machine.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
index 7ec804da51..36f92d64fb 100644
--- a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
+++ b/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
@@ -92,7 +92,8 @@ do {								\
 #define FP_EX_DIVZERO		(1 << 1)
 #define FP_EX_INEXACT		(1 << 0)
 
-#define _FP_DECL_EX	fpu_control_t _fcw
+#define _FP_DECL_EX \
+  fpu_control_t _fcw __attribute__ ((unused)) = (FP_RND_NEAREST << 30)
 
 #define FP_INIT_ROUNDMODE					\
 do {								\
@@ -102,7 +103,7 @@ do {								\
 #define FP_INHIBIT_RESULTS ((_fcw >> 23) & _fex)
 
 /* Simulate exceptions using double arithmetics. */
-extern double __Qp_handle_exceptions(int exc);
+extern void __Qp_handle_exceptions(int exc);
 
 #define FP_HANDLE_EXCEPTIONS					\
 do {								\
@@ -111,10 +112,9 @@ do {								\
       /* This is the common case, so we do it inline.		\
        * We need to clear cexc bits if any.			\
        */							\
-      __asm__ __volatile__("\n"					\
-"      	fzero %%f62\n"						\
-"      	faddd %%f62, %%f62, %%f62\n"				\
-"      	" : : : "f62");						\
+      __asm__ __volatile__("fzero %%f62\n\t"			\
+			   "faddd %%f62, %%f62, %%f62"		\
+			   : : : "f62");			\
     }								\
   else								\
     {								\
@@ -136,8 +136,8 @@ do {								\
 } while (0)
 
 #define QP_NO_EXCEPTIONS					\
-  __asm ("fzero %%f62\n"					\
-"	  faddd %%f62, %%f62, %%f62" : : : "f62")
+  __asm ("fzero %%f62\n\t"					\
+	 "faddd %%f62, %%f62, %%f62" : : : "f62")
                               
 #define QP_CLOBBER "memory", "f52", "f54", "f56", "f58", "f60", "f62"
 #define QP_CLOBBER_CC QP_CLOBBER , "cc"