diff options
Diffstat (limited to 'sysdeps/sparc/sparc32/soft-fp')
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/Makefile | 20 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/Versions | 8 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_div.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_lltoq.c (renamed from sysdeps/sparc/sparc32/soft-fp/q_xtoq.c) | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_qtoll.c (renamed from sysdeps/sparc/sparc32/soft-fp/q_qtox.c) | 6 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_qtou.c (renamed from sysdeps/sparc/sparc32/soft-fp/q_qtoui.c) | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_qtoull.c (renamed from sysdeps/sparc/sparc32/soft-fp/q_qtoux.c) | 6 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_sqrt.c | 3 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c (renamed from sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c) | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_utoq.c (renamed from sysdeps/sparc/sparc32/soft-fp/q_uitoq.c) | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/sfp-machine.h | 14 |
11 files changed, 38 insertions, 39 deletions
diff --git a/sysdeps/sparc/sparc32/soft-fp/Makefile b/sysdeps/sparc/sparc32/soft-fp/Makefile index bba9bf7f86..d447b48285 100644 --- a/sysdeps/sparc/sparc32/soft-fp/Makefile +++ b/sysdeps/sparc/sparc32/soft-fp/Makefile @@ -1,6 +1,6 @@ # Software floating-point emulation. # Makefile for SPARC v8 long double utility functions (_Q_*). -# Copyright (C) 1999, 2000 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2006 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Jakub Jelinek (jj@ultra.linux.cz). # @@ -20,13 +20,11 @@ # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # 02111-1307 USA. -# Currently gcc does not support TFmode long double on sparc32 -# so these routines are not used. -#ifeq ($(subdir),soft-fp) -#sparc32-quad-routines := q_add q_cmp q_cmpe q_div q_dtoq q_feq q_fge \ -# q_fgt q_fle q_flt q_fne q_itoq q_mul q_neg q_qtod q_qtoi \ -# q_qtos q_qtoui q_qtoux q_qtox q_sqrt q_stoq q_sub q_uitoq \ -# q_uxtoq q_xtoq q_util -#sysdep_routines += $(sparc32-quad-routines) -# -#endif +ifeq ($(subdir),soft-fp) +sparc32-quad-routines := q_add q_cmp q_cmpe q_div q_dtoq q_feq q_fge \ + q_fgt q_fle q_flt q_fne q_itoq q_mul q_neg q_qtod q_qtoi \ + q_qtos q_qtou q_qtoull q_qtoll q_sqrt q_stoq q_sub q_utoq \ + q_ulltoq q_lltoq q_util +sysdep_routines += $(sparc32-quad-routines) + +endif diff --git a/sysdeps/sparc/sparc32/soft-fp/Versions b/sysdeps/sparc/sparc32/soft-fp/Versions new file mode 100644 index 0000000000..6a09249c46 --- /dev/null +++ b/sysdeps/sparc/sparc32/soft-fp/Versions @@ -0,0 +1,8 @@ +libc { + GLIBC_2.4 { + _Q_add; _Q_cmp; _Q_cmpe; _Q_div; _Q_dtoq; _Q_feq; _Q_fge; _Q_fgt; + _Q_fle; _Q_flt; _Q_fne; _Q_itoq; _Q_mul; _Q_neg; _Q_qtod; _Q_qtoi; + _Q_qtos; _Q_qtou; _Q_qtoull; _Q_qtoll; _Q_sqrt; _Q_stoq; _Q_sub; + _Q_utoq; _Q_ulltoq; _Q_lltoq; + } +} diff --git a/sysdeps/sparc/sparc32/soft-fp/q_div.c b/sysdeps/sparc/sparc32/soft-fp/q_div.c index bb4e697236..86db5ed9e9 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_div.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_div.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a / b - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -35,5 +35,5 @@ long double _Q_div(const long double a, const long double b) FP_DIV_Q(C, A, B); FP_PACK_Q(c, C); FP_HANDLE_EXCEPTIONS; - return long double; + return c; } diff --git a/sysdeps/sparc/sparc32/soft-fp/q_xtoq.c b/sysdeps/sparc/sparc32/soft-fp/q_lltoq.c index 867ef27131..c801ca86f1 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_xtoq.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_lltoq.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return (long double)a - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -23,7 +23,7 @@ #include "soft-fp.h" #include "quad.h" -long double _Q_xtoq(const long long a) +long double _Q_lltoq(const long long a) { FP_DECL_EX; FP_DECL_Q(C); diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtox.c b/sysdeps/sparc/sparc32/soft-fp/q_qtoll.c index 108373328e..af328bda1c 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_qtox.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_qtoll.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. - Return (long)a - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Return (long long)a + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -24,7 +24,7 @@ #include "soft-fp.h" #include "quad.h" -long long _Q_qtox(const long double a) +long long _Q_qtoll(const long double a) { FP_DECL_EX; FP_DECL_Q(A); diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtoui.c b/sysdeps/sparc/sparc32/soft-fp/q_qtou.c index bdbf052e09..041a78e28c 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_qtoui.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_qtou.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return (unsigned int)a - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -24,7 +24,7 @@ #include "soft-fp.h" #include "quad.h" -unsigned int _Q_qtoui(const long double a) +unsigned int _Q_qtou(const long double a) { FP_DECL_EX; FP_DECL_Q(A); diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtoux.c b/sysdeps/sparc/sparc32/soft-fp/q_qtoull.c index 3e6d40f220..8170e994f5 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_qtoux.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_qtoull.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. - Return (unsigned long)a - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Return (unsigned long long)a + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -24,7 +24,7 @@ #include "soft-fp.h" #include "quad.h" -unsigned long long _Q_qtoux(const long double a) +unsigned long long _Q_qtoull(const long double a) { FP_DECL_EX; FP_DECL_Q(A); diff --git a/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c b/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c index 7516ed7c5c..373d02a639 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return sqrtl(a) - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -36,3 +36,4 @@ long double _Q_sqrt(const long double a) FP_HANDLE_EXCEPTIONS; return c; } +strong_alias (_Q_sqrt, __ieee754_sqrtl); diff --git a/sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c b/sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c index 8944e9614d..77e64b4de7 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return (long double)(a) - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -23,7 +23,7 @@ #include "soft-fp.h" #include "quad.h" -long double _Q_uxtoq(const unsigned long long a) +long double _Q_ulltoq(const unsigned long long a) { FP_DECL_EX; FP_DECL_Q(C); diff --git a/sysdeps/sparc/sparc32/soft-fp/q_uitoq.c b/sysdeps/sparc/sparc32/soft-fp/q_utoq.c index b716fabde2..6efb780cf1 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_uitoq.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_utoq.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. c = (long double)(a) - Copyright (C) 1997,1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). @@ -23,7 +23,7 @@ #include "soft-fp.h" #include "quad.h" -long double _Q_uitoq(const unsigned int a) +long double _Q_utoq(const unsigned int a) { FP_DECL_EX; FP_DECL_Q(C); diff --git a/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h index 40bcbb4762..f1211705ef 100644 --- a/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h +++ b/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h @@ -1,6 +1,6 @@ /* Machine-dependent software floating-point definitions. Sparc userland (_Q_*) version. - Copyright (C) 1997,1998,1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1997,1998,1999, 2002, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz) and @@ -22,6 +22,7 @@ 02111-1307 USA. */ #include <fpu_control.h> +#include <stdlib.h> #define _FP_W_TYPE_SIZE 32 #define _FP_W_TYPE unsigned long @@ -208,14 +209,5 @@ do { \ " : : "r" (___Q_numbers) : "f30"); \ } \ else \ - { \ - __asm__ __volatile__("\ - mov %0, %%o0\n\ - mov %%o7, %%g1\n\ - call ___Q_simulate_exceptions\n\ - mov %%g1, %%o7\ - " : : "r" (_fex) : \ - "g1", "g2", "g3", "g4", "g5", "o0", \ - "o1", "o2", "o3", "o4", "o5", "cc"); \ - } \ + ___Q_simulate_exceptions (_fex); \ } while (0) |