diff options
Diffstat (limited to 'sysdeps/hppa/fpu')
-rw-r--r-- | sysdeps/hppa/fpu/bits/fenv.h | 99 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fclrexcpt.c | 36 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fedisblxcpt.c | 37 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/feenablxcpt.c | 37 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fegetenv.c | 37 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fegetexcept.c | 33 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fegetmode.c | 27 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fegetround.c | 29 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/feholdexcpt.c | 53 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fesetenv.c | 65 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fesetexcept.c | 35 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fesetmode.c | 36 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fesetround.c | 42 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/feupdateenv.c | 55 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fgetexcptflg.c | 36 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fpu_control.h | 71 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fraiseexcpt.c | 103 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/fsetexcptflg.c | 43 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/ftestexcept.c | 34 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/libm-test-ulps | 1764 | ||||
-rw-r--r-- | sysdeps/hppa/fpu/libm-test-ulps-name | 1 |
21 files changed, 0 insertions, 2673 deletions
diff --git a/sysdeps/hppa/fpu/bits/fenv.h b/sysdeps/hppa/fpu/bits/fenv.h deleted file mode 100644 index 72e06213fa..0000000000 --- a/sysdeps/hppa/fpu/bits/fenv.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org> - - 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/>. */ - -#ifndef _FENV_H -# error "Never use <bits/fenv.h> directly; include <fenv.h> instead." -#endif - -/* Define bits representing the exception. We use the values of the - appropriate enable bits in the FPU status word (which, - coincidentally, are the same as the flag bits, but shifted right by - 27 bits). */ -enum -{ - FE_INVALID = -#define FE_INVALID (1<<4) /* V */ - FE_INVALID, - FE_DIVBYZERO = -#define FE_DIVBYZERO (1<<3) /* Z */ - FE_DIVBYZERO, - FE_OVERFLOW = -#define FE_OVERFLOW (1<<2) /* O */ - FE_OVERFLOW, - FE_UNDERFLOW = -#define FE_UNDERFLOW (1<<1) /* U */ - FE_UNDERFLOW, - FE_INEXACT = -#define FE_INEXACT (1<<0) /* I */ - FE_INEXACT, -}; - -#define FE_ALL_EXCEPT \ - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) - -/* The PA-RISC FPU supports all of the four defined rounding modes. - We use the values of the RM field in the floating point status - register for the appropriate macros. */ -enum - { - FE_TONEAREST = -#define FE_TONEAREST (0 << 9) - FE_TONEAREST, - FE_TOWARDZERO = -#define FE_TOWARDZERO (1 << 9) - FE_TOWARDZERO, - FE_UPWARD = -#define FE_UPWARD (2 << 9) - FE_UPWARD, - FE_DOWNWARD = -#define FE_DOWNWARD (3 << 9) - FE_DOWNWARD, - }; - -/* Type representing exception flags. */ -typedef unsigned int fexcept_t; - -/* Type representing floating-point environment. This structure - corresponds to the layout of the status and exception words in the - register file. The exception registers are never saved/stored by - userspace. This structure is also not correctly aligned ever, in - an ABI error we left out __aligned(8) and subsequently all of our - fenv functions must accept unaligned input, align the input, and - then use assembly to store fr0. This is a performance hit, but - means the ABI is stable. */ -typedef struct -{ - unsigned int __status_word; - unsigned int __exception[7]; -} fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1) - -#ifdef __USE_GNU -/* Floating-point environment where none of the exceptions are masked. */ -# define FE_NOMASK_ENV ((const fenv_t *) -2) -#endif - -#if __GLIBC_USE (IEC_60559_BFP_EXT) -/* Type representing floating-point control modes. */ -typedef unsigned int femode_t; - -/* Default floating-point control modes. */ -# define FE_DFL_MODE ((const femode_t *) -1L) -#endif diff --git a/sysdeps/hppa/fpu/fclrexcpt.c b/sysdeps/hppa/fpu/fclrexcpt.c deleted file mode 100644 index 712911756a..0000000000 --- a/sysdeps/hppa/fpu/fclrexcpt.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Clear given exceptions in current floating-point environment. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -feclearexcept (int excepts) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l) : "%r0"); - /* Clear all the relevant bits. */ - s.sw[0] &= ~((excepts & FE_ALL_EXCEPT) << 27); - __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l) : "%r0"); - - /* Success. */ - return 0; -} -libm_hidden_def (feclearexcept) diff --git a/sysdeps/hppa/fpu/fedisblxcpt.c b/sysdeps/hppa/fpu/fedisblxcpt.c deleted file mode 100644 index 80ba8ee9e8..0000000000 --- a/sysdeps/hppa/fpu/fedisblxcpt.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Disable floating-point exceptions. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -fedisableexcept (int excepts) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - unsigned int old_exc; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l) : "%r0"); - - old_exc = s.sw[0] & FE_ALL_EXCEPT; - - s.sw[0] &= ~(excepts & FE_ALL_EXCEPT); - __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l) : "%r0"); - - return old_exc; -} diff --git a/sysdeps/hppa/fpu/feenablxcpt.c b/sysdeps/hppa/fpu/feenablxcpt.c deleted file mode 100644 index 6b0570c9e3..0000000000 --- a/sysdeps/hppa/fpu/feenablxcpt.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Enable floating-point exceptions. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -feenableexcept (int excepts) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - unsigned int old_exc; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l) : "%r0"); - - old_exc = s.sw[0] & FE_ALL_EXCEPT; - - s.sw[0] |= (excepts & FE_ALL_EXCEPT); - __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l) : "%r0"); - - return old_exc; -} diff --git a/sysdeps/hppa/fpu/fegetenv.c b/sysdeps/hppa/fpu/fegetenv.c deleted file mode 100644 index f67d56830a..0000000000 --- a/sysdeps/hppa/fpu/fegetenv.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Store current floating-point environment. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> -#include <string.h> - -int -__fegetenv (fenv_t *envp) -{ - unsigned long long buf[4], *bufptr = buf; - - __asm__ ( - "fstd,ma %%fr0,8(%1) \n\t" - "fldd -8(%1),%%fr0 \n\t" - : "=m" (buf), "+r" (bufptr) : : "%r0"); - memcpy(envp, buf, sizeof (*envp)); - return 0; -} -libm_hidden_def (__fegetenv) -weak_alias (__fegetenv, fegetenv) -libm_hidden_weak (fegetenv) diff --git a/sysdeps/hppa/fpu/fegetexcept.c b/sysdeps/hppa/fpu/fegetexcept.c deleted file mode 100644 index c1bb3bce8f..0000000000 --- a/sysdeps/hppa/fpu/fegetexcept.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Get enabled floating-point exceptions. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -fegetexcept (void) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1) \n\t" - "fldd 0(%1),%%fr0 \n\t" - : "=m" (s.l) : "r" (&s.l) : "%r0"); - - return (s.sw[0] & FE_ALL_EXCEPT); -} diff --git a/sysdeps/hppa/fpu/fegetmode.c b/sysdeps/hppa/fpu/fegetmode.c deleted file mode 100644 index b28b96440e..0000000000 --- a/sysdeps/hppa/fpu/fegetmode.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Store current floating-point control modes. HPPA version. - Copyright (C) 2016-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 <fenv.h> -#include <fpu_control.h> - -int -fegetmode (femode_t *modep) -{ - _FPU_GETCW (*modep); - return 0; -} diff --git a/sysdeps/hppa/fpu/fegetround.c b/sysdeps/hppa/fpu/fegetround.c deleted file mode 100644 index bd8a112224..0000000000 --- a/sysdeps/hppa/fpu/fegetround.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Return current rounding direction. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <get-rounding-mode.h> - -int -__fegetround (void) -{ - return get_rounding_mode (); -} -libm_hidden_def (__fegetround) -weak_alias (__fegetround, fegetround) -libm_hidden_weak (fegetround) diff --git a/sysdeps/hppa/fpu/feholdexcpt.c b/sysdeps/hppa/fpu/feholdexcpt.c deleted file mode 100644 index e8f142e7e6..0000000000 --- a/sysdeps/hppa/fpu/feholdexcpt.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Store current floating-point environment and clear exceptions. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> -#include <string.h> - -int -__feholdexcept (fenv_t *envp) -{ - union { unsigned long long buf[4]; fenv_t env; } clear; - unsigned long long *bufptr; - - /* Store the environment. */ - bufptr = clear.buf; - __asm__ ( - "fstd %%fr0,0(%1)\n" - : "=m" (clear) : "r" (bufptr) : "%r0"); - memcpy (envp, &clear.env, sizeof (fenv_t)); - - /* Clear exception queues */ - memset (clear.env.__exception, 0, sizeof (clear.env.__exception)); - /* And set all exceptions to non-stop. */ - clear.env.__status_word &= ~FE_ALL_EXCEPT; - /* Now clear all flags */ - clear.env.__status_word &= ~(FE_ALL_EXCEPT << 27); - - /* Load the new environment. Note: fr0 must load last to enable T-bit. */ - __asm__ ( - "fldd 0(%0),%%fr0\n" - : : "r" (bufptr), "m" (clear) : "%r0"); - - return 0; -} - -libm_hidden_def (__feholdexcept) -weak_alias (__feholdexcept, feholdexcept) -libm_hidden_weak (feholdexcept) diff --git a/sysdeps/hppa/fpu/fesetenv.c b/sysdeps/hppa/fpu/fesetenv.c deleted file mode 100644 index 24f84f215a..0000000000 --- a/sysdeps/hppa/fpu/fesetenv.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Install given floating-point environment. - Copyright (C) 1997-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - Based on the m68k version by - Andreas Schwab <schwab@suse.de> - - 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 <fenv.h> - -int -__fesetenv (const fenv_t *envp) -{ - union { unsigned long long buf[4]; fenv_t env; } temp; - unsigned long long *bufptr; - - /* Install the environment specified by ENVP. But there are a few - values which we do not want to come from the saved environment. - Therefore, we get the current environment and replace the values - we want to use from the environment specified by the parameter. */ - bufptr = temp.buf; - __asm__ ( - "fstd %%fr0,0(%1)\n" - : "=m" (temp) : "r" (bufptr) : "%r0"); - - temp.env.__status_word &= ~(FE_ALL_EXCEPT - | (FE_ALL_EXCEPT << 27) - | FE_DOWNWARD); - if (envp == FE_DFL_ENV) - temp.env.__status_word = 0; - else if (envp == FE_NOMASK_ENV) - temp.env.__status_word |= FE_ALL_EXCEPT; - else - temp.env.__status_word |= (envp->__status_word - & (FE_ALL_EXCEPT - | FE_DOWNWARD - | (FE_ALL_EXCEPT << 27))); - - /* Load the new environment. We use bufptr again since the - initial asm has modified the value of the register and here - we take advantage of that to load in reverse order so fr0 - is loaded last and T-Bit is enabled. */ - __asm__ ( - "fldd 0(%1),%%fr0\n" - : : "m" (temp), "r" (bufptr) : "%r0" ); - - /* Success. */ - return 0; -} -libm_hidden_def (__fesetenv) -weak_alias (__fesetenv, fesetenv) -libm_hidden_weak (fesetenv) diff --git a/sysdeps/hppa/fpu/fesetexcept.c b/sysdeps/hppa/fpu/fesetexcept.c deleted file mode 100644 index d92f3ee00e..0000000000 --- a/sysdeps/hppa/fpu/fesetexcept.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Set given exception flags. HPPA version. - Copyright (C) 2016-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 <fenv.h> -#include <fpu_control.h> - -int -fesetexcept (int excepts) -{ - fpu_control_t fpsr; - fpu_control_t fpsr_new; - - _FPU_GETCW (fpsr); - excepts &= FE_ALL_EXCEPT; - fpsr_new = fpsr | (excepts << _FPU_HPPA_SHIFT_FLAGS); - if (fpsr != fpsr_new) - _FPU_SETCW (fpsr_new); - - return 0; -} diff --git a/sysdeps/hppa/fpu/fesetmode.c b/sysdeps/hppa/fpu/fesetmode.c deleted file mode 100644 index b9d958e719..0000000000 --- a/sysdeps/hppa/fpu/fesetmode.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Install given floating-point control modes. HPPA version. - Copyright (C) 2016-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 <fenv.h> -#include <fpu_control.h> - -#define FPU_CONTROL_BITS (_FPU_HPPA_MASK_RM | 0x20 | _FPU_HPPA_MASK_INT) - -int -fesetmode (const femode_t *modep) -{ - fpu_control_t cw; - _FPU_GETCW (cw); - cw &= ~FPU_CONTROL_BITS; - if (modep == FE_DFL_MODE) - cw |= _FPU_DEFAULT; - else - cw |= *modep & FPU_CONTROL_BITS; - _FPU_SETCW (cw); - return 0; -} diff --git a/sysdeps/hppa/fpu/fesetround.c b/sysdeps/hppa/fpu/fesetround.c deleted file mode 100644 index af1952d042..0000000000 --- a/sysdeps/hppa/fpu/fesetround.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Set current rounding direction. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -__fesetround (int round) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - - if (round & ~FE_DOWNWARD) - /* round is not a valid rounding mode. */ - return 1; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l) : "%r0"); - s.sw[0] &= ~FE_DOWNWARD; - s.sw[0] |= round & FE_DOWNWARD; - __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l) : "%r0"); - - return 0; -} - -libm_hidden_def (__fesetround) -weak_alias (__fesetround, fesetround) -libm_hidden_weak (fesetround) diff --git a/sysdeps/hppa/fpu/feupdateenv.c b/sysdeps/hppa/fpu/feupdateenv.c deleted file mode 100644 index 1fb9823b0c..0000000000 --- a/sysdeps/hppa/fpu/feupdateenv.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Install given floating-point environment and raise exceptions. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> -#include <string.h> - -int -__feupdateenv (const fenv_t *envp) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - fenv_t temp; - /* Get the current exception status */ - __asm__ ("fstd %%fr0,0(%1) \n\t" - "fldd 0(%1),%%fr0 \n\t" - : "=m" (s.l) : "r" (&s.l)); - - /* Given environment with exception flags not cleared. */ - if ((envp != FE_DFL_ENV) && (envp != FE_NOMASK_ENV)) - { - memcpy(&temp, envp, sizeof(fenv_t)); - temp.__status_word |= s.sw[0] & (FE_ALL_EXCEPT << 27); - } - - /* Default environment with exception flags not cleared. */ - if (envp == FE_DFL_ENV) - temp.__status_word = s.sw[0] & (FE_ALL_EXCEPT << 27); - - /* All traps enabled and current exception flags not cleared. */ - if (envp == FE_NOMASK_ENV) - temp.__status_word = (s.sw[0] & (FE_ALL_EXCEPT << 27)) | FE_ALL_EXCEPT; - - /* Install new environment. */ - __fesetenv (&temp); - /* Success. */ - return 0; -} -libm_hidden_def (__feupdateenv) -weak_alias (__feupdateenv, feupdateenv) -libm_hidden_weak (feupdateenv) diff --git a/sysdeps/hppa/fpu/fgetexcptflg.c b/sysdeps/hppa/fpu/fgetexcptflg.c deleted file mode 100644 index 701526103a..0000000000 --- a/sysdeps/hppa/fpu/fgetexcptflg.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Store current representation for exceptions. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -fegetexceptflag (fexcept_t *flagp, int excepts) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1) \n\t" - "fldd 0(%1),%%fr0 \n\t" - : "=m" (s.l) : "r" (&s.l) : "%r0"); - - *flagp = (s.sw[0] >> 27) & excepts & FE_ALL_EXCEPT; - - /* Success. */ - return 0; -} diff --git a/sysdeps/hppa/fpu/fpu_control.h b/sysdeps/hppa/fpu/fpu_control.h deleted file mode 100644 index a5dcdb5a3a..0000000000 --- a/sysdeps/hppa/fpu/fpu_control.h +++ /dev/null @@ -1,71 +0,0 @@ -/* FPU control word definitions. HP-PARISC version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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/>. */ - -#ifndef _FPU_CONTROL_H -#define _FPU_CONTROL_H - -/* Masking of interrupts. */ -#define _FPU_MASK_PM 0x00000001 /* Inexact (I) */ -#define _FPU_MASK_UM 0x00000002 /* Underflow (U) */ -#define _FPU_MASK_OM 0x00000004 /* Overflow (O) */ -#define _FPU_MASK_ZM 0x00000008 /* Divide by zero (Z) */ -#define _FPU_MASK_IM 0x00000010 /* Invalid operation (V) */ - -/* Masking of rounding modes. */ -#define _FPU_HPPA_MASK_RM 0x00000600 /* Rounding mode mask */ -/* Masking of interrupt enable bits. */ -#define _FPU_HPPA_MASK_INT 0x0000001f /* Interrupt mask */ -/* Shift by 27 to install flag bits. */ -#define _FPU_HPPA_SHIFT_FLAGS 27 - -/* There are no reserved bits in the PA fpsr (though some are undefined). */ -#define _FPU_RESERVED 0x00000000 -/* Default is: No traps enabled, no flags set, round to nearest. */ -#define _FPU_DEFAULT 0x00000000 -/* Default + exceptions (FE_ALL_EXCEPT) enabled. */ -#define _FPU_IEEE (_FPU_DEFAULT | _FPU_HPPA_MASK_INT) - -/* Type of the control word. */ -typedef unsigned int fpu_control_t; - -/* Macros for accessing the hardware control word. */ -#define _FPU_GETCW(cw) \ -({ \ - union { __extension__ unsigned long long __fpreg; unsigned int __halfreg[2]; } __fullfp; \ - /* Get the current status word. */ \ - __asm__ ("fstd %%fr0,0(%1)\n\t" \ - "fldd 0(%1),%%fr0\n\t" \ - : "=m" (__fullfp.__fpreg) : "r" (&__fullfp.__fpreg) : "%r0"); \ - cw = __fullfp.__halfreg[0]; \ -}) - -#define _FPU_SETCW(cw) \ -({ \ - union { __extension__ unsigned long long __fpreg; unsigned int __halfreg[2]; } __fullfp; \ - /* Get the current status word and set the control word. */ \ - __asm__ ("fstd %%fr0,0(%1)\n\t" \ - : "=m" (__fullfp.__fpreg) : "r" (&__fullfp.__fpreg) : "%r0"); \ - __fullfp.__halfreg[0] = cw; \ - __asm__ ("fldd 0(%1),%%fr0\n\t" \ - : : "m" (__fullfp.__fpreg), "r" (&__fullfp.__fpreg) : "%r0" ); \ -}) - -/* Default control word set at startup. */ -extern fpu_control_t __fpu_control; - -#endif /* _FPU_CONTROL_H */ diff --git a/sysdeps/hppa/fpu/fraiseexcpt.c b/sysdeps/hppa/fpu/fraiseexcpt.c deleted file mode 100644 index 230724ca0d..0000000000 --- a/sysdeps/hppa/fpu/fraiseexcpt.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Raise given exceptions. - Copyright (C) 1997-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org> - - 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 <fenv.h> -#include <float.h> -#include <math.h> - -/* Please see section 10, - page 10-5 "Delayed Trapping" in the PA-RISC 2.0 Architecture manual */ - -int -__feraiseexcept (int excepts) -{ - /* Raise exceptions represented by EXCEPTS. But we must raise only one - signal at a time. It is important that if the overflow/underflow - exception and the divide by zero exception are given at the same - time, the overflow/underflow exception follows the divide by zero - exception. */ - - /* We do these bits in assembly to be certain GCC doesn't optimize - away something important, and so we can force delayed traps to - occur. */ - - /* We use "fldd 0(%%sr0,%%sp),%0" to flush the delayed exception */ - - /* First: Invalid exception. */ - if (excepts & FE_INVALID) - { - /* One example of an invalid operation is 0 * Infinity. */ - double d = HUGE_VAL; - __asm__ __volatile__ ( - " fcpy,dbl %%fr0,%%fr22\n" - " fmpy,dbl %0,%%fr22,%0\n" - " fldd 0(%%sr0,%%sp),%0" - : "+f" (d) : : "%fr22" ); - } - - /* Second: Division by zero. */ - if (excepts & FE_DIVBYZERO) - { - double d = 1.0; - __asm__ __volatile__ ( - " fcpy,dbl %%fr0,%%fr22\n" - " fdiv,dbl %0,%%fr22,%0\n" - " fldd 0(%%sr0,%%sp),%0" - : "+f" (d) : : "%fr22" ); - } - - /* Third: Overflow. */ - if (excepts & FE_OVERFLOW) - { - double d = DBL_MAX; - __asm__ __volatile__ ( - " fadd,dbl %0,%0,%0\n" - " fldd 0(%%sr0,%%sp),%0" - : "+f" (d) ); - } - - /* Fourth: Underflow. */ - if (excepts & FE_UNDERFLOW) - { - double d = DBL_MIN; - double e = 3.0; - __asm__ __volatile__ ( - " fdiv,dbl %0,%1,%0\n" - " fldd 0(%%sr0,%%sp),%0" - : "+f" (d) : "f" (e) ); - } - - /* Fifth: Inexact */ - if (excepts & FE_INEXACT) - { - double d = M_PI; - double e = 69.69; - __asm__ __volatile__ ( - " fdiv,dbl %0,%1,%%fr22\n" - " fcnvfxt,dbl,sgl %%fr22,%%fr22L\n" - " fldd 0(%%sr0,%%sp),%%fr22" - : : "f" (d), "f" (e) : "%fr22" ); - } - - /* Success. */ - return 0; -} -libm_hidden_def (__feraiseexcept) -weak_alias (__feraiseexcept, feraiseexcept) -libm_hidden_weak (feraiseexcept) diff --git a/sysdeps/hppa/fpu/fsetexcptflg.c b/sysdeps/hppa/fpu/fsetexcptflg.c deleted file mode 100644 index 4d21ae7c08..0000000000 --- a/sysdeps/hppa/fpu/fsetexcptflg.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Set floating-point environment exception handling. - Copyright (C) 1997-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> -#include <fpu_control.h> - -int -fesetexceptflag (const fexcept_t *flagp, int excepts) -{ - fpu_control_t fpsr; - fpu_control_t fpsr_new; - - /* Get the current status word. */ - _FPU_GETCW (fpsr); - excepts &= FE_ALL_EXCEPT; - - /* Install new raised flags. */ - fpsr_new = fpsr & ~(excepts << _FPU_HPPA_SHIFT_FLAGS); - fpsr_new |= (*flagp & excepts) << _FPU_HPPA_SHIFT_FLAGS; - - /* Store the new status word. */ - if (fpsr != fpsr_new) - _FPU_SETCW (fpsr_new); - - /* Success. */ - return 0; -} diff --git a/sysdeps/hppa/fpu/ftestexcept.c b/sysdeps/hppa/fpu/ftestexcept.c deleted file mode 100644 index f9787b41be..0000000000 --- a/sysdeps/hppa/fpu/ftestexcept.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Test exception in current environment. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Huggins-Daines <dhd@debian.org>, 2000 - - 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 <fenv.h> - -int -fetestexcept (int excepts) -{ - union { unsigned long long l; unsigned int sw[2]; } s; - - /* Get the current status word. */ - __asm__ ("fstd %%fr0,0(%1) \n\t" - "fldd 0(%1),%%fr0 \n\t" - : "=m" (s.l) : "r" (&s.l)); - - return (s.sw[0] >> 27) & excepts & FE_ALL_EXCEPT; -} -libm_hidden_def (fetestexcept) diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps deleted file mode 100644 index b5c8e7ccde..0000000000 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ /dev/null @@ -1,1764 +0,0 @@ -# Begin of automatic generation - -# Maximal error of functions: -Function: "acos": -float: 1 -ifloat: 1 - -Function: "acos_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "acos_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "acos_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "acosh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "acosh_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "acosh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "acosh_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "asin": -float: 1 -ifloat: 1 - -Function: "asin_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "asin_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "asin_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "asinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "asinh_downward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "asinh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "asinh_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "atan": -float: 1 -ifloat: 1 - -Function: "atan2": -float: 1 -ifloat: 1 - -Function: "atan2_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "atan2_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "atan2_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "atan_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "atan_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "atan_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "atanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "atanh_downward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "atanh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "atanh_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "cabs": -double: 1 -idouble: 1 - -Function: "cabs_downward": -double: 1 -idouble: 1 - -Function: "cabs_towardzero": -double: 1 -idouble: 1 - -Function: "cabs_upward": -double: 1 -idouble: 1 - -Function: Real part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "cacos_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "cacos_downward": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Real part of "cacos_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "cacos_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Real part of "cacos_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "cacos_upward": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: Real part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "cacosh_downward": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Imaginary part of "cacosh_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "cacosh_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Imaginary part of "cacosh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "cacosh_upward": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: Imaginary part of "cacosh_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "carg": -float: 1 -ifloat: 1 - -Function: "carg_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "carg_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "carg_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "casin": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "casin_downward": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 - -Function: Imaginary part of "casin_downward": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Real part of "casin_towardzero": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 - -Function: Imaginary part of "casin_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Real part of "casin_upward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "casin_upward": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: Real part of "casinh": -double: 5 -float: 2 -idouble: 5 -ifloat: 2 -ildouble: 5 -ldouble: 5 - -Function: Imaginary part of "casinh": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Real part of "casinh_downward": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Imaginary part of "casinh_downward": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 - -Function: Real part of "casinh_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Imaginary part of "casinh_towardzero": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 - -Function: Real part of "casinh_upward": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: Imaginary part of "casinh_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "catan": -float: 1 -ifloat: 1 - -Function: Imaginary part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "catan_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "catan_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "catan_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "catan_towardzero": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Real part of "catan_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "catan_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: Real part of "catanh": -double: 4 -float: 1 -idouble: 4 -ifloat: 1 -ildouble: 4 -ldouble: 4 - -Function: Imaginary part of "catanh": -float: 1 -ifloat: 1 - -Function: Real part of "catanh_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "catanh_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "catanh_towardzero": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "catanh_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "catanh_upward": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: Imaginary part of "catanh_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cbrt": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cbrt_downward": -double: 4 -float: 1 -idouble: 4 -ifloat: 1 - -Function: "cbrt_towardzero": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 - -Function: "cbrt_upward": -double: 5 -float: 1 -idouble: 5 -ifloat: 1 - -Function: Real part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "ccos_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccos_downward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "ccos_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "ccos_towardzero": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "ccos_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "ccos_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "ccosh_downward": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Imaginary part of "ccosh_downward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "ccosh_towardzero": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Imaginary part of "ccosh_towardzero": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "ccosh_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "ccosh_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "cexp": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "cexp": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "cexp_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cexp_downward": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Real part of "cexp_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cexp_towardzero": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Real part of "cexp_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cexp_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "clog": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: Imaginary part of "clog": -float: 1 -ifloat: 1 - -Function: Real part of "clog10": -double: 3 -float: 4 -idouble: 3 -ifloat: 4 - -Function: Imaginary part of "clog10": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: Real part of "clog10_downward": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: Imaginary part of "clog10_downward": -double: 3 -float: 4 -idouble: 3 -ifloat: 4 - -Function: Real part of "clog10_towardzero": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: Imaginary part of "clog10_towardzero": -double: 3 -float: 4 -idouble: 3 -ifloat: 4 - -Function: Real part of "clog10_upward": -double: 6 -float: 5 -idouble: 6 -ifloat: 5 - -Function: Imaginary part of "clog10_upward": -double: 2 -float: 4 -idouble: 2 -ifloat: 4 - -Function: Real part of "clog_downward": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: Imaginary part of "clog_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "clog_towardzero": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: Imaginary part of "clog_towardzero": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Real part of "clog_upward": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: Imaginary part of "clog_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "cos": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "cos_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "cos_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cos_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "cosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cosh_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cosh_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cosh_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "cpow": -double: 2 -float: 4 -idouble: 2 -ifloat: 4 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "cpow": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "cpow_downward": -double: 4 -float: 8 -idouble: 4 -ifloat: 8 - -Function: Imaginary part of "cpow_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "cpow_towardzero": -double: 4 -float: 8 -idouble: 4 -ifloat: 8 - -Function: Imaginary part of "cpow_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "cpow_upward": -double: 4 -float: 1 -idouble: 4 -ifloat: 1 - -Function: Imaginary part of "cpow_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "csin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "csin_downward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Imaginary part of "csin_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "csin_towardzero": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Imaginary part of "csin_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "csin_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Imaginary part of "csin_upward": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Real part of "csinh": -float: 1 -ifloat: 1 - -Function: Imaginary part of "csinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "csinh_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "csinh_downward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "csinh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "csinh_towardzero": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "csinh_upward": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 - -Function: Imaginary part of "csinh_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "csqrt": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "csqrt": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "csqrt_downward": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: Imaginary part of "csqrt_downward": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: Real part of "csqrt_towardzero": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: Imaginary part of "csqrt_towardzero": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: Real part of "csqrt_upward": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: Imaginary part of "csqrt_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: Real part of "ctan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ctan": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "ctan_downward": -double: 6 -float: 5 -idouble: 6 -ifloat: 5 - -Function: Imaginary part of "ctan_downward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Real part of "ctan_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Imaginary part of "ctan_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "ctan_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Imaginary part of "ctan_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Real part of "ctanh": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "ctanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "ctanh_downward": -double: 4 -float: 1 -idouble: 4 -ifloat: 1 - -Function: Imaginary part of "ctanh_downward": -double: 6 -float: 5 -idouble: 6 -ifloat: 5 - -Function: Real part of "ctanh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "ctanh_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 - -Function: Real part of "ctanh_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: Imaginary part of "ctanh_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: "erf": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "erf_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "erf_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "erf_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "erfc": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "erfc_downward": -double: 5 -float: 6 -idouble: 5 -ifloat: 6 - -Function: "erfc_towardzero": -double: 3 -float: 4 -idouble: 3 -ifloat: 4 - -Function: "erfc_upward": -double: 5 -float: 6 -idouble: 5 -ifloat: 6 - -Function: "exp": -float: 1 -ifloat: 1 - -Function: "exp10": -double: 6 -float: 2 -idouble: 6 -ifloat: 2 -ildouble: 6 -ldouble: 6 - -Function: "exp10_downward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "exp10_towardzero": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "exp10_upward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "exp2": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp2_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp2_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp2_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "expm1": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "expm1_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "expm1_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "expm1_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "gamma": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: "gamma_downward": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: "gamma_towardzero": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: "gamma_upward": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "hypot": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "hypot_downward": -double: 1 -idouble: 1 - -Function: "hypot_towardzero": -double: 1 -idouble: 1 - -Function: "hypot_upward": -double: 1 -idouble: 1 - -Function: "j0": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "j0_downward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: "j0_towardzero": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "j0_upward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "j1": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "j1_downward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "j1_towardzero": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "j1_upward": -double: 3 -float: 5 -idouble: 3 -ifloat: 5 - -Function: "jn": -double: 4 -float: 5 -idouble: 4 -ifloat: 5 -ildouble: 4 -ldouble: 4 - -Function: "jn_downward": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "jn_towardzero": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "jn_upward": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "lgamma": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 -ildouble: 1 -ldouble: 1 - -Function: "lgamma_downward": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: "lgamma_towardzero": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: "lgamma_upward": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "log": -float: 1 -ifloat: 1 - -Function: "log10": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "log10_downward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -Function: "log10_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log10_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log1p": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "log1p_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log1p_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log1p_upward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log2": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "log2_downward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "log2_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log2_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "log_downward": -float: 2 -ifloat: 2 - -Function: "log_towardzero": -float: 2 -ifloat: 2 - -Function: "log_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "pow": -float: 1 -ifloat: 1 - -Function: "pow10": -double: 2 -idouble: 2 - -Function: "pow10_downward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "pow10_towardzero": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "pow10_upward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "pow_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "pow_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "pow_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "sin": -float: 1 -ifloat: 1 - -Function: "sin_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "sin_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "sin_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "sincos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sincos_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "sincos_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "sincos_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "sinh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "sinh_downward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "sinh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "sinh_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "tan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "tan_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "tan_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "tan_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "tanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "tanh_downward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "tanh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "tanh_upward": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "tgamma": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 -ildouble: 1 -ldouble: 1 - -Function: "tgamma_downward": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "tgamma_towardzero": -double: 5 -float: 4 -idouble: 5 -ifloat: 4 - -Function: "tgamma_upward": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: "y0": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "y0_downward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "y0_towardzero": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "y0_upward": -double: 3 -float: 4 -idouble: 3 -ifloat: 4 - -Function: "y1": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 3 -ldouble: 3 - -Function: "y1_downward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "y1_towardzero": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "y1_upward": -double: 7 -float: 2 -idouble: 7 -ifloat: 2 - -Function: "yn": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 3 -ldouble: 3 - -Function: "yn_downward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "yn_towardzero": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: "yn_upward": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -# end of automatic generation diff --git a/sysdeps/hppa/fpu/libm-test-ulps-name b/sysdeps/hppa/fpu/libm-test-ulps-name deleted file mode 100644 index 808d1bc741..0000000000 --- a/sysdeps/hppa/fpu/libm-test-ulps-name +++ /dev/null @@ -1 +0,0 @@ -HPPA |