diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-05-19 10:03:24 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-05-19 10:03:24 +0000 |
commit | b1d072a75ee8f9f75ca8ab924ed7919be8796030 (patch) | |
tree | b3a4b98f9c162dfe1a49a77feef2b5abc7cac0ff /sysdeps/powerpc | |
parent | 9eae47cb5bc2f34372ac155ea6f362df0fbc0991 (diff) | |
download | glibc-b1d072a75ee8f9f75ca8ab924ed7919be8796030.zip glibc-b1d072a75ee8f9f75ca8ab924ed7919be8796030.tar.gz glibc-b1d072a75ee8f9f75ca8ab924ed7919be8796030.tar.bz2 |
Remove sysdeps/powerpc/soft-fp.
Diffstat (limited to 'sysdeps/powerpc')
31 files changed, 0 insertions, 1182 deletions
diff --git a/sysdeps/powerpc/soft-fp/Makefile b/sysdeps/powerpc/soft-fp/Makefile deleted file mode 100644 index 3cb104e..0000000 --- a/sysdeps/powerpc/soft-fp/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# Software floating-point emulation. -# Makefile for PowerPC SVR4 ABI mandated long double utility -# functions (_q_*). -# Copyright (C) 1999, 2000 Free Software Foundation, Inc. -# This file is part of the GNU C Library. -# Contributed by Jakub Jelinek (jj@ultra.linux.cz). -# - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, see -# <http://www.gnu.org/licenses/>. - -ifeq ($(subdir),soft-fp) -ifeq ($(sizeof-long-double),16) -powerpc-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 += $(powerpc-quad-routines) -endif -endif - -ifeq ($(subdir),math) -CPPFLAGS += -I../soft-fp/ -endif diff --git a/sysdeps/powerpc/soft-fp/Subdirs b/sysdeps/powerpc/soft-fp/Subdirs deleted file mode 100644 index 87eadf3..0000000 --- a/sysdeps/powerpc/soft-fp/Subdirs +++ /dev/null @@ -1 +0,0 @@ -soft-fp diff --git a/sysdeps/powerpc/soft-fp/Versions b/sysdeps/powerpc/soft-fp/Versions deleted file mode 100644 index 935c9c8..0000000 --- a/sysdeps/powerpc/soft-fp/Versions +++ /dev/null @@ -1,9 +0,0 @@ -libc { - GLIBC_2.2 { - _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_sqrt; _q_stoq; _q_sub; - _q_utoq; - _q_lltoq; _q_qtoll; _q_qtoull; _q_ulltoq; - } -} diff --git a/sysdeps/powerpc/soft-fp/q_add.c b/sysdeps/powerpc/soft-fp/q_add.c deleted file mode 100644 index b7ddb98..0000000 --- a/sysdeps/powerpc/soft-fp/q_add.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Software floating-point emulation. - Return a + b - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_add(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C); - long double c; - - FP_INIT_ROUNDMODE; - FP_UNPACK_SEMIRAW_Q(A, a); - FP_UNPACK_SEMIRAW_Q(B, b); - FP_ADD_Q(C, A, B); - FP_PACK_SEMIRAW_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_cmp.c b/sysdeps/powerpc/soft-fp/q_cmp.c deleted file mode 100644 index 7f1ff95..0000000 --- a/sysdeps/powerpc/soft-fp/q_cmp.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Software floating-point emulation. - Compare a and b, return float condition code. - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_cmp(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == -1) r = 2; - if (r == 3 && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_cmpe.c b/sysdeps/powerpc/soft-fp/q_cmpe.c deleted file mode 100644 index f336fa7..0000000 --- a/sysdeps/powerpc/soft-fp/q_cmpe.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Software floating-point emulation. - Compare a and b, return float condition code. - Signal exception (unless masked) if unordered. - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_cmpe(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == -1) r = 2; - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_div.c b/sysdeps/powerpc/soft-fp/q_div.c deleted file mode 100644 index 1694b82..0000000 --- a/sysdeps/powerpc/soft-fp/q_div.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Software floating-point emulation. - Return a / b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_div(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C); - long double c; - - FP_INIT_ROUNDMODE; - FP_UNPACK_Q(A, a); - FP_UNPACK_Q(B, b); - FP_DIV_Q(C, A, B); - FP_PACK_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_dtoq.c b/sysdeps/powerpc/soft-fp/q_dtoq.c deleted file mode 100644 index cf496e5..0000000 --- a/sysdeps/powerpc/soft-fp/q_dtoq.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Software floating-point emulation. - Return (long double)(a) - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "double.h" -#include "quad.h" - -long double _q_dtoq(const double a) -{ - FP_DECL_EX; - FP_DECL_D(A); - FP_DECL_Q(C); - long double c; - - FP_INIT_ROUNDMODE; - FP_UNPACK_RAW_D(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q - FP_EXTEND(Q,D,4,2,C,A); -#else - FP_EXTEND(Q,D,2,1,C,A); -#endif - FP_PACK_RAW_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_feq.c b/sysdeps/powerpc/soft-fp/q_feq.c deleted file mode 100644 index fee5910..0000000 --- a/sysdeps/powerpc/soft-fp/q_feq.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Software floating-point emulation. - Return 1 if a == b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_feq(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_EQ_Q(r, A, B); - if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return !r; -} diff --git a/sysdeps/powerpc/soft-fp/q_fge.c b/sysdeps/powerpc/soft-fp/q_fge.c deleted file mode 100644 index 867264f..0000000 --- a/sysdeps/powerpc/soft-fp/q_fge.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Software floating-point emulation. - Return 1 if a >= b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_fge(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return (r <= 0); -} diff --git a/sysdeps/powerpc/soft-fp/q_fgt.c b/sysdeps/powerpc/soft-fp/q_fgt.c deleted file mode 100644 index 0cc7515..0000000 --- a/sysdeps/powerpc/soft-fp/q_fgt.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Software floating-point emulation. - Return 1 if a > b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_fgt(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return (r == -1); -} diff --git a/sysdeps/powerpc/soft-fp/q_fle.c b/sysdeps/powerpc/soft-fp/q_fle.c deleted file mode 100644 index 3a8270e..0000000 --- a/sysdeps/powerpc/soft-fp/q_fle.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Software floating-point emulation. - Return 1 if a <= b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_fle(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_Q(r, B, A, -2); - if (r == -2) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return (r >= 0); -} diff --git a/sysdeps/powerpc/soft-fp/q_flt.c b/sysdeps/powerpc/soft-fp/q_flt.c deleted file mode 100644 index 3a0acee..0000000 --- a/sysdeps/powerpc/soft-fp/q_flt.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Software floating-point emulation. - Return 1 if a < b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_flt(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return (r == 1); -} diff --git a/sysdeps/powerpc/soft-fp/q_fne.c b/sysdeps/powerpc/soft-fp/q_fne.c deleted file mode 100644 index 7e17f78..0000000 --- a/sysdeps/powerpc/soft-fp/q_fne.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Software floating-point emulation. - Return 1 if a != b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -int _q_fne(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); - int r; - - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_EQ_Q(r, A, B); - if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) - FP_SET_EXCEPTION(FP_EX_INVALID); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_itoq.c b/sysdeps/powerpc/soft-fp/q_itoq.c deleted file mode 100644 index f58508b..0000000 --- a/sysdeps/powerpc/soft-fp/q_itoq.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (long double)(a) - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_itoq(const int a) -{ - FP_DECL_EX; - FP_DECL_Q(C); - int b = a; - long double c; - - FP_FROM_INT_Q(C, b, 32, unsigned int); - FP_PACK_RAW_Q(c, C); - FP_CLEAR_EXCEPTIONS; - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_lltoq.c b/sysdeps/powerpc/soft-fp/q_lltoq.c deleted file mode 100644 index d496851..0000000 --- a/sysdeps/powerpc/soft-fp/q_lltoq.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (long double)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_lltoq(const long long a) -{ - FP_DECL_EX; - FP_DECL_Q(C); - long double c; - long long b = a; - - FP_FROM_INT_Q(C, b, 64, unsigned long long); - FP_PACK_RAW_Q(c, C); - FP_CLEAR_EXCEPTIONS; - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_mul.c b/sysdeps/powerpc/soft-fp/q_mul.c deleted file mode 100644 index 9589f6b..0000000 --- a/sysdeps/powerpc/soft-fp/q_mul.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Software floating-point emulation. - Return a * b - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_mul(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C); - long double c; - - FP_INIT_ROUNDMODE; - FP_UNPACK_Q(A, a); - FP_UNPACK_Q(B, b); - FP_MUL_Q(C, A, B); - FP_PACK_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_neg.c b/sysdeps/powerpc/soft-fp/q_neg.c deleted file mode 100644 index 6e89c89..0000000 --- a/sysdeps/powerpc/soft-fp/q_neg.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Software floating-point emulation. - Return !a - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_neg(const long double a) -{ - FP_DECL_EX; - long double c = a; - -#if (__BYTE_ORDER == __BIG_ENDIAN) - ((UWtype *)&c)[0] ^= (((UWtype)1) << (W_TYPE_SIZE - 1)); -#elif (__BYTE_ORDER == __LITTLE_ENDIAN) && (W_TYPE_SIZE == 64) - ((UWtype *)&c)[1] ^= (((UWtype)1) << (W_TYPE_SIZE - 1)); -#elif (__BYTE_ORDER == __LITTLE_ENDIAN) && (W_TYPE_SIZE == 32) - ((UWtype *)&c)[3] ^= (((UWtype)1) << (W_TYPE_SIZE - 1)); -#else - FP_DECL_Q(A); FP_DECL_Q(C); - - FP_UNPACK_Q(A, a); - FP_NEG_Q(C, A); - FP_PACK_Q(c, C); -#endif - FP_CLEAR_EXCEPTIONS; - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_qtod.c b/sysdeps/powerpc/soft-fp/q_qtod.c deleted file mode 100644 index 2c73580..0000000 --- a/sysdeps/powerpc/soft-fp/q_qtod.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Software floating-point emulation. - Return (double)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "double.h" -#include "quad.h" - -double _q_qtod(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); - FP_DECL_D(R); - double r; - - FP_INIT_ROUNDMODE; - FP_UNPACK_SEMIRAW_Q(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q - FP_TRUNC(D,Q,2,4,R,A); -#else - FP_TRUNC(D,Q,1,2,R,A); -#endif - FP_PACK_SEMIRAW_D(r, R); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_qtoi.c b/sysdeps/powerpc/soft-fp/q_qtoi.c deleted file mode 100644 index 8c53719..0000000 --- a/sysdeps/powerpc/soft-fp/q_qtoi.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (int)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#define FP_ROUNDMODE FP_RND_ZERO -#include "soft-fp.h" -#include "quad.h" - -int _q_qtoi(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); - unsigned int r; - - FP_UNPACK_RAW_Q(A, a); - FP_TO_INT_Q(r, A, 32, 1); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_qtoll.c b/sysdeps/powerpc/soft-fp/q_qtoll.c deleted file mode 100644 index 0bdce83..0000000 --- a/sysdeps/powerpc/soft-fp/q_qtoll.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (long)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#define FP_ROUNDMODE FP_RND_ZERO -#include "soft-fp.h" -#include "quad.h" - -long long _q_qtoll(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); - unsigned long long r; - - FP_UNPACK_RAW_Q(A, a); - FP_TO_INT_Q(r, A, 64, 1); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_qtos.c b/sysdeps/powerpc/soft-fp/q_qtos.c deleted file mode 100644 index f33eb3b..0000000 --- a/sysdeps/powerpc/soft-fp/q_qtos.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Software floating-point emulation. - Return (float)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "single.h" -#include "quad.h" - -float _q_qtos(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); - FP_DECL_S(R); - float r; - - FP_INIT_ROUNDMODE; - FP_UNPACK_SEMIRAW_Q(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q - FP_TRUNC(S,Q,1,4,R,A); -#else - FP_TRUNC(S,Q,1,2,R,A); -#endif - FP_PACK_SEMIRAW_S(r, R); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_qtou.c b/sysdeps/powerpc/soft-fp/q_qtou.c deleted file mode 100644 index 48990cd..0000000 --- a/sysdeps/powerpc/soft-fp/q_qtou.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (unsigned int)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#define FP_ROUNDMODE FP_RND_ZERO -#include "soft-fp.h" -#include "quad.h" - -unsigned int _q_qtou(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); - unsigned int r; - - FP_UNPACK_RAW_Q(A, a); - FP_TO_INT_Q(r, A, 32, -1); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_qtoull.c b/sysdeps/powerpc/soft-fp/q_qtoull.c deleted file mode 100644 index 446c9fe..0000000 --- a/sysdeps/powerpc/soft-fp/q_qtoull.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (long)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#define FP_ROUNDMODE FP_RND_ZERO -#include "soft-fp.h" -#include "quad.h" - -unsigned long long _q_qtoull(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); - unsigned long long r; - - FP_UNPACK_RAW_Q(A, a); - FP_TO_INT_Q(r, A, 64, -1); - FP_HANDLE_EXCEPTIONS; - - return r; -} diff --git a/sysdeps/powerpc/soft-fp/q_sqrt.c b/sysdeps/powerpc/soft-fp/q_sqrt.c deleted file mode 100644 index c2eab24..0000000 --- a/sysdeps/powerpc/soft-fp/q_sqrt.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return sqrtl(a) - Copyright (C) 1997, 1999, 2000 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_sqrt(const long double a) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(C); - long double c; - - FP_INIT_ROUNDMODE; - FP_UNPACK_Q(A, a); - FP_SQRT_Q(C, A); - FP_PACK_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_stoq.c b/sysdeps/powerpc/soft-fp/q_stoq.c deleted file mode 100644 index e656b8f..0000000 --- a/sysdeps/powerpc/soft-fp/q_stoq.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Software floating-point emulation. - c = (long double)(a) - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "single.h" -#include "quad.h" - -long double _q_stoq(const float a) -{ - FP_DECL_EX; - FP_DECL_S(A); - FP_DECL_Q(C); - long double c; - - FP_UNPACK_RAW_S(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q - FP_EXTEND(Q,S,4,1,C,A); -#else - FP_EXTEND(Q,S,2,1,C,A); -#endif - FP_PACK_RAW_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_sub.c b/sysdeps/powerpc/soft-fp/q_sub.c deleted file mode 100644 index eedf2c2..0000000 --- a/sysdeps/powerpc/soft-fp/q_sub.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Software floating-point emulation. - c = a - b - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_sub(const long double a, const long double b) -{ - FP_DECL_EX; - FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C); - long double c; - - FP_INIT_ROUNDMODE; - FP_UNPACK_SEMIRAW_Q(A, a); - FP_UNPACK_SEMIRAW_Q(B, b); - FP_SUB_Q(C, A, B); - FP_PACK_SEMIRAW_Q(c, C); - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_ulltoq.c b/sysdeps/powerpc/soft-fp/q_ulltoq.c deleted file mode 100644 index 818dcaf..0000000 --- a/sysdeps/powerpc/soft-fp/q_ulltoq.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - Return (long double)a - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_ulltoq(const unsigned long long a) -{ - FP_DECL_EX; - FP_DECL_Q(C); - long double c; - unsigned long long b = a; - - FP_FROM_INT_Q(C, b, 64, unsigned long long); - FP_PACK_RAW_Q(c, C); - FP_CLEAR_EXCEPTIONS; - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/q_util.c b/sysdeps/powerpc/soft-fp/q_util.c deleted file mode 100644 index 301b95f..0000000 --- a/sysdeps/powerpc/soft-fp/q_util.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Software floating-point emulation. - Helper routine for _q_* routines. - Simulate exceptions using double arithmetics. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek (jj@ultra.linux.cz). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" - -unsigned long long ___q_numbers [] = { -0x0000000000000000ULL, /* Zero */ -0x0010100000000000ULL, /* Very tiny number */ -0x0010000000000000ULL, /* Minimum normalized number */ -0x7fef000000000000ULL, /* A huge double number */ -}; - -double ___q_simulate_exceptions(int exceptions) -{ - double d, *p = (double *)___q_numbers; - if (exceptions & FP_EX_INVALID) - d = p[0]/p[0]; - if (exceptions & FP_EX_OVERFLOW) - { - d = p[3] + p[3]; - exceptions &= ~FP_EX_INEXACT; - } - if (exceptions & FP_EX_UNDERFLOW) - { - if (exceptions & FP_EX_INEXACT) - { - d = p[2] * p[2]; - exceptions &= ~FP_EX_INEXACT; - } - else - d = p[1] - p[2]; - } - if (exceptions & FP_EX_DIVZERO) - d = 1.0/p[0]; - if (exceptions & FP_EX_INEXACT) - d = p[3] - p[2]; - return d; -} diff --git a/sysdeps/powerpc/soft-fp/q_utoq.c b/sysdeps/powerpc/soft-fp/q_utoq.c deleted file mode 100644 index 280734c..0000000 --- a/sysdeps/powerpc/soft-fp/q_utoq.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Software floating-point emulation. - c = (long double)(a) - Copyright (C) 1997, 1999, 2000, 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). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include "soft-fp.h" -#include "quad.h" - -long double _q_uitoq(const unsigned int a) -{ - FP_DECL_EX; - FP_DECL_Q(C); - long double c; - unsigned int b = a; - - FP_FROM_INT_Q(C, b, 32, unsigned int); - FP_PACK_RAW_Q(c, C); - FP_CLEAR_EXCEPTIONS; - FP_HANDLE_EXCEPTIONS; - return c; -} diff --git a/sysdeps/powerpc/soft-fp/sfp-machine.h b/sysdeps/powerpc/soft-fp/sfp-machine.h deleted file mode 100644 index 44a9184..0000000 --- a/sysdeps/powerpc/soft-fp/sfp-machine.h +++ /dev/null @@ -1,62 +0,0 @@ -#define _FP_W_TYPE_SIZE 32 -#define _FP_W_TYPE unsigned long -#define _FP_WS_TYPE signed long -#define _FP_I_TYPE long - -#define _FP_MUL_MEAT_S(R,X,Y) \ - _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_D(R,X,Y) \ - _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_Q(R,X,Y) \ - _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) - -#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y) -#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) -#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) - -#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) -#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1 -#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1 -#define _FP_NANSIGN_S 0 -#define _FP_NANSIGN_D 0 -#define _FP_NANSIGN_Q 0 - -#define _FP_KEEPNANFRACP 1 - -/* Someone please check this. */ -#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ - do { \ - if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \ - && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \ - { \ - R##_s = Y##_s; \ - _FP_FRAC_COPY_##wc(R,Y); \ - } \ - else \ - { \ - R##_s = X##_s; \ - _FP_FRAC_COPY_##wc(R,X); \ - } \ - R##_c = FP_CLS_NAN; \ - } while (0) - -/* Exception flags. We use the bit positions of the appropriate bits - in the FPSCR, which also correspond to the FE_* bits. This makes - everything easier ;-). */ -#define FP_EX_INVALID (1 << (31 - 2)) -#define FP_EX_OVERFLOW (1 << (31 - 3)) -#define FP_EX_UNDERFLOW (1 << (31 - 4)) -#define FP_EX_DIVZERO (1 << (31 - 5)) -#define FP_EX_INEXACT (1 << (31 - 6)) - -#define FP_HANDLE_EXCEPTIONS __simulate_exceptions (_fex) -#define FP_ROUNDMODE __sim_round_mode - -extern int __sim_exceptions; -libc_hidden_proto (__sim_exceptions); -extern int __sim_disabled_exceptions; -libc_hidden_proto (__sim_disabled_exceptions); -extern int __sim_round_mode; -libc_hidden_proto (__sim_round_mode); - -extern void __simulate_exceptions (int x) attribute_hidden; |