diff options
Diffstat (limited to 'ports')
174 files changed, 13 insertions, 31795 deletions
diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 6d4ab4778b..ca9a711f5a 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,16 @@ +This file describes changes to the AArch64 port while it was in the ports +add-on directory. This port is no longer part of an add-on and so +future changes to it should be listed in the top-level ChangeLog file, +not here. + + + +2014-02-11 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * sysdeps/aarch64: Move directory to ../sysdeps/aarch64. + * sysdeps/unix/sysv/linux/aarch64: Move directory to + ../sysdeps/unix/sysv/linux/aarch64. + 2014-01-22 Marcus Shawcroft <marcus.shawcroft@arm.com> * sysdeps/aarch64/libm-test-ulps: Regenerated. diff --git a/ports/sysdeps/aarch64/Implies b/ports/sysdeps/aarch64/Implies deleted file mode 100644 index e5adf4d63c..0000000000 --- a/ports/sysdeps/aarch64/Implies +++ /dev/null @@ -1,6 +0,0 @@ -wordsize-64 -ieee754/ldbl-128 -ieee754/dbl-64/wordsize-64 -ieee754/dbl-64 -ieee754/flt-32 -aarch64/soft-fp diff --git a/ports/sysdeps/aarch64/Makefile b/ports/sysdeps/aarch64/Makefile deleted file mode 100644 index 5af7a1655e..0000000000 --- a/ports/sysdeps/aarch64/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -long-double-fcts = yes - -ifeq ($(subdir),debug) -CFLAGS-backtrace.c += -funwind-tables -endif - -ifeq ($(subdir),elf) -sysdep-dl-routines += tlsdesc dl-tlsdesc -sysdep_routines += tlsdesc dl-tlsdesc -sysdep-rtld-routines += tlsdesc dl-tlsdesc -gen-as-const-headers += dl-link.sym -endif - -ifeq ($(subdir),csu) -gen-as-const-headers += tlsdesc.sym -endif diff --git a/ports/sysdeps/aarch64/Versions b/ports/sysdeps/aarch64/Versions deleted file mode 100644 index e1aa44f33d..0000000000 --- a/ports/sysdeps/aarch64/Versions +++ /dev/null @@ -1,5 +0,0 @@ -libc { - GLIBC_2.18 { - _mcount; - } -} diff --git a/ports/sysdeps/aarch64/__longjmp.S b/ports/sysdeps/aarch64/__longjmp.S deleted file mode 100644 index 2d38bbf6a5..0000000000 --- a/ports/sysdeps/aarch64/__longjmp.S +++ /dev/null @@ -1,106 +0,0 @@ -/* Copyright (C) 1997-2014 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 <sysdep.h> -#include <jmpbuf-offsets.h> - -/* __longjmp(jmpbuf, val) */ - -ENTRY (__longjmp) - cfi_def_cfa(x0, 0) - cfi_offset(x19, JB_X19<<3) - cfi_offset(x20, JB_X20<<3) - cfi_offset(x21, JB_X21<<3) - cfi_offset(x22, JB_X22<<3) - cfi_offset(x23, JB_X23<<3) - cfi_offset(x24, JB_X24<<3) - cfi_offset(x25, JB_X25<<3) - cfi_offset(x26, JB_X26<<3) - cfi_offset(x27, JB_X27<<3) - cfi_offset(x28, JB_X28<<3) - cfi_offset(x29, JB_X29<<3) - cfi_offset(x30, JB_LR<<3) - - cfi_offset( d8, JB_D8<<3) - cfi_offset( d9, JB_D9<<3) - cfi_offset(d10, JB_D10<<3) - cfi_offset(d11, JB_D11<<3) - cfi_offset(d12, JB_D12<<3) - cfi_offset(d13, JB_D13<<3) - cfi_offset(d14, JB_D14<<3) - cfi_offset(d15, JB_D15<<3) - - ldp x19, x20, [x0, #JB_X19<<3] - ldp x21, x22, [x0, #JB_X21<<3] - ldp x23, x24, [x0, #JB_X23<<3] - ldp x25, x26, [x0, #JB_X25<<3] - ldp x27, x28, [x0, #JB_X27<<3] -#ifdef PTR_DEMANGLE - ldp x29, x4, [x0, #JB_X29<<3] - PTR_DEMANGLE (x30, x4, x3, x2) -#else - ldp x29, x30, [x0, #JB_X29<<3] -#endif - ldp d8, d9, [x0, #JB_D8<<3] - ldp d10, d11, [x0, #JB_D10<<3] - ldp d12, d13, [x0, #JB_D12<<3] - ldp d14, d15, [x0, #JB_D14<<3] - - /* Originally this was implemented with a series of - .cfi_restore() directives. - - The theory was that cfi_restore should revert to previous - frame value is the same as the current value. In practice - this doesn't work, even after cfi_restore() gdb continues - to try to recover a previous frame value offset from x0, - which gets stuffed after a few more instructions. The - cfi_same_value() mechanism appears to work fine. */ - - cfi_same_value(x19) - cfi_same_value(x20) - cfi_same_value(x21) - cfi_same_value(x22) - cfi_same_value(x23) - cfi_same_value(x24) - cfi_same_value(x25) - cfi_same_value(x26) - cfi_same_value(x27) - cfi_same_value(x28) - cfi_same_value(x29) - cfi_same_value(x30) - cfi_same_value(d8) - cfi_same_value(d9) - cfi_same_value(d10) - cfi_same_value(d11) - cfi_same_value(d12) - cfi_same_value(d13) - cfi_same_value(d14) - cfi_same_value(d15) -#ifdef PTR_DEMANGLE - ldr x4, [x0, #JB_SP<<3] - PTR_DEMANGLE (x5, x4, x3, x2) -#else - ldr x5, [x0, #JB_SP<<3] -#endif - mov sp, x5 - cmp x1, #0 - mov x0, #1 - csel x0, x1, x0, ne - /* Use br instead of ret because ret is guaranteed to mispredict */ - br x30 -END (__longjmp) diff --git a/ports/sysdeps/aarch64/abort-instr.h b/ports/sysdeps/aarch64/abort-instr.h deleted file mode 100644 index 8b1c40b57d..0000000000 --- a/ports/sysdeps/aarch64/abort-instr.h +++ /dev/null @@ -1 +0,0 @@ -#define ABORT_INSTRUCTION asm ("brk\t#1000") diff --git a/ports/sysdeps/aarch64/backtrace.c b/ports/sysdeps/aarch64/backtrace.c deleted file mode 100644 index 27ce597b39..0000000000 --- a/ports/sysdeps/aarch64/backtrace.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/x86_64/backtrace.c> diff --git a/ports/sysdeps/aarch64/bits/atomic.h b/ports/sysdeps/aarch64/bits/atomic.h deleted file mode 100644 index 456e2ecdff..0000000000 --- a/ports/sysdeps/aarch64/bits/atomic.h +++ /dev/null @@ -1,171 +0,0 @@ -/* Copyright (C) 2003-2014 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 _AARCH64_BITS_ATOMIC_H -#define _AARCH64_BITS_ATOMIC_H 1 - -#include <stdint.h> - -typedef int8_t atomic8_t; -typedef int16_t atomic16_t; -typedef int32_t atomic32_t; -typedef int64_t atomic64_t; - -typedef uint8_t uatomic8_t; -typedef uint16_t uatomic16_t; -typedef uint32_t uatomic32_t; -typedef uint64_t uatomic64_t; - -typedef intptr_t atomicptr_t; -typedef uintptr_t uatomicptr_t; -typedef intmax_t atomic_max_t; -typedef uintmax_t uatomic_max_t; - - -/* Compare and exchange. - For all "bool" routines, we return FALSE if exchange succesful. */ - -# define __arch_compare_and_exchange_bool_8_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - }) - -# define __arch_compare_and_exchange_bool_16_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - }) - -# define __arch_compare_and_exchange_bool_32_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - }) - -# define __arch_compare_and_exchange_bool_64_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - }) - -# define __arch_compare_and_exchange_val_8_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - __oldval; \ - }) - -# define __arch_compare_and_exchange_val_16_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - __oldval; \ - }) - -# define __arch_compare_and_exchange_val_32_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - __oldval; \ - }) - -# define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \ - ({ \ - typeof (*mem) __oldval = (oldval); \ - __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \ - model, __ATOMIC_RELAXED); \ - __oldval; \ - }) - - -/* Compare and exchange with "acquire" semantics, ie barrier after. */ - -# define atomic_compare_and_exchange_bool_acq(mem, new, old) \ - __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \ - mem, new, old, __ATOMIC_ACQUIRE) - -# define atomic_compare_and_exchange_val_acq(mem, new, old) \ - __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ - mem, new, old, __ATOMIC_ACQUIRE) - -/* Compare and exchange with "release" semantics, ie barrier before. */ - -# define atomic_compare_and_exchange_bool_rel(mem, new, old) \ - __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \ - mem, new, old, __ATOMIC_RELEASE) - -# define atomic_compare_and_exchange_val_rel(mem, new, old) \ - __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ - mem, new, old, __ATOMIC_RELEASE) - - -/* Atomic exchange (without compare). */ - -# define __arch_exchange_8_int(mem, newval, model) \ - __atomic_exchange_n (mem, newval, model) - -# define __arch_exchange_16_int(mem, newval, model) \ - __atomic_exchange_n (mem, newval, model) - -# define __arch_exchange_32_int(mem, newval, model) \ - __atomic_exchange_n (mem, newval, model) - -# define __arch_exchange_64_int(mem, newval, model) \ - __atomic_exchange_n (mem, newval, model) - -# define atomic_exchange_acq(mem, value) \ - __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_ACQUIRE) - -# define atomic_exchange_rel(mem, value) \ - __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_RELEASE) - - -/* Atomically add value and return the previous (unincremented) value. */ - -# define __arch_exchange_and_add_8_int(mem, value, model) \ - __atomic_fetch_add (mem, value, model) - -# define __arch_exchange_and_add_16_int(mem, value, model) \ - __atomic_fetch_add (mem, value, model) - -# define __arch_exchange_and_add_32_int(mem, value, model) \ - __atomic_fetch_add (mem, value, model) - -# define __arch_exchange_and_add_64_int(mem, value, model) \ - __atomic_fetch_add (mem, value, model) - -# define atomic_exchange_and_add_acq(mem, value) \ - __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, \ - __ATOMIC_ACQUIRE) - -# define atomic_exchange_and_add_rel(mem, value) \ - __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, \ - __ATOMIC_RELEASE) - -/* Barrier macro. */ -#define atomic_full_barrier() __sync_synchronize() - -#endif diff --git a/ports/sysdeps/aarch64/bits/endian.h b/ports/sysdeps/aarch64/bits/endian.h deleted file mode 100644 index bafaba7011..0000000000 --- a/ports/sysdeps/aarch64/bits/endian.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1997-2014 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 _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -/* AArch64 can be either big or little endian. */ -#ifdef __AARCH64EB__ -# define __BYTE_ORDER __BIG_ENDIAN -#else -# define __BYTE_ORDER __LITTLE_ENDIAN -#endif - -#define __FLOAT_WORD_ORDER __BYTE_ORDER diff --git a/ports/sysdeps/aarch64/bits/fenv.h b/ports/sysdeps/aarch64/bits/fenv.h deleted file mode 100644 index 8c884cbef4..0000000000 --- a/ports/sysdeps/aarch64/bits/fenv.h +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright (C) 2004-2014 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 _FENV_H -# error "Never use <bits/fenv.h> directly; include <fenv.h> instead." -#endif - -/* Define bits representing exceptions in the FPSR status word. */ -enum - { - FE_INVALID = -#define FE_INVALID 1 - FE_INVALID, - FE_DIVBYZERO = -#define FE_DIVBYZERO 2 - FE_DIVBYZERO, - FE_OVERFLOW = -#define FE_OVERFLOW 4 - FE_OVERFLOW, - FE_UNDERFLOW = -#define FE_UNDERFLOW 8 - FE_UNDERFLOW, - FE_INEXACT = -#define FE_INEXACT 16 - FE_INEXACT, - }; - -/* Amount to shift by to convert an exception bit in FPSR to a an - exception bit mask in FPCR. */ -#define FE_EXCEPT_SHIFT 8 - -/* All supported exceptions. */ -#define FE_ALL_EXCEPT \ - (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) - -/* Define bits representing rounding modes in the FPCR Rmode field. */ -#define FE_TONEAREST 0x000000 -#define FE_UPWARD 0x400000 -#define FE_DOWNWARD 0x800000 -#define FE_TOWARDZERO 0xc00000 - -/* Type representing exception flags. */ -typedef unsigned int fexcept_t; - -/* Type representing floating-point environment. */ -typedef struct - { - unsigned int __fpcr; - unsigned int __fpsr; - } -fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1l) - -#ifdef __USE_GNU -/* Floating-point environment where none of the exceptions are masked. */ -# define FE_NOMASK_ENV ((const fenv_t *) -2) -#endif diff --git a/ports/sysdeps/aarch64/bits/link.h b/ports/sysdeps/aarch64/bits/link.h deleted file mode 100644 index fe068276ea..0000000000 --- a/ports/sysdeps/aarch64/bits/link.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright (C) 2005-2014 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 _LINK_H -# error "Never include <bits/link.h> directly; use <link.h> instead." -#endif - -/* Registers for entry into PLT on AArch64. */ -typedef struct La_aarch64_regs -{ - uint64_t lr_xreg[8]; - uint64_t lr_dreg[8]; - uint64_t lr_sp; - uint64_t lr_lr; -} La_aarch64_regs; - -/* Return values for calls from PLT on AArch64. */ -typedef struct La_aarch64_retval -{ - /* Up to two integer registers can be used for a return value. */ - uint64_t lrv_xreg[2]; - /* Up to four D registers can be used for a return value. */ - uint64_t lrv_dreg[4]; - -} La_aarch64_retval; -__BEGIN_DECLS - -extern Elf64_Addr -la_aarch64_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_aarch64_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); - -extern unsigned int -la_aarch64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_aarch64_regs *__inregs, - La_aarch64_retval *__outregs, - const char *__symname); - -__END_DECLS diff --git a/ports/sysdeps/aarch64/bits/linkmap.h b/ports/sysdeps/aarch64/bits/linkmap.h deleted file mode 100644 index 96e79b153f..0000000000 --- a/ports/sysdeps/aarch64/bits/linkmap.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2009-2014 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/>. */ - -struct link_map_machine -{ - ElfW(Addr) plt; /* Address of .plt */ - void *tlsdesc_table; /* Address of TLS descriptor hash table. */ -}; diff --git a/ports/sysdeps/aarch64/bits/mathdef.h b/ports/sysdeps/aarch64/bits/mathdef.h deleted file mode 100644 index eb0a82559c..0000000000 --- a/ports/sysdeps/aarch64/bits/mathdef.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1999-2014 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/>. */ - -#if !defined _MATH_H && !defined _COMPLEX_H -# error "Never use <bits/mathdef.h> directly; include <math.h> instead" -#endif - -#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF -# define _MATH_H_MATHDEF 1 - -/* GCC does not promote `float' values to `double'. */ -typedef float float_t; /* `float' expressions are evaluated as - `float'. */ -typedef double double_t; /* `double' expressions are evaluated as - `double'. */ - -/* The values returned by `ilogb' for 0 and NaN respectively. */ -# define FP_ILOGB0 (-2147483647) -# define FP_ILOGBNAN (2147483647) - -# define FP_FAST_FMA 1 -# define FP_FAST_FMAF 1 - -#endif /* ISO C99 */ diff --git a/ports/sysdeps/aarch64/bits/setjmp.h b/ports/sysdeps/aarch64/bits/setjmp.h deleted file mode 100644 index e0a3d6073b..0000000000 --- a/ports/sysdeps/aarch64/bits/setjmp.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1997-2014 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 _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -#ifndef _ASM -/* Jump buffer contains: - x19-x28, x29(fp), x30(lr), (x31)sp, d8-d15. Other registers are not - saved. */ -__extension__ typedef unsigned long long __jmp_buf [22]; - -#endif -#endif diff --git a/ports/sysdeps/aarch64/bsd-_setjmp.S b/ports/sysdeps/aarch64/bsd-_setjmp.S deleted file mode 100644 index 4e6a2da560..0000000000 --- a/ports/sysdeps/aarch64/bsd-_setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* _setjmp is in setjmp.S */ diff --git a/ports/sysdeps/aarch64/bsd-setjmp.S b/ports/sysdeps/aarch64/bsd-setjmp.S deleted file mode 100644 index 1da848d2f1..0000000000 --- a/ports/sysdeps/aarch64/bsd-setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* setjmp is in setjmp.S */ diff --git a/ports/sysdeps/aarch64/bzero.S b/ports/sysdeps/aarch64/bzero.S deleted file mode 100644 index d082c15cdb..0000000000 --- a/ports/sysdeps/aarch64/bzero.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2013-2014 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 <sysdep.h> - - .text -ENTRY(__bzero) - mov x2, x1 - mov x1, xzr - b __memset -END(__bzero) -weak_alias (__bzero, bzero) diff --git a/ports/sysdeps/aarch64/configure b/ports/sysdeps/aarch64/configure deleted file mode 100644 index af870b7b49..0000000000 --- a/ports/sysdeps/aarch64/configure +++ /dev/null @@ -1,174 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/aarch64. - -# We check to see if the compiler and flags are -# selecting the big endian ABI and if they are then -# we set libc_cv_aarch64_be to yes which causes -# HAVE_AARCH64_BE to be defined in config.h and -# in include/libc-symbols.h and thus available to -# shlib-versions to select the appropriate name for -# the dynamic linker via %ifdef. - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for big endian" >&5 -$as_echo_n "checking for big endian... " >&6; } -if ${libc_cv_aarch64_be+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __AARCH64EB__ - yes - #endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - libc_cv_aarch64_be=yes -else - libc_cv_aarch64_be=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_be" >&5 -$as_echo "$libc_cv_aarch64_be" >&6; } -if test $libc_cv_aarch64_be = yes; then - $as_echo "#define HAVE_AARCH64_BE 1" >>confdefs.h - - config_vars="$config_vars -default-abi = lp64_be" -else - config_vars="$config_vars -default-abi = lp64" -fi diff --git a/ports/sysdeps/aarch64/configure.ac b/ports/sysdeps/aarch64/configure.ac deleted file mode 100644 index 7851dd4dac..0000000000 --- a/ports/sysdeps/aarch64/configure.ac +++ /dev/null @@ -1,22 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/aarch64. - -# We check to see if the compiler and flags are -# selecting the big endian ABI and if they are then -# we set libc_cv_aarch64_be to yes which causes -# HAVE_AARCH64_BE to be defined in config.h and -# in include/libc-symbols.h and thus available to -# shlib-versions to select the appropriate name for -# the dynamic linker via %ifdef. -AC_CACHE_CHECK([for big endian], - [libc_cv_aarch64_be], - [AC_EGREP_CPP(yes,[#ifdef __AARCH64EB__ - yes - #endif - ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) -if test $libc_cv_aarch64_be = yes; then - AC_DEFINE(HAVE_AARCH64_BE) - LIBC_CONFIG_VAR([default-abi], [lp64_be]) -else - LIBC_CONFIG_VAR([default-abi], [lp64]) -fi diff --git a/ports/sysdeps/aarch64/crti.S b/ports/sysdeps/aarch64/crti.S deleted file mode 100644 index 2db7b6793f..0000000000 --- a/ports/sysdeps/aarch64/crti.S +++ /dev/null @@ -1,90 +0,0 @@ -/* Special .init and .fini section support for AArch64. - Copyright (C) 1995-2014 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. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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/>. */ - -/* crti.S puts a function prologue at the beginning of the .init and - .fini sections and defines global symbols for those addresses, so - they can be called as functions. The symbols _init and _fini are - magic and cause the linker to emit DT_INIT and DT_FINI. */ - -#include <libc-symbols.h> - -#ifndef PREINIT_FUNCTION -# define PREINIT_FUNCTION __gmon_start__ -#endif - -#ifndef PREINIT_FUNCTION_WEAK -# define PREINIT_FUNCTION_WEAK 1 -#endif - -#if PREINIT_FUNCTION_WEAK - weak_extern (PREINIT_FUNCTION) -#else - .hidden PREINIT_FUNCTION -#endif - -#if PREINIT_FUNCTION_WEAK - .align 2 - .type call_weak_fn, %function -call_weak_fn: - adrp x0, :got:PREINIT_FUNCTION - ldr x0, [x0, #:got_lo12:PREINIT_FUNCTION] - cbz x0, 1f - b PREINIT_FUNCTION -1: - RET - .size call_weak_fn, .-call_weak_fn -#endif - - .section .init,"ax",%progbits - .align 2 - .global _init - .type _init, %function -_init: - stp x29, x30, [sp, -16]! - mov x29, sp -#if PREINIT_FUNCTION_WEAK - bl call_weak_fn -#else - bl PREINIT_FUNCTION -#endif - - .section .fini,"ax",%progbits - .align 2 - .global _fini - .type _fini, %function -_fini: - stp x29, x30, [sp, -16]! - mov x29, sp diff --git a/ports/sysdeps/aarch64/crtn.S b/ports/sysdeps/aarch64/crtn.S deleted file mode 100644 index 3094e0d148..0000000000 --- a/ports/sysdeps/aarch64/crtn.S +++ /dev/null @@ -1,46 +0,0 @@ -/* Special .init and .fini section support for AArch64. - Copyright (C) 1995-2014 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. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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/>. */ - -/* crtn.S puts function epilogues in the .init and .fini sections - corresponding to the prologues in crti.S. */ - - .section .init,"ax",%progbits - ldp x29, x30, [sp], 16 - RET - - .section .fini,"ax",%progbits - ldp x29, x30, [sp], 16 - RET diff --git a/ports/sysdeps/aarch64/dl-irel.h b/ports/sysdeps/aarch64/dl-irel.h deleted file mode 100644 index 78395caf23..0000000000 --- a/ports/sysdeps/aarch64/dl-irel.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Machine-dependent ELF indirect relocation inline functions. - AArch64 version. - Copyright (C) 2012-2014 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 _DL_IREL_H -#define _DL_IREL_H - -#include <stdio.h> -#include <unistd.h> -#include <ldsodefs.h> - -#define ELF_MACHINE_IRELA 1 - -static inline ElfW(Addr) -__attribute ((always_inline)) -elf_ifunc_invoke (ElfW(Addr) addr) -{ - return ((ElfW(Addr) (*) (unsigned long int)) (addr)) (GLRO(dl_hwcap)); -} - -static inline void -__attribute ((always_inline)) -elf_irela (const ElfW(Rela) *reloc) -{ - ElfW(Addr) *const reloc_addr = (void *) reloc->r_offset; - const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info); - - if (__glibc_likely (r_type == R_AARCH64_IRELATIVE)) - { - ElfW(Addr) value = elf_ifunc_invoke (reloc->r_addend); - *reloc_addr = value; - } - else - __libc_fatal ("unexpected reloc type in static binary"); -} - -#endif diff --git a/ports/sysdeps/aarch64/dl-link.sym b/ports/sysdeps/aarch64/dl-link.sym deleted file mode 100644 index d67d28b40c..0000000000 --- a/ports/sysdeps/aarch64/dl-link.sym +++ /dev/null @@ -1,15 +0,0 @@ -#include <stddef.h> -#include <sysdep.h> -#include <link.h> -#include <dl-tlsdesc.h> - -DL_SIZEOF_RG sizeof(struct La_aarch64_regs) -DL_SIZEOF_RV sizeof(struct La_aarch64_retval) - -DL_OFFSET_RG_X0 offsetof(struct La_aarch64_regs, lr_xreg) -DL_OFFSET_RG_D0 offsetof(struct La_aarch64_regs, lr_dreg) -DL_OFFSET_RG_SP offsetof(struct La_aarch64_regs, lr_sp) -DL_OFFSET_RG_LR offsetof(struct La_aarch64_regs, lr_lr) - -DL_OFFSET_RV_X0 offsetof(struct La_aarch64_retval, lrv_xreg) -DL_OFFSET_RV_D0 offsetof(struct La_aarch64_retval, lrv_dreg) diff --git a/ports/sysdeps/aarch64/dl-machine.h b/ports/sysdeps/aarch64/dl-machine.h deleted file mode 100644 index 997c860ccb..0000000000 --- a/ports/sysdeps/aarch64/dl-machine.h +++ /dev/null @@ -1,401 +0,0 @@ -/* Copyright (C) 1995-2014 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 dl_machine_h -#define dl_machine_h - -#define ELF_MACHINE_NAME "aarch64" - -#include <tls.h> -#include <dl-tlsdesc.h> -#include <dl-irel.h> - -/* Return nonzero iff ELF header is compatible with the running host. */ -static inline int __attribute__ ((unused)) -elf_machine_matches_host (const ElfW(Ehdr) *ehdr) -{ - return ehdr->e_machine == EM_AARCH64; -} - -/* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. */ -static inline ElfW(Addr) __attribute__ ((unused)) -elf_machine_dynamic (void) -{ - extern const ElfW(Addr) _GLOBAL_OFFSET_TABLE_[] attribute_hidden; - return _GLOBAL_OFFSET_TABLE_[0]; -} - -/* Return the run-time load address of the shared object. */ - -static inline ElfW(Addr) __attribute__ ((unused)) -elf_machine_load_address (void) -{ - /* To figure out the load address we use the definition that for any symbol: - dynamic_addr(symbol) = static_addr(symbol) + load_addr - - The choice of symbol is arbitrary. The static address we obtain - by constructing a non GOT reference to the symbol, the dynamic - address of the symbol we compute using adrp/add to compute the - symbol's address relative to the PC. */ - - ElfW(Addr) static_addr; - ElfW(Addr) dynamic_addr; - - asm (" \n\ - adrp %1, _dl_start; \n\ - add %1, %1, #:lo12:_dl_start \n\ - ldr %w0, 1f \n\ - b 2f \n\ -1: .word _dl_start \n\ -2: \n\ - " : "=r" (static_addr), "=r" (dynamic_addr)); - return dynamic_addr - static_addr; -} - -/* Set up the loaded object described by L so its unrelocated PLT - entries will jump to the on-demand fixup code in dl-runtime.c. */ - -static inline int __attribute__ ((unused)) -elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) -{ - if (l->l_info[DT_JMPREL] && lazy) - { - ElfW(Addr) *got; - extern void _dl_runtime_resolve (ElfW(Word)); - extern void _dl_runtime_profile (ElfW(Word)); - - got = (ElfW(Addr) *) D_PTR (l, l_info[DT_PLTGOT]); - if (got[1]) - { - l->l_mach.plt = got[1] + l->l_addr; - } - got[1] = (ElfW(Addr)) l; - - /* The got[2] entry contains the address of a function which gets - called to get the address of a so far unresolved function and - jump to it. The profiling extension of the dynamic linker allows - to intercept the calls to collect information. In this case we - don't store the address in the GOT so that all future calls also - end in this function. */ - if ( profile) - { - got[2] = (ElfW(Addr)) &_dl_runtime_profile; - - if (GLRO(dl_profile) != NULL - && _dl_name_match_p (GLRO(dl_profile), l)) - /* Say that we really want profiling and the timers are - started. */ - GL(dl_profile_map) = l; - } - else - { - /* This function will get called to fix up the GOT entry - indicated by the offset on the stack, and then jump to - the resolved address. */ - got[2] = (ElfW(Addr)) &_dl_runtime_resolve; - } - } - - if (l->l_info[ADDRIDX (DT_TLSDESC_GOT)] && lazy) - *(Elf64_Addr*)(D_PTR (l, l_info[ADDRIDX (DT_TLSDESC_GOT)]) + l->l_addr) - = (Elf64_Addr) &_dl_tlsdesc_resolve_rela; - - return lazy; -} - -/* Initial entry point for the dynamic linker. The C function - _dl_start is the real entry point, its return value is the user - program's entry point */ - -#define RTLD_START asm ("\ -.text \n\ -.globl _start \n\ -.type _start, %function \n\ -.globl _dl_start_user \n\ -.type _dl_start_user, %function \n\ -_start: \n\ - mov x0, sp \n\ - bl _dl_start \n\ - // returns user entry point in x0 \n\ - mov x21, x0 \n\ -_dl_start_user: \n\ - // get the original arg count \n\ - ldr x1, [sp] \n\ - // get the argv address \n\ - add x2, sp, #8 \n\ - // get _dl_skip_args to see if we were \n\ - // invoked as an executable \n\ - adrp x4, _dl_skip_args \n\ - ldr w4, [x4, #:lo12:_dl_skip_args] \n\ - // do we need to adjust argc/argv \n\ - cmp w4, 0 \n\ - beq .L_done_stack_adjust \n\ - // subtract _dl_skip_args from original arg count \n\ - sub x1, x1, x4 \n\ - // store adjusted argc back to stack \n\ - str x1, [sp] \n\ - // find the first unskipped argument \n\ - mov x3, x2 \n\ - add x4, x2, x4, lsl #3 \n\ - // shuffle argv down \n\ -1: ldr x5, [x4], #8 \n\ - str x5, [x3], #8 \n\ - cmp x5, #0 \n\ - bne 1b \n\ - // shuffle envp down \n\ -1: ldr x5, [x4], #8 \n\ - str x5, [x3], #8 \n\ - cmp x5, #0 \n\ - bne 1b \n\ - // shuffle auxv down \n\ -1: ldp x0, x5, [x4, #16]! \n\ - stp x0, x5, [x3], #16 \n\ - cmp x0, #0 \n\ - bne 1b \n\ - // Update _dl_argv \n\ - adrp x3, _dl_argv \n\ - str x2, [x3, #:lo12:_dl_argv] \n\ -.L_done_stack_adjust: \n\ - // compute envp \n\ - add x3, x2, x1, lsl #3 \n\ - add x3, x3, #8 \n\ - adrp x16, _rtld_local \n\ - add x16, x16, #:lo12:_rtld_local \n\ - ldr x0, [x16] \n\ - bl _dl_init_internal \n\ - // load the finalizer function \n\ - adrp x0, _dl_fini \n\ - add x0, x0, #:lo12:_dl_fini \n\ - // jump to the user_s entry point \n\ - br x21 \n\ -"); - -#define elf_machine_type_class(type) \ - ((((type) == R_AARCH64_JUMP_SLOT || \ - (type) == R_AARCH64_TLS_DTPMOD64 || \ - (type) == R_AARCH64_TLS_DTPREL64 || \ - (type) == R_AARCH64_TLS_TPREL64 || \ - (type) == R_AARCH64_TLSDESC) * ELF_RTYPE_CLASS_PLT) \ - | (((type) == R_AARCH64_COPY) * ELF_RTYPE_CLASS_COPY)) - -#define ELF_MACHINE_JMP_SLOT R_AARCH64_JUMP_SLOT - -/* AArch64 uses RELA not REL */ -#define ELF_MACHINE_NO_REL 1 - -static inline ElfW(Addr) -elf_machine_fixup_plt (struct link_map *map, lookup_t t, - const ElfW(Rela) *reloc, - ElfW(Addr) *reloc_addr, - ElfW(Addr) value) -{ - return *reloc_addr = value; -} - -/* Return the final value of a plt relocation. */ -static inline ElfW(Addr) -elf_machine_plt_value (struct link_map *map, - const ElfW(Rela) *reloc, - ElfW(Addr) value) -{ - return value; -} - -#endif - -/* Names of the architecture-specific auditing callback functions. */ -#define ARCH_LA_PLTENTER aarch64_gnu_pltenter -#define ARCH_LA_PLTEXIT aarch64_gnu_pltexit - -#ifdef RESOLVE_MAP - -auto inline void -__attribute__ ((always_inline)) -elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, - const ElfW(Sym) *sym, const struct r_found_version *version, - void *const reloc_addr_arg, int skip_ifunc) -{ - ElfW(Addr) *const reloc_addr = reloc_addr_arg; - const unsigned int r_type = ELF64_R_TYPE (reloc->r_info); - - if (__builtin_expect (r_type == R_AARCH64_RELATIVE, 0)) - *reloc_addr = map->l_addr + reloc->r_addend; - else if (__builtin_expect (r_type == R_AARCH64_NONE, 0)) - return; - else - { - const ElfW(Sym) *const refsym = sym; - struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type); - ElfW(Addr) value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value; - - if (sym != NULL - && __glibc_unlikely (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC) - && __glibc_likely (sym->st_shndx != SHN_UNDEF) - && __glibc_likely (!skip_ifunc)) - value = elf_ifunc_invoke (value); - - switch (r_type) - { - case R_AARCH64_COPY: - if (sym == NULL) - break; - - if (sym->st_size > refsym->st_size - || (GLRO(dl_verbose) && sym->st_size < refsym->st_size)) - { - const char *strtab; - - strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]); - _dl_error_printf ("\ -%s: Symbol `%s' has different size in shared object, consider re-linking\n", - RTLD_PROGNAME, strtab + refsym->st_name); - } - memcpy (reloc_addr_arg, (void *) value, - MIN (sym->st_size, refsym->st_size)); - break; - - case R_AARCH64_RELATIVE: - case R_AARCH64_GLOB_DAT: - case R_AARCH64_JUMP_SLOT: - case R_AARCH64_ABS32: - case R_AARCH64_ABS64: - *reloc_addr = value + reloc->r_addend; - break; - - case R_AARCH64_TLSDESC: - { - struct tlsdesc volatile *td = - (struct tlsdesc volatile *)reloc_addr; -#ifndef RTLD_BOOTSTRAP - if (! sym) - { - td->arg = (void*)reloc->r_addend; - td->entry = _dl_tlsdesc_undefweak; - } - else -#endif - { -#ifndef RTLD_BOOTSTRAP -# ifndef SHARED - CHECK_STATIC_TLS (map, sym_map); -# else - if (!TRY_STATIC_TLS (map, sym_map)) - { - td->arg = _dl_make_tlsdesc_dynamic - (sym_map, sym->st_value + reloc->r_addend); - td->entry = _dl_tlsdesc_dynamic; - } - else -# endif -#endif - { - td->arg = (void*)(sym->st_value + sym_map->l_tls_offset - + reloc->r_addend); - td->entry = _dl_tlsdesc_return; - } - } - break; - } - - case R_AARCH64_TLS_DTPMOD64: -#ifdef RTLD_BOOTSTRAP - *reloc_addr = 1; -#else - if (sym_map != NULL) - { - *reloc_addr = sym_map->l_tls_modid; - } -#endif - break; - - case R_AARCH64_TLS_DTPREL64: - if (sym) - *reloc_addr = sym->st_value + reloc->r_addend; - break; - - case R_AARCH64_TLS_TPREL64: - if (sym) - { - CHECK_STATIC_TLS (map, sym_map); - *reloc_addr = - sym->st_value + reloc->r_addend + sym_map->l_tls_offset; - } - break; - - case R_AARCH64_IRELATIVE: - value = map->l_addr + reloc->r_addend; - value = elf_ifunc_invoke (value); - *reloc_addr = value; - break; - - default: - _dl_reloc_bad_type (map, r_type, 0); - break; - } - } -} - -inline void -__attribute__ ((always_inline)) -elf_machine_rela_relative (ElfW(Addr) l_addr, - const ElfW(Rela) *reloc, - void *const reloc_addr_arg) -{ - ElfW(Addr) *const reloc_addr = reloc_addr_arg; - *reloc_addr = l_addr + reloc->r_addend; -} - -inline void -__attribute__ ((always_inline)) -elf_machine_lazy_rel (struct link_map *map, - ElfW(Addr) l_addr, - const ElfW(Rela) *reloc, - int skip_ifunc) -{ - ElfW(Addr) *const reloc_addr = (void *) (l_addr + reloc->r_offset); - const unsigned int r_type = ELF64_R_TYPE (reloc->r_info); - /* Check for unexpected PLT reloc type. */ - if (__builtin_expect (r_type == R_AARCH64_JUMP_SLOT, 1)) - { - if (__builtin_expect (map->l_mach.plt, 0) == 0) - *reloc_addr += l_addr; - else - *reloc_addr = map->l_mach.plt; - } - else if (__builtin_expect (r_type == R_AARCH64_TLSDESC, 1)) - { - struct tlsdesc volatile *td = - (struct tlsdesc volatile *)reloc_addr; - - td->arg = (void*)reloc; - td->entry = (void*)(D_PTR (map, l_info[ADDRIDX (DT_TLSDESC_PLT)]) - + map->l_addr); - } - else if (__glibc_unlikely (r_type == R_AARCH64_IRELATIVE)) - { - ElfW(Addr) value = map->l_addr + reloc->r_addend; - if (__glibc_likely (!skip_ifunc)) - value = elf_ifunc_invoke (value); - *reloc_addr = value; - } - else - _dl_reloc_bad_type (map, r_type, 1); -} - -#endif diff --git a/ports/sysdeps/aarch64/dl-sysdep.h b/ports/sysdeps/aarch64/dl-sysdep.h deleted file mode 100644 index 4a452f5d8f..0000000000 --- a/ports/sysdeps/aarch64/dl-sysdep.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2002-2014 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_next <dl-sysdep.h> - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 diff --git a/ports/sysdeps/aarch64/dl-tls.h b/ports/sysdeps/aarch64/dl-tls.h deleted file mode 100644 index 1eb8c97245..0000000000 --- a/ports/sysdeps/aarch64/dl-tls.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2005-2014 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/>. */ - -/* Type used for the representation of TLS information in the GOT. */ -typedef struct -{ - unsigned long int ti_module; - unsigned long int ti_offset; -} tls_index; - - -extern void *__tls_get_addr (tls_index *ti); - -/* Value used for dtv entries for which the allocation is delayed. */ -#define TLS_DTV_UNALLOCATED ((void *) -1l) diff --git a/ports/sysdeps/aarch64/dl-tlsdesc.S b/ports/sysdeps/aarch64/dl-tlsdesc.S deleted file mode 100644 index ded5471bea..0000000000 --- a/ports/sysdeps/aarch64/dl-tlsdesc.S +++ /dev/null @@ -1,329 +0,0 @@ -/* Thread-local storage handling in the ELF dynamic linker. - AArch64 version. - Copyright (C) 2011-2014 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 <sysdep.h> -#include <tls.h> -#include "tlsdesc.h" - -#define NSAVEDQREGPAIRS 16 -#define SAVE_Q_REGISTERS \ - stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \ - cfi_adjust_cfa_offset (32*NSAVEDQREGPAIRS); \ - stp q2, q3, [sp, #32*1]; \ - stp q4, q5, [sp, #32*2]; \ - stp q6, q7, [sp, #32*3]; \ - stp q8, q9, [sp, #32*4]; \ - stp q10, q11, [sp, #32*5]; \ - stp q12, q13, [sp, #32*6]; \ - stp q14, q15, [sp, #32*7]; \ - stp q16, q17, [sp, #32*8]; \ - stp q18, q19, [sp, #32*9]; \ - stp q20, q21, [sp, #32*10]; \ - stp q22, q23, [sp, #32*11]; \ - stp q24, q25, [sp, #32*12]; \ - stp q26, q27, [sp, #32*13]; \ - stp q28, q29, [sp, #32*14]; \ - stp q30, q31, [sp, #32*15]; - -#define RESTORE_Q_REGISTERS \ - ldp q2, q3, [sp, #32*1]; \ - ldp q4, q5, [sp, #32*2]; \ - ldp q6, q7, [sp, #32*3]; \ - ldp q8, q9, [sp, #32*4]; \ - ldp q10, q11, [sp, #32*5]; \ - ldp q12, q13, [sp, #32*6]; \ - ldp q14, q15, [sp, #32*7]; \ - ldp q16, q17, [sp, #32*8]; \ - ldp q18, q19, [sp, #32*9]; \ - ldp q20, q21, [sp, #32*10]; \ - ldp q22, q23, [sp, #32*11]; \ - ldp q24, q25, [sp, #32*12]; \ - ldp q26, q27, [sp, #32*13]; \ - ldp q28, q29, [sp, #32*14]; \ - ldp q30, q31, [sp, #32*15]; \ - ldp q0, q1, [sp], #32*NSAVEDQREGPAIRS; \ - cfi_adjust_cfa_offset (-32*NSAVEDQREGPAIRS); - - .text - - /* Compute the thread pointer offset for symbols in the static - TLS block. The offset is the same for all threads. - Prototype: - _dl_tlsdesc_return (tlsdesc *) ; - */ - .hidden _dl_tlsdesc_return - .global _dl_tlsdesc_return - .type _dl_tlsdesc_return,%function - cfi_startproc - .align 2 -_dl_tlsdesc_return: - ldr x0, [x0, #8] - RET - cfi_endproc - .size _dl_tlsdesc_return, .-_dl_tlsdesc_return - - /* Handler for undefined weak TLS symbols. - Prototype: - _dl_tlsdesc_undefweak (tlsdesc *); - - The second word of the descriptor contains the addend. - Return the addend minus the thread pointer. This ensures - that when the caller adds on the thread pointer it gets back - the addend. */ - - .hidden _dl_tlsdesc_undefweak - .global _dl_tlsdesc_undefweak - .type _dl_tlsdesc_undefweak,%function - cfi_startproc - .align 2 -_dl_tlsdesc_undefweak: - str x1, [sp, #-16]! - cfi_adjust_cfa_offset(16) - ldr x0, [x0, #8] - mrs x1, tpidr_el0 - sub x0, x0, x1 - ldr x1, [sp], #16 - cfi_adjust_cfa_offset(16) - RET - cfi_endproc - .size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak - -#ifdef SHARED - /* Handler for dynamic TLS symbols. - Prototype: - _dl_tlsdesc_dynamic (tlsdesc *) ; - - The second word of the descriptor points to a - tlsdesc_dynamic_arg structure. - - Returns the offset between the thread pointer and the - object referenced by the argument. - - ptrdiff_t - __attribute__ ((__regparm__ (1))) - _dl_tlsdesc_dynamic (struct tlsdesc *tdp) - { - struct tlsdesc_dynamic_arg *td = tdp->arg; - dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer + DTV_OFFSET); - if (__builtin_expect (td->gen_count <= dtv[0].counter - && (dtv[td->tlsinfo.ti_module].pointer.val - != TLS_DTV_UNALLOCATED), - 1)) - return dtv[td->tlsinfo.ti_module].pointer.val - + td->tlsinfo.ti_offset - - __thread_pointer; - - return ___tls_get_addr (&td->tlsinfo) - __thread_pointer; - } - */ - - .hidden _dl_tlsdesc_dynamic - .global _dl_tlsdesc_dynamic - .type _dl_tlsdesc_dynamic,%function - cfi_startproc - .align 2 -_dl_tlsdesc_dynamic: -# define NSAVEXREGPAIRS 2 - stp x29, x30, [sp,#-(32+16*NSAVEXREGPAIRS)]! - cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) - mov x29, sp - - /* Save just enough registers to support fast path, if we fall - into slow path we will save additional registers. */ - - stp x1, x2, [sp, #32+16*0] - stp x3, x4, [sp, #32+16*1] - - mrs x4, tpidr_el0 - ldr x1, [x0,#8] - ldr x0, [x4] - ldr x3, [x1,#16] - ldr x2, [x0] - cmp x3, x2 - b.hi 2f - ldr x2, [x1] - add x0, x0, x2, lsl #4 - ldr x0, [x0] - cmn x0, #0x1 - b.eq 2f - ldr x1, [x1,#8] - add x0, x0, x1 - sub x0, x0, x4 -1: - ldp x1, x2, [sp, #32+16*0] - ldp x3, x4, [sp, #32+16*1] - - ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS) - cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) -# undef NSAVEXREGPAIRS - RET -2: - /* This is the slow path. We need to call __tls_get_addr() which - means we need to save and restore all the register that the - callee will trash. */ - - /* Save the remaining registers that we must treat as caller save. */ -# define NSAVEXREGPAIRS 7 - stp x5, x6, [sp, #-16*NSAVEXREGPAIRS]! - cfi_adjust_cfa_offset (16*NSAVEXREGPAIRS) - stp x7, x8, [sp, #16*1] - stp x9, x10, [sp, #16*2] - stp x11, x12, [sp, #16*3] - stp x13, x14, [sp, #16*4] - stp x15, x16, [sp, #16*5] - stp x17, x18, [sp, #16*6] - - SAVE_Q_REGISTERS - - mov x0, x1 - bl __tls_get_addr - - mrs x1, tpidr_el0 - sub x0, x0, x1 - - RESTORE_Q_REGISTERS - - ldp x7, x8, [sp, #16*1] - ldp x9, x10, [sp, #16*2] - ldp x11, x12, [sp, #16*3] - ldp x13, x14, [sp, #16*4] - ldp x15, x16, [sp, #16*5] - ldp x17, x18, [sp, #16*6] - ldp x5, x6, [sp], #16*NSAVEXREGPAIRS - cfi_adjust_cfa_offset (-16*NSAVEXREGPAIRS) - b 1b - cfi_endproc - .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic -# undef NSAVEXREGPAIRS -#endif - - /* This function is a wrapper for a lazy resolver for TLS_DESC - RELA relocations. - When the actual resolver returns, it will have adjusted the - TLS descriptor such that we can tail-call it for it to return - the TP offset of the symbol. */ - - .hidden _dl_tlsdesc_resolve_rela - .global _dl_tlsdesc_resolve_rela - .type _dl_tlsdesc_resolve_rela,%function - cfi_startproc - .align 2 -_dl_tlsdesc_resolve_rela: -#define NSAVEXREGPAIRS 9 - stp x29, x30, [sp, #-(32+16*NSAVEXREGPAIRS)]! - cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) - mov x29, sp - stp x1, x4, [sp, #32+16*0] - stp x5, x6, [sp, #32+16*1] - stp x7, x8, [sp, #32+16*2] - stp x9, x10, [sp, #32+16*3] - stp x11, x12, [sp, #32+16*4] - stp x13, x14, [sp, #32+16*5] - stp x15, x16, [sp, #32+16*6] - stp x17, x18, [sp, #32+16*7] - str x0, [sp, #32+16*8] - - SAVE_Q_REGISTERS - - ldr x1, [x3, #8] - bl _dl_tlsdesc_resolve_rela_fixup - - RESTORE_Q_REGISTERS - - ldr x0, [sp, #32+16*8] - ldr x1, [x0] - blr x1 - - ldp x1, x4, [sp, #32+16*0] - ldp x5, x6, [sp, #32+16*1] - ldp x7, x8, [sp, #32+16*2] - ldp x9, x10, [sp, #32+16*3] - ldp x11, x12, [sp, #32+16*4] - ldp x13, x14, [sp, #32+16*5] - ldp x15, x16, [sp, #32+16*6] - ldp x17, x18, [sp, #32+16*7] - ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS) - cfi_adjust_cfa_offset (-32+16*NSAVEXREGPAIRS) - ldp x2, x3, [sp], #16 - cfi_adjust_cfa_offset (-16) - RET -#undef NSAVEXREGPAIRS - cfi_endproc - .size _dl_tlsdesc_resolve_rela, .-_dl_tlsdesc_resolve_rela - - /* This function is a placeholder for lazy resolving of TLS - relocations. Once some thread starts resolving a TLS - relocation, it sets up the TLS descriptor to use this - resolver, such that other threads that would attempt to - resolve it concurrently may skip the call to the original lazy - resolver and go straight to a condition wait. - - When the actual resolver returns, it will have adjusted the - TLS descriptor such that we can tail-call it for it to return - the TP offset of the symbol. */ - - .hidden _dl_tlsdesc_resolve_hold - .global _dl_tlsdesc_resolve_hold - .type _dl_tlsdesc_resolve_hold,%function - cfi_startproc - .align 2 -_dl_tlsdesc_resolve_hold: -#define NSAVEXREGPAIRS 10 -1: - stp x29, x30, [sp, #-(32+16*NSAVEXREGPAIRS)]! - cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) - mov x29, sp - stp x1, x2, [sp, #32+16*0] - stp x3, x4, [sp, #32+16*1] - stp x5, x6, [sp, #32+16*2] - stp x7, x8, [sp, #32+16*3] - stp x9, x10, [sp, #32+16*4] - stp x11, x12, [sp, #32+16*5] - stp x13, x14, [sp, #32+16*6] - stp x15, x16, [sp, #32+16*7] - stp x17, x18, [sp, #32+16*8] - str x0, [sp, #32+16*9] - - SAVE_Q_REGISTERS - - adr x1, 1b - bl _dl_tlsdesc_resolve_hold_fixup - - RESTORE_Q_REGISTERS - - ldr x0, [sp, #32+16*9] - ldr x1, [x0] - blr x1 - - ldp x1, x2, [sp, #32+16*0] - ldp x3, x4, [sp, #32+16*1] - ldp x5, x6, [sp, #32+16*2] - ldp x7, x8, [sp, #32+16*3] - ldp x9, x10, [sp, #32+16*4] - ldp x11, x12, [sp, #32+16*5] - ldp x13, x14, [sp, #32+16*6] - ldp x15, x16, [sp, #32+16*7] - ldp x17, x18, [sp, #32+16*8] - ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS) - cfi_adjust_cfa_offset (-32+16*NSAVEXREGPAIRS) - RET - cfi_endproc - .size _dl_tlsdesc_resolve_hold, .-_dl_tlsdesc_resolve_hold -#undef NSAVEXREGPAIRS diff --git a/ports/sysdeps/aarch64/dl-tlsdesc.h b/ports/sysdeps/aarch64/dl-tlsdesc.h deleted file mode 100644 index 5ff1f74177..0000000000 --- a/ports/sysdeps/aarch64/dl-tlsdesc.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Thread-local storage descriptor handling in the ELF dynamic linker. - AArch64 version. - Copyright (C) 2011-2014 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 _AARCH64_DL_TLSDESC_H -#define _AARCH64_DL_TLSDESC_H 1 - -/* Type used to represent a TLS descriptor in the GOT. */ -struct tlsdesc -{ - ptrdiff_t (*entry) (struct tlsdesc *); - void *arg; -}; - -typedef struct dl_tls_index -{ - unsigned long int ti_module; - unsigned long int ti_offset; -} tls_index; - -/* Type used as the argument in a TLS descriptor for a symbol that - needs dynamic TLS offsets. */ -struct tlsdesc_dynamic_arg -{ - tls_index tlsinfo; - size_t gen_count; -}; - -extern ptrdiff_t attribute_hidden -_dl_tlsdesc_return (struct tlsdesc *); - -extern ptrdiff_t attribute_hidden -_dl_tlsdesc_undefweak (struct tlsdesc *); - -extern ptrdiff_t attribute_hidden -_dl_tlsdesc_resolve_rela (struct tlsdesc *); - -extern ptrdiff_t attribute_hidden -_dl_tlsdesc_resolve_hold (struct tlsdesc *); - -# ifdef SHARED -extern void *internal_function _dl_make_tlsdesc_dynamic (struct link_map *, - size_t); - -extern ptrdiff_t attribute_hidden -_dl_tlsdesc_dynamic (struct tlsdesc *); -#endif - -#endif diff --git a/ports/sysdeps/aarch64/dl-trampoline.S b/ports/sysdeps/aarch64/dl-trampoline.S deleted file mode 100644 index 2037f18276..0000000000 --- a/ports/sysdeps/aarch64/dl-trampoline.S +++ /dev/null @@ -1,296 +0,0 @@ -/* Copyright (C) 2005-2014 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 <sysdep.h> -#include <libc-symbols.h> - -#include "dl-link.h" - -#define ip0 x16 -#define ip1 x17 -#define lr x30 - - .text - .globl _dl_runtime_resolve - .type _dl_runtime_resolve, #function - cfi_startproc - .align 2 -_dl_runtime_resolve: - /* AArch64 we get called with: - ip0 &PLTGOT[2] - ip1 temp(dl resolver entry point) - [sp, #8] lr - [sp, #0] &PLTGOT[n] - */ - - cfi_rel_offset (lr, 8) - - /* Save arguments. */ - stp x8, x9, [sp, #-(80+8*16)]! - cfi_adjust_cfa_offset (80+8*16) - cfi_rel_offset (x8, 0) - cfi_rel_offset (x9, 8) - - stp x6, x7, [sp, #16] - cfi_rel_offset (x6, 16) - cfi_rel_offset (x7, 24) - - stp x4, x5, [sp, #32] - cfi_rel_offset (x4, 32) - cfi_rel_offset (x5, 40) - - stp x2, x3, [sp, #48] - cfi_rel_offset (x2, 48) - cfi_rel_offset (x3, 56) - - stp x0, x1, [sp, #64] - cfi_rel_offset (x0, 64) - cfi_rel_offset (x1, 72) - - stp q0, q1, [sp, #(80+0*16)] - cfi_rel_offset (q0, 80+0*16) - cfi_rel_offset (q1, 80+1*16) - - stp q2, q3, [sp, #(80+2*16)] - cfi_rel_offset (q0, 80+2*16) - cfi_rel_offset (q1, 80+3*16) - - stp q4, q5, [sp, #(80+4*16)] - cfi_rel_offset (q0, 80+4*16) - cfi_rel_offset (q1, 80+5*16) - - stp q6, q7, [sp, #(80+6*16)] - cfi_rel_offset (q0, 80+6*16) - cfi_rel_offset (q1, 80+7*16) - - /* Get pointer to linker struct. */ - ldr x0, [ip0, #-8] - - /* Prepare to call _dl_fixup(). */ - ldr x1, [sp, 80+8*16] /* Recover &PLTGOT[n] */ - - sub x1, x1, ip0 - add x1, x1, x1, lsl #1 - lsl x1, x1, #3 - sub x1, x1, #192 - lsr x1, x1, #3 - - /* Call fixup routine. */ - bl _dl_fixup - - /* Save the return. */ - mov ip0, x0 - - /* Get arguments and return address back. */ - ldp q0, q1, [sp, #(80+0*16)] - ldp q2, q3, [sp, #(80+2*16)] - ldp q4, q5, [sp, #(80+4*16)] - ldp q6, q7, [sp, #(80+6*16)] - ldp x0, x1, [sp, #64] - ldp x2, x3, [sp, #48] - ldp x4, x5, [sp, #32] - ldp x6, x7, [sp, #16] - ldp x8, x9, [sp], #(80+8*16) - cfi_adjust_cfa_offset (-(80+8*16)) - - ldp ip1, lr, [sp], #16 - cfi_adjust_cfa_offset (-16) - - /* Jump to the newly found address. */ - br ip0 - - cfi_endproc - .size _dl_runtime_resolve, .-_dl_runtime_resolve -#ifndef PROF - .globl _dl_runtime_profile - .type _dl_runtime_profile, #function - cfi_startproc - .align 2 -_dl_runtime_profile: - /* AArch64 we get called with: - ip0 &PLTGOT[2] - ip1 temp(dl resolver entry point) - [sp, #8] lr - [sp, #0] &PLTGOT[n] - - Stack frame layout: - [sp, #...] lr - [sp, #...] &PLTGOT[n] - [sp, #96] La_aarch64_regs - [sp, #48] La_aarch64_retval - [sp, #40] frame size return from pltenter - [sp, #32] dl_profile_call saved x1 - [sp, #24] dl_profile_call saved x0 - [sp, #16] t1 - [sp, #0] x29, lr <- x29 - */ - -# define OFFSET_T1 16 -# define OFFSET_SAVED_CALL_X0 OFFSET_T1 + 8 -# define OFFSET_FS OFFSET_SAVED_CALL_X0 + 16 -# define OFFSET_RV OFFSET_FS + 8 -# define OFFSET_RG OFFSET_RV + DL_SIZEOF_RV - -# define SF_SIZE OFFSET_RG + DL_SIZEOF_RG - -# define OFFSET_PLTGOTN SF_SIZE -# define OFFSET_LR OFFSET_PLTGOTN + 8 - - /* Save arguments. */ - sub sp, sp, #SF_SIZE - cfi_adjust_cfa_offset (SF_SIZE) - stp x29, x30, [SP, #0] - mov x29, sp - cfi_def_cfa_register (x29) - cfi_rel_offset (x29, 0) - cfi_rel_offset (lr, 8) - - stp x0, x1, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*0] - cfi_rel_offset (x0, OFFSET_RG + DL_OFFSET_RG_X0 + 16*0 + 0) - cfi_rel_offset (x1, OFFSET_RG + DL_OFFSET_RG_X0 + 16*0 + 8) - stp x2, x3, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*1] - cfi_rel_offset (x2, OFFSET_RG + DL_OFFSET_RG_X0 + 16*1 + 0) - cfi_rel_offset (x3, OFFSET_RG + DL_OFFSET_RG_X0 + 16*1 + 8) - stp x4, x5, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*2] - cfi_rel_offset (x4, OFFSET_RG + DL_OFFSET_RG_X0 + 16*2 + 0) - cfi_rel_offset (x5, OFFSET_RG + DL_OFFSET_RG_X0 + 16*2 + 8) - stp x6, x7, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*3] - cfi_rel_offset (x6, OFFSET_RG + DL_OFFSET_RG_X0 + 16*3 + 0) - cfi_rel_offset (x7, OFFSET_RG + DL_OFFSET_RG_X0 + 16*3 + 8) - - stp d0, d1, [X29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*0] - cfi_rel_offset (d0, OFFSET_RG + DL_OFFSET_RG_D0 + 16*0) - cfi_rel_offset (d1, OFFSET_RG + DL_OFFSET_RG_D0 + 16*0 + 8) - stp d2, d3, [X29, #OFFSET_RG+ DL_OFFSET_RG_D0 + 16*1] - cfi_rel_offset (d2, OFFSET_RG + DL_OFFSET_RG_D0 + 16*1 + 0) - cfi_rel_offset (d3, OFFSET_RG + DL_OFFSET_RG_D0 + 16*1 + 8) - stp d4, d5, [X29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*2] - cfi_rel_offset (d4, OFFSET_RG + DL_OFFSET_RG_D0 + 16*2 + 0) - cfi_rel_offset (d5, OFFSET_RG + DL_OFFSET_RG_D0 + 16*2 + 8) - stp d6, d7, [X29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*3] - cfi_rel_offset (d6, OFFSET_RG + DL_OFFSET_RG_D0 + 16*3 + 0) - cfi_rel_offset (d7, OFFSET_RG + DL_OFFSET_RG_D0 + 16*3 + 8) - - add x0, x29, #SF_SIZE + 16 - ldr x1, [x29, #OFFSET_LR] - stp x0, x1, [x29, #OFFSET_RG + DL_OFFSET_RG_SP] - - /* Get pointer to linker struct. */ - ldr x0, [ip0, #-8] - - /* Prepare to call _dl_profile_fixup(). */ - ldr x1, [x29, OFFSET_PLTGOTN] /* Recover &PLTGOT[n] */ - - sub x1, x1, ip0 - add x1, x1, x1, lsl #1 - lsl x1, x1, #3 - sub x1, x1, #192 - lsr x1, x1, #3 - - stp x0, x1, [x29, #OFFSET_SAVED_CALL_X0] - - /* Set up extra args for _dl_profile_fixup */ - ldr x2, [x29, #OFFSET_LR] /* load saved LR */ - add x3, x29, #OFFSET_RG /* address of La_aarch64_reg */ - add x4, x29, #OFFSET_FS /* address of framesize */ - bl _dl_profile_fixup - - ldr ip0, [x29, #OFFSET_FS] /* framesize == 0 */ - cmp ip0, #0 - bge 1f - cfi_remember_state - - /* Save the return. */ - mov ip0, x0 - - /* Get arguments and return address back. */ - ldp x0, x1, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*0] - ldp x2, x3, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*1] - ldp x4, x5, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*2] - ldp x6, x7, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*3] - ldp d0, d1, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*0] - ldp d2, d3, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*1] - ldp d4, d5, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*2] - ldp d6, d7, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*3] - - cfi_def_cfa_register (sp) - ldp x29, x30, [x29, #0] - cfi_restore(x29) - cfi_restore(x30) - - add sp, sp, SF_SIZE + 16 - cfi_adjust_cfa_offset (- SF_SIZE - 16) - - /* Jump to the newly found address. */ - br ip0 - - cfi_restore_state -1: - /* The new frame size is in ip0. */ - - sub x1, x29, ip0 - and sp, x1, #0xfffffffffffffff0 - - str x0, [x29, #OFFSET_T1] - - mov x0, sp - add x1, x29, #SF_SIZE + 16 - mov x2, ip0 - bl memcpy - - ldr ip0, [x29, #OFFSET_T1] - - /* Call the function. */ - ldp x0, x1, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*0] - ldp x2, x3, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*1] - ldp x4, x5, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*2] - ldp x6, x7, [x29, #OFFSET_RG + DL_OFFSET_RG_X0 + 16*3] - ldp d0, d1, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*0] - ldp d2, d3, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*1] - ldp d4, d5, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*2] - ldp d6, d7, [x29, #OFFSET_RG + DL_OFFSET_RG_D0 + 16*3] - blr ip0 - stp x0, x1, [x29, #OFFSET_RV + DL_OFFSET_RV_X0] - stp d0, d1, [x29, #OFFSET_RV + DL_OFFSET_RV_D0 + 16*0] - stp d2, d3, [x29, #OFFSET_RV + DL_OFFSET_RV_D0 + 16*1] - - /* Setup call to pltexit */ - ldp x0, x1, [x29, #OFFSET_SAVED_CALL_X0] - add x2, x29, #OFFSET_RG - add x3, x29, #OFFSET_RV - bl _dl_call_pltexit - - ldp x0, x1, [x29, #OFFSET_RV + DL_OFFSET_RV_X0] - ldp d0, d1, [x29, #OFFSET_RV + DL_OFFSET_RV_D0 + 16*0] - ldp d2, d3, [x29, #OFFSET_RV + DL_OFFSET_RV_D0 + 16*1] - /* LR from within La_aarch64_reg */ - ldr lr, [x29, #OFFSET_RG + DL_OFFSET_RG_LR] - cfi_restore(lr) - mov sp, x29 - cfi_def_cfa_register (sp) - ldr x29, [x29, #0] - cfi_restore(x29) - add sp, sp, SF_SIZE + 16 - cfi_adjust_cfa_offset (- SF_SIZE - 16) - - br lr - - cfi_endproc - .size _dl_runtime_profile, .-_dl_runtime_profile -#endif - .previous diff --git a/ports/sysdeps/aarch64/fpu/fclrexcpt.c b/ports/sysdeps/aarch64/fpu/fclrexcpt.c deleted file mode 100644 index 531269f9cf..0000000000 --- a/ports/sysdeps/aarch64/fpu/fclrexcpt.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1997-2014 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 -feclearexcept (int excepts) -{ - fpu_fpsr_t fpsr; - - excepts &= FE_ALL_EXCEPT; - - _FPU_GETFPSR (fpsr); - fpsr = (fpsr & ~FE_ALL_EXCEPT) | (fpsr & FE_ALL_EXCEPT & ~excepts); - - _FPU_SETFPSR (fpsr); - - return 0; -} -libm_hidden_def (feclearexcept) diff --git a/ports/sysdeps/aarch64/fpu/fedisblxcpt.c b/ports/sysdeps/aarch64/fpu/fedisblxcpt.c deleted file mode 100644 index 719d52f60a..0000000000 --- a/ports/sysdeps/aarch64/fpu/fedisblxcpt.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2001-2014 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 -fedisableexcept (int excepts) -{ - fpu_control_t fpcr; - int original_excepts; - - _FPU_GETCW (fpcr); - - original_excepts = (fpcr >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT; - - excepts &= FE_ALL_EXCEPT; - - fpcr &= ~(excepts << FE_EXCEPT_SHIFT); - - _FPU_SETCW (fpcr); - - return original_excepts; -} diff --git a/ports/sysdeps/aarch64/fpu/feenablxcpt.c b/ports/sysdeps/aarch64/fpu/feenablxcpt.c deleted file mode 100644 index d97699981f..0000000000 --- a/ports/sysdeps/aarch64/fpu/feenablxcpt.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2001-2014 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 -feenableexcept (int excepts) -{ - fpu_control_t fpcr; - int original_excepts; - - _FPU_GETCW (fpcr); - - original_excepts = (fpcr >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT; - - excepts &= FE_ALL_EXCEPT; - - fpcr |= (excepts << FE_EXCEPT_SHIFT); - - _FPU_SETCW (fpcr); - - return original_excepts; -} diff --git a/ports/sysdeps/aarch64/fpu/fegetenv.c b/ports/sysdeps/aarch64/fpu/fegetenv.c deleted file mode 100644 index 4c88fbfa43..0000000000 --- a/ports/sysdeps/aarch64/fpu/fegetenv.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1997-2014 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 -fegetenv (fenv_t *envp) -{ - fpu_control_t fpcr; - fpu_fpsr_t fpsr; - _FPU_GETCW (fpcr); - _FPU_GETFPSR (fpsr); - envp->__fpcr = fpcr; - envp->__fpsr = fpsr; - return 0; -} -libm_hidden_def (fegetenv) diff --git a/ports/sysdeps/aarch64/fpu/fegetexcept.c b/ports/sysdeps/aarch64/fpu/fegetexcept.c deleted file mode 100644 index dbcd92a4a2..0000000000 --- a/ports/sysdeps/aarch64/fpu/fegetexcept.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2001-2014 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 -fegetexcept (void) -{ - fpu_control_t fpcr; - _FPU_GETCW (fpcr); - return (fpcr >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT; -} diff --git a/ports/sysdeps/aarch64/fpu/fegetround.c b/ports/sysdeps/aarch64/fpu/fegetround.c deleted file mode 100644 index a970ce3569..0000000000 --- a/ports/sysdeps/aarch64/fpu/fegetround.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1997-2014 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 -fegetround (void) -{ - fpu_control_t fpcr; - _FPU_GETCW (fpcr); - return fpcr & FE_TOWARDZERO; -} -libm_hidden_def (fegetround) diff --git a/ports/sysdeps/aarch64/fpu/feholdexcpt.c b/ports/sysdeps/aarch64/fpu/feholdexcpt.c deleted file mode 100644 index 0514ac15b5..0000000000 --- a/ports/sysdeps/aarch64/fpu/feholdexcpt.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1997-2014 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 -feholdexcept (fenv_t *envp) -{ - fpu_fpsr_t fpsr; - fpu_control_t fpcr; - - _FPU_GETCW (fpcr); - envp->__fpcr = fpcr; - - _FPU_GETFPSR (fpsr); - envp->__fpsr = fpsr; - - /* Now set all exceptions to non-stop. */ - fpcr &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT); - - /* And clear all exception flags. */ - fpsr &= ~FE_ALL_EXCEPT; - - _FPU_SETFPSR (fpsr); - - _FPU_SETCW (fpcr); - - return 0; -} - -libm_hidden_def (feholdexcept) diff --git a/ports/sysdeps/aarch64/fpu/fesetenv.c b/ports/sysdeps/aarch64/fpu/fesetenv.c deleted file mode 100644 index 443c705d22..0000000000 --- a/ports/sysdeps/aarch64/fpu/fesetenv.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 1997-2014 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 -fesetenv (const fenv_t *envp) -{ - fpu_control_t fpcr; - fpu_fpsr_t fpsr; - - _FPU_GETCW (fpcr); - _FPU_GETFPSR (fpsr); - - fpcr &= _FPU_RESERVED; - fpsr &= _FPU_FPSR_RESERVED; - - if (envp == FE_DFL_ENV) - { - fpcr |= _FPU_DEFAULT; - fpsr |= _FPU_FPSR_DEFAULT; - } - else if (envp == FE_NOMASK_ENV) - { - fpcr |= _FPU_FPCR_IEEE; - fpsr |= _FPU_FPSR_IEEE; - } - else - { - fpcr |= envp->__fpcr & ~_FPU_RESERVED; - fpsr |= envp->__fpsr & ~_FPU_FPSR_RESERVED; - } - - _FPU_SETFPSR (fpsr); - - _FPU_SETCW (fpcr); - - return 0; -} - -libm_hidden_def (fesetenv) diff --git a/ports/sysdeps/aarch64/fpu/fesetround.c b/ports/sysdeps/aarch64/fpu/fesetround.c deleted file mode 100644 index 40a05f6582..0000000000 --- a/ports/sysdeps/aarch64/fpu/fesetround.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1997-2014 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 -fesetround (int round) -{ - fpu_control_t fpcr; - - switch (round) - { - case FE_TONEAREST: - case FE_UPWARD: - case FE_DOWNWARD: - case FE_TOWARDZERO: - _FPU_GETCW (fpcr); - fpcr = (fpcr & ~FE_TOWARDZERO) | round; - - _FPU_SETCW (fpcr); - return 0; - - default: - return 1; - } - - return 1; -} - -libm_hidden_def (fesetround) diff --git a/ports/sysdeps/aarch64/fpu/feupdateenv.c b/ports/sysdeps/aarch64/fpu/feupdateenv.c deleted file mode 100644 index 6d64a9b727..0000000000 --- a/ports/sysdeps/aarch64/fpu/feupdateenv.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2009-2014 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 -feupdateenv (const fenv_t *envp) -{ - fpu_fpsr_t fpsr; - - /* Get the current exception state. */ - _FPU_GETFPSR (fpsr); - - /* Install new environment. */ - fesetenv (envp); - - /* Raise the saved exceptions. */ - feraiseexcept (fpsr & FE_ALL_EXCEPT); - - return 0; -} -libm_hidden_def (feupdateenv) diff --git a/ports/sysdeps/aarch64/fpu/fgetexcptflg.c b/ports/sysdeps/aarch64/fpu/fgetexcptflg.c deleted file mode 100644 index d25da1cab9..0000000000 --- a/ports/sysdeps/aarch64/fpu/fgetexcptflg.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2001-2014 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 -fegetexceptflag (fexcept_t *flagp, int excepts) -{ - fpu_fpsr_t fpsr; - - /* Get the current exceptions. */ - _FPU_GETFPSR (fpsr); - - *flagp = fpsr & excepts & FE_ALL_EXCEPT; - - return 0; -} diff --git a/ports/sysdeps/aarch64/fpu/fpu_control.h b/ports/sysdeps/aarch64/fpu/fpu_control.h deleted file mode 100644 index 6a265e89b5..0000000000 --- a/ports/sysdeps/aarch64/fpu/fpu_control.h +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (C) 1996-2014 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 _AARCH64_FPU_CONTROL_H -#define _AARCH64_FPU_CONTROL_H - -/* Macros for accessing the FPCR and FPSR. */ - -#define _FPU_GETCW(fpcr) \ - __asm__ __volatile__ ("mrs %0, fpcr" : "=r" (fpcr)) - -#define _FPU_SETCW(fpcr) \ - { \ - __asm__ __volatile__ ("msr fpcr, %0" : : "r" (fpcr)); \ - __asm__ __volatile__ ("isb"); \ - } - -#define _FPU_GETFPSR(fpsr) \ - __asm__ __volatile__ ("mrs %0, fpsr" : "=r" (fpsr)) - -#define _FPU_SETFPSR(fpsr) \ - __asm__ __volatile__ ("msr fpsr, %0" : : "r" (fpsr)) - -/* Reserved bits should be preserved when modifying register - contents. These two masks indicate which bits in each of FPCR and - FPSR should not be changed. */ - -#define _FPU_RESERVED 0xfe0fe0ff -#define _FPU_FPSR_RESERVED 0x0fffffe0 - -#define _FPU_DEFAULT 0x00000000 -#define _FPU_FPSR_DEFAULT 0x00000000 - -/* Layout of FPCR and FPSR: - - | | | | | | | | - 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 - s s s s s s s s s s s - c c c c c c c c c c c c - N Z C V Q A D F R R S S S L L L I U U I U O D I I U U I U O D I - C H N Z M M T T B E E E D N N X F F Z O D N N X F F Z O - P O O R R Z N N N E K K E E E E E C K K C C C C C - D D I I P - E E D D - E E - */ - -#define _FPU_FPCR_RM_MASK 0xc00000 - -#define _FPU_FPCR_MASK_IXE 0x1000 -#define _FPU_FPCR_MASK_UFE 0x0800 -#define _FPU_FPCR_MASK_OFE 0x0400 -#define _FPU_FPCR_MASK_DZE 0x0200 -#define _FPU_FPCR_MASK_IOE 0x0100 - -#define _FPU_FPCR_IEEE \ - (_FPU_DEFAULT | _FPU_FPCR_MASK_IXE | \ - _FPU_FPCR_MASK_UFE | _FPU_FPCR_MASK_OFE | \ - _FPU_FPCR_MASK_DZE | _FPU_FPCR_MASK_IOE) - -#define _FPU_FPSR_IEEE 0 - -typedef unsigned int fpu_control_t; -typedef unsigned int fpu_fpsr_t; - -/* Default control word set at startup. */ -extern fpu_control_t __fpu_control; - -#endif diff --git a/ports/sysdeps/aarch64/fpu/fraiseexcpt.c b/ports/sysdeps/aarch64/fpu/fraiseexcpt.c deleted file mode 100644 index 3e5c118677..0000000000 --- a/ports/sysdeps/aarch64/fpu/fraiseexcpt.c +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (C) 1997-2014 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> -#include <float.h> - -int -feraiseexcept (int excepts) -{ - int fpsr; - const float fp_zero = 0.0; - const float fp_one = 1.0; - const float fp_max = FLT_MAX; - const float fp_min = FLT_MIN; - const float fp_1e32 = 1.0e32f; - const float fp_two = 2.0; - const float fp_three = 3.0; - - /* Raise exceptions represented by EXCEPTS. But we must raise only - one signal at a time. It is important that if the OVERFLOW or - UNDERFLOW exception and the inexact exception are given at the - same time, the OVERFLOW or UNDERFLOW exception precedes the - INEXACT exception. - - After each exception we read from the FPSR, to force the - exception to be raised immediately. */ - - if (FE_INVALID & excepts) - __asm__ __volatile__ ( - "ldr s0, %1\n\t" - "fdiv s0, s0, s0\n\t" - "mrs %0, fpsr" : "=r" (fpsr) - : "m" (fp_zero) - : "d0"); - - if (FE_DIVBYZERO & excepts) - __asm__ __volatile__ ( - "ldr s0, %1\n\t" - "ldr s1, %2\n\t" - "fdiv s0, s0, s1\n\t" - "mrs %0, fpsr" : "=r" (fpsr) - : "m" (fp_one), "m" (fp_zero) - : "d0", "d1"); - - if (FE_OVERFLOW & excepts) - /* There's no way to raise overflow without also raising inexact. */ - __asm__ __volatile__ ( - "ldr s0, %1\n\t" - "ldr s1, %2\n\t" - "fadd s0, s0, s1\n\t" - "mrs %0, fpsr" : "=r" (fpsr) - : "m" (fp_max), "m" (fp_1e32) - : "d0", "d1"); - - if (FE_UNDERFLOW & excepts) - __asm__ __volatile__ ( - "ldr s0, %1\n\t" - "ldr s1, %2\n\t" - "fdiv s0, s0, s1\n\t" - "mrs %0, fpsr" : "=r" (fpsr) - : "m" (fp_min), "m" (fp_three) - : "d0", "d1"); - - if (FE_INEXACT & excepts) - __asm__ __volatile__ ( - "ldr s0, %1\n\t" - "ldr s1, %2\n\t" - "fdiv s0, s0, s1\n\t" - "mrs %0, fpsr" : "=r" (fpsr) - : "m" (fp_two), "m" (fp_three) - : "d0", "d1"); - - return 0; -} - -libm_hidden_def (feraiseexcept) diff --git a/ports/sysdeps/aarch64/fpu/fsetexcptflg.c b/ports/sysdeps/aarch64/fpu/fsetexcptflg.c deleted file mode 100644 index 49cd1e467f..0000000000 --- a/ports/sysdeps/aarch64/fpu/fsetexcptflg.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1997-2014 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 <math.h> -#include <fpu_control.h> - -int -fesetexceptflag (const fexcept_t *flagp, int excepts) -{ - fpu_fpsr_t fpsr; - - /* Get the current environment. */ - _FPU_GETFPSR (fpsr); - - /* Set the desired exception mask. */ - fpsr &= ~(excepts & FE_ALL_EXCEPT); - fpsr |= (*flagp & excepts & FE_ALL_EXCEPT); - - /* Save state back to the FPU. */ - _FPU_SETFPSR (fpsr); - - return 0; -} diff --git a/ports/sysdeps/aarch64/fpu/ftestexcept.c b/ports/sysdeps/aarch64/fpu/ftestexcept.c deleted file mode 100644 index 73e01d4388..0000000000 --- a/ports/sysdeps/aarch64/fpu/ftestexcept.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1997-2014 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 -fetestexcept (int excepts) -{ - fpu_fpsr_t fpsr; - - /* Get current exceptions. */ - _FPU_GETFPSR (fpsr); - - return fpsr & excepts & FE_ALL_EXCEPT; -} -libm_hidden_def (fetestexcept) diff --git a/ports/sysdeps/aarch64/fpu/get-rounding-mode.h b/ports/sysdeps/aarch64/fpu/get-rounding-mode.h deleted file mode 100644 index 5c1615d04c..0000000000 --- a/ports/sysdeps/aarch64/fpu/get-rounding-mode.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Determine floating-point rounding mode within libc. AArch64 version. - - Copyright (C) 2012-2014 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 _AARCH64_GET_ROUNDING_MODE_H -#define _AARCH64_GET_ROUNDING_MODE_H 1 - -#include <fenv.h> -#include <fpu_control.h> - -/* Return the floating-point rounding mode. */ - -static inline int -get_rounding_mode (void) -{ - fpu_control_t fpcr; - - _FPU_GETCW (fpcr); - return fpcr & FE_TOWARDZERO; -} - -#endif /* get-rounding-mode.h */ diff --git a/ports/sysdeps/aarch64/fpu/s_ceil.c b/ports/sysdeps/aarch64/fpu/s_ceil.c deleted file mode 100644 index 5a85b51867..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_ceil.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC ceil -#define INSN "frintp" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_ceilf.c b/ports/sysdeps/aarch64/fpu/s_ceilf.c deleted file mode 100644 index 70be6067d8..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_ceilf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC ceilf -#define INSN "frintp" -#include <s_frintf.c> diff --git a/ports/sysdeps/aarch64/fpu/s_floor.c b/ports/sysdeps/aarch64/fpu/s_floor.c deleted file mode 100644 index d7a2f48780..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_floor.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC floor -#define INSN "frintm" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_floorf.c b/ports/sysdeps/aarch64/fpu/s_floorf.c deleted file mode 100644 index b2dc9be4a2..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_floorf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC floorf -#define INSN "frintm" -#include <s_frintf.c> diff --git a/ports/sysdeps/aarch64/fpu/s_fma.c b/ports/sysdeps/aarch64/fpu/s_fma.c deleted file mode 100644 index adbcfc1db1..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_fma.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1996-2014 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 <math.h> - -#ifndef FUNC -# define FUNC fma -#endif - -#ifndef TYPE -# define TYPE double -# define REGS "d" -#else -# ifndef REGS -# error REGS not defined -# endif -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -TYPE -__CONCATX(__,FUNC) (TYPE x, TYPE y, TYPE z) -{ - TYPE result; - asm ( "fmadd" "\t%" REGS "0, %" REGS "1, %" REGS "2, %" REGS "3" - : "=w" (result) : "w" (x), "w" (y), "w" (z) ); - return result; -} - -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/aarch64/fpu/s_fmaf.c b/ports/sysdeps/aarch64/fpu/s_fmaf.c deleted file mode 100644 index 38c5888738..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_fmaf.c +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC fmaf -#define TYPE float -#define REGS "s" -#include <s_fma.c> diff --git a/ports/sysdeps/aarch64/fpu/s_fmax.c b/ports/sysdeps/aarch64/fpu/s_fmax.c deleted file mode 100644 index 37dc9703e7..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_fmax.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC fmax -#define INSN "fmaxnm" -#include <s_fmin.c> diff --git a/ports/sysdeps/aarch64/fpu/s_fmaxf.c b/ports/sysdeps/aarch64/fpu/s_fmaxf.c deleted file mode 100644 index 748ac0f807..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_fmaxf.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC fmaxf -#define INSN "fmaxnm" -#define TYPE float -#define REGS "s" -#include <s_fmin.c> diff --git a/ports/sysdeps/aarch64/fpu/s_fmin.c b/ports/sysdeps/aarch64/fpu/s_fmin.c deleted file mode 100644 index 63875d5761..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_fmin.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1996-2014 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 <math.h> - -#ifndef FUNC -# define FUNC fmin -#endif - -#ifndef INSN -# define INSN "fminnm" -#endif - -#ifndef TYPE -# define TYPE double -# define REGS "d" -#else -# ifndef REGS -# error REGS not defined -# endif -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -TYPE -__CONCATX(__,FUNC) (TYPE x, TYPE y) -{ - TYPE result; - asm ( INSN "\t%" REGS "0, %" REGS "1, %" REGS "2" - : "=w" (result) : "w" (x), "w" (y) ); - return result; -} - -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/aarch64/fpu/s_fminf.c b/ports/sysdeps/aarch64/fpu/s_fminf.c deleted file mode 100644 index 86c6be2947..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_fminf.c +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC fminf -#define TYPE float -#define REGS "s" -#include <s_fmin.c> diff --git a/ports/sysdeps/aarch64/fpu/s_frint.c b/ports/sysdeps/aarch64/fpu/s_frint.c deleted file mode 100644 index 2e8195c67d..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_frint.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1996-2014 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 <math.h> - -#ifndef FUNC -# error FUNC not defined -#endif - -#ifndef TYPE -# define TYPE double -# define REGS "d" -#else -# ifndef REGS -# error REGS not defined -# endif -#endif - -#ifndef INSN -# error INSN not defined -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -TYPE -__CONCATX(__,FUNC) (TYPE x) -{ - TYPE result; - asm ( INSN "\t%" REGS "0, %" REGS "1" : - "=w" (result) : "w" (x) ); - return result; -} - -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/aarch64/fpu/s_frintf.c b/ports/sysdeps/aarch64/fpu/s_frintf.c deleted file mode 100644 index 817d2d11a9..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_frintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 2011-2014 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 FUNC -# error FUNC not defined -#endif -#define TYPE float -#define REGS "s" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_llrint.c b/ports/sysdeps/aarch64/fpu/s_llrint.c deleted file mode 100644 index 487452fb62..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_llrint.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC llrint -#define OTYPE long long int -#include <s_lrint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_llrintf.c b/ports/sysdeps/aarch64/fpu/s_llrintf.c deleted file mode 100644 index 1a0009d407..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_llrintf.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC llrintf -#define ITYPE float -#define IREGS "s" -#define OTYPE long long int -#include <s_lrint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_llround.c b/ports/sysdeps/aarch64/fpu/s_llround.c deleted file mode 100644 index 90615358a1..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_llround.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC llround -#define OTYPE long long int -#include <s_lround.c> diff --git a/ports/sysdeps/aarch64/fpu/s_llroundf.c b/ports/sysdeps/aarch64/fpu/s_llroundf.c deleted file mode 100644 index c4c7149396..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_llroundf.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC llroundf -#define ITYPE float -#define IREGS "s" -#define OTYPE long long int -#include <s_lround.c> diff --git a/ports/sysdeps/aarch64/fpu/s_lrint.c b/ports/sysdeps/aarch64/fpu/s_lrint.c deleted file mode 100644 index 8ff9520b77..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_lrint.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1996-2014 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 <math.h> - -#ifndef FUNC -# define FUNC lrint -#endif - -#ifndef ITYPE -# define ITYPE double -# define IREGS "d" -#else -# ifndef IREGS -# error IREGS not defined -# endif -#endif - -#ifndef OTYPE -# define OTYPE long int -#endif - -#define OREGS "x" - -#define __CONCATX(a,b) __CONCAT(a,b) - -OTYPE -__CONCATX(__,FUNC) (ITYPE x) -{ - OTYPE result; - ITYPE temp; - asm ( "frintx" "\t%" IREGS "1, %" IREGS "2\n\t" - "fcvtzs" "\t%" OREGS "0, %" IREGS "1" - : "=r" (result), "=w" (temp) : "w" (x) ); - return result; -} - -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/aarch64/fpu/s_lrintf.c b/ports/sysdeps/aarch64/fpu/s_lrintf.c deleted file mode 100644 index 8ed38fe016..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_lrintf.c +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC lrintf -#define ITYPE float -#define IREGS "s" -#include <s_lrint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_lround.c b/ports/sysdeps/aarch64/fpu/s_lround.c deleted file mode 100644 index e1f4a2076d..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_lround.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (C) 1996-2014 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 <math.h> - -#ifndef FUNC -# define FUNC lround -#endif - -#ifndef ITYPE -# define ITYPE double -# define IREGS "d" -#else -# ifndef IREGS -# error IREGS not defined -# endif -#endif - -#ifndef OTYPE -# define OTYPE long int -#endif - -#define OREGS "x" - -#define __CONCATX(a,b) __CONCAT(a,b) - -OTYPE -__CONCATX(__,FUNC) (ITYPE x) -{ - OTYPE result; - asm ( "fcvtas" "\t%" OREGS "0, %" IREGS "1" - : "=r" (result) : "w" (x) ); - return result; -} - -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/aarch64/fpu/s_lroundf.c b/ports/sysdeps/aarch64/fpu/s_lroundf.c deleted file mode 100644 index 4970954d9f..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_lroundf.c +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC lroundf -#define ITYPE float -#define IREGS "s" -#include <s_lround.c> diff --git a/ports/sysdeps/aarch64/fpu/s_nearbyint.c b/ports/sysdeps/aarch64/fpu/s_nearbyint.c deleted file mode 100644 index c130b83401..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_nearbyint.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC nearbyint -#define INSN "frinti" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_nearbyintf.c b/ports/sysdeps/aarch64/fpu/s_nearbyintf.c deleted file mode 100644 index e09f162995..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_nearbyintf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC nearbyintf -#define INSN "frinti" -#include <s_frintf.c> diff --git a/ports/sysdeps/aarch64/fpu/s_rint.c b/ports/sysdeps/aarch64/fpu/s_rint.c deleted file mode 100644 index f1ded8ec8b..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_rint.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC rint -#define INSN "frintx" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_rintf.c b/ports/sysdeps/aarch64/fpu/s_rintf.c deleted file mode 100644 index a950c765ec..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_rintf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC rintf -#define INSN "frintx" -#include <s_frintf.c> diff --git a/ports/sysdeps/aarch64/fpu/s_round.c b/ports/sysdeps/aarch64/fpu/s_round.c deleted file mode 100644 index 40411a5c44..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_round.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC round -#define INSN "frinta" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_roundf.c b/ports/sysdeps/aarch64/fpu/s_roundf.c deleted file mode 100644 index 05f0e9603d..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_roundf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC roundf -#define INSN "frinta" -#include <s_frintf.c> diff --git a/ports/sysdeps/aarch64/fpu/s_trunc.c b/ports/sysdeps/aarch64/fpu/s_trunc.c deleted file mode 100644 index 2ffd899ab3..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_trunc.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC trunc -#define INSN "frintz" -#include <s_frint.c> diff --git a/ports/sysdeps/aarch64/fpu/s_truncf.c b/ports/sysdeps/aarch64/fpu/s_truncf.c deleted file mode 100644 index 10e69cae48..0000000000 --- a/ports/sysdeps/aarch64/fpu/s_truncf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2014 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/>. */ - -#define FUNC truncf -#define INSN "frintz" -#include <s_frintf.c> diff --git a/ports/sysdeps/aarch64/jmpbuf-offsets.h b/ports/sysdeps/aarch64/jmpbuf-offsets.h deleted file mode 100644 index bcf2afa555..0000000000 --- a/ports/sysdeps/aarch64/jmpbuf-offsets.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright (C) 2006-2014 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/>. */ - -#define JB_X19 0 -#define JB_X20 1 -#define JB_X21 2 -#define JB_X22 3 -#define JB_X23 4 -#define JB_X24 5 -#define JB_X25 6 -#define JB_X26 7 -#define JB_X27 8 -#define JB_X28 9 -#define JB_X29 10 -#define JB_LR 11 -#define JB_SP 13 - -#define JB_D8 14 -#define JB_D9 15 -#define JB_D10 16 -#define JB_D11 17 -#define JB_D12 18 -#define JB_D13 19 -#define JB_D14 20 -#define JB_D15 21 - -#ifndef __ASSEMBLER__ -#include <setjmp.h> -#include <stdint.h> -#include <sysdep.h> - -static inline uintptr_t __attribute__ ((unused)) -_jmpbuf_sp (__jmp_buf jmpbuf) -{ - uintptr_t sp = jmpbuf[JB_SP]; -#ifdef PTR_DEMANGLE - PTR_DEMANGLE (sp); -#endif - return sp; -} -#endif - -/* Helper for generic ____longjmp_chk(). */ -#define JB_FRAME_ADDRESS(buf) \ - ((void *) _jmpbuf_sp (buf)) diff --git a/ports/sysdeps/aarch64/jmpbuf-unwind.h b/ports/sysdeps/aarch64/jmpbuf-unwind.h deleted file mode 100644 index 39a5dc2c75..0000000000 --- a/ports/sysdeps/aarch64/jmpbuf-unwind.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2005-2014 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 <setjmp.h> -#include <jmpbuf-offsets.h> -#include <stdint.h> -#include <unwind.h> - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle (jmpbuf[JB_SP])) - -#define _JMPBUF_CFA_UNWINDS_ADJ(jmpbuf, context, adj) \ - _JMPBUF_UNWINDS_ADJ (jmpbuf, (void *) _Unwind_GetCFA (context), adj) - -#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \ - ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj)) - -/* We use the normal longjmp for unwinding. */ -#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val) diff --git a/ports/sysdeps/aarch64/ldsodefs.h b/ports/sysdeps/aarch64/ldsodefs.h deleted file mode 100644 index f55608c271..0000000000 --- a/ports/sysdeps/aarch64/ldsodefs.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 2005-2014 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 _AARCH64_LDSODEFS_H -#define _AARCH64_LDSODEFS_H 1 - -#include <elf.h> - -struct La_aarch64_regs; -struct La_aarch64_retval; - -#define ARCH_PLTENTER_MEMBERS \ - ElfW(Addr) (*aarch64_gnu_pltenter) (ElfW(Sym) *, \ - unsigned int, \ - uintptr_t *, \ - uintptr_t *, \ - struct La_aarch64_regs *, \ - unsigned int *, \ - const char *, \ - long int *) - -#define ARCH_PLTEXIT_MEMBERS \ - ElfW(Addr) (*aarch64_gnu_pltexit) (ElfW(Sym) *, \ - unsigned int, \ - uintptr_t *, \ - uintptr_t *, \ - const struct La_aarch64_regs *, \ - struct La_aarch64_retval *, \ - const char *) - -#include_next <ldsodefs.h> - -#endif diff --git a/ports/sysdeps/aarch64/libc-tls.c b/ports/sysdeps/aarch64/libc-tls.c deleted file mode 100644 index c67ef277a7..0000000000 --- a/ports/sysdeps/aarch64/libc-tls.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2005-2014 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 <csu/libc-tls.c> -#include <dl-tls.h> - -/* On AArch64, linker optimizations are not required, so __tls_get_addr - can be called even in statically linked binaries. In this case module - must be always 1 and PT_TLS segment exist in the binary, otherwise it - would not link. */ - -void * -__tls_get_addr (tls_index *ti) -{ - dtv_t *dtv = THREAD_DTV (); - return (char *) dtv[1].pointer.val + ti->ti_offset; -} diff --git a/ports/sysdeps/aarch64/libm-test-ulps b/ports/sysdeps/aarch64/libm-test-ulps deleted file mode 100644 index 786720dbe1..0000000000 --- a/ports/sysdeps/aarch64/libm-test-ulps +++ /dev/null @@ -1,18858 +0,0 @@ -# Begin of automatic generation - -# acos_downward -Test "acos_downward (-0x8p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# acos_towardzero -Test "acos_towardzero (-0x8p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# acos_upward -Test "acos_upward (+0)": -double: 1 -idouble: 1 -Test "acos_upward (-0)": -double: 1 -idouble: 1 -Test "acos_upward (-0x1p+0)": -double: 1 -idouble: 1 -Test "acos_upward (-0x4p-1024)": -double: 1 -idouble: 1 -Test "acos_upward (-0x4p-1076)": -double: 1 -idouble: 1 -Test "acos_upward (-0x4p-128)": -double: 1 -idouble: 1 -Test "acos_upward (-0x8p-152)": -double: 1 -idouble: 1 -Test "acos_upward (-0x8p-972)": -double: 1 -idouble: 1 -Test "acos_upward (0x1.70ef54646d496p-56)": -double: 1 -idouble: 1 -Test "acos_upward (0x1.70ef54646d497p-56)": -double: 1 -idouble: 1 -Test "acos_upward (0x1.70ef54p-56)": -double: 1 -idouble: 1 -Test "acos_upward (0x1.70ef56p-56)": -double: 1 -idouble: 1 -Test "acos_upward (0x4p-1024)": -double: 1 -idouble: 1 -Test "acos_upward (0x4p-1076)": -double: 1 -idouble: 1 -Test "acos_upward (0x4p-128)": -double: 1 -idouble: 1 -Test "acos_upward (0x8p-152)": -double: 1 -idouble: 1 -Test "acos_upward (0x8p-972)": -double: 1 -idouble: 1 - -# acosh -Test "acosh (0x6.4p+4)": -double: 1 -idouble: 1 -Test "acosh (0xf.ffffffffffff8p+1020)": -double: 1 -Test "acosh (0xf.fffffp+124)": -ldouble: 1 - -# asin -Test "asin (-0xf.ffffffffffff8p-4)": -ildouble: 1 -ldouble: 1 -Test "asin (-0xf.fffffffffffffffp-4)": -ildouble: 1 -ldouble: 1 - -# asin_downward -Test "asin_downward (-0x1p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x8p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0xf.fffffff8p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0xf.ffffffffffff8p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0xf.fffffffffffffffp-4)": -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0xf.fffffffffffp-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0xf.fffffp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "asin_downward (0x8p-4)": -float: 1 -ifloat: 1 -Test "asin_downward (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# asin_tonearest -Test "asin_tonearest (-0xf.ffffffffffff8p-4)": -ildouble: 1 -ldouble: 1 -Test "asin_tonearest (-0xf.fffffffffffffffp-4)": -ildouble: 1 -ldouble: 1 - -# asin_towardzero -Test "asin_towardzero (-0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0xf.fffffp-4)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (0x8p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# asin_upward -Test "asin_upward (-0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0xf.fffffff8p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0xf.ffffffffffff8p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0xf.fffffffffffffffp-4)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0xf.fffffffffffp-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0xf.fffffp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "asin_upward (0x1p+0)": -double: 1 -idouble: 1 -Test "asin_upward (0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# asinh -Test "asinh (-0xf.ffffffffffff8p+1020)": -double: 1 -Test "asinh (-0xf.fffffp+124)": -ldouble: 1 -Test "asinh (0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "asinh (0x1p+100)": -ildouble: 1 -ldouble: 1 -Test "asinh (0xap+0)": -float: 1 -ifloat: 1 -Test "asinh (0xf.ffffffffffff8p+1020)": -double: 1 -Test "asinh (0xf.fffffp+124)": -ldouble: 1 - -# atan -Test "atan (0xap+0)": -double: 1 -idouble: 1 - -# atan2 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51244p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246640cc2340ca48p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e51246640cc2340ca48p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51244p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246640cc2340ca48p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1d8p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca4838p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca483cp-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca48p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1ep-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51244p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246640cc2340ca48p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1ep-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1d8p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4838p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca483cp-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4ap-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1d8p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51246648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51244p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1d8p-12)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51244p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246640cc2340ca48p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51244p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x2p-16384, -0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x4p-16384, -0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x4p-16448, -0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x8p-16448, -0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0xcp-4, -0x1p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "atan2 (-0xf.fffffffffffffffffffffffffff8p+16380, 0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0xf.fffffp+124, -0x4p-128)": -float: 1 -ifloat: 1 -Test "atan2 (-0xf.fffffp+124, -0x8p-152)": -float: 1 -ifloat: 1 -Test "atan2 (0x1.000002p+0, 0x1.0000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x1.000002p+0, 0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x1.64p+0, 0xe.ep-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "atan2 (0x4p-16384, -0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x6.4p-4, 0x1.301648p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x6.4p-4, 0x1.30164ap-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x8p-16448, -0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0xcp-4, -0x1p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "atan2 (0xf.fffffffffffffffp+16380, 0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0xf.fffffp+124, -0x4p-128)": -float: 1 -ifloat: 1 -Test "atan2 (0xf.fffffp+124, -0x8p-152)": -float: 1 -ifloat: 1 - -# atanh -Test "atanh (-0xcp-4)": -float: 1 -ifloat: 1 -Test "atanh (0x1.2345p-20)": -ildouble: 1 -ldouble: 1 -Test "atanh (0x4p-4)": -ildouble: 1 -ldouble: 1 -Test "atanh (0xcp-4)": -float: 1 -ifloat: 1 - -# cacos -Test "Imaginary part of: cacos (+0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (+0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (+0 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (+0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (+0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (+0 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.25 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0.25 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.25 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0.25 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0.5 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0.5 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-105 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-105 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-112 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-112 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-23 + 0.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-23 - 0.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-52 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-52 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-63 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-63 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-1.0 + 0x1p50 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-1.0 - 0x1p50 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-2 - 3 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.25 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.25 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-63 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0.5 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-63 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0.5 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x1.fp-100 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.fp-100 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x1p-23 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x1p-23 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-52 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-52 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-63 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-63 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 + 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (1.0 + 0x1.fp-10 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 + 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 + 0x1.fp-30 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 - 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (1.0 - 0x1.fp-10 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 - 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 - 0x1.fp-30 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 - -# cacosh -Test "Real part of: cacosh (+0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (+0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (+0 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (+0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (+0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (+0 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.25 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.25 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (-0.25 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.25 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-2 - 3 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.25 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.25 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + +0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0.5 - 0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0.5 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x1p-23 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x1p-23 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-52 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-52 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x1p-63 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x1p-63 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 + 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 + 0x1.fp-30 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 - 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 - 0x1.fp-30 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 - -# casin -Test "Imaginary part of: casin (+0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (+0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (+0 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (+0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (+0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (+0 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.25 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.25 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 + 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 - 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x1.fp-10 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-30 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-30 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-52 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-52 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 + 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 - 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.25 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.25 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 + 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 - 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x0.fffffffffffff8p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x1.fp-10 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-30 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-30 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-52 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-52 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 + 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 - 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 - -# casinh -Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.25 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.25 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 + 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (-0.5 + 0x1p-52 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.5 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 - 0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 - 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (-0.5 - 0x1p-52 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.5 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000002p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000002p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-105 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-105 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-112 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-112 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1p-52 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1p-52 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-63 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-63 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 - 0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.0 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.0 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.25 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.25 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 + 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (0.5 + 0x1p-52 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.5 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casinh (0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 - 0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 0x1p-105 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 - 0x1p-112 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (0.5 - 0x1p-52 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.5 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 0x1p-63 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casinh (0.5 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000002p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000002p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-10 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-129 + 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-129 - 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-105 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-105 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-112 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-112 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-112 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-112 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-23 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-23 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1p-52 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0x1p-52 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-63 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-63 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p500 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p500 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p5000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p5000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1p500 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1p5000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 - 0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 - -# catan -Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x0.ffffffp0 + 0x1p-126 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x0.ffffffp0 - 0x1p-126 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 + 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-57 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.fp16383 - 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (-0x1p-13 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (-0x1p-13 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-0x1p-16380 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1p-16380 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (-1.0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-1.0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-2 - 3 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: catan (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x0.ffffffp0 + 0x1p-126 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x0.ffffffp0 - 0x1p-126 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 + 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-16382 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-57 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.fp16383 - 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (0x1p-13 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (0x1p-13 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x1p-16380 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1p-16380 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1p-54 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x1p-54 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x1p-57 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x1p-57 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catan (1.0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (1.0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# catanh -Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (-0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1.fp16383 - 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-126 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-126 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-16382 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-16382 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (-0x1p-57 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-57 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-1.0 + 0x1p-1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-1.0 + 0x1p-16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-1.0 + 0x1p-54 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-1.0 + 0x1p-57 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-1.0 - 0x1p-1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-1.0 - 0x1p-16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-1.0 - 0x1p-54 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-1.0 - 0x1p-57 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (-2 - 3 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1.fp16383 + 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1.fp16383 - 0x1.fp16383 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-126 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-126 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-16382 + 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-16382 - 0x1.0000000000000000000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1p-57 + 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-57 - 0x0.ffffffffffffffffffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (1.0 + 0x1p-1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (1.0 + 0x1p-16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (1.0 + 0x1p-54 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (1.0 + 0x1p-57 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (1.0 - 0x1p-1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (1.0 - 0x1p-16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (1.0 - 0x1p-54 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (1.0 - 0x1p-57 i)": -float: 1 -ifloat: 1 - -# cbrt -Test "cbrt (-0x1.bp+4)": -double: 1 -idouble: 1 -Test "cbrt (-0x4.189374bc6a7ecp-12)": -ildouble: 1 -ldouble: 1 -Test "cbrt (-0x4.189374bc6a7ef9ep-12)": -ildouble: 1 -ldouble: 1 -Test "cbrt (-0x4.18937p-12)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cbrt (0xf.ep-4)": -double: 1 -idouble: 1 - -# ccos -Test "Real part of: ccos (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c5d4p+12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c68p+8 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ccos (-0xcp-4 + 0x5.98p+4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 + 0x5.98p+4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c5d4p+12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c68p+8 i)": -double: 1 -idouble: 1 -Test "Real part of: ccos (-0xcp-4 - 0x5.98p+4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 - 0x5.98p+4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0x1p-120 + 0x8p-32 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0x4p-1076 + 0x5.ap+8 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccos (0x4p-16436 + 0x5.8cap+12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0x8p-32 + 0x1p-120 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ccos (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0xcp-4 + 0x2.c5d4p+12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0xcp-4 + 0x2.c68p+8 i)": -double: 1 -idouble: 1 -Test "Real part of: ccos (0xcp-4 + 0x5.98p+4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0xcp-4 + 0x5.98p+4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0xcp-4 - 0x2.c5d4p+12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0xcp-4 - 0x2.c68p+8 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ccos (0xcp-4 - 0x5.98p+4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0xcp-4 - 0x5.98p+4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# ccosh -Test "Imaginary part of: ccosh (-0x2.c5d4p+12 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (-0x2.c5d4p+12 - 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (-0x2.c68p+8 + 0xcp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccosh (-0x2.c68p+8 - 0xcp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ccosh (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ccosh (-0x5.98p+4 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (-0x5.98p+4 + 0xcp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: ccosh (-0x5.98p+4 - 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (-0x5.98p+4 - 0xcp-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (0x2.c5d4p+12 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (0x2.c5d4p+12 - 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (0x2.c68p+8 + 0xcp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (0x2.c68p+8 - 0xcp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccosh (0x5.8cap+12 + 0x4p-16436 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ccosh (0x5.98p+4 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (0x5.98p+4 + 0xcp-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ccosh (0x5.98p+4 - 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccosh (0x5.98p+4 - 0xcp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (0x5.ap+8 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Real part of: ccosh (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 - -# cexp -Test "Imaginary part of: cexp (+0 + 0x2.1e19e0c9bab24p+72 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (+0 + 0x2p+64 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (+0 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x2.71p+12 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x2.dp+8 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (-0x5.fp+4 + 0xcp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: cexp (0x1.f4p+8 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cexp (0x1.f4p+8 + 0xf.fffffp+124 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (0x2.c5dp+8 + 0xcp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cexp (0x2.c5dp+8 + 0xcp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (0x3.2p+4 + 0x8p+124 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cexp (0x5.8cap+12 + 0x4p-16436 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0x5.ap+8 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Real part of: cexp (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cexp (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 - -# clog -Test "Real part of: clog (+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (+0 + 0x8p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (+0 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (+0 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x1.0000000123456p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (-0x1.0000000123456p+0 + 0x1.2345678p-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d1598p-32 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d159ep-32 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (-0x1.0000000123456p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (-0x1.000002p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d1598p-32 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (-0x1.234566p-40 - 0x1p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0x4p-1076 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x4p-1076 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x4p-16448 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x4p-16448 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x4p-16496 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x4p-16496 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x8p-152 + 0xf.8p+124 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (-0x8p-152 + 0xf.8p+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0x8p-152 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (-0x8p-152 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0x8p-152 - 0xf.8p+124 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (-0x8p-152 - 0xf.8p+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0x8p-152 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (-0x8p-152 - 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0x8p-16448 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x8p-16448 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+124 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0xf.8p+124 - 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (-0xf.8p+16380 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16496 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16496 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 - 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0xf.8p+16380 - 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234566p-60 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-60 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234568p-60 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.000002p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.000002p+0 + 0x1.234566p-60 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.000002p+0 + 0x1.23456789p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.000002p+0 + 0x1.234568p-60 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.000002p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c63p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c63p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c64p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed199p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdf8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdfbf6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed199p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdf8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed199p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e08p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0949p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0948p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0949p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e0948p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4d1d7a6e0949p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e0948p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0949p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1p-16440 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1p-16440 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a2f9df7a4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a2f9df7a4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a2f9df7a4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a38p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a38p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42bp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42ap-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2p-148 + 0x2p-148 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.2cdb84p-4 + 0xf.ae888f0455f6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae888p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae889p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab873d09e61e798p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab874p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e798p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e798p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61ep-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c59p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfdp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d7p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d118p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d118p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfdp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d619a8d12p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d08p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d08p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d08p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b4p-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3ce8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3cfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3cec09p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c1af8e3cec09p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c1af8e3cfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d75e3cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d76p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d758p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d76p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a6p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d758p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.d9e8c8p-4 + 0xf.3f30281507d8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4.d9e8c8p-4 + 0xf.3f303p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x4.d9e8cp-4 + 0xf.3f30281507d8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.d9e8cp-4 + 0xf.3f303p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4p-1076 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-1076 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-1076 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-1076 + 0x8p-16444 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-1076 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-1076 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-16448 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-16448 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-16496 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4p-16496 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.03p-4 + 0xf.31ep-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989dap-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22364p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989d9b5cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22364p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d98p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d9b5cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c596a8cb1p-4 + 0xf.22364p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989d98p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.b06b680ea2ccp-4 + 0xe.f452b965da9fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.b06b680ea2ccp-4 + 0xe.f452bp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452b965da9fp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452bp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452b965da9fp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x5.ba8cep-4 + 0xe.f0742p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.dbd1p-4 + 0xe.e387ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e21p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd5037c4794p-4 + 0xe.d3e2086dcca8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e21p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e21p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x6.02fd58p-4 + 0xe.d3e2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5p-4 + 0xe.d3e21p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x6.02fd5p-4 + 0xe.d3e2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5p-4 + 0xe.d3e2p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2018b4288p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c2018b428p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2018b428p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428257p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c3p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x6.1c643p-4 + 0xe.c97c2018b4288p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cb019p-4 + 0xe.c36a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86bbp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86baf8febep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf9p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a599a86ba8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a5p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86ba8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86baf9p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.59feap-4 + 0xe.af6f9p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520217b6p-4 + 0xe.8893cbb449253a1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb449253a1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb44925p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655fp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e5108p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e5108p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e5108p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e5108p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e5108p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e5108p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655ep-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e5108p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65939160b31066ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d66p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b31p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d66p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f4b083cb0bp-4 + 0xd.e1bf04f3688p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f4b088p-4 + 0xd.e1bfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f4b08p-4 + 0xd.e1bf04f3688p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bcp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x8.88fafp-4 + 0xd.888bdp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.479468b09a37p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.47946p-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x8p-1076 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-1076 + 0x8p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-1076 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-152 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-152 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-152 + 0x8p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-152 + 0x8p-16444 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-152 + 0xf.8p+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x8p-152 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-152 - 0xf.8p+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x8p-152 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-16448 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8p-16448 - 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.a9cp-4 + 0xc.c0ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.a9cp-4 + 0xc.c0ap-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b4085cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b408p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b41p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b969p-4 + 0xc.b9317p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b387p-4 + 0xc.b9317c470b408p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.b57bp-4 + 0xc.b7b4p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53dp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8b1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53ep-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53dp-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c18p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c2p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df58ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df5894a70c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df589p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966dfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df589p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342ep-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df5894a70c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df58ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624348p-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df5894a70c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966dfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc58p-4 + 0xb.e867932966df5894a70c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867932966dfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e8679p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867ap-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.b96da19075eap-8 + 0xf.fc67818f89d2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc67818f89d2p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.b96dbp-8 + 0xf.fc67818f89d2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51cbp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51ccp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.e7de8p-4 + 0xb.b51cb9f04d4dp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.e7de8p-4 + 0xb.b51cbp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cb9f04d4dp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51ccp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a043561d0f42p-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f24p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f25p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f24p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a68p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f24p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+124 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xf.8p+124 - 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xf.8p+16380 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0x4p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0x4p-16496 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0xf.fffffp+124 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 - 0x4p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 - 0x4p-16496 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 - 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 - 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp+124 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xf.fffffp+124 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0xf.ffffffffffff8p-1004 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffffffffffffp-15004 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffp-104 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# clog10 -Test "Imaginary part of: clog10 (-0 + inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-0 - inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1p-1074 - 0x1.fp+1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1p-149 + 0x1.fp+127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (-2 - 3 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (-2 - 3 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (-3 + inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-3 - inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf + 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf + 1 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf + inf i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-inf - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf - 1 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0 + inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0 - inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog10 (0x1.234566p-50 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog10 (0x1.234566p-60 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1p+1023 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x1.fp+16383 + 0x1.fp+16383 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x1.fp+16383 + 0x1p+16383 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x1415bcaf2105940d49a636e98ae59p-115 + 0x7e6a150adfcd1b0921d44b31f40f4p-115 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x3f96469050f650869c2p-75 + 0x6f16b2c9c8b05988335p-75 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x55cb6d0c83af5p-55 + 0x7fe33c0c7c4e90p-55 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x602fd5037c4792efp-64 + 0xed3e2086dcca80b8p-64 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0xdb85c467ee2aadd5f425fe0f4b8dp-114 + 0x3e83162a0f95f1dcbf97dddf410eap-114 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (3 + inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (3 - inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (inf + inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (inf - inf i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# cos -Test "cos (-0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos (-0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos (-0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos (-0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 -Test "cos (0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "cos (0x1.921fb54442d18p+0)": -ildouble: 1 -ldouble: 1 -Test "cos (0x1p+120)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos (0x1p+28)": -ildouble: 1 -ldouble: 1 -Test "cos (0x2.182a4705ae6cb08cb7665c1eacf6p+0)": -ildouble: 1 -ldouble: 1 -Test "cos (0x2.182a4705ae6ccp+0)": -ildouble: 1 -ldouble: 1 -Test "cos (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "cos (0x7p+0)": -float: 1 -ifloat: 1 -Test "cos (0x8p+124)": -float: 1 -ifloat: 1 -Test "cos (0xap+0)": -ildouble: 1 -ldouble: 1 -Test "cos (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos (0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos (0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 - -# cos_downward -Test "cos_downward (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (-0xf.fffffp+124)": -double: 1 -idouble: 1 -Test "cos_downward (0x1.000000cf4a2a2p+0)": -double: 1 -idouble: 1 -Test "cos_downward (0x1.0000010b239a9p+0)": -double: 1 -idouble: 1 -Test "cos_downward (0x1.00000162a932bp+0)": -double: 1 -idouble: 1 -Test "cos_downward (0x1.000002d452a1p+0)": -double: 1 -idouble: 1 -Test "cos_downward (0x1.000002p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_downward (0x1.000004p+0)": -float: 1 -ifloat: 1 -Test "cos_downward (0x1.000006p+0)": -float: 1 -ifloat: 1 -Test "cos_downward (0x1.0c1522p+0)": -float: 1 -ifloat: 1 -Test "cos_downward (0x1.0c152382d7365p+0)": -double: 1 -idouble: 1 -Test "cos_downward (0x1.0c1524p+0)": -float: 1 -ifloat: 1 -Test "cos_downward (0x1.921fb4p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "cos_downward (0x1.921fb54442d18468p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1.921fb54442d18469898cc517018p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1.921fb54442d18469898cc51701b8p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1.921fb54442d18469898cc51702p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1.921fb54442d18p+0)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "cos_downward (0x1.921fb54442d19p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1.921fb6p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "cos_downward (0x1p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_downward (0x1p+120)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x1p+28)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a44p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_downward (0x2.182a4705ae6cap+0)": -double: 1 -idouble: 1 -Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eadp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a4705ae6cb08cp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a4705ae6cb09p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a4705ae6ccp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2.182a48p+0)": -float: 1 -ifloat: 1 -Test "cos_downward (0x2.1e19e0c9bab24p+72)": -double: 1 -idouble: 1 -Test "cos_downward (0x2.1e19e4p+72)": -double: 1 -idouble: 1 -Test "cos_downward (0x2.1e19ep+72)": -double: 1 -idouble: 1 -Test "cos_downward (0x2p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x3p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x4p+48)": -double: 1 -idouble: 1 -Test "cos_downward (0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x8p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "cos_downward (0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0x9p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0xa.217bap+12)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0xc.d4966d92d1708p-4)": -double: 1 -idouble: 1 -Test "cos_downward (0xc.d4966d92d171p-4)": -double: 1 -idouble: 1 -Test "cos_downward (0xc.d4966p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_downward (0xc.d4967p-4)": -float: 1 -ifloat: 1 -Test "cos_downward (0xcp-4)": -double: 1 -idouble: 1 -Test "cos_downward (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_downward (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_downward (0xf.fffffffffffffffp+16380)": -ildouble: 2 -ldouble: 2 -Test "cos_downward (0xf.fffffp+124)": -double: 1 -idouble: 1 - -# cos_tonearest -Test "cos_tonearest (-0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (-0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (-0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (-0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x1.921fb54442d18p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x1p+120)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x1p+28)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eacf6p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x2.182a4705ae6ccp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0x7p+0)": -float: 1 -ifloat: 1 -Test "cos_tonearest (0x8p+124)": -float: 1 -ifloat: 1 -Test "cos_tonearest (0xap+0)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 - -# cos_towardzero -Test "cos_towardzero (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (-0xf.fffffp+124)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.000000cf4a2a2p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.0000010b239a9p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.00000162a932bp+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.000002d452a1p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.000002p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.0c152382d7365p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.921fb54442d18469898cc51701b8p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x1.921fb54442d18469898cc51701b9p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x1.921fb54442d18p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.921fb54442d19p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1.921fb6p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x1p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x1p+120)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_towardzero (0x2.182a44p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x2.182a4705ae6cap+0)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x2.182a4705ae6cb08cb7665c1eacp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x2.182a4705ae6ccp+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x2.182a48p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x2.1e19e0c9bab24p+72)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x2.1e19e4p+72)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x2.1e19ep+72)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x2p+0)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p+48)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x8p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x8p+1020)": -double: 1 -idouble: 1 -Test "cos_towardzero (0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0xa.217bap+12)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0xc.d4966d92d1708p-4)": -double: 1 -idouble: 1 -Test "cos_towardzero (0xc.d4966d92d171p-4)": -double: 1 -idouble: 1 -Test "cos_towardzero (0xc.d4966p-4)": -double: 1 -idouble: 1 -Test "cos_towardzero (0xcp-4)": -double: 1 -idouble: 1 -Test "cos_towardzero (0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_towardzero (0xf.fffffp+124)": -double: 1 -idouble: 1 - -# cos_upward -Test "cos_upward (-0x2p+64)": -double: 1 -idouble: 1 -Test "cos_upward (-0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (-0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (-0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.000002p+0)": -float: 1 -ifloat: 1 -Test "cos_upward (0x1.000004p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_upward (0x1.000005bc7d86dp+0)": -double: 1 -idouble: 1 -Test "cos_upward (0x1.000006p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_upward (0x1.0c1522p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_upward (0x1.0c152382d7366p+0)": -double: 1 -idouble: 1 -Test "cos_upward (0x1.0c1524p+0)": -double: 1 -idouble: 1 -Test "cos_upward (0x1.921fb4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d18468p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d18469898cc517018p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d18469898cc51701b9p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d18469898cc51702p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d18p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1.921fb54442d19p+0)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "cos_upward (0x1.921fb6p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1p+0)": -float: 1 -ifloat: 1 -Test "cos_upward (0x1p+120)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x1p+28)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a44p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "cos_upward (0x2.182a4705ae6cap+0)": -ildouble: 2 -ldouble: 2 -Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacp+0)": -ildouble: 2 -ldouble: 2 -Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eadp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a4705ae6cb08cp+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a4705ae6cb09p+0)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a4705ae6ccp+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2.182a48p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "cos_upward (0x2.1e19e4p+72)": -float: 1 -ifloat: 1 -Test "cos_upward (0x2p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x2p+64)": -double: 1 -idouble: 1 -Test "cos_upward (0x3p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x4p+0)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "cos_upward (0x5p+0)": -double: 1 -idouble: 1 -Test "cos_upward (0x6p+0)": -double: 1 -idouble: 1 -Test "cos_upward (0x7p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_upward (0x8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0x8p+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_upward (0x9p+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0xa.217bap+12)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "cos_upward (0xap+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cos_upward (0xc.d4966p-4)": -float: 1 -ifloat: 1 -Test "cos_upward (0xc.d4967p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "cos_upward (0xf.ffffcp+124)": -double: 1 -idouble: 1 -Test "cos_upward (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0xf.fffffffffffffffffffffffffff8p+16380)": -ildouble: 1 -ldouble: 1 -Test "cos_upward (0xf.fffffffffffffffp+16380)": -ildouble: 1 -ldouble: 1 - -# cosh -Test "cosh (-0x1p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cosh (-0x2.c5d374p+12)": -ldouble: 1 -Test "cosh (-0x2.c5d37700c6bb03a4p+12)": -ldouble: 1 -Test "cosh (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 1 -Test "cosh (-0x2.c5d37700c6bbp+12)": -ldouble: 1 -Test "cosh (-0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh (0x1.6p+4)": -ildouble: 1 -ldouble: 1 -Test "cosh (0x2.c5d374p+12)": -ldouble: 1 -Test "cosh (0x2.c5d37700c6bb03a4p+12)": -ldouble: 1 -Test "cosh (0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 1 -Test "cosh (0x2.c5d37700c6bbp+12)": -ldouble: 1 -Test "cosh (0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh (0x2.c679dp+8)": -double: 1 -idouble: 1 - -# cosh_downward -Test "cosh_downward (-0x2.c5d37700c6bb03a4p+12)": -ldouble: 2 -Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)": -ldouble: 1 -Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 2 -Test "cosh_downward (-0x2.c5d37700c6bbp+12)": -ldouble: 2 -Test "cosh_downward (-0x2.c5e3bp+8)": -double: 1 -idouble: 1 -Test "cosh_downward (-0x2.c679d1f73f0fap+8)": -double: 1 -idouble: 1 -Test "cosh_downward (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_downward (-0x5.96a7ep+4)": -float: 1 -ifloat: 1 -Test "cosh_downward (0x1.6p+4)": -double: 1 -idouble: 1 -Test "cosh_downward (0x1.7p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cosh_downward (0x2.c5d37700c6bb03a4p+12)": -ldouble: 2 -Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)": -ldouble: 1 -Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 2 -Test "cosh_downward (0x2.c5d37700c6bbp+12)": -ldouble: 2 -Test "cosh_downward (0x2.c5e3bp+8)": -double: 1 -idouble: 1 -Test "cosh_downward (0x2.c679d1f73f0fap+8)": -double: 1 -idouble: 1 -Test "cosh_downward (0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_downward (0x5.96a7ep+4)": -float: 1 -ifloat: 1 - -# cosh_tonearest -Test "cosh_tonearest (-0x1p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cosh_tonearest (-0x2.c5d374p+12)": -ldouble: 1 -Test "cosh_tonearest (-0x2.c5d37700c6bb03a4p+12)": -ldouble: 1 -Test "cosh_tonearest (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 1 -Test "cosh_tonearest (-0x2.c5d37700c6bbp+12)": -ldouble: 1 -Test "cosh_tonearest (-0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh_tonearest (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_tonearest (0x1.6p+4)": -ildouble: 1 -ldouble: 1 -Test "cosh_tonearest (0x2.c5d374p+12)": -ldouble: 1 -Test "cosh_tonearest (0x2.c5d37700c6bb03a4p+12)": -ldouble: 1 -Test "cosh_tonearest (0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 1 -Test "cosh_tonearest (0x2.c5d37700c6bbp+12)": -ldouble: 1 -Test "cosh_tonearest (0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh_tonearest (0x2.c679dp+8)": -double: 1 -idouble: 1 - -# cosh_towardzero -Test "cosh_towardzero (-0x2.c5d37700c6bb03a4p+12)": -ldouble: 2 -Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)": -ldouble: 1 -Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 2 -Test "cosh_towardzero (-0x2.c5d37700c6bbp+12)": -ldouble: 2 -Test "cosh_towardzero (-0x2.c5e3bp+8)": -double: 1 -idouble: 1 -Test "cosh_towardzero (-0x2.c679d1f73f0fap+8)": -double: 1 -idouble: 1 -Test "cosh_towardzero (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_towardzero (-0x5.96a7ep+4)": -float: 1 -ifloat: 1 -Test "cosh_towardzero (0x1.6p+4)": -double: 1 -idouble: 1 -Test "cosh_towardzero (0x1.7p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cosh_towardzero (0x2.c5d37700c6bb03a4p+12)": -ldouble: 2 -Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)": -ldouble: 1 -Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 2 -Test "cosh_towardzero (0x2.c5d37700c6bbp+12)": -ldouble: 2 -Test "cosh_towardzero (0x2.c5e3bp+8)": -double: 1 -idouble: 1 -Test "cosh_towardzero (0x2.c679d1f73f0fap+8)": -double: 1 -idouble: 1 -Test "cosh_towardzero (0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_towardzero (0x5.96a7ep+4)": -float: 1 -ifloat: 1 - -# cosh_upward -Test "cosh_upward (-0x1p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "cosh_upward (-0x2.c5d374p+12)": -ldouble: 3 -Test "cosh_upward (-0x2.c5d37700c6bb03a4p+12)": -ldouble: 1 -Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)": -ldouble: 2 -Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 1 -Test "cosh_upward (-0x2.c5d37700c6bbp+12)": -ldouble: 1 -Test "cosh_upward (-0x2.c5e3bp+8)": -double: 1 -idouble: 1 -Test "cosh_upward (-0x2.c679d1f73f0fap+8)": -double: 1 -idouble: 1 -Test "cosh_upward (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_upward (-0x5.96a7e8p+4)": -double: 1 -idouble: 1 -Test "cosh_upward (-0x5.96a7ep+4)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "cosh_upward (0x1.6p+4)": -ildouble: 1 -ldouble: 1 -Test "cosh_upward (0x1.8p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "cosh_upward (0x2.c5d374p+12)": -ldouble: 3 -Test "cosh_upward (0x2.c5d37700c6bb03a4p+12)": -ldouble: 1 -Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)": -ldouble: 2 -Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)": -ldouble: 1 -Test "cosh_upward (0x2.c5d37700c6bbp+12)": -ldouble: 1 -Test "cosh_upward (0x2.c5e3bp+8)": -double: 1 -idouble: 1 -Test "cosh_upward (0x2.c679d1f73f0fap+8)": -double: 1 -idouble: 1 -Test "cosh_upward (0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_upward (0x3.2p+4)": -double: 1 -idouble: 1 -Test "cosh_upward (0x5.96a7e8p+4)": -double: 1 -idouble: 1 -Test "cosh_upward (0x5.96a7ep+4)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -# cpow -Test "Real part of: cpow (0x2p+0 + +0 i, 0xap+0 + +0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)": -double: 1 -float: 5 -idouble: 1 -ifloat: 5 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)": -float: 2 -ifloat: 2 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + 0x1p+0 i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 2 -ldouble: 2 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 4 -idouble: 1 -ifloat: 4 -ildouble: 4 -ldouble: 4 - -# csin -Test "Real part of: csin (-0.75 + 11357.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (-0.75 + 710.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (-0.75 + 89.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csin (-0.75 + 89.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (-0.75 - 11357.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (-0.75 - 710.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (-0.75 - 89.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csin (-0.75 - 89.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csin (-2 - 3 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 + 11357.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 + 710.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 + 89.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csin (0.75 + 89.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 - 11357.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 - 710.5 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0.75 - 89.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csin (0.75 - 89.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csin (0x1p-1074 + 1440 i)": -double: 1 -idouble: 1 -Test "Real part of: csin (0x1p-16434 + 22730 i)": -ildouble: 1 -ldouble: 1 - -# csinh -Test "Imaginary part of: csinh (-11357.25 + 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (-11357.25 - 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csinh (-2 - 3 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (-2 - 3 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csinh (-710.5 + 0.75 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (-710.5 - 0.75 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csinh (-89.5 + 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (-89.5 + 0.75 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csinh (-89.5 - 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (-89.5 - 0.75 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csinh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: csinh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: csinh (11357.25 + 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (11357.25 - 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csinh (22730 + 0x1p-16434 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (710.5 + 0.75 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (710.5 - 0.75 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csinh (89.5 + 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (89.5 + 0.75 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csinh (89.5 - 0.75 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csinh (89.5 - 0.75 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# csqrt -Test "Imaginary part of: csqrt (-0 - 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x2p+0 + 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.000008p-128 - 0x4.000008p-128 i)": -double: 1 -idouble: 1 -Test "Real part of: csqrt (-0x4p-16384 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4p-16384 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x1p-16440 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x1p-16440 + 0x8p-16444 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x1p-5000 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000000000000000004p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000004p-1024 + 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.000008p-128 + 0x4.000008p-128 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x4p-16384 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-16384 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-16496 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+1020 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+1020 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+124 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+16380 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+16380 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16444 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x8p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.8p+16380 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 - -# ctan -Test "Real part of: ctan (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb54442d18p+0 + +0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan (0x1.921fb54442d19p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1p+0 + 0x1.63p+8 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1p+0 + 0x2.dp+4 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0x1p+0 + 0x2.fp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan (0x8p+1020 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0x8p+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan (0x8p+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x8p+16380 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -# ctan_downward -Test "Real part of: ctan_downward (-0x2p+0 - 0x3p+0 i)": -double: 3 -idouble: 3 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_downward (-0x2p+0 - 0x3p+0 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-16448 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + +0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 5 -ldouble: 5 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 5 -ldouble: 5 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x1p+0 + 0x2.dp+4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x8p+1020 + 0x1p+0 i)": -double: 6 -idouble: 6 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_downward (0x8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x8p+124 + 0x1p+0 i)": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x8p+124 + 0x1p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x8p+16380 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 3 -idouble: 3 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -idouble: 1 - -# ctan_tonearest -Test "Real part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + +0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.63p+8 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.dp+4 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.fp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -# ctan_towardzero -Test "Real part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 5 -ldouble: 5 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 5 -ldouble: 5 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_towardzero (0x1p+0 + 0x2.dp+4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)": -double: 5 -idouble: 5 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_towardzero (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)": -double: 4 -float: 2 -idouble: 4 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -idouble: 1 - -# ctan_upward -Test "Real part of: ctan_upward (-0x2p+0 - 0x3p+0 i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (-0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + +0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63ap+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x8p+1020 + 0x1p+0 i)": -double: 2 -idouble: 2 -ildouble: 5 -ldouble: 5 -Test "Imaginary part of: ctan_upward (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x8p+124 + 0x1p+0 i)": -double: 2 -idouble: 2 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_upward (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_upward (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_upward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0xf.fffffp+124 + 0x1p+0 i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 2 -ldouble: 2 - -# ctanh -Test "Imaginary part of: ctanh (+0 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168cp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdap-4 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdbp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "Imaginary part of: ctanh (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (0x1.63p+8 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0x8p+1020 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0x8p+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+124 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh (0x1p+0 + 0x8p+16380 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x2.dp+4 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x2.fp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 - -# ctanh_downward -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d19p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c235p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168cp-4 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)": -double: 4 -idouble: 4 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)": -double: 6 -idouble: 6 -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+124 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+124 i)": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 3 -idouble: 3 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)": -double: 4 -float: 5 -idouble: 4 -ifloat: 5 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_downward (0x2.dp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 5 -ldouble: 5 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 5 -ldouble: 5 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb4p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# ctanh_tonearest -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168cp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdap-4 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdbp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "Imaginary part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1.63p+8 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x2.dp+4 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x2.fp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 - -# ctanh_towardzero -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c235p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168cp-4 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdap-4 i)": -float: 2 -ifloat: 2 -Test "Real part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Imaginary part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctanh_towardzero (-0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)": -double: 5 -idouble: 5 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x2.dp+4 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 5 -ldouble: 5 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 5 -ldouble: 5 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# ctanh_upward -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb6p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c235p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168cp-4 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdap-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdbp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Real part of: ctanh_upward (-0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.63ap+12 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.63p+12 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)": -double: 2 -idouble: 2 -ildouble: 5 -ldouble: 5 -Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+124 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.fffffp+124 i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# erf -Test "erf (-0x7.ffffffffffffcp-4)": -ildouble: 1 -ldouble: 1 -Test "erf (0x1.4p+0)": -double: 1 -idouble: 1 - -# erfc -Test "erfc (-0x8p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "erfc (0x1.ap+4)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x1.bp+4)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x1.cp+4)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x2p+0)": -double: 1 -idouble: 1 -Test "erfc (0x3.ee6078p+0)": -double: 1 -idouble: 1 -Test "erfc (0x4.2p+0)": -double: 1 -idouble: 1 -Test "erfc (0x6.4p+4)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x6.a8p+4)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fe8008p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fffd6p+0)": -float: 1 -ifloat: 1 -Test "erfc (0x7.ffff2p+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0xcp-4)": -float: 1 -ifloat: 1 - -# exp10 -Test "exp10 (-0x1.31p+8)": -double: 1 -idouble: 1 -Test "exp10 (-0x1p+0)": -double: 1 -idouble: 1 -Test "exp10 (-0x2.4p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "exp10 (0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "exp10 (0x1.348e45573a1dd72cp+8)": -ildouble: 1 -ldouble: 1 -Test "exp10 (0x1.348e46p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10 (0x2.4p+4)": -double: 1 -idouble: 1 -Test "exp10 (0x3p+0)": -double: 1 -idouble: 1 - -# exp10_downward -Test "exp10_downward (-0x1.31p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (-0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (-0x1p+0)": -ildouble: 2 -ldouble: 2 -Test "exp10_downward (-0x2.4p+4)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0x1.31p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0x1.348e44p+8)": -ildouble: 2 -ldouble: 2 -Test "exp10_downward (0x1.348e45573a1dd72cp+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0x1.348e45573a1ddp+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0x1.348e45573a1dep+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0x2.4p+4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "exp10_downward (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "exp10_downward (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# exp10_tonearest -Test "exp10_tonearest (-0x1.31p+8)": -double: 1 -idouble: 1 -Test "exp10_tonearest (-0x1p+0)": -double: 1 -idouble: 1 -Test "exp10_tonearest (-0x2.4p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "exp10_tonearest (0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "exp10_tonearest (0x1.348e45573a1dd72cp+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_tonearest (0x1.348e46p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_tonearest (0x2.4p+4)": -double: 1 -idouble: 1 -Test "exp10_tonearest (0x3p+0)": -double: 1 -idouble: 1 - -# exp10_towardzero -Test "exp10_towardzero (-0x1.31p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (-0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (-0x1p+0)": -ildouble: 2 -ldouble: 2 -Test "exp10_towardzero (-0x2.4p+4)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0x1.31p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0x1.348e44p+8)": -ildouble: 2 -ldouble: 2 -Test "exp10_towardzero (0x1.348e45573a1dd72cp+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0x1.348e45573a1ddp+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0x1.348e45573a1dep+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0x2.4p+4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "exp10_towardzero (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "exp10_towardzero (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# exp10_upward -Test "exp10_upward (-0x1.31p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_upward (-0x1.344p+12)": -float: 1 -ifloat: 1 -Test "exp10_upward (-0x1.86ap+16)": -float: 1 -ifloat: 1 -Test "exp10_upward (-0x2.4p+4)": -ildouble: 1 -ldouble: 1 -Test "exp10_upward (-0xf.424p+16)": -float: 1 -ifloat: 1 -Test "exp10_upward (-0xf.fffffp+124)": -float: 1 -ifloat: 1 -Test "exp10_upward (0x1.31p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_upward (0x1.344p+12)": -ildouble: 2 -ldouble: 2 -Test "exp10_upward (0x1.348e44p+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_upward (0x1.348e45573a1dd72cp+8)": -ildouble: 2 -ldouble: 2 -Test "exp10_upward (0x1.348e45573a1ddp+8)": -ildouble: 2 -ldouble: 2 -Test "exp10_upward (0x1.348e45573a1dep+8)": -ildouble: 1 -ldouble: 1 -Test "exp10_upward (0x1.348e46p+8)": -ildouble: 2 -ldouble: 2 -Test "exp10_upward (0x2.4p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "exp10_upward (0x3p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "exp10_upward (0xcp-4)": -ildouble: 2 -ldouble: 2 - -# exp2 -Test "exp2 (0x6.48p+4)": -ildouble: 1 -ldouble: 1 - -# exp_downward -Test "exp_downward (0x2p+0)": -double: 1 -idouble: 1 -Test "exp_downward (0x3p+0)": -double: 1 -idouble: 1 -Test "exp_downward (0x5.8b9028p+4)": -double: 1 -idouble: 1 -Test "exp_downward (0xcp-4)": -double: 1 -idouble: 1 - -# exp_towardzero -Test "exp_towardzero (0x2p+0)": -double: 1 -idouble: 1 -Test "exp_towardzero (0x3p+0)": -double: 1 -idouble: 1 -Test "exp_towardzero (0x5.8b9028p+4)": -double: 1 -idouble: 1 -Test "exp_towardzero (0xcp-4)": -double: 1 -idouble: 1 - -# exp_upward -Test "exp_upward (-0x2.e870a4p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x2.e870a7e5e88c2p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x2.e870a7e5e88cp+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x2.e870a8p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x2.ebe224p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x2.ebe227861639p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x2.ebe228p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0x4.d2p+8)": -double: 1 -idouble: 1 -Test "exp_upward (-0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -Test "exp_upward (-0xf.fffffp+124)": -double: 1 -idouble: 1 -Test "exp_upward (0x1p+0)": -double: 1 -idouble: 1 -Test "exp_upward (0x2.c5cp+8)": -double: 1 -idouble: 1 -Test "exp_upward (0x3.2p+4)": -double: 1 -idouble: 1 - -# expm1 -Test "expm1 (-0x1p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1 (-0x2.6p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1 (-0x2.cp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1 (-0x4.ep+4)": -ildouble: 1 -ldouble: 1 -Test "expm1 (-0x4.fp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1 (-0x8p-32)": -ildouble: 1 -ldouble: 1 -Test "expm1 (0x1.f4p+8)": -double: 1 -idouble: 1 -Test "expm1 (0x1p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "expm1 (0xcp-4)": -double: 1 -idouble: 1 - -# expm1_downward -Test "expm1_downward (-0x1.1p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x1p-100)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x1p-32)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x1p-64)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x2.4p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x2.dp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x2.ep+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x4.bp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (-0x4p-12)": -ildouble: 1 -ldouble: 1 -Test "expm1_downward (0x1.f4p+8)": -double: 1 -idouble: 1 -Test "expm1_downward (0x3.2p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "expm1_downward (0x7.fp+4)": -double: 1 -idouble: 1 - -# expm1_tonearest -Test "expm1_tonearest (-0x1p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_tonearest (-0x2.6p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_tonearest (-0x2.cp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_tonearest (-0x4.ep+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_tonearest (-0x4.fp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_tonearest (-0x8p-32)": -ildouble: 1 -ldouble: 1 -Test "expm1_tonearest (0x1.f4p+8)": -double: 1 -idouble: 1 -Test "expm1_tonearest (0x1p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "expm1_tonearest (0xcp-4)": -double: 1 -idouble: 1 - -# expm1_towardzero -Test "expm1_towardzero (-0x1.1p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x1p-100)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x1p-32)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x1p-64)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x2.4p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x2.dp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x2.ep+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x4.bp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x4.fp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x4p-12)": -ildouble: 1 -ldouble: 1 -Test "expm1_towardzero (-0x4p-52)": -float: 1 -ifloat: 1 -Test "expm1_towardzero (-0x8p-32)": -float: 1 -ifloat: 1 -Test "expm1_towardzero (0x1.f4p+8)": -double: 1 -idouble: 1 -Test "expm1_towardzero (0x3.2p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "expm1_towardzero (0x7.fp+4)": -double: 1 -idouble: 1 - -# expm1_upward -Test "expm1_upward (-0x1.1p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x1p-100)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x1p-32)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x1p-64)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x2.4p+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x2.dp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x2.ep+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x4.bp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x4.fp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x4p-12)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (-0x4p-52)": -float: 1 -ifloat: 1 -Test "expm1_upward (-0x8p-32)": -float: 1 -ifloat: 1 -Test "expm1_upward (0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (0x1p-100)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "expm1_upward (0x1p-32)": -float: 1 -ifloat: 1 -Test "expm1_upward (0x1p-64)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "expm1_upward (0x4p-52)": -float: 1 -ifloat: 1 -Test "expm1_upward (0x7.fp+4)": -ildouble: 1 -ldouble: 1 -Test "expm1_upward (0x8p-32)": -float: 1 -ifloat: 1 - -# gamma -Test "gamma (-0x1p-20)": -double: 1 -idouble: 1 -Test "gamma (-0x1p-40)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x1p-64)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x2p-16)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "gamma (-0x4p-12)": -double: 1 -idouble: 1 -Test "gamma (-0x4p-32)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x8p-28)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x8p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x8p-8)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "gamma (0x1.3333333333333332p+0)": -ildouble: 1 -ldouble: 1 -Test "gamma (0x1.3333333333333333333333333333p+0)": -ildouble: 1 -ldouble: 1 -Test "gamma (0x1p-60)": -ildouble: 1 -ldouble: 1 -Test "gamma (0x4p-12)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "gamma (0x4p-32)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "gamma (0x4p-72)": -ildouble: 1 -ldouble: 1 -Test "gamma (0x8p-8)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.333333333333p-4)": -double: 1 -idouble: 1 -Test "gamma (0xb.33333p-4)": -double: 1 -idouble: 1 - -# hypot -Test "hypot (-0xb.3333333333333333333333333338p-4, -0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333333333333333333338p-4, 0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333333333333333p-4, -0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333333333333333p-4, 0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333333333333333333333334p-4, -0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333333333333333333333334p-4, 0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333334p-4, -0xc.666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.333333333333334p-4, 0xc.666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, -0xc.666666666666667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, 0xc.666666666666667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33334p-4, -0xc.6666666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33334p-4, -0xc.6666666666668p+0)": -double: 1 -idouble: 1 -Test "hypot (-0xb.33334p-4, 0xc.6666666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33334p-4, 0xc.6666666666668p+0)": -double: 1 -idouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.6666666666666666666666666668p+0, -0xb.33334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.6666666666666666666666666668p+0, 0xb.33334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666p+0, -0xb.333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666666p+0, 0xb.333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666667p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666667p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.6666666666668p+0, -0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (-0xc.6666666666668p+0, 0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (-0xc.66667p+0, -0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66667p+0, -0xb.333333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66667p+0, -0xb.33333333333333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66667p+0, 0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66667p+0, 0xb.333333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.66667p+0, 0xb.33333333333333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdef0123456789ab8p-500, 0x1.23456789abcdep-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdef02p-500, 0x1.23456789abcdfp-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdefp-500, 0x1.23456789abcdfp-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdep-500, 0x1.23456789abcdef0123456789ab8p-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdef02p-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdefp-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333333333333333333338p-4, -0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333333333333333333338p-4, 0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333333333333333p-4, -0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333333333333333p-4, 0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333333333333333333333334p-4, -0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333333333333333333333334p-4, 0xc.66667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333334p-4, -0xc.666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.333333333333334p-4, 0xc.666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, -0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, -0xc.666666666666667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666664p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, 0xc.666666666666666666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, 0xc.666666666666667p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33334p-4, -0xc.6666666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33334p-4, -0xc.6666666666668p+0)": -double: 1 -idouble: 1 -Test "hypot (0xb.33334p-4, 0xc.6666666666666666666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33334p-4, 0xc.6666666666668p+0)": -double: 1 -idouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666664p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.6666666666666666666666666668p+0, -0xb.33334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.6666666666666666666666666668p+0, 0xb.33334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666666666666666p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666668p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66666666666666666666666668p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666p+0, -0xb.333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666666p+0, 0xb.333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666667p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666667p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.6666666666668p+0, -0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (0xc.6666666666668p+0, 0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (0xc.66667p+0, -0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66667p+0, -0xb.333333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66667p+0, -0xb.33333333333333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66667p+0, 0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66667p+0, 0xb.333333333333333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.66667p+0, 0xb.33333333333333333333333334p-4)": -ildouble: 1 -ldouble: 1 - -# j0 -Test "j0 (-0x2.002000002p+592)": -ildouble: 2 -ldouble: 2 -Test "j0 (-0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "j0 (-0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "j0 (0x2p+0)": -ildouble: 2 -ldouble: 2 -Test "j0 (0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "j0 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "j0 (0x8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "j0 (0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "j0 (0x8p+16380)": -ildouble: 2 -ldouble: 2 -Test "j0 (0xap+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "j0 (0xe.be71dp+104)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "j0 (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "j0 (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "j0 (0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -# j1 -Test "j1 (0x1.ff00000000002p+840)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "j1 (0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "j1 (0x2p+0)": -double: 1 -idouble: 1 -Test "j1 (0x4.ffcp+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "j1 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "j1 (0x8p+0)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "j1 (0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "j1 (0x8p+16380)": -ildouble: 2 -ldouble: 2 -Test "j1 (0xap+0)": -float: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "j1 (0xcp-4)": -ildouble: 1 -ldouble: 1 -Test "j1 (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -Test "j1 (0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# jn -Test "jn (0, -0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (0, 0x2p+0)": -ildouble: 2 -ldouble: 2 -Test "jn (0, 0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (0, 0x8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (0, 0xap+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "jn (1, 0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (1, 0x2p+0)": -double: 1 -idouble: 1 -Test "jn (1, 0x8p+0)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "jn (1, 0xap+0)": -float: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (1, 0xcp-4)": -ildouble: 1 -ldouble: 1 -Test "jn (10, -0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (10, 0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (10, 0x2p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "jn (10, 0x2p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (10, 0xap+0)": -float: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (10, 0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a4p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 3 -ldouble: 3 -Test "jn (2, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 4 -ldouble: 4 -Test "jn (2, 0x2.67a2a5d2e36801p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (2, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (2, 0x2.67a2a5d2e368p+0)": -double: 2 -idouble: 2 -ildouble: 3 -ldouble: 3 -Test "jn (2, 0x2.67a2a8p+0)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -Test "jn (2, 0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x8p+124)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x8p+16380)": -ildouble: 2 -ldouble: 2 -Test "jn (2, 0xf.fffb1p+96)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -Test "jn (2, 0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (3, 0x2.67a2a4p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 5 -ldouble: 5 -Test "jn (3, 0x2.67a2a5d2e36801p+0)": -ildouble: 4 -ldouble: 4 -Test "jn (3, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a5d2e368p+0)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a8p+0)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2p+0)": -float: 1 -ifloat: 1 -Test "jn (3, 0x2p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (3, 0xap+0)": -double: 3 -idouble: 3 -ildouble: 2 -ldouble: 2 -Test "jn (3, 0xcp-4)": -double: 1 -idouble: 1 -Test "jn (4, 0x2.67a2a4p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 3 -ldouble: 3 -Test "jn (4, 0x2.67a2a5d2e36801p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (4, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e368p+0)": -double: 1 -idouble: 1 -Test "jn (4, 0x2.67a2a8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (5, 0x2.67a2a4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 3 -ldouble: 3 -Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 2 -ldouble: 2 -Test "jn (5, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 1 -ldouble: 1 -Test "jn (5, 0x2.67a2a5d2e36801p+0)": -ildouble: 2 -ldouble: 2 -Test "jn (5, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "jn (5, 0x2.67a2a5d2e368p+0)": -double: 2 -idouble: 2 -Test "jn (5, 0x2.67a2a8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (6, 0x2.67a2a4p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)": -ildouble: 2 -ldouble: 2 -Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 2 -ldouble: 2 -Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 2 -ldouble: 2 -Test "jn (6, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 5 -ldouble: 5 -Test "jn (6, 0x2.67a2a5d2e36801p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (6, 0x2.67a2a5d2e3682p+0)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a5d2e368p+0)": -double: 4 -idouble: 4 -ildouble: 3 -ldouble: 3 -Test "jn (6, 0x2.67a2a8p+0)": -float: 3 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a4p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 3 -ldouble: 3 -Test "jn (7, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 3 -ldouble: 3 -Test "jn (7, 0x2.67a2a5d2e36801p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (7, 0x2.67a2a5d2e3682p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a5d2e368p+0)": -double: 3 -idouble: 3 -ildouble: 2 -ldouble: 2 -Test "jn (7, 0x2.67a2a8p+0)": -float: 3 -ifloat: 3 -Test "jn (8, 0x2.67a2a4p+0)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)": -ildouble: 4 -ldouble: 4 -Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cap+0)": -ildouble: 2 -ldouble: 2 -Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 3 -ldouble: 3 -Test "jn (8, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 3 -ldouble: 3 -Test "jn (8, 0x2.67a2a5d2e36801p+0)": -ildouble: 4 -ldouble: 4 -Test "jn (8, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (8, 0x2.67a2a5d2e368p+0)": -double: 3 -idouble: 3 -Test "jn (8, 0x2.67a2a8p+0)": -double: 1 -float: 4 -idouble: 1 -ifloat: 4 -ildouble: 4 -ldouble: 4 -Test "jn (9, 0x2.67a2a4p+0)": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 -Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10cbp+0)": -ildouble: 2 -ldouble: 2 -Test "jn (9, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 7 -ldouble: 7 -Test "jn (9, 0x2.67a2a5d2e36801p+0)": -ildouble: 2 -ldouble: 2 -Test "jn (9, 0x2.67a2a5d2e3682p+0)": -double: 4 -idouble: 4 -ildouble: 3 -ldouble: 3 -Test "jn (9, 0x2.67a2a5d2e368p+0)": -double: 1 -idouble: 1 -ildouble: 4 -ldouble: 4 -Test "jn (9, 0x2.67a2a8p+0)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 - -# lgamma -Test "lgamma (-0x1p-20)": -double: 1 -idouble: 1 -Test "lgamma (-0x1p-40)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x1p-64)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x2p-16)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "lgamma (-0x4p-12)": -double: 1 -idouble: 1 -Test "lgamma (-0x4p-32)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x8p-28)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x8p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x8p-8)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "lgamma (0x1.3333333333333332p+0)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0x1.3333333333333333333333333333p+0)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0x1p-60)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0x4p-12)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "lgamma (0x4p-32)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "lgamma (0x4p-72)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0x8p-8)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.333333333333333p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.333333333333p-4)": -double: 1 -idouble: 1 -Test "lgamma (0xb.33333p-4)": -double: 1 -idouble: 1 - -# log -Test "log (0x2.b7e151628aed2a68p+0)": -ildouble: 1 -ldouble: 1 -Test "log (0x2.b7e151628aed2a6abf7158809cf4p+0)": -ildouble: 1 -ldouble: 1 -Test "log (0x2.b7e151628aed2p+0)": -ildouble: 1 -ldouble: 1 -Test "log (0x2.b7e15p+0)": -float: 1 -ifloat: 1 -Test "log (0x4p-1076)": -ildouble: 1 -ldouble: 1 -Test "log (0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "log (0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "log (0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "log (0x8p-152)": -ildouble: 1 -ldouble: 1 - -# log10 -Test "log10 (0x1.999998p-4)": -ildouble: 1 -ldouble: 1 -Test "log10 (0x1.999999999999ap-4)": -ildouble: 1 -ldouble: 1 -Test "log10 (0x1.99999ap-4)": -ildouble: 1 -ldouble: 1 -Test "log10 (0x2.b7e151628aed2a6cp+0)": -ildouble: 1 -ldouble: 1 -Test "log10 (0x2.b7e154p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "log10 (0x4p-1024)": -ildouble: 1 -ldouble: 1 -Test "log10 (0x4p-16496)": -ildouble: 1 -ldouble: 1 -Test "log10 (0xcp-4)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -# log1p -Test "log1p (0x1.b7e151628aed2p+0)": -ildouble: 1 -ldouble: 1 -Test "log1p (0x1.b7e15p+0)": -float: 1 -ifloat: 1 - -# log2 -Test "log2 (0x2.b7e151628aed2a6cp+0)": -ildouble: 1 -ldouble: 1 -Test "log2 (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# pow -Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)": -ildouble: 1 -ldouble: 1 -Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)": -ildouble: 1 -ldouble: 1 -Test "pow (0x1.0000000000001p+0, -0x2.468adp+60)": -ildouble: 1 -ldouble: 1 -Test "pow (0xap+0, -0x1.342p+12)": -ildouble: 1 -ldouble: 1 -Test "pow (0xap+0, 0x1.341p+12)": -ildouble: 1 -ldouble: 1 -Test "pow (0xap+0, 0x1.342p+12)": -ildouble: 1 -ldouble: 1 -Test "pow (0xap+0, 0x1.343p+12)": -ildouble: 1 -ldouble: 1 -Test "pow (0xap+0, 0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "pow (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)": -ildouble: 1 -ldouble: 1 -Test "pow (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)": -ildouble: 1 -ldouble: 1 -Test "pow (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)": -ildouble: 1 -ldouble: 1 -Test "pow (0xf.fffffp-4, -0x1p+24)": -ildouble: 1 -ldouble: 1 -Test "pow (0xf.fffffp-4, 0x1p+24)": -float: 1 -ifloat: 1 - -# pow10 -Test "pow10 (-0x1.31p+8)": -double: 1 -idouble: 1 -Test "pow10 (-0x1p+0)": -double: 1 -idouble: 1 -Test "pow10 (-0x2.4p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "pow10 (0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "pow10 (0x1.348e45573a1dd72cp+8)": -ildouble: 1 -ldouble: 1 -Test "pow10 (0x1.348e46p+8)": -ildouble: 1 -ldouble: 1 -Test "pow10 (0x2.4p+4)": -double: 1 -idouble: 1 -Test "pow10 (0x3p+0)": -double: 1 -idouble: 1 - -# pow_downward -Test "pow_downward (1.5, 1.03125)": -float: 1 -ifloat: 1 - -# pow_tonearest -Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0x1.0000000000001p+0, -0x2.468adp+60)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xap+0, -0x1.342p+12)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xap+0, 0x1.341p+12)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xap+0, 0x1.342p+12)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xap+0, 0x1.343p+12)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xap+0, 0x1.344p+12)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0xf.fffffp-4, 0x1p+24)": -float: 1 -ifloat: 1 - -# pow_towardzero -Test "pow_towardzero (1.5, 1.03125)": -float: 1 -ifloat: 1 - -# pow_upward -Test "pow_upward (1.0625, 1.125)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# sin -Test "sin (-0x1.921fb4p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (-0x1.921fb54442d18p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (-0x1.921fb54442d19p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (-0x8.60a91c16b9b28p-4)": -ildouble: 1 -ldouble: 1 -Test "sin (-0x8.60a91c16b9b2c232dd99707ab3dp-4)": -ildouble: 1 -ldouble: 1 -Test "sin (0x1p+0)": -float: 1 -ifloat: 1 -Test "sin (0x2.1e19e0c9bab24p+72)": -ildouble: 1 -ldouble: 1 -Test "sin (0x2p+64)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3.be735c19be9fffffffffffffffe8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3.be736p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3.ec2a0250032a00000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3.ec2a0250032a2p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3.ec2a04p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3.ec2ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.1237e153f7080000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.1237e153f7080008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.c92d08p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.c92d0ffa4bf00000000000000088p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.c92d0ffa4bf00008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.c92d0ffa4bf04p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x4.c92d0ffa4bfp+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x5.fbec7477d4a84p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0x5.fbec78p+0)": -ildouble: 1 -ldouble: 1 -Test "sin (0xc.d4967p-4)": -float: 1 -ifloat: 1 - -# sin_downward -Test "sin_downward (-0x1.921fb4p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x1.921fb54442d18p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x1.921fb54442d19p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x1.921fb6p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x2p+64)": -double: 1 -idouble: 1 -Test "sin_downward (-0x8.60a91c16b9b28p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab4p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91c16b9b2c232dd99707abp-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91c16b9b2c23p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91c16b9b2c24p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91c16b9b3p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (-0x8.60a91p-4)": -double: 1 -idouble: 1 -Test "sin_downward (-0x8.60a92p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d18468p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d18469898cc517018p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d18469898cc51701b8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d18469898cc51701b9p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d18469898cc51702p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x1.921fb54442d18p+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x1.921fb54442d19p+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x1p+120)": -float: 1 -ifloat: 1 -Test "sin_downward (0x1p+28)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_downward (0x2.1e19e0c9bab24p+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x2.1e19e4p+72)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x2.1e19ep+72)": -float: 2 -ifloat: 2 -Test "sin_downward (0x2.553534p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x2.5535376715bap+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x2p+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x3.be735c19be9fep+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.be735c19be9ffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.be735c19be9fffffffffffffffe8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.be735c19be9fffffffffffffffeap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.be735c19be9fffffffffffffffp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.be735cp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.be736p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2a0250032a0000000000000072p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2a0250032a00000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2a0250032a0004p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2a0250032a2p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2a0250032ap+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2a04p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3.ec2ap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x3p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.093385688a2d1508p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.093385688a2d4p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.093388p-4)": -double: 1 -idouble: 1 -Test "sin_downward (0x4.1237e153f7080000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.1237e153f70800000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.1237e153f7080008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.1237e153f7084p+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x4.1237e153f708p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.1237e8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.1237ep+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d08p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d0ffa4bf00000000000000088p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d0ffa4bf000000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d0ffa4bf00008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d0ffa4bf04p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d0ffa4bfp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4.c92d1p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x4p+48)": -double: 1 -idouble: 1 -Test "sin_downward (0x5.fbec7477d4a8000000000000009cp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x5.fbec7477d4a84p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x5.fbec7477d4a8p+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x5.fbec78p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x5.fbec7p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x5p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x6p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0x8p+0)": -double: 1 -idouble: 1 -Test "sin_downward (0x8p+1020)": -double: 1 -idouble: 1 -Test "sin_downward (0x9p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_downward (0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_downward (0xc.d4966d92d1708p-4)": -double: 1 -idouble: 1 -Test "sin_downward (0xc.d4966p-4)": -double: 1 -idouble: 1 -Test "sin_downward (0xf.ffffcp+124)": -double: 1 -idouble: 1 -Test "sin_downward (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (0xf.fffffp+124)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# sin_tonearest -Test "sin_tonearest (-0x1.921fb4p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (-0x1.921fb54442d18p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (-0x1.921fb54442d19p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (-0x8.60a91c16b9b28p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (-0x8.60a91c16b9b2c232dd99707ab3dp-4)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x1p+0)": -float: 1 -ifloat: 1 -Test "sin_tonearest (0x2.1e19e0c9bab24p+72)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x2p+64)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3.be735c19be9fffffffffffffffe8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3.be736p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3.ec2a0250032a00000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3.ec2a0250032a2p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3.ec2a04p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3.ec2ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.1237e153f7080000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.1237e153f7080008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.c92d08p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.c92d0ffa4bf00000000000000088p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.c92d0ffa4bf00008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.c92d0ffa4bf04p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x4.c92d0ffa4bfp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x5.fbec7477d4a84p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0x5.fbec78p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (0xc.d4967p-4)": -float: 1 -ifloat: 1 - -# sin_towardzero -Test "sin_towardzero (-0x1.921fb54442d18468p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x1.921fb54442d18469898cc517018p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b9p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x1.921fb54442d18469898cc51702p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x1.921fb54442d18p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (-0x1.921fb54442d19p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (-0x2p+64)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (-0x8.60a91p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d18468p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d18469898cc517018p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d18469898cc51701b8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d18469898cc51701b9p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d18469898cc51702p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x1.921fb54442d18p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x1.921fb54442d19p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x1p+0)": -float: 1 -ifloat: 1 -Test "sin_towardzero (0x1p+28)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x2.1e19e4p+72)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x2.1e19ep+72)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x2.553534p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x2.5535376715bap+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x2p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x2p+64)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x3.be735c19beap+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x3.be735cp+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_towardzero (0x3.ec2a0250032a000000000000007p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x3.ec2a04p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_towardzero (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x4.093385688a2d1508p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x4.093385688a2d4p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x4.093388p-4)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x4.1237e153f7084p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x4.1237e8p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x4.1237ep+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x4.c92d0ffa4bf0000000000000008cp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x4.c92d0ffa4bf04p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x4.c92d0ffa4bfp+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x4p+48)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x5.fbec7477d4a80000000000000098p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x5.fbec7477d4a800000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x5.fbec7477d4a80008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x5.fbec7477d4a8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0x5.fbec7p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x8p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x8p+1020)": -double: 1 -idouble: 1 -Test "sin_towardzero (0x9p+0)": -double: 1 -idouble: 1 -Test "sin_towardzero (0xap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0xb.fa09ap+100)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0xc.d4966d92d1708p-4)": -double: 1 -idouble: 1 -Test "sin_towardzero (0xc.d4966p-4)": -double: 1 -idouble: 1 -Test "sin_towardzero (0xc.d4967p-4)": -float: 1 -ifloat: 1 -Test "sin_towardzero (0xe.ef3afp-4)": -float: 1 -ifloat: 1 -Test "sin_towardzero (0xf.ffffcp+124)": -double: 1 -idouble: 1 -Test "sin_towardzero (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_towardzero (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 - -# sin_upward -Test "sin_upward (-0x1.921fb4p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d18468p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d18469898cc517018p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d18469898cc51701b8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d18469898cc51701b9p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d18469898cc51702p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d1846ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d18p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb54442d19p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x1.921fb6p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x2p+64)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b28p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)": -ildouble: 3 -ldouble: 3 -Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab4p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b2c232dd99707abp-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b2c23p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b2c24p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91c16b9b3p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (-0x8.60a91p-4)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (-0x8.60a92p-4)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x1.921fb4p+0)": -double: 1 -idouble: 1 -Test "sin_upward (0x1.921fb6p+0)": -double: 1 -idouble: 1 -Test "sin_upward (0x1p+0)": -double: 1 -idouble: 1 -Test "sin_upward (0x1p+120)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_upward (0x1p+28)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x2.1e19e0c9bab24p+72)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x2.1e19e4p+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x2.1e19ep+72)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x2.5535376715b9ep+0)": -double: 1 -idouble: 1 -Test "sin_upward (0x2.553538p+0)": -double: 1 -idouble: 1 -Test "sin_upward (0x2p+0)": -float: 1 -ifloat: 1 -Test "sin_upward (0x2p+64)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be735c19be9fep+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be735c19be9ffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be735c19be9fffffffffffffffe8p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be735c19be9fffffffffffffffeap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be735c19be9fffffffffffffffp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be735c19beap+0)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x3.be735cp+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.be736p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2a0250032a0000000000000072p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2a0250032a000000000000007p+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x3.ec2a0250032a00000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2a0250032a0004p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2a0250032a2p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2a0250032ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2a04p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3.ec2ap+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x3p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x4.093385688a2d4p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0x4.093385688a2dp-4)": -double: 1 -idouble: 1 -Test "sin_upward (0x4.09338p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0x4.1237e153f7080000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.1237e153f70800000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.1237e153f7080008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.1237e153f7084p+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x4.1237e153f708p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.1237e8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.1237ep+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d08p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d0ffa4bf00000000000000088p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d0ffa4bf0000000000000008cp+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x4.c92d0ffa4bf000000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d0ffa4bf00008p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d0ffa4bf04p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d0ffa4bfp+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4.c92d1p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4p+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x4p+48)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x5.fbec7477d4a80000000000000098p+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x5.fbec7477d4a8000000000000009cp+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x5.fbec7477d4a800000000000002p+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x5.fbec7477d4a80008p+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x5.fbec7477d4a84p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x5.fbec7477d4a8p+0)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0x5.fbec78p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x5.fbec7p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x5p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x6p+0)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0x7p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sin_upward (0x8.60a91c16b9b3p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0x8.60a91p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0x8.60a92p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0x8p+0)": -float: 1 -ifloat: 1 -Test "sin_upward (0x8p+124)": -double: 1 -idouble: 1 -Test "sin_upward (0x9p+0)": -float: 1 -ifloat: 1 -Test "sin_upward (0xap+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "sin_upward (0xb.fa09ap+100)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_upward (0xc.d4966d92d171p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xc.d4967p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xcp-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xe.ef3af1b5d8008p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xe.ef3af1b5d8p-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xe.ef3afp-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xe.ef3bp-4)": -double: 1 -idouble: 1 -Test "sin_upward (0xf.ffffcp+124)": -ildouble: 1 -ldouble: 1 -Test "sin_upward (0xf.ffffffffffff8p+1020)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 2 -ldouble: 2 -Test "sin_upward (0xf.fffffp+124)": -ildouble: 1 -ldouble: 1 - -# sincos -Test "sincos (0x1.0c1522p+0) extra output 1": -float: 1 -ifloat: 1 -Test "sincos (0x1.921fb54442d1846ap+0) extra output 2": -ildouble: 1 -ldouble: 1 -Test "sincos (0x1.921fb54442d18p+0) extra output 2": -ildouble: 1 -ldouble: 1 -Test "sincos (0x1p+120) extra output 2": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sincos (0x1p+28) extra output 2": -ildouble: 1 -ldouble: 1 -Test "sincos (0x2.1e19e0c9bab24p+72) extra output 1": -ildouble: 1 -ldouble: 1 -Test "sincos (0x2p+64) extra output 1": -ildouble: 1 -ldouble: 1 -Test "sincos (0x8.60a92p-4) extra output 2": -float: 1 -ifloat: 1 -Test "sincos (0x8p+124) extra output 2": -float: 1 -ifloat: 1 -Test "sincos (0xc.d4967p-4) extra output 1": -float: 1 -ifloat: 1 -Test "sincos (0xf.ffffffffffff8p+1020) extra output 2": -ildouble: 1 -ldouble: 1 -Test "sincos (0xf.ffffffffffffbffffffffffffcp+1020) extra output 2": -ildouble: 1 -ldouble: 1 - -# sinh_downward -Test "sinh_downward (0x1.6p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sinh_downward (0x1.7p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sinh_downward (0x1.8p+4)": -ildouble: 1 -ldouble: 1 -Test "sinh_downward (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# sinh_towardzero -Test "sinh_towardzero (0x1.6p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sinh_towardzero (0x1.7p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sinh_towardzero (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# sinh_upward -Test "sinh_upward (0x1.7p+4)": -ildouble: 1 -ldouble: 1 -Test "sinh_upward (0x1.8p+4)": -double: 1 -idouble: 1 -Test "sinh_upward (0x8p-32)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sinh_upward (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# tan -Test "tan (-0xc.90fdcp-4)": -ildouble: 1 -ldouble: 1 -Test "tan (-0xc.90fdp-4)": -ildouble: 1 -ldouble: 1 -Test "tan (-0xc.90fp-4)": -ildouble: 1 -ldouble: 1 -Test "tan (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "tan (0x6p+0)": -ildouble: 1 -ldouble: 1 - -# tan_downward -Test "tan_downward (-0x2p+64)": -double: 1 -idouble: 1 -Test "tan_downward (-0xc.908p-4)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.90cp-4)": -float: 1 -ifloat: 1 -Test "tan_downward (-0xc.90ep-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.90f8p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fcp-4)": -float: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fd8p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fdap-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fdbp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fdcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fdp-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.90fep-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (-0xc.90fp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.91p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.92p-4)": -double: 1 -idouble: 1 -Test "tan_downward (-0xc.98p-4)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.9p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (-0xc.ap-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x1p+0)": -double: 1 -idouble: 1 -Test "tan_downward (0x2.1e19e0c9bab24p+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x2.1e19ep+72)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x2p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x2p+64)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x3p+0)": -double: 1 -idouble: 1 -Test "tan_downward (0x4p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x6p+0)": -double: 1 -idouble: 1 -Test "tan_downward (0x7p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x8p+0)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0x8p+16380)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.908p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_downward (0xc.90cp-4)": -double: 1 -idouble: 1 -Test "tan_downward (0xc.90fcp-4)": -double: 1 -idouble: 1 -Test "tan_downward (0xc.90fdaa22168c8p-4)": -double: 1 -idouble: 1 -Test "tan_downward (0xc.90fdbp-4)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.90fdcp-4)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.90fdp-4)": -double: 1 -idouble: 1 -Test "tan_downward (0xc.90fep-4)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.91p-4)": -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.92p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.94p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.98p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xc.ap-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_downward (0xcp-4)": -double: 1 -idouble: 1 -Test "tan_downward (0xf.fffffp+124)": -ildouble: 1 -ldouble: 1 - -# tan_tonearest -Test "tan_tonearest (-0xc.90fdcp-4)": -ildouble: 1 -ldouble: 1 -Test "tan_tonearest (-0xc.90fdp-4)": -ildouble: 1 -ldouble: 1 -Test "tan_tonearest (-0xc.90fp-4)": -ildouble: 1 -ldouble: 1 -Test "tan_tonearest (0x3p+0)": -ildouble: 1 -ldouble: 1 -Test "tan_tonearest (0x6p+0)": -ildouble: 1 -ldouble: 1 - -# tan_towardzero -Test "tan_towardzero (-0x2p+64)": -double: 1 -idouble: 1 -Test "tan_towardzero (-0xc.908p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_towardzero (-0xc.90cp-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.90f8p-4)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.90fcp-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.90fd8p-4)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.90fdap-4)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.90fdp-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (-0xc.91p-4)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.94p-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (-0xc.98p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (-0xc.ap-4)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x1p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x2.1e19e0c9bab24p+72)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x2.1e19e4p+72)": -double: 1 -idouble: 1 -Test "tan_towardzero (0x2.1e19ep+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x2p+0)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x2p+64)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x5p+0)": -double: 1 -idouble: 1 -Test "tan_towardzero (0x7p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x8p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x8p+16380)": -ildouble: 1 -ldouble: 1 -Test "tan_towardzero (0x9p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_towardzero (0xc.908p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tan_towardzero (0xc.90cp-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xc.90fcp-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xc.90fdaa22168c8p-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xc.90fdp-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xc.94p-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xc.98p-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xcp-4)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -Test "tan_towardzero (0xf.fffffp+124)": -double: 1 -idouble: 1 - -# tan_upward -Test "tan_upward (-0xc.908p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.90cp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tan_upward (-0xc.90ep-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.90f8p-4)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tan_upward (-0xc.90fcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tan_upward (-0xc.90fd8p-4)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tan_upward (-0xc.90fdap-4)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tan_upward (-0xc.90fdbp-4)": -float: 1 -ifloat: 1 -Test "tan_upward (-0xc.90fdcp-4)": -float: 1 -ifloat: 1 -Test "tan_upward (-0xc.90fdp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.90fep-4)": -float: 1 -ifloat: 1 -Test "tan_upward (-0xc.90fp-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.91p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.94p-4)": -double: 1 -idouble: 1 -Test "tan_upward (-0xc.98p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.9p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (-0xc.ap-4)": -ildouble: 1 -ldouble: 1 -Test "tan_upward (0x2.1e19e4p+72)": -double: 1 -idouble: 1 -Test "tan_upward (0x2.1e19ep+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0x2p+64)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0x4p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0x5p+0)": -double: 1 -idouble: 1 -Test "tan_upward (0x7p+0)": -float: 1 -ifloat: 1 -Test "tan_upward (0x8p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0x9p+0)": -double: 1 -idouble: 1 -Test "tan_upward (0xap+0)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.908p-4)": -float: 1 -ifloat: 1 -Test "tan_upward (0xc.90ep-4)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.90f8p-4)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.90fd8p-4)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.90fdap-4)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.90fdbp-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.90fdcp-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.90fep-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.90fp-4)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.91p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.92p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.94p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.98p-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xc.9p-4)": -double: 1 -idouble: 1 -Test "tan_upward (0xc.ap-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (0xcp-4)": -float: 1 -ifloat: 1 -Test "tan_upward (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -Test "tan_upward (0xf.fffffp+124)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# tanh -Test "tanh (-0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "tanh (-0xcp-4)": -ildouble: 1 -ldouble: 1 -Test "tanh (0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "tanh (0xcp-4)": -ildouble: 1 -ldouble: 1 - -# tgamma -Test "tgamma (-0x1.0000000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.0000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.000002p+0)": -double: 2 -idouble: 2 -Test "tgamma (-0x1.3ffffep+4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.3ffffffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.3fffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.3ffffffffffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x1.4000000000000000000000000001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.4000000000001p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.400002p+4)": -float: 1 -ifloat: 1 -ildouble: 4 -ldouble: 4 -Test "tgamma (-0x1.dffffep+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.dfffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.dffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.e000000000000000000000000001p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x1.e00000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.e000000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.e000000000001p+4)": -double: 3 -idouble: 3 -Test "tgamma (-0x1.e00002p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x1.f3ffffffffffffffffffffffff8p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.f3ffffffffffffffffffffffffffp+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.f3fffffffffffp+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x1.f40000000000000000000000008p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.f40002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.fffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.fffffffffffffp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.0000000000000000000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.00000000000000000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.0000000000002p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.000004p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.146544p+4)": -float: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.7fffffffffffep+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.7ffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.7ffffffffffffffffffffffffffep+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.7fffffffffffffffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8000000000000000000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.80000000000000000000000001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8000000000002p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.800004p+4)": -double: 2 -idouble: 2 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.8fffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8ffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8ffffffffffffffffffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "tgamma (-0x2.9000000000000000000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.90000000000000000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.900004p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.9ffffcp+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.9fffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.9ffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.9ffffffffffffffffffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.9fffffffffffffffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.a000000000000000000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.a000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.a000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.a00004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.edfffcp+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.edffffffffffep+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.edfffffffffffffffffffffffffep+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.ee00000000000000000000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.ee00000000000004p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.ee00000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.ee0004p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.fffffcp+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x2.ffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.fffffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.00000000000000000000000001p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.000004p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (-0x3.1ffffcp+4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.1fffffffffffep+4)": -double: 3 -idouble: 3 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.1ffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.1ffffffffffffffffffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.1fffffffffffffffffffffffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.2000000000000000000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.2000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.200004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.e7fffffffffffffcp+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.e7fffffffffffffffffffffffffep+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.e7ffffffffffffffffffffffffp+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.e800000000000000000000000002p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.e8000000000000000000000001p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.e800000000000004p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.e800000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.e80004p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x3.fffffcp+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x3.ffffffffffffep+0)": -double: 2 -idouble: 2 -Test "tgamma (-0x3.fffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.fffffffffffffffffffffffffffep+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x4.000008p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.e1fffffffffffffffffffffffep+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.e2000000000000000000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.e200000000000008p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.e200000000004p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.e20008p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x4.fffff8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x4.ffffffffffffcp+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x4.fffffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.fffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.fffffffffffffffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.0000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.000008p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "tgamma (-0x5.8p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x5.dbfffffffffffff8p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.dbfffffffffffffffffffffffffcp+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.dc00000000000000000000000004p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x5.dc000000000000000000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.dc00000000004p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.dc0008p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.fffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.ffffffffffffcp+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.fffffffffffffff8p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x5.fffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.fffffffffffffffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.0000000000000000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.00000000000000000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.000008p+0)": -float: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.3ffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.3fffffffffffcp+4)": -double: 2 -idouble: 2 -Test "tgamma (-0x6.3ffffffffffffff8p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.3ffffffffffffffffffffffffep+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.4000000000000000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.40000000000000000000000002p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.4000000000004p+4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.400008p+4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d5fff8p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d5ffffffffffcp+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d5fffffffffffff8p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d5fffffffffffffffffffffffep+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d600000000000000000000000004p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d6000000000000000000000002p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.d600000000000008p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.d600000000004p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.e2fffffffffffffffffffffffep+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.e300000000000000000000000004p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.e3000000000000000000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.fffff8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (-0x6.ffffffffffffcp+0)": -double: 4 -idouble: 4 -Test "tgamma (-0x6.fffffffffffffff8p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.fffffffffffffffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.0000000000004p+0)": -double: 3 -idouble: 3 -Test "tgamma (-0x7.000008p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x7.8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (-0x7.fffff8p+0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "tgamma (-0x7.ffffffffffffcp+0)": -double: 3 -idouble: 3 -Test "tgamma (-0x7.fffffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.fffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.fffffffffffffffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x8.0000000000000000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x8.00000000000000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x8.0000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x8.00001p+0)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x8.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x8p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x9.5ffffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x9.5ffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x9.60000000000000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x9.600000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x9.6000000000008p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x9.60001p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x9.8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "tgamma (-0x9.ffffffffffff8p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x9.fffffffffffffffffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xa.00001p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xa.c000000400008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xa.c0001p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.4ffffffffffffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.4ffffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.4ffffffffffffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.50000000000000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.500000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.5000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.5ffffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.5ffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.60000000000000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.600000000000001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.6000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.6fffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.6ffffffffffffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.6ffffffffffffffffffffffffff8p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0xb.7000000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.700000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.7000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.70001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.7ffffffffffffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.7ffffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.800000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.bfffffffffff8p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.bffffffffffffffffffffffffcp+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0xb.bffffffffffffffffffffffffff8p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0xb.bffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.c000000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.c0000000000000000000000004p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.c00000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.c000000000008p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.c0001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.cfffffffffff8p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.cffffffffffffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.cffffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.cffffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.cffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.d000000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.d00000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.dfffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.dffffffffffffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.dffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.e000000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.e000000000008p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.e0001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.efffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.effffffffffffffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.effffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.f000000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.f0000000000000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.f00000000000001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.f0001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.9fffffffffff8p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xf.9ffffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.9ffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xf.a000000000000000000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.a0000000000000000000000004p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xf.a000000000008p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xf.a0001p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0xf.ffffffffffff8p-4)": -double: 1 -idouble: 1 -Test "tgamma (-0xf.fffffffffffffffffffffffffff8p-4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.fffffp-4)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.28p+4)": -double: 1 -idouble: 1 -Test "tgamma (0x1.38p+4)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.78p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x1.d8p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x1.fffffep+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.fffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.ffffffffffffffffffffffffffffp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.fffffffffffffp+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1p-24)": -float: 1 -ifloat: 1 -Test "tgamma (0x2.08p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.18p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.28p+4)": -double: 1 -idouble: 1 -Test "tgamma (0x2.30a43cp+4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "tgamma (0x2.8p+0)": -float: 2 -ifloat: 2 -Test "tgamma (0x2.fffffcp+0)": -float: 3 -ifloat: 3 -Test "tgamma (0x2.ffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.0000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.8p+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.fffffcp+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x3.ffffffffffffep+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.fffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.fffffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x4.0000000000000000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4.0000000000004p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x4.000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x4.fffff8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x4.ffffffffffffcp+0)": -double: 1 -idouble: 1 -Test "tgamma (0x4.fffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4.fffffffffffffffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x5.0000000000000000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.0000000000004p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x5.000008p+0)": -float: 3 -ifloat: 3 -Test "tgamma (0x5.fffff8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x5.ffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.fffffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.fffffffffffffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.0000000000000000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.0000000000004p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x6.000008p+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x6.db8c603359a94p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.fffff8p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.ffffffffffffcp+0)": -double: 4 -idouble: 4 -Test "tgamma (0x6.fffffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x7.0000000000000000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.0000000000004p+0)": -double: 4 -idouble: 4 -Test "tgamma (0x7.000008p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x7.8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (0x7.fffff8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (0x7.ffffffffffffcp+0)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.fffffffffffffffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x8.0000000000000000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x8.0000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x8.00001p+0)": -double: 2 -idouble: 2 -Test "tgamma (0x8.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x8p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x8p-116)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x8p-4)": -float: 1 -ifloat: 1 -Test "tgamma (0x8p-56)": -double: 1 -idouble: 1 -Test "tgamma (0x9.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x9p+0)": -double: 1 -idouble: 1 -Test "tgamma (0xa.b9fd72b0fb238p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (0xa.b9fd72b0fb23a9dp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0xa.b9fd72b0fb23a9ep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0xa.b9fd7p+4)": -double: 2 -idouble: 2 -Test "tgamma (0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0xb.3333333333333333333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 - -# y0 -Test "y0 (0x1.8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "y0 (0x1.ff00000000002p+840)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x1p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "y0 (0x1p-100)": -ildouble: 1 -ldouble: 1 -Test "y0 (0x1p-20)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x1p-40)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y0 (0x1p-60)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x1p-80)": -double: 1 -idouble: 1 -Test "y0 (0x2p+0)": -double: 1 -idouble: 1 -Test "y0 (0x4.ffcp+72)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p-112)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p-12)": -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p-32)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "y0 (0x4p-72)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y0 (0x8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "y0 (0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "y0 (0x8p+16380)": -ildouble: 2 -ldouble: 2 -Test "y0 (0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "y0 (0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -Test "y0 (0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# y1 -Test "y1 (0x1.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "y1 (0x1p-100)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x1p-20)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x1p-80)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x2.002000002p+592)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x2p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "y1 (0x2p-4)": -double: 1 -idouble: 1 -Test "y1 (0x4p-112)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x4p-12)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y1 (0x4p-32)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x4p-72)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x4p-92)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "y1 (0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x8p+16380)": -ildouble: 2 -ldouble: 2 -Test "y1 (0x9.3f102p+96)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y1 (0xap+0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "y1 (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "y1 (0xf.ffffffffffffbffffffffffffcp+1020)": -ildouble: 1 -ldouble: 1 -Test "y1 (0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -# yn -Test "yn (-10, 0x1p+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "yn (0, 0x1.8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "yn (0, 0x1p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "yn (0, 0x2p+0)": -double: 1 -idouble: 1 -Test "yn (0, 0x8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "yn (0, 0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "yn (1, 0x1.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "yn (1, 0x2p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "yn (1, 0x2p-4)": -double: 1 -idouble: 1 -Test "yn (1, 0x8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "yn (1, 0xap+0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "yn (10, 0x1p+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "yn (10, 0x2p+0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "yn (10, 0x2p-4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "yn (10, 0xap+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "yn (10, 0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 4 -ldouble: 4 -Test "yn (2, 0x8p+1020)": -ildouble: 1 -ldouble: 1 -Test "yn (2, 0x8p+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "yn (2, 0x8p+16380)": -ildouble: 2 -ldouble: 2 -Test "yn (2, 0xf.fffb1p+96)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "yn (2, 0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "yn (2, 0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (3, 0x2p+0)": -double: 1 -idouble: 1 -Test "yn (3, 0x2p-4)": -double: 1 -idouble: 1 -Test "yn (3, 0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "yn (3, 0xcp-4)": -ildouble: 2 -ldouble: 2 - -# Maximal error of functions: -Function: "acos_downward": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "acos_towardzero": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "acos_upward": -double: 1 -idouble: 1 - -Function: "acosh": -double: 1 -idouble: 1 -ldouble: 1 - -Function: "asin": -ildouble: 1 -ldouble: 1 - -Function: "asin_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "asin_tonearest": -ildouble: 1 -ldouble: 1 - -Function: "asin_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "asin_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "asinh": -double: 1 -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "atan": -double: 1 -idouble: 1 - -Function: "atan2": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "atanh": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "casin": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "casinh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "casinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Real part of "catan": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "catanh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "catanh": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cbrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 - -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 -ildouble: 1 -ldouble: 1 - -Function: Real part of "cexp": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "cexp": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: Real part of "clog": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "clog": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "clog10": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "clog10": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "cos": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cos_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "cos_tonearest": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cos_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cos_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "cosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cosh_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 2 - -Function: "cosh_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "cosh_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 2 - -Function: "cosh_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 3 - -Function: Real part of "cpow": -double: 2 -float: 5 -idouble: 2 -ifloat: 5 -ildouble: 4 -ldouble: 4 - -Function: Imaginary part of "cpow": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: Real part of "csin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "csin": -ildouble: 1 -ldouble: 1 - -Function: Real part of "csinh": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "csinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "csqrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "csqrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "ctan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Imaginary part of "ctan": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Real part of "ctan_downward": -double: 6 -float: 5 -idouble: 6 -ifloat: 5 -ildouble: 4 -ldouble: 4 - -Function: Imaginary part of "ctan_downward": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 5 -ldouble: 5 - -Function: Real part of "ctan_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Imaginary part of "ctan_tonearest": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Real part of "ctan_towardzero": -double: 5 -float: 3 -idouble: 5 -ifloat: 3 -ildouble: 4 -ldouble: 4 - -Function: Imaginary part of "ctan_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 5 -ldouble: 5 - -Function: Real part of "ctan_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 5 -ldouble: 5 - -Function: Imaginary part of "ctan_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 3 -ldouble: 3 - -Function: Real part of "ctanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 3 -ldouble: 3 - -Function: Imaginary part of "ctanh": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Real part of "ctanh_downward": -double: 4 -float: 1 -idouble: 4 -ifloat: 1 -ildouble: 5 -ldouble: 5 - -Function: Imaginary part of "ctanh_downward": -double: 6 -float: 5 -idouble: 6 -ifloat: 5 -ildouble: 4 -ldouble: 4 - -Function: Real part of "ctanh_tonearest": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 3 -ldouble: 3 - -Function: Imaginary part of "ctanh_tonearest": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: Real part of "ctanh_towardzero": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 5 -ldouble: 5 - -Function: Imaginary part of "ctanh_towardzero": -double: 5 -float: 2 -idouble: 5 -ifloat: 2 -ildouble: 3 -ldouble: 3 - -Function: Real part of "ctanh_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 3 -ldouble: 3 - -Function: Imaginary part of "ctanh_upward": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 5 -ldouble: 5 - -Function: "erf": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "erfc": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "exp10": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "exp10_downward": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 - -Function: "exp10_tonearest": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "exp10_towardzero": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 - -Function: "exp10_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "exp2": -ildouble: 1 -ldouble: 1 - -Function: "exp_downward": -double: 1 -idouble: 1 - -Function: "exp_towardzero": -double: 1 -idouble: 1 - -Function: "exp_upward": -double: 1 -idouble: 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 -ildouble: 1 -ldouble: 1 - -Function: "expm1_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "expm1_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "expm1_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "gamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "hypot": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "j0": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "j1": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 4 -ldouble: 4 - -Function: "jn": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 -ildouble: 7 -ldouble: 7 - -Function: "lgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "log": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "log10": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "log1p": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "log2": -ildouble: 1 -ldouble: 1 - -Function: "pow": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "pow10": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "pow_downward": -float: 1 -ifloat: 1 - -Function: "pow_tonearest": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "pow_towardzero": -float: 1 -ifloat: 1 - -Function: "pow_upward": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sin": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sin_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "sin_tonearest": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sin_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sin_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 3 -ldouble: 3 - -Function: "sincos": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sinh_downward": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "sinh_towardzero": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "sinh_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "tan": -ildouble: 1 -ldouble: 1 - -Function: "tan_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "tan_tonearest": -ildouble: 1 -ldouble: 1 - -Function: "tan_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "tan_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "tanh": -ildouble: 1 -ldouble: 1 - -Function: "tgamma": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 -ildouble: 4 -ldouble: 4 - -Function: "y0": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 3 -ldouble: 3 - -Function: "y1": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "yn": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 4 -ldouble: 4 - -# end of automatic generation diff --git a/ports/sysdeps/aarch64/machine-gmon.h b/ports/sysdeps/aarch64/machine-gmon.h deleted file mode 100644 index b9d8f0ecce..0000000000 --- a/ports/sysdeps/aarch64/machine-gmon.h +++ /dev/null @@ -1,34 +0,0 @@ -/* AArch64 definitions for profiling support. - Copyright (C) 1996-2014 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/>. */ - -/* Accept 'frompc' address as argument from the function that calls - __mcount for profiling. Use __builtin_return_address (0) - for the 'selfpc' address. */ - -#include <sysdep.h> - -static void mcount_internal (u_long frompc, u_long selfpc); - -#define _MCOUNT_DECL(frompc, selfpc) \ -static inline void mcount_internal (u_long frompc, u_long selfpc) - -#define MCOUNT \ -void __mcount (void *frompc) \ -{ \ - mcount_internal ((u_long) frompc, (u_long) RETURN_ADDRESS (0)); \ -} diff --git a/ports/sysdeps/aarch64/mcount.c b/ports/sysdeps/aarch64/mcount.c deleted file mode 100644 index 3201e41a1e..0000000000 --- a/ports/sysdeps/aarch64/mcount.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2013-2014 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 <shlib-compat.h> - -#include <gmon/mcount.c> - -/* We forgot to add _mcount in glibc 2.17. We added it in 2.18 - therefore we want it to be added with version GLIBC_2_18. However, - setting the version is not straight forward because a generic - Version file includes an earlier 2.xx version for each this symbol - and the linker uses the first version it sees. */ - -#if SHLIB_COMPAT (libc, GLIBC_2_17, GLIBC_2_18) -versioned_symbol (libc, __mcount, _mcount, GLIBC_2_18); -#else -strong_alias (__mcount, _mcount); -#endif diff --git a/ports/sysdeps/aarch64/memcmp.S b/ports/sysdeps/aarch64/memcmp.S deleted file mode 100644 index 6a62a4bb32..0000000000 --- a/ports/sysdeps/aarch64/memcmp.S +++ /dev/null @@ -1,151 +0,0 @@ -/* memcmp - compare memory - - Copyright (C) 2013-2014 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 <sysdep.h> - -/* Assumptions: - * - * ARMv8-a, AArch64 - */ - -/* Parameters and result. */ -#define src1 x0 -#define src2 x1 -#define limit x2 -#define result x0 - -/* Internal variables. */ -#define data1 x3 -#define data1w w3 -#define data2 x4 -#define data2w w4 -#define has_nul x5 -#define diff x6 -#define endloop x7 -#define tmp1 x8 -#define tmp2 x9 -#define tmp3 x10 -#define pos x11 -#define limit_wd x12 -#define mask x13 - -ENTRY_ALIGN (memcmp, 6) - cbz limit, L(ret0) - eor tmp1, src1, src2 - tst tmp1, #7 - b.ne L(misaligned8) - ands tmp1, src1, #7 - b.ne L(mutual_align) - add limit_wd, limit, #7 - lsr limit_wd, limit_wd, #3 - /* Start of performance-critical section -- one 64B cache line. */ -L(loop_aligned): - ldr data1, [src1], #8 - ldr data2, [src2], #8 -L(start_realigned): - subs limit_wd, limit_wd, #1 - eor diff, data1, data2 /* Non-zero if differences found. */ - csinv endloop, diff, xzr, ne /* Last Dword or differences. */ - cbz endloop, L(loop_aligned) - /* End of performance-critical section -- one 64B cache line. */ - - /* Not reached the limit, must have found a diff. */ - cbnz limit_wd, L(not_limit) - - /* Limit % 8 == 0 => all bytes significant. */ - ands limit, limit, #7 - b.eq L(not_limit) - - lsl limit, limit, #3 /* Bits -> bytes. */ - mov mask, #~0 -#ifdef __AARCH64EB__ - lsr mask, mask, limit -#else - lsl mask, mask, limit -#endif - bic data1, data1, mask - bic data2, data2, mask - - orr diff, diff, mask -L(not_limit): - -#ifndef __AARCH64EB__ - rev diff, diff - rev data1, data1 - rev data2, data2 -#endif - /* The MS-non-zero bit of DIFF marks either the first bit - that is different, or the end of the significant data. - Shifting left now will bring the critical information into the - top bits. */ - clz pos, diff - lsl data1, data1, pos - lsl data2, data2, pos - /* But we need to zero-extend (char is unsigned) the value and then - perform a signed 32-bit subtraction. */ - lsr data1, data1, #56 - sub result, data1, data2, lsr #56 - RET - -L(mutual_align): - /* Sources are mutually aligned, but are not currently at an - alignment boundary. Round down the addresses and then mask off - the bytes that precede the start point. */ - bic src1, src1, #7 - bic src2, src2, #7 - add limit, limit, tmp1 /* Adjust the limit for the extra. */ - lsl tmp1, tmp1, #3 /* Bytes beyond alignment -> bits. */ - ldr data1, [src1], #8 - neg tmp1, tmp1 /* Bits to alignment -64. */ - ldr data2, [src2], #8 - mov tmp2, #~0 -#ifdef __AARCH64EB__ - /* Big-endian. Early bytes are at MSB. */ - lsl tmp2, tmp2, tmp1 /* Shift (tmp1 & 63). */ -#else - /* Little-endian. Early bytes are at LSB. */ - lsr tmp2, tmp2, tmp1 /* Shift (tmp1 & 63). */ -#endif - add limit_wd, limit, #7 - orr data1, data1, tmp2 - orr data2, data2, tmp2 - lsr limit_wd, limit_wd, #3 - b L(start_realigned) - -L(ret0): - mov result, #0 - RET - - .p2align 6 -L(misaligned8): - sub limit, limit, #1 -1: - /* Perhaps we can do better than this. */ - ldrb data1w, [src1], #1 - ldrb data2w, [src2], #1 - subs limit, limit, #1 - ccmp data1w, data2w, #0, cs /* NZCV = 0b0000. */ - b.eq 1b - sub result, data1, data2 - RET -END (memcmp) -#undef bcmp -weak_alias (memcmp, bcmp) -libc_hidden_builtin_def (memcmp) diff --git a/ports/sysdeps/aarch64/memcpy.S b/ports/sysdeps/aarch64/memcpy.S deleted file mode 100644 index caf2ab2e4f..0000000000 --- a/ports/sysdeps/aarch64/memcpy.S +++ /dev/null @@ -1,176 +0,0 @@ -/* Copyright (C) 2012-2014 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/>. */ - -/* Assumptions: - * - * ARMv8-a, AArch64 - * Unaligned accesses - * - */ - -#define dstin x0 -#define src x1 -#define count x2 -#define tmp1 x3 -#define tmp1w w3 -#define tmp2 x4 -#define tmp2w w4 -#define tmp3 x5 -#define tmp3w w5 -#define dst x6 - -#define A_l x7 -#define A_h x8 -#define B_l x9 -#define B_h x10 -#define C_l x11 -#define C_h x12 -#define D_l x13 -#define D_h x14 - -#include <sysdep.h> - -ENTRY_ALIGN (memcpy, 6) - - mov dst, dstin - cmp count, #64 - b.ge L(cpy_not_short) - cmp count, #15 - b.le L(tail15tiny) - - /* Deal with small copies quickly by dropping straight into the - * exit block. */ -L(tail63): - /* Copy up to 48 bytes of data. At this point we only need the - * bottom 6 bits of count to be accurate. */ - ands tmp1, count, #0x30 - b.eq L(tail15) - add dst, dst, tmp1 - add src, src, tmp1 - cmp tmp1w, #0x20 - b.eq 1f - b.lt 2f - ldp A_l, A_h, [src, #-48] - stp A_l, A_h, [dst, #-48] -1: - ldp A_l, A_h, [src, #-32] - stp A_l, A_h, [dst, #-32] -2: - ldp A_l, A_h, [src, #-16] - stp A_l, A_h, [dst, #-16] - -L(tail15): - ands count, count, #15 - beq 1f - add src, src, count - ldp A_l, A_h, [src, #-16] - add dst, dst, count - stp A_l, A_h, [dst, #-16] -1: - RET - -L(tail15tiny): - /* Copy up to 15 bytes of data. Does not assume additional data - being copied. */ - tbz count, #3, 1f - ldr tmp1, [src], #8 - str tmp1, [dst], #8 -1: - tbz count, #2, 1f - ldr tmp1w, [src], #4 - str tmp1w, [dst], #4 -1: - tbz count, #1, 1f - ldrh tmp1w, [src], #2 - strh tmp1w, [dst], #2 -1: - tbz count, #0, 1f - ldrb tmp1w, [src] - strb tmp1w, [dst] -1: - RET - -L(cpy_not_short): - /* We don't much care about the alignment of DST, but we want SRC - * to be 128-bit (16 byte) aligned so that we don't cross cache line - * boundaries on both loads and stores. */ - neg tmp2, src - ands tmp2, tmp2, #15 /* Bytes to reach alignment. */ - b.eq 2f - sub count, count, tmp2 - /* Copy more data than needed; it's faster than jumping - * around copying sub-Quadword quantities. We know that - * it can't overrun. */ - ldp A_l, A_h, [src] - add src, src, tmp2 - stp A_l, A_h, [dst] - add dst, dst, tmp2 - /* There may be less than 63 bytes to go now. */ - cmp count, #63 - b.le L(tail63) -2: - subs count, count, #128 - b.ge L(cpy_body_large) - /* Less than 128 bytes to copy, so handle 64 here and then jump - * to the tail. */ - ldp A_l, A_h, [src] - ldp B_l, B_h, [src, #16] - ldp C_l, C_h, [src, #32] - ldp D_l, D_h, [src, #48] - stp A_l, A_h, [dst] - stp B_l, B_h, [dst, #16] - stp C_l, C_h, [dst, #32] - stp D_l, D_h, [dst, #48] - tst count, #0x3f - add src, src, #64 - add dst, dst, #64 - b.ne L(tail63) - RET - - /* Critical loop. Start at a new cache line boundary. Assuming - * 64 bytes per line this ensures the entire loop is in one line. */ - .p2align 6 -L(cpy_body_large): - /* There are at least 128 bytes to copy. */ - ldp A_l, A_h, [src, #0] - sub dst, dst, #16 /* Pre-bias. */ - ldp B_l, B_h, [src, #16] - ldp C_l, C_h, [src, #32] - ldp D_l, D_h, [src, #48]! /* src += 64 - Pre-bias. */ -1: - stp A_l, A_h, [dst, #16] - ldp A_l, A_h, [src, #16] - stp B_l, B_h, [dst, #32] - ldp B_l, B_h, [src, #32] - stp C_l, C_h, [dst, #48] - ldp C_l, C_h, [src, #48] - stp D_l, D_h, [dst, #64]! - ldp D_l, D_h, [src, #64]! - subs count, count, #64 - b.ge 1b - stp A_l, A_h, [dst, #16] - stp B_l, B_h, [dst, #32] - stp C_l, C_h, [dst, #48] - stp D_l, D_h, [dst, #64] - add src, src, #16 - add dst, dst, #64 + 16 - tst count, #0x3f - b.ne L(tail63) - RET -END (memcpy) -libc_hidden_builtin_def (memcpy) diff --git a/ports/sysdeps/aarch64/memmove.S b/ports/sysdeps/aarch64/memmove.S deleted file mode 100644 index 4227b7f729..0000000000 --- a/ports/sysdeps/aarch64/memmove.S +++ /dev/null @@ -1,312 +0,0 @@ -/* Copyright (C) 2012-2014 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 <sysdep.h> - -/* Assumptions: - * - * ARMv8-a, AArch64 - * Unaligned accesses - */ - -/* Parameters and result. */ -#define dstin x0 -#define src x1 -#define count x2 -#define tmp1 x3 -#define tmp1w w3 -#define tmp2 x4 -#define tmp2w w4 -#define tmp3 x5 -#define tmp3w w5 -#define dst x6 - -#define A_l x7 -#define A_h x8 -#define B_l x9 -#define B_h x10 -#define C_l x11 -#define C_h x12 -#define D_l x13 -#define D_h x14 - -ENTRY_ALIGN (memmove, 6) - - cmp dstin, src - b.lo L(downwards) - add tmp1, src, count - cmp dstin, tmp1 - b.hs memcpy /* No overlap. */ - - /* Upwards move with potential overlap. - * Need to move from the tail backwards. SRC and DST point one - * byte beyond the remaining data to move. */ - add dst, dstin, count - add src, src, count - cmp count, #64 - b.ge L(mov_not_short_up) - - /* Deal with small moves quickly by dropping straight into the - * exit block. */ -L(tail63up): - /* Move up to 48 bytes of data. At this point we only need the - * bottom 6 bits of count to be accurate. */ - ands tmp1, count, #0x30 - b.eq L(tail15up) - sub dst, dst, tmp1 - sub src, src, tmp1 - cmp tmp1w, #0x20 - b.eq 1f - b.lt 2f - ldp A_l, A_h, [src, #32] - stp A_l, A_h, [dst, #32] -1: - ldp A_l, A_h, [src, #16] - stp A_l, A_h, [dst, #16] -2: - ldp A_l, A_h, [src] - stp A_l, A_h, [dst] -L(tail15up): - /* Move up to 15 bytes of data. Does not assume additional data - * being moved. */ - tbz count, #3, 1f - ldr tmp1, [src, #-8]! - str tmp1, [dst, #-8]! -1: - tbz count, #2, 1f - ldr tmp1w, [src, #-4]! - str tmp1w, [dst, #-4]! -1: - tbz count, #1, 1f - ldrh tmp1w, [src, #-2]! - strh tmp1w, [dst, #-2]! -1: - tbz count, #0, 1f - ldrb tmp1w, [src, #-1] - strb tmp1w, [dst, #-1] -1: - RET - -L(mov_not_short_up): - /* We don't much care about the alignment of DST, but we want SRC - * to be 128-bit (16 byte) aligned so that we don't cross cache line - * boundaries on both loads and stores. */ - ands tmp2, src, #15 /* Bytes to reach alignment. */ - b.eq 2f - sub count, count, tmp2 - /* Move enough data to reach alignment; unlike memcpy, we have to - * be aware of the overlap, which means we can't move data twice. */ - tbz tmp2, #3, 1f - ldr tmp1, [src, #-8]! - str tmp1, [dst, #-8]! -1: - tbz tmp2, #2, 1f - ldr tmp1w, [src, #-4]! - str tmp1w, [dst, #-4]! -1: - tbz tmp2, #1, 1f - ldrh tmp1w, [src, #-2]! - strh tmp1w, [dst, #-2]! -1: - tbz tmp2, #0, 1f - ldrb tmp1w, [src, #-1]! - strb tmp1w, [dst, #-1]! -1: - - /* There may be less than 63 bytes to go now. */ - cmp count, #63 - b.le L(tail63up) -2: - subs count, count, #128 - b.ge L(mov_body_large_up) - /* Less than 128 bytes to move, so handle 64 here and then jump - * to the tail. */ - ldp A_l, A_h, [src, #-64]! - ldp B_l, B_h, [src, #16] - ldp C_l, C_h, [src, #32] - ldp D_l, D_h, [src, #48] - stp A_l, A_h, [dst, #-64]! - stp B_l, B_h, [dst, #16] - stp C_l, C_h, [dst, #32] - stp D_l, D_h, [dst, #48] - tst count, #0x3f - b.ne L(tail63up) - RET - - /* Critical loop. Start at a new Icache line boundary. Assuming - * 64 bytes per line this ensures the entire loop is in one line. */ - .p2align 6 -L(mov_body_large_up): - /* There are at least 128 bytes to move. */ - ldp A_l, A_h, [src, #-16] - ldp B_l, B_h, [src, #-32] - ldp C_l, C_h, [src, #-48] - ldp D_l, D_h, [src, #-64]! -1: - stp A_l, A_h, [dst, #-16] - ldp A_l, A_h, [src, #-16] - stp B_l, B_h, [dst, #-32] - ldp B_l, B_h, [src, #-32] - stp C_l, C_h, [dst, #-48] - ldp C_l, C_h, [src, #-48] - stp D_l, D_h, [dst, #-64]! - ldp D_l, D_h, [src, #-64]! - subs count, count, #64 - b.ge 1b - stp A_l, A_h, [dst, #-16] - stp B_l, B_h, [dst, #-32] - stp C_l, C_h, [dst, #-48] - stp D_l, D_h, [dst, #-64]! - tst count, #0x3f - b.ne L(tail63up) - RET - -L(downwards): - /* For a downwards move we can safely use memcpy provided that - * DST is more than 16 bytes away from SRC. */ - sub tmp1, src, #16 - cmp dstin, tmp1 - b.ls memcpy /* May overlap, but not critically. */ - - mov dst, dstin /* Preserve DSTIN for return value. */ - cmp count, #64 - b.ge L(mov_not_short_down) - - /* Deal with small moves quickly by dropping straight into the - * exit block. */ -L(tail63down): - /* Move up to 48 bytes of data. At this point we only need the - * bottom 6 bits of count to be accurate. */ - ands tmp1, count, #0x30 - b.eq L(tail15down) - add dst, dst, tmp1 - add src, src, tmp1 - cmp tmp1w, #0x20 - b.eq 1f - b.lt 2f - ldp A_l, A_h, [src, #-48] - stp A_l, A_h, [dst, #-48] -1: - ldp A_l, A_h, [src, #-32] - stp A_l, A_h, [dst, #-32] -2: - ldp A_l, A_h, [src, #-16] - stp A_l, A_h, [dst, #-16] -L(tail15down): - /* Move up to 15 bytes of data. Does not assume additional data - being moved. */ - tbz count, #3, 1f - ldr tmp1, [src], #8 - str tmp1, [dst], #8 -1: - tbz count, #2, 1f - ldr tmp1w, [src], #4 - str tmp1w, [dst], #4 -1: - tbz count, #1, 1f - ldrh tmp1w, [src], #2 - strh tmp1w, [dst], #2 -1: - tbz count, #0, 1f - ldrb tmp1w, [src] - strb tmp1w, [dst] -1: - RET - -L(mov_not_short_down): - /* We don't much care about the alignment of DST, but we want SRC - * to be 128-bit (16 byte) aligned so that we don't cross cache line - * boundaries on both loads and stores. */ - neg tmp2, src - ands tmp2, tmp2, #15 /* Bytes to reach alignment. */ - b.eq 2f - sub count, count, tmp2 - /* Move enough data to reach alignment; unlike memcpy, we have to - * be aware of the overlap, which means we can't move data twice. */ - tbz tmp2, #3, 1f - ldr tmp1, [src], #8 - str tmp1, [dst], #8 -1: - tbz tmp2, #2, 1f - ldr tmp1w, [src], #4 - str tmp1w, [dst], #4 -1: - tbz tmp2, #1, 1f - ldrh tmp1w, [src], #2 - strh tmp1w, [dst], #2 -1: - tbz tmp2, #0, 1f - ldrb tmp1w, [src], #1 - strb tmp1w, [dst], #1 -1: - - /* There may be less than 63 bytes to go now. */ - cmp count, #63 - b.le L(tail63down) -2: - subs count, count, #128 - b.ge L(mov_body_large_down) - /* Less than 128 bytes to move, so handle 64 here and then jump - * to the tail. */ - ldp A_l, A_h, [src] - ldp B_l, B_h, [src, #16] - ldp C_l, C_h, [src, #32] - ldp D_l, D_h, [src, #48] - stp A_l, A_h, [dst] - stp B_l, B_h, [dst, #16] - stp C_l, C_h, [dst, #32] - stp D_l, D_h, [dst, #48] - tst count, #0x3f - add src, src, #64 - add dst, dst, #64 - b.ne L(tail63down) - RET - - /* Critical loop. Start at a new cache line boundary. Assuming - * 64 bytes per line this ensures the entire loop is in one line. */ - .p2align 6 -L(mov_body_large_down): - /* There are at least 128 bytes to move. */ - ldp A_l, A_h, [src, #0] - sub dst, dst, #16 /* Pre-bias. */ - ldp B_l, B_h, [src, #16] - ldp C_l, C_h, [src, #32] - ldp D_l, D_h, [src, #48]! /* src += 64 - Pre-bias. */ -1: - stp A_l, A_h, [dst, #16] - ldp A_l, A_h, [src, #16] - stp B_l, B_h, [dst, #32] - ldp B_l, B_h, [src, #32] - stp C_l, C_h, [dst, #48] - ldp C_l, C_h, [src, #48] - stp D_l, D_h, [dst, #64]! - ldp D_l, D_h, [src, #64]! - subs count, count, #64 - b.ge 1b - stp A_l, A_h, [dst, #16] - stp B_l, B_h, [dst, #32] - stp C_l, C_h, [dst, #48] - stp D_l, D_h, [dst, #64] - add src, src, #16 - add dst, dst, #64 + 16 - tst count, #0x3f - b.ne L(tail63down) - RET -END (memmove) - -libc_hidden_builtin_def (memmove) diff --git a/ports/sysdeps/aarch64/memset.S b/ports/sysdeps/aarch64/memset.S deleted file mode 100644 index 06f04be044..0000000000 --- a/ports/sysdeps/aarch64/memset.S +++ /dev/null @@ -1,229 +0,0 @@ -/* Copyright (C) 2012-2014 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/>. */ - -/* Assumptions: - * - * ARMv8-a, AArch64 - * Unaligned accesses - * - */ - -#include <sysdep.h> - -/* By default we assume that the DC instruction can be used to zero - data blocks more efficiently. In some circumstances this might be - unsafe, for example in an asymmetric multiprocessor environment with - different DC clear lengths (neither the upper nor lower lengths are - safe to use). The feature can be disabled by defining DONT_USE_DC. - - If code may be run in a virtualized environment, then define - MAYBE_VIRT. This will cause the code to cache the system register - values rather than re-reading them each call. */ - -#define dstin x0 -#define val w1 -#define count x2 -#define tmp1 x3 -#define tmp1w w3 -#define tmp2 x4 -#define tmp2w w4 -#define zva_len_x x5 -#define zva_len w5 -#define zva_bits_x x6 - -#define A_l x7 -#define A_lw w7 -#define dst x8 -#define tmp3w w9 - -ENTRY_ALIGN (__memset, 6) - - mov dst, dstin /* Preserve return value. */ - ands A_lw, val, #255 -#ifndef DONT_USE_DC - b.eq L(zero_mem) -#endif - orr A_lw, A_lw, A_lw, lsl #8 - orr A_lw, A_lw, A_lw, lsl #16 - orr A_l, A_l, A_l, lsl #32 -L(tail_maybe_long): - cmp count, #64 - b.ge L(not_short) -L(tail_maybe_tiny): - cmp count, #15 - b.le L(tail15tiny) -L(tail63): - ands tmp1, count, #0x30 - b.eq L(tail15) - add dst, dst, tmp1 - cmp tmp1w, #0x20 - b.eq 1f - b.lt 2f - stp A_l, A_l, [dst, #-48] -1: - stp A_l, A_l, [dst, #-32] -2: - stp A_l, A_l, [dst, #-16] - -L(tail15): - and count, count, #15 - add dst, dst, count - stp A_l, A_l, [dst, #-16] /* Repeat some/all of last store. */ - RET - -L(tail15tiny): - /* Set up to 15 bytes. Does not assume earlier memory - being set. */ - tbz count, #3, 1f - str A_l, [dst], #8 -1: - tbz count, #2, 1f - str A_lw, [dst], #4 -1: - tbz count, #1, 1f - strh A_lw, [dst], #2 -1: - tbz count, #0, 1f - strb A_lw, [dst] -1: - RET - - /* Critical loop. Start at a new cache line boundary. Assuming - * 64 bytes per line, this ensures the entire loop is in one line. */ - .p2align 6 -L(not_short): - neg tmp2, dst - ands tmp2, tmp2, #15 - b.eq 2f - /* Bring DST to 128-bit (16-byte) alignment. We know that there's - * more than that to set, so we simply store 16 bytes and advance by - * the amount required to reach alignment. */ - sub count, count, tmp2 - stp A_l, A_l, [dst] - add dst, dst, tmp2 - /* There may be less than 63 bytes to go now. */ - cmp count, #63 - b.le L(tail63) -2: - sub dst, dst, #16 /* Pre-bias. */ - sub count, count, #64 -1: - stp A_l, A_l, [dst, #16] - stp A_l, A_l, [dst, #32] - stp A_l, A_l, [dst, #48] - stp A_l, A_l, [dst, #64]! - subs count, count, #64 - b.ge 1b - tst count, #0x3f - add dst, dst, #16 - b.ne L(tail63) - RET - -#ifndef DONT_USE_DC - /* For zeroing memory, check to see if we can use the ZVA feature to - * zero entire 'cache' lines. */ -L(zero_mem): - mov A_l, #0 - cmp count, #63 - b.le L(tail_maybe_tiny) - neg tmp2, dst - ands tmp2, tmp2, #15 - b.eq 1f - sub count, count, tmp2 - stp A_l, A_l, [dst] - add dst, dst, tmp2 - cmp count, #63 - b.le L(tail63) -1: - /* For zeroing small amounts of memory, it's not worth setting up - * the line-clear code. */ - cmp count, #128 - b.lt L(not_short) -#ifdef MAYBE_VIRT - /* For efficiency when virtualized, we cache the ZVA capability. */ - adrp tmp2, L(cache_clear) - ldr zva_len, [tmp2, #:lo12:L(cache_clear)] - tbnz zva_len, #31, L(not_short) - cbnz zva_len, L(zero_by_line) - mrs tmp1, dczid_el0 - tbz tmp1, #4, 1f - /* ZVA not available. Remember this for next time. */ - mov zva_len, #~0 - str zva_len, [tmp2, #:lo12:L(cache_clear)] - b L(not_short) -1: - mov tmp3w, #4 - and zva_len, tmp1w, #15 /* Safety: other bits reserved. */ - lsl zva_len, tmp3w, zva_len - str zva_len, [tmp2, #:lo12:L(cache_clear)] -#else - mrs tmp1, dczid_el0 - tbnz tmp1, #4, L(not_short) - mov tmp3w, #4 - and zva_len, tmp1w, #15 /* Safety: other bits reserved. */ - lsl zva_len, tmp3w, zva_len -#endif - -L(zero_by_line): - /* Compute how far we need to go to become suitably aligned. We're - * already at quad-word alignment. */ - cmp count, zva_len_x - b.lt L(not_short) /* Not enough to reach alignment. */ - sub zva_bits_x, zva_len_x, #1 - neg tmp2, dst - ands tmp2, tmp2, zva_bits_x - b.eq 1f /* Already aligned. */ - /* Not aligned, check that there's enough to copy after alignment. */ - sub tmp1, count, tmp2 - cmp tmp1, #64 - ccmp tmp1, zva_len_x, #8, ge /* NZCV=0b1000 */ - b.lt L(not_short) - /* We know that there's at least 64 bytes to zero and that it's safe - * to overrun by 64 bytes. */ - mov count, tmp1 -2: - stp A_l, A_l, [dst] - stp A_l, A_l, [dst, #16] - stp A_l, A_l, [dst, #32] - subs tmp2, tmp2, #64 - stp A_l, A_l, [dst, #48] - add dst, dst, #64 - b.ge 2b - /* We've overrun a bit, so adjust dst downwards. */ - add dst, dst, tmp2 -1: - sub count, count, zva_len_x -3: - dc zva, dst - add dst, dst, zva_len_x - subs count, count, zva_len_x - b.ge 3b - ands count, count, zva_bits_x - b.ne L(tail_maybe_long) - RET -#ifdef MAYBE_VIRT - .bss - .p2align 2 -L(cache_clear): - .space 4 -#endif -#endif /* DONT_USE_DC */ - -END (__memset) -weak_alias (__memset, memset) -libc_hidden_builtin_def (memset) diff --git a/ports/sysdeps/aarch64/memusage.h b/ports/sysdeps/aarch64/memusage.h deleted file mode 100644 index 75532691e3..0000000000 --- a/ports/sysdeps/aarch64/memusage.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2000-2014 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/>. */ - -#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; }) - -#include <sysdeps/generic/memusage.h> diff --git a/ports/sysdeps/aarch64/nptl/Makefile b/ports/sysdeps/aarch64/nptl/Makefile deleted file mode 100644 index f550eb13fb..0000000000 --- a/ports/sysdeps/aarch64/nptl/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2005-2014 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/>. - -ifeq ($(subdir),csu) -gen-as-const-headers += tcb-offsets.sym -endif diff --git a/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c b/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c deleted file mode 100644 index 490bd43438..0000000000 --- a/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 2008-2014 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/>. */ - -#define SPIN_LOCK_READS_BETWEEN_CMPXCHG 1000 - -/* We can't use the normal "#include <nptl/pthread_spin_lock.c>" because - it will resolve to this very file. Using "sysdeps/.." as reference to the - top level directory does the job. */ -#include <sysdeps/../nptl/pthread_spin_lock.c> diff --git a/ports/sysdeps/aarch64/nptl/pthreaddef.h b/ports/sysdeps/aarch64/nptl/pthreaddef.h deleted file mode 100644 index 361a95c75d..0000000000 --- a/ports/sysdeps/aarch64/nptl/pthreaddef.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2002-2014 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/>. */ - -/* Default stack size. */ -#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024) - -/* Required stack pointer alignment at beginning. */ -#define STACK_ALIGN 16 - -/* Minimal stack size after allocating thread descriptor and guard size. */ -#define MINIMAL_REST_STACK 2048 - -/* Alignment requirement for TCB. */ -#define TCB_ALIGNMENT 16 - -/* Location of current stack frame. */ -#define CURRENT_STACK_FRAME __builtin_frame_address (0) - - -/* XXX Until we have a better place keep the definitions here. */ -#define __exit_thread_inline(val) \ - INLINE_SYSCALL (exit, 1, (val)) diff --git a/ports/sysdeps/aarch64/nptl/tcb-offsets.sym b/ports/sysdeps/aarch64/nptl/tcb-offsets.sym deleted file mode 100644 index 0677aeabff..0000000000 --- a/ports/sysdeps/aarch64/nptl/tcb-offsets.sym +++ /dev/null @@ -1,7 +0,0 @@ -#include <sysdep.h> -#include <tls.h> - -PTHREAD_MULTIPLE_THREADS_OFFSET offsetof (struct pthread, header.multiple_threads) -PTHREAD_PID_OFFSET offsetof (struct pthread, pid) -PTHREAD_TID_OFFSET offsetof (struct pthread, tid) -PTHREAD_SIZEOF sizeof (struct pthread) diff --git a/ports/sysdeps/aarch64/nptl/tls.h b/ports/sysdeps/aarch64/nptl/tls.h deleted file mode 100644 index f03c5195dd..0000000000 --- a/ports/sysdeps/aarch64/nptl/tls.h +++ /dev/null @@ -1,142 +0,0 @@ -/* Copyright (C) 2005-2014 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 _TLS_H -#define _TLS_H 1 - -#include <dl-sysdep.h> - -#ifndef __ASSEMBLER__ -# include <stdbool.h> -# include <stddef.h> -# include <stdint.h> - -/* Type for the dtv. */ -typedef union dtv -{ - size_t counter; - struct - { - void *val; - bool is_static; - } pointer; -} dtv_t; - -#else /* __ASSEMBLER__ */ -# include <tcb-offsets.h> -#endif /* __ASSEMBLER__ */ - -#ifndef __ASSEMBLER__ - -/* Get system call information. */ -# include <sysdep.h> - -/* The TP points to the start of the thread blocks. */ -# define TLS_DTV_AT_TP 1 - -/* Get the thread descriptor definition. */ -# include <nptl/descr.h> - -typedef struct -{ - dtv_t *dtv; - void *private; -} tcbhead_t; - -/* This is the size of the initial TCB. */ -# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t) - -/* Alignment requirements for the initial TCB. */ -# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t) - -/* This is the size of the TCB. */ -# define TLS_TCB_SIZE sizeof (tcbhead_t) - -/* This is the size we need before TCB. */ -# define TLS_PRE_TCB_SIZE sizeof (struct pthread) - -/* Alignment requirements for the TCB. */ -# define TLS_TCB_ALIGN __alignof__ (tcbhead_t) - -/* Install the dtv pointer. The pointer passed is to the element with - index -1 which contain the length. */ -# define INSTALL_DTV(tcbp, dtvp) \ - (((tcbhead_t *) (tcbp))->dtv = (dtvp) + 1) - -/* Install new dtv for current thread. */ -# define INSTALL_NEW_DTV(dtv) \ - (THREAD_DTV() = (dtv)) - -/* Return dtv of given thread descriptor. */ -# define GET_DTV(tcbp) \ - (((tcbhead_t *) (tcbp))->dtv) - -/* Code to initially initialize the thread pointer. This might need - special attention since 'errno' is not yet available and if the - operation can cause a failure 'errno' must not be touched. */ -# define TLS_INIT_TP(tcbp, secondcall) \ - ({ __asm __volatile ("msr tpidr_el0, %0" : : "r" (tcbp)); NULL; }) - -/* Return the address of the dtv for the current thread. */ -# define THREAD_DTV() \ - (((tcbhead_t *) __builtin_thread_pointer ())->dtv) - -/* Return the thread descriptor for the current thread. */ -# define THREAD_SELF \ - ((struct pthread *)__builtin_thread_pointer () - 1) - -/* Magic for libthread_db to know how to do THREAD_SELF. */ -# define DB_THREAD_SELF \ - CONST_THREAD_AREA (64, sizeof (struct pthread)) - -/* Access to data in the thread descriptor is easy. */ -# define THREAD_GETMEM(descr, member) \ - descr->member -# define THREAD_GETMEM_NC(descr, member, idx) \ - descr->member[idx] -# define THREAD_SETMEM(descr, member, value) \ - descr->member = (value) -# define THREAD_SETMEM_NC(descr, member, idx, value) \ - descr->member[idx] = (value) - -/* Get and set the global scope generation counter in struct pthread. */ -# define THREAD_GSCOPE_FLAG_UNUSED 0 -# define THREAD_GSCOPE_FLAG_USED 1 -# define THREAD_GSCOPE_FLAG_WAIT 2 -# define THREAD_GSCOPE_RESET_FLAG() \ - do \ - { int __res \ - = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ - THREAD_GSCOPE_FLAG_UNUSED); \ - if (__res == THREAD_GSCOPE_FLAG_WAIT) \ - lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \ - } \ - while (0) -# define THREAD_GSCOPE_SET_FLAG() \ - do \ - { \ - THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ - atomic_write_barrier (); \ - } \ - while (0) -# define THREAD_GSCOPE_WAIT() \ - GL(dl_wait_lookup_done) () - -# endif /* __ASSEMBLER__ */ - -#endif /* tls.h */ diff --git a/ports/sysdeps/aarch64/preconfigure b/ports/sysdeps/aarch64/preconfigure deleted file mode 100644 index 720c1d7dae..0000000000 --- a/ports/sysdeps/aarch64/preconfigure +++ /dev/null @@ -1,14 +0,0 @@ -case "$machine" in -aarch64*) - base_machine=aarch64 - machine=aarch64 - ;; -esac - -case "$machine" in -aarch64*) - # Parameters to allow auto-detection of -z relro. - libc_commonpagesize=0x1000 - libc_relro_required=yes - ;; -esac diff --git a/ports/sysdeps/aarch64/setjmp.S b/ports/sysdeps/aarch64/setjmp.S deleted file mode 100644 index 5822abd872..0000000000 --- a/ports/sysdeps/aarch64/setjmp.S +++ /dev/null @@ -1,69 +0,0 @@ -/* Copyright (C) 1997-2014 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 <sysdep.h> -#include <jmpbuf-offsets.h> - - /* Keep traditional entry points in with sigsetjmp(). */ -ENTRY (setjmp) - mov x1, #1 - b 1f -END (setjmp) - -ENTRY (_setjmp) - mov x1, #0 - b 1f -END (_setjmp) -libc_hidden_def (_setjmp) - -ENTRY (__sigsetjmp) - -1: - stp x19, x20, [x0, #JB_X19<<3] - stp x21, x22, [x0, #JB_X21<<3] - stp x23, x24, [x0, #JB_X23<<3] - stp x25, x26, [x0, #JB_X25<<3] - stp x27, x28, [x0, #JB_X27<<3] - -#ifdef PTR_MANGLE - PTR_MANGLE (x4, x30, x3, x2) - stp x29, x4, [x0, #JB_X29<<3] -#else - stp x29, x30, [x0, #JB_X29<<3] -#endif - stp d8, d9, [x0, #JB_D8<<3] - stp d10, d11, [x0, #JB_D10<<3] - stp d12, d13, [x0, #JB_D12<<3] - stp d14, d15, [x0, #JB_D14<<3] -#ifdef PTR_MANGLE - mov x4, sp - PTR_MANGLE (x5, x4, x3, x2) - str x5, [x0, #JB_SP<<3] -#else - mov x2, sp - str x2, [x0, #JB_SP<<3] -#endif -#if defined NOT_IN_libc && defined IS_IN_rtld - /* In ld.so we never save the signal mask */ - mov w0, #0 - RET -#else - b C_SYMBOL_NAME(__sigjmp_save) -#endif -END (__sigsetjmp) -hidden_def (__sigsetjmp) diff --git a/ports/sysdeps/aarch64/shlib-versions b/ports/sysdeps/aarch64/shlib-versions deleted file mode 100644 index 67f19119aa..0000000000 --- a/ports/sysdeps/aarch64/shlib-versions +++ /dev/null @@ -1,7 +0,0 @@ -aarch64.*-.*-linux.* DEFAULT GLIBC_2.17 - -%ifdef HAVE_AARCH64_BE -aarch64.*-.*-linux.* ld=ld-linux-aarch64_be.so.1 -%else -aarch64.*-.*-linux.* ld=ld-linux-aarch64.so.1 -%endif diff --git a/ports/sysdeps/aarch64/soft-fp/Makefile b/ports/sysdeps/aarch64/soft-fp/Makefile deleted file mode 100644 index ada13e8b70..0000000000 --- a/ports/sysdeps/aarch64/soft-fp/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),math) -CPPFLAGS += -I../soft-fp -endif diff --git a/ports/sysdeps/aarch64/soft-fp/e_sqrtl.c b/ports/sysdeps/aarch64/soft-fp/e_sqrtl.c deleted file mode 100644 index a13c542a05..0000000000 --- a/ports/sysdeps/aarch64/soft-fp/e_sqrtl.c +++ /dev/null @@ -1,39 +0,0 @@ -/* long double square root in software floating-point emulation. - Copyright (C) 1997-2014 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 <stdlib.h> -#include <soft-fp.h> -#include <quad.h> - -long double -__ieee754_sqrtl (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; -} -strong_alias (__ieee754_sqrtl, __sqrtl_finite) diff --git a/ports/sysdeps/aarch64/soft-fp/sfp-machine.h b/ports/sysdeps/aarch64/soft-fp/sfp-machine.h deleted file mode 100644 index 9bb94e5ccc..0000000000 --- a/ports/sysdeps/aarch64/soft-fp/sfp-machine.h +++ /dev/null @@ -1,118 +0,0 @@ -#include <fenv.h> -#include <fpu_control.h> - -#define _FP_W_TYPE_SIZE 64 -#define _FP_W_TYPE unsigned long long -#define _FP_WS_TYPE signed long long -#define _FP_I_TYPE long long - -#define _FP_MUL_MEAT_S(R,X,Y) \ - _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y) -#define _FP_MUL_MEAT_D(R,X,Y) \ - _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_Q(R,X,Y) \ - _FP_MUL_MEAT_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) - -#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm) -#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y) -#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) - -#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) -#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1) -#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1 -#define _FP_NANSIGN_S 0 -#define _FP_NANSIGN_D 0 -#define _FP_NANSIGN_Q 0 - -#define _FP_KEEPNANFRACP 1 -#define _FP_QNANNEGATEDP 0 - -/* From my experiments it seems X is chosen unless one of the - NaNs is sNaN, in which case the result is NANSIGN/NANFRAC. */ -#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ - do { \ - if ((_FP_FRAC_HIGH_RAW_##fs(X) | \ - _FP_FRAC_HIGH_RAW_##fs(Y)) & _FP_QNANBIT_##fs) \ - { \ - R##_s = _FP_NANSIGN_##fs; \ - _FP_FRAC_SET_##wc(R,_FP_NANFRAC_##fs); \ - } \ - else \ - { \ - R##_s = X##_s; \ - _FP_FRAC_COPY_##wc(R,X); \ - } \ - R##_c = FP_CLS_NAN; \ - } while (0) - -#define _FP_DECL_EX fpu_control_t _fcw - -#define FP_ROUNDMODE (_fcw & _FPU_FPCR_RM_MASK) - -#define FP_RND_NEAREST FE_TONEAREST -#define FP_RND_ZERO FE_TOWARDZERO -#define FP_RND_PINF FE_UPWARD -#define FP_RND_MINF FE_DOWNWARD - -#define FP_EX_INVALID FE_INVALID -#define FP_EX_OVERFLOW FE_OVERFLOW -#define FP_EX_UNDERFLOW FE_UNDERFLOW -#define FP_EX_DIVZERO FE_DIVBYZERO -#define FP_EX_INEXACT FE_INEXACT - -#define FP_INIT_ROUNDMODE \ -do { \ - _FPU_GETCW (_fcw); \ -} while (0) - -#define FP_HANDLE_EXCEPTIONS \ - do { \ - const float fp_max = __FLT_MAX__; \ - const float fp_min = __FLT_MIN__; \ - const float fp_1e32 = 1.0e32f; \ - const float fp_zero = 0.0; \ - const float fp_one = 1.0; \ - unsigned fpsr; \ - if (_fex & FP_EX_INVALID) \ - { \ - __asm__ __volatile__ ("fdiv\ts0, %s0, %s0" \ - : \ - : "w" (fp_zero) \ - : "s0"); \ - __asm__ __volatile__ ("mrs\t%0, fpsr" : "=r" (fpsr)); \ - } \ - if (_fex & FP_EX_DIVZERO) \ - { \ - __asm__ __volatile__ ("fdiv\ts0, %s0, %s1" \ - : \ - : "w" (fp_one), "w" (fp_zero) \ - : "s0"); \ - __asm__ __volatile__ ("mrs\t%0, fpsr" : "=r" (fpsr)); \ - } \ - if (_fex & FP_EX_OVERFLOW) \ - { \ - __asm__ __volatile__ ("fadd\ts0, %s0, %s1" \ - : \ - : "w" (fp_max), "w" (fp_1e32) \ - : "s0"); \ - __asm__ __volatile__ ("mrs\t%0, fpsr" : "=r" (fpsr)); \ - } \ - if (_fex & FP_EX_UNDERFLOW) \ - { \ - __asm__ __volatile__ ("fmul\ts0, %s0, %s0" \ - : \ - : "w" (fp_min) \ - : "s0"); \ - __asm__ __volatile__ ("mrs\t%0, fpsr" : "=r" (fpsr)); \ - } \ - if (_fex & FP_EX_INEXACT) \ - { \ - __asm__ __volatile__ ("fsub\ts0, %s0, %s1" \ - : \ - : "w" (fp_max), "w" (fp_one) \ - : "s0"); \ - __asm__ __volatile__ ("mrs\t%0, fpsr" : "=r" (fpsr)); \ - } \ - } while (0) - -#define FP_TRAPPING_EXCEPTIONS ((_fcw >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT) diff --git a/ports/sysdeps/aarch64/sotruss-lib.c b/ports/sysdeps/aarch64/sotruss-lib.c deleted file mode 100644 index 735e9efef9..0000000000 --- a/ports/sysdeps/aarch64/sotruss-lib.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Override generic sotruss-lib.c to define actual functions for AArch64. - Copyright (C) 2012-2014 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/>. */ - -#define HAVE_ARCH_PLTENTER -#define HAVE_ARCH_PLTEXIT - -#include <elf/sotruss-lib.c> - -ElfW(Addr) -la_aarch64_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)), - unsigned int ndx __attribute__ ((unused)), - uintptr_t *refcook, uintptr_t *defcook, - La_aarch64_regs *regs, unsigned int *flags, - const char *symname, long int *framesizep) -{ - print_enter (refcook, defcook, symname, - regs->lr_xreg[0], regs->lr_xreg[1], regs->lr_xreg[2], - *flags); - - /* No need to copy anything, we will not need the parameters in any case. */ - *framesizep = 0; - - return sym->st_value; -} - -unsigned int -la_aarch64_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook, - uintptr_t *defcook, - const struct La_aarch64_regs *inregs, - struct La_aarch64_retval *outregs, const char *symname) -{ - print_exit (refcook, defcook, symname, outregs->lrv_xreg[0]); - - return 0; -} diff --git a/ports/sysdeps/aarch64/stackinfo.h b/ports/sysdeps/aarch64/stackinfo.h deleted file mode 100644 index cf381f66ac..0000000000 --- a/ports/sysdeps/aarch64/stackinfo.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2001-2014 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/>. */ - -/* This file contains a bit of information about the stack allocation - of the processor. */ - -#ifndef _STACKINFO_H -#define _STACKINFO_H 1 - -#include <elf.h> - -/* On AArch64 the stack grows down. */ -#define _STACK_GROWS_DOWN 1 - -/* Default to a non-executable stack. */ -#define DEFAULT_STACK_PERMS (PF_R|PF_W) - -#endif /* stackinfo.h */ diff --git a/ports/sysdeps/aarch64/start.S b/ports/sysdeps/aarch64/start.S deleted file mode 100644 index 35d603ae9e..0000000000 --- a/ports/sysdeps/aarch64/start.S +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (C) 1995-2014 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/>. */ - -/* This is the canonical entry point, usually the first thing in the text - segment. - - Note that the code in the .init section has already been run. - This includes _init and _libc_init - - - At this entry point, most registers' values are unspecified, except: - - x0 Contains a function pointer to be registered with `atexit'. - This is how the dynamic linker arranges to have DT_FINI - functions called for shared libraries that have been loaded - before this code runs. - - sp The stack contains the arguments and environment: - 0(sp) argc - 8(sp) argv[0] - ... - (8*argc)(sp) NULL - (8*(argc+1))(sp) envp[0] - ... - NULL - */ - - .text - .globl _start - .type _start,#function -_start: - /* Create an initial frame with 0 LR and FP */ - mov x29, #0 - mov x30, #0 - mov x29, sp - - /* Setup rtld_fini in argument register */ - mov x5, x0 - - /* Load argc and a pointer to argv */ - ldr x1, [sp, #0] - add x2, sp, #8 - - /* Setup stack limit in argument register */ - mov x6, sp - -#ifdef SHARED - adrp x0, :got:main - ldr x0, [x0, #:got_lo12:main] - - adrp x3, :got:__libc_csu_init - ldr x3, [x3, #:got_lo12:__libc_csu_init] - - adrp x4, :got:__libc_csu_fini - ldr x4, [x4, #:got_lo12:__libc_csu_fini] -#else - /* Set up the other arguments in registers */ - ldr x0, =main - ldr x3, =__libc_csu_init - ldr x4, =__libc_csu_fini -#endif - - /* __libc_start_main (main, argc, argv, init, fini, rtld_fini, - stack_end) */ - - /* Let the libc call main and exit with its return code. */ - bl __libc_start_main - - /* should never get here....*/ - bl abort - - /* Define a symbol for the first piece of initialized data. */ - .data - .globl __data_start -__data_start: - .long 0 - .weak data_start - data_start = __data_start diff --git a/ports/sysdeps/aarch64/strcmp.S b/ports/sysdeps/aarch64/strcmp.S deleted file mode 100644 index ec9d10a29b..0000000000 --- a/ports/sysdeps/aarch64/strcmp.S +++ /dev/null @@ -1,155 +0,0 @@ -/* Copyright (C) 2012-2014 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/>. */ - -/* Assumptions: - * - * ARMv8-a, AArch64 - */ - -#include <sysdep.h> - -#define REP8_01 0x0101010101010101 -#define REP8_7f 0x7f7f7f7f7f7f7f7f -#define REP8_80 0x8080808080808080 - -/* Parameters and result. */ -#define src1 x0 -#define src2 x1 -#define result x0 - -/* Internal variables. */ -#define data1 x2 -#define data1w w2 -#define data2 x3 -#define data2w w3 -#define has_nul x4 -#define diff x5 -#define syndrome x6 -#define tmp1 x7 -#define tmp2 x8 -#define tmp3 x9 -#define zeroones x10 -#define pos x11 - - /* Start of performance-critical section -- one 64B cache line. */ -ENTRY_ALIGN(strcmp, 6) - - eor tmp1, src1, src2 - mov zeroones, #REP8_01 - tst tmp1, #7 - b.ne L(misaligned8) - ands tmp1, src1, #7 - b.ne L(mutual_align) - /* NUL detection works on the principle that (X - 1) & (~X) & 0x80 - (=> (X - 1) & ~(X | 0x7f)) is non-zero iff a byte is zero, and - can be done in parallel across the entire word. */ -L(loop_aligned): - ldr data1, [src1], #8 - ldr data2, [src2], #8 -L(start_realigned): - sub tmp1, data1, zeroones - orr tmp2, data1, #REP8_7f - eor diff, data1, data2 /* Non-zero if differences found. */ - bic has_nul, tmp1, tmp2 /* Non-zero if NUL terminator. */ - orr syndrome, diff, has_nul - cbz syndrome, L(loop_aligned) - /* End of performance-critical section -- one 64B cache line. */ - -#ifndef __AARCH64EB__ - rev syndrome, syndrome - rev data1, data1 - /* The MS-non-zero bit of the syndrome marks either the first bit - that is different, or the top bit of the first zero byte. - Shifting left now will bring the critical information into the - top bits. */ - clz pos, syndrome - rev data2, data2 - lsl data1, data1, pos - lsl data2, data2, pos - /* But we need to zero-extend (char is unsigned) the value and then - perform a signed 32-bit subtraction. */ - lsr data1, data1, #56 - sub result, data1, data2, lsr #56 - RET -#else - /* For big-endian we cannot use the trick with the syndrome value - as carry-propagation can corrupt the upper bits if the trailing - bytes in the string contain 0x01. */ - /* However, if there is no NUL byte in the dword, we can generate - the result directly. We can't just subtract the bytes as the - MSB might be significant. */ - cbnz has_nul, 1f - cmp data1, data2 - cset result, ne - cneg result, result, lo - RET -1: - /* Re-compute the NUL-byte detection, using a byte-reversed value. */ - rev tmp3, data1 - sub tmp1, tmp3, zeroones - orr tmp2, tmp3, #REP8_7f - bic has_nul, tmp1, tmp2 - rev has_nul, has_nul - orr syndrome, diff, has_nul - clz pos, syndrome - /* The MS-non-zero bit of the syndrome marks either the first bit - that is different, or the top bit of the first zero byte. - Shifting left now will bring the critical information into the - top bits. */ - lsl data1, data1, pos - lsl data2, data2, pos - /* But we need to zero-extend (char is unsigned) the value and then - perform a signed 32-bit subtraction. */ - lsr data1, data1, #56 - sub result, data1, data2, lsr #56 - RET -#endif - -L(mutual_align): - /* Sources are mutually aligned, but are not currently at an - alignment boundary. Round down the addresses and then mask off - the bytes that preceed the start point. */ - bic src1, src1, #7 - bic src2, src2, #7 - lsl tmp1, tmp1, #3 /* Bytes beyond alignment -> bits. */ - ldr data1, [src1], #8 - neg tmp1, tmp1 /* Bits to alignment -64. */ - ldr data2, [src2], #8 - mov tmp2, #~0 -#ifdef __AARCH64EB__ - /* Big-endian. Early bytes are at MSB. */ - lsl tmp2, tmp2, tmp1 /* Shift (tmp1 & 63). */ -#else - /* Little-endian. Early bytes are at LSB. */ - lsr tmp2, tmp2, tmp1 /* Shift (tmp1 & 63). */ -#endif - orr data1, data1, tmp2 - orr data2, data2, tmp2 - b L(start_realigned) - -L(misaligned8): - /* We can do better than this. */ - ldrb data1w, [src1], #1 - ldrb data2w, [src2], #1 - cmp data1w, #1 - ccmp data1w, data2w, #0, cs /* NZCV = 0b0000. */ - b.eq L(misaligned8) - sub result, data1, data2 - RET -END(strcmp) -libc_hidden_builtin_def (strcmp) diff --git a/ports/sysdeps/aarch64/strlen.S b/ports/sysdeps/aarch64/strlen.S deleted file mode 100644 index 4d2a20a18e..0000000000 --- a/ports/sysdeps/aarch64/strlen.S +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright (C) 2012-2014 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 <sysdep.h> - -/* Assumptions: - * - * ARMv8-a, AArch64 - */ - -/* Arguments and results. */ -#define srcin x0 -#define len x0 - -/* Locals and temporaries. */ -#define src x1 -#define data1 x2 -#define data2 x3 -#define data2a x4 -#define has_nul1 x5 -#define has_nul2 x6 -#define tmp1 x7 -#define tmp2 x8 -#define tmp3 x9 -#define tmp4 x10 -#define zeroones x11 -#define pos x12 - -#define REP8_01 0x0101010101010101 -#define REP8_7f 0x7f7f7f7f7f7f7f7f -#define REP8_80 0x8080808080808080 - - /* Start of critial section -- keep to one 64Byte cache line. */ -ENTRY_ALIGN (strlen, 6) - mov zeroones, #REP8_01 - bic src, srcin, #15 - ands tmp1, srcin, #15 - b.ne L(misaligned) - /* NUL detection works on the principle that (X - 1) & (~X) & 0x80 - (=> (X - 1) & ~(X | 0x7f)) is non-zero iff a byte is zero, and - can be done in parallel across the entire word. */ - /* The inner loop deals with two Dwords at a time. This has a - slightly higher start-up cost, but we should win quite quickly, - especially on cores with a high number of issue slots per - cycle, as we get much better parallelism out of the operations. */ -L(loop): - ldp data1, data2, [src], #16 -L(realigned): - sub tmp1, data1, zeroones - orr tmp2, data1, #REP8_7f - sub tmp3, data2, zeroones - orr tmp4, data2, #REP8_7f - bic has_nul1, tmp1, tmp2 - bics has_nul2, tmp3, tmp4 - ccmp has_nul1, #0, #0, eq /* NZCV = 0000 */ - b.eq L(loop) - /* End of critical section -- keep to one 64Byte cache line. */ - - sub len, src, srcin - cbz has_nul1, L(nul_in_data2) -#ifdef __AARCH64EB__ - mov data2, data1 -#endif - sub len, len, #8 - mov has_nul2, has_nul1 -L(nul_in_data2): -#ifdef __AARCH64EB__ - /* For big-endian, carry propagation (if the final byte in the - string is 0x01) means we cannot use has_nul directly. The - easiest way to get the correct byte is to byte-swap the data - and calculate the syndrome a second time. */ - rev data2, data2 - sub tmp1, data2, zeroones - orr tmp2, data2, #REP8_7f - bic has_nul2, tmp1, tmp2 -#endif - sub len, len, #8 - rev has_nul2, has_nul2 - clz pos, has_nul2 - add len, len, pos, lsr #3 /* Bits to bytes. */ - RET - -L(misaligned): - cmp tmp1, #8 - neg tmp1, tmp1 - ldp data1, data2, [src], #16 - lsl tmp1, tmp1, #3 /* Bytes beyond alignment -> bits. */ - mov tmp2, #~0 -#ifdef __AARCH64EB__ - /* Big-endian. Early bytes are at MSB. */ - lsl tmp2, tmp2, tmp1 /* Shift (tmp1 & 63). */ -#else - /* Little-endian. Early bytes are at LSB. */ - lsr tmp2, tmp2, tmp1 /* Shift (tmp1 & 63). */ -#endif - orr data1, data1, tmp2 - orr data2a, data2, tmp2 - csinv data1, data1, xzr, le - csel data2, data2, data2a, le - b L(realigned) -END (strlen) -libc_hidden_builtin_def (strlen) diff --git a/ports/sysdeps/aarch64/strncmp.S b/ports/sysdeps/aarch64/strncmp.S deleted file mode 100644 index 468bff4a3e..0000000000 --- a/ports/sysdeps/aarch64/strncmp.S +++ /dev/null @@ -1,204 +0,0 @@ -/* Copyright (C) 2013-2014 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 <sysdep.h> - -/* Assumptions: - * - * ARMv8-a, AArch64 - */ - -#define REP8_01 0x0101010101010101 -#define REP8_7f 0x7f7f7f7f7f7f7f7f -#define REP8_80 0x8080808080808080 - -/* Parameters and result. */ -#define src1 x0 -#define src2 x1 -#define limit x2 -#define result x0 - -/* Internal variables. */ -#define data1 x3 -#define data1w w3 -#define data2 x4 -#define data2w w4 -#define has_nul x5 -#define diff x6 -#define syndrome x7 -#define tmp1 x8 -#define tmp2 x9 -#define tmp3 x10 -#define zeroones x11 -#define pos x12 -#define limit_wd x13 -#define mask x14 -#define endloop x15 - -ENTRY_ALIGN_AND_PAD (strncmp, 6, 7) - cbz limit, L(ret0) - eor tmp1, src1, src2 - mov zeroones, #REP8_01 - tst tmp1, #7 - b.ne L(misaligned8) - ands tmp1, src1, #7 - b.ne L(mutual_align) - /* Calculate the number of full and partial words -1. */ - sub limit_wd, limit, #1 /* limit != 0, so no underflow. */ - lsr limit_wd, limit_wd, #3 /* Convert to Dwords. */ - - /* NUL detection works on the principle that (X - 1) & (~X) & 0x80 - (=> (X - 1) & ~(X | 0x7f)) is non-zero iff a byte is zero, and - can be done in parallel across the entire word. */ - /* Start of performance-critical section -- one 64B cache line. */ -L(loop_aligned): - ldr data1, [src1], #8 - ldr data2, [src2], #8 -L(start_realigned): - subs limit_wd, limit_wd, #1 - sub tmp1, data1, zeroones - orr tmp2, data1, #REP8_7f - eor diff, data1, data2 /* Non-zero if differences found. */ - csinv endloop, diff, xzr, pl /* Last Dword or differences. */ - bics has_nul, tmp1, tmp2 /* Non-zero if NUL terminator. */ - ccmp endloop, #0, #0, eq - b.eq L(loop_aligned) - /* End of performance-critical section -- one 64B cache line. */ - - /* Not reached the limit, must have found the end or a diff. */ - tbz limit_wd, #63, L(not_limit) - - /* Limit % 8 == 0 => all bytes significant. */ - ands limit, limit, #7 - b.eq L(not_limit) - - lsl limit, limit, #3 /* Bits -> bytes. */ - mov mask, #~0 -#ifdef __AARCH64EB__ - lsr mask, mask, limit -#else - lsl mask, mask, limit -#endif - bic data1, data1, mask - bic data2, data2, mask - - /* Make sure that the NUL byte is marked in the syndrome. */ - orr has_nul, has_nul, mask - -L(not_limit): - orr syndrome, diff, has_nul - -#ifndef __AARCH64EB__ - rev syndrome, syndrome - rev data1, data1 - /* The MS-non-zero bit of the syndrome marks either the first bit - that is different, or the top bit of the first zero byte. - Shifting left now will bring the critical information into the - top bits. */ - clz pos, syndrome - rev data2, data2 - lsl data1, data1, pos - lsl data2, data2, pos - /* But we need to zero-extend (char is unsigned) the value and then - perform a signed 32-bit subtraction. */ - lsr data1, data1, #56 - sub result, data1, data2, lsr #56 - RET -#else - /* For big-endian we cannot use the trick with the syndrome value - as carry-propagation can corrupt the upper bits if the trailing - bytes in the string contain 0x01. */ - /* However, if there is no NUL byte in the dword, we can generate - the result directly. We can't just subtract the bytes as the - MSB might be significant. */ - cbnz has_nul, 1f - cmp data1, data2 - cset result, ne - cneg result, result, lo - RET -1: - /* Re-compute the NUL-byte detection, using a byte-reversed value. */ - rev tmp3, data1 - sub tmp1, tmp3, zeroones - orr tmp2, tmp3, #REP8_7f - bic has_nul, tmp1, tmp2 - rev has_nul, has_nul - orr syndrome, diff, has_nul - clz pos, syndrome - /* The MS-non-zero bit of the syndrome marks either the first bit - that is different, or the top bit of the first zero byte. - Shifting left now will bring the critical information into the - top bits. */ - lsl data1, data1, pos - lsl data2, data2, pos - /* But we need to zero-extend (char is unsigned) the value and then - perform a signed 32-bit subtraction. */ - lsr data1, data1, #56 - sub result, data1, data2, lsr #56 - RET -#endif - -L(mutual_align): - /* Sources are mutually aligned, but are not currently at an - alignment boundary. Round down the addresses and then mask off - the bytes that precede the start point. - We also need to adjust the limit calculations, but without - overflowing if the limit is near ULONG_MAX. */ - bic src1, src1, #7 - bic src2, src2, #7 - ldr data1, [src1], #8 - neg tmp3, tmp1, lsl #3 /* 64 - bits(bytes beyond align). */ - ldr data2, [src2], #8 - mov tmp2, #~0 - sub limit_wd, limit, #1 /* limit != 0, so no underflow. */ -#ifdef __AARCH64EB__ - /* Big-endian. Early bytes are at MSB. */ - lsl tmp2, tmp2, tmp3 /* Shift (tmp1 & 63). */ -#else - /* Little-endian. Early bytes are at LSB. */ - lsr tmp2, tmp2, tmp3 /* Shift (tmp1 & 63). */ -#endif - and tmp3, limit_wd, #7 - lsr limit_wd, limit_wd, #3 - /* Adjust the limit. Only low 3 bits used, so overflow irrelevant. */ - add limit, limit, tmp1 - add tmp3, tmp3, tmp1 - orr data1, data1, tmp2 - orr data2, data2, tmp2 - add limit_wd, limit_wd, tmp3, lsr #3 - b L(start_realigned) - -L(ret0): - mov result, #0 - RET - - .p2align 6 -L(misaligned8): - sub limit, limit, #1 -1: - /* Perhaps we can do better than this. */ - ldrb data1w, [src1], #1 - ldrb data2w, [src2], #1 - subs limit, limit, #1 - ccmp data1w, #1, #0, cs /* NZCV = 0b0000. */ - ccmp data1w, data2w, #0, cs /* NZCV = 0b0000. */ - b.eq 1b - sub result, data1, data2 - RET -END (strncmp) -libc_hidden_builtin_def (strncmp) diff --git a/ports/sysdeps/aarch64/strnlen.S b/ports/sysdeps/aarch64/strnlen.S deleted file mode 100644 index 928360f3a1..0000000000 --- a/ports/sysdeps/aarch64/strnlen.S +++ /dev/null @@ -1,161 +0,0 @@ -/* strnlen - calculate the length of a string with limit. - - Copyright (C) 2013-2014 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 <sysdep.h> - -/* Assumptions: - * - * ARMv8-a, AArch64 - */ - -/* Arguments and results. */ -#define srcin x0 -#define len x0 -#define limit x1 - -/* Locals and temporaries. */ -#define src x2 -#define data1 x3 -#define data2 x4 -#define data2a x5 -#define has_nul1 x6 -#define has_nul2 x7 -#define tmp1 x8 -#define tmp2 x9 -#define tmp3 x10 -#define tmp4 x11 -#define zeroones x12 -#define pos x13 -#define limit_wd x14 - -#define REP8_01 0x0101010101010101 -#define REP8_7f 0x7f7f7f7f7f7f7f7f -#define REP8_80 0x8080808080808080 - -ENTRY_ALIGN_AND_PAD (__strnlen, 6, 9) - cbz limit, L(hit_limit) - mov zeroones, #REP8_01 - bic src, srcin, #15 - ands tmp1, srcin, #15 - b.ne L(misaligned) - /* Calculate the number of full and partial words -1. */ - sub limit_wd, limit, #1 /* Limit != 0, so no underflow. */ - lsr limit_wd, limit_wd, #4 /* Convert to Qwords. */ - - /* NUL detection works on the principle that (X - 1) & (~X) & 0x80 - (=> (X - 1) & ~(X | 0x7f)) is non-zero iff a byte is zero, and - can be done in parallel across the entire word. */ - /* The inner loop deals with two Dwords at a time. This has a - slightly higher start-up cost, but we should win quite quickly, - especially on cores with a high number of issue slots per - cycle, as we get much better parallelism out of the operations. */ - - /* Start of critial section -- keep to one 64Byte cache line. */ -L(loop): - ldp data1, data2, [src], #16 -L(realigned): - sub tmp1, data1, zeroones - orr tmp2, data1, #REP8_7f - sub tmp3, data2, zeroones - orr tmp4, data2, #REP8_7f - bic has_nul1, tmp1, tmp2 - bic has_nul2, tmp3, tmp4 - subs limit_wd, limit_wd, #1 - orr tmp1, has_nul1, has_nul2 - ccmp tmp1, #0, #0, pl /* NZCV = 0000 */ - b.eq L(loop) - /* End of critical section -- keep to one 64Byte cache line. */ - - orr tmp1, has_nul1, has_nul2 - cbz tmp1, L(hit_limit) /* No null in final Qword. */ - - /* We know there's a null in the final Qword. The easiest thing - to do now is work out the length of the string and return - MIN (len, limit). */ - - sub len, src, srcin - cbz has_nul1, L(nul_in_data2) -#ifdef __AARCH64EB__ - mov data2, data1 -#endif - sub len, len, #8 - mov has_nul2, has_nul1 -L(nul_in_data2): -#ifdef __AARCH64EB__ - /* For big-endian, carry propagation (if the final byte in the - string is 0x01) means we cannot use has_nul directly. The - easiest way to get the correct byte is to byte-swap the data - and calculate the syndrome a second time. */ - rev data2, data2 - sub tmp1, data2, zeroones - orr tmp2, data2, #REP8_7f - bic has_nul2, tmp1, tmp2 -#endif - sub len, len, #8 - rev has_nul2, has_nul2 - clz pos, has_nul2 - add len, len, pos, lsr #3 /* Bits to bytes. */ - cmp len, limit - csel len, len, limit, ls /* Return the lower value. */ - RET - -L(misaligned): - /* Deal with a partial first word. - We're doing two things in parallel here; - 1) Calculate the number of words (but avoiding overflow if - limit is near ULONG_MAX) - to do this we need to work out - limit + tmp1 - 1 as a 65-bit value before shifting it; - 2) Load and mask the initial data words - we force the bytes - before the ones we are interested in to 0xff - this ensures - early bytes will not hit any zero detection. */ - sub limit_wd, limit, #1 - neg tmp4, tmp1 - cmp tmp1, #8 - - and tmp3, limit_wd, #15 - lsr limit_wd, limit_wd, #4 - mov tmp2, #~0 - - ldp data1, data2, [src], #16 - lsl tmp4, tmp4, #3 /* Bytes beyond alignment -> bits. */ - add tmp3, tmp3, tmp1 - -#ifdef __AARCH64EB__ - /* Big-endian. Early bytes are at MSB. */ - lsl tmp2, tmp2, tmp4 /* Shift (tmp1 & 63). */ -#else - /* Little-endian. Early bytes are at LSB. */ - lsr tmp2, tmp2, tmp4 /* Shift (tmp1 & 63). */ -#endif - add limit_wd, limit_wd, tmp3, lsr #4 - - orr data1, data1, tmp2 - orr data2a, data2, tmp2 - - csinv data1, data1, xzr, le - csel data2, data2, data2a, le - b L(realigned) - -L(hit_limit): - mov len, limit - RET -END (__strnlen) -weak_alias (__strnlen, strnlen) -libc_hidden_def (strnlen) diff --git a/ports/sysdeps/aarch64/sysdep.h b/ports/sysdeps/aarch64/sysdep.h deleted file mode 100644 index 7169ba716c..0000000000 --- a/ports/sysdeps/aarch64/sysdep.h +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1997-2014 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 <sysdeps/generic/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* Syntactic details of assembler. */ - -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name - -/* Define an entry point visible from C. */ -#define ENTRY(name) \ - .globl C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name),%function; \ - .align 4; \ - C_LABEL(name) \ - cfi_startproc; \ - CALL_MCOUNT - -/* Define an entry point visible from C. */ -#define ENTRY_ALIGN(name, align) \ - .globl C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name),%function; \ - .p2align align; \ - C_LABEL(name) \ - cfi_startproc; \ - CALL_MCOUNT - -/* Define an entry point visible from C with a specified alignment and - pre-padding with NOPs. This can be used to ensure that a critical - loop within a function is cache line aligned. Note this version - does not adjust the padding if CALL_MCOUNT is defined. */ - -#define ENTRY_ALIGN_AND_PAD(name, align, padding) \ - .globl C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name),%function; \ - .p2align align; \ - .rep padding; \ - nop; \ - .endr; \ - C_LABEL(name) \ - cfi_startproc; \ - CALL_MCOUNT - -#undef END -#define END(name) \ - cfi_endproc; \ - ASM_SIZE_DIRECTIVE(name) - -/* If compiled for profiling, call `mcount' at the start of each function. */ -#ifdef PROF -# define CALL_MCOUNT \ - str x30, [sp, #-16]!; \ - bl mcount; \ - ldr x30, [sp], #16 ; -#else -# define CALL_MCOUNT /* Do nothing. */ -#endif - -/* Local label name for asm code. */ -#ifndef L -# define L(name) .L##name -#endif - -/* Load or store to/from a pc-relative EXPR into/from R, using T. */ -#define LDST_PCREL(OP, R, T, EXPR) \ - adrp T, EXPR; \ - OP R, [T, #:lo12:EXPR];\ - -/* Load or store to/from a got-relative EXPR into/from R, using T. */ -#define LDST_GLOBAL(OP, R, T, EXPR) \ - adrp T, :got:EXPR; \ - ldr T, [T, #:got_lo12:EXPR];\ - OP R, [T]; - -/* Since C identifiers are not normally prefixed with an underscore - on this system, the asm identifier `syscall_error' intrudes on the - C name space. Make sure we use an innocuous name. */ -#define syscall_error __syscall_error -#define mcount _mcount - -#endif /* __ASSEMBLER__ */ diff --git a/ports/sysdeps/aarch64/tls-macros.h b/ports/sysdeps/aarch64/tls-macros.h deleted file mode 100644 index ad39e243db..0000000000 --- a/ports/sysdeps/aarch64/tls-macros.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (C) 2009-2014 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/>. */ - -#define TLS_LD(x) TLS_GD(x) - -#define TLS_GD(x) \ - ({ register unsigned long __result asm ("x0"); \ - asm ("adrp %0, :tlsgd:" #x "; " \ - "add %0, %0, #:tlsgd_lo12:" #x "; " \ - "bl __tls_get_addr;" \ - "nop" \ - : "=r" (__result) \ - : \ - : "x1", "x2", "x3", "x4", "x5", "x6", \ - "x7", "x8", "x9", "x10", "x11", "x12", \ - "x13", "x14", "x15", "x16", "x17", "x18", \ - "x30", "memory"); \ - (int *) (__result); }) - -#define TLS_IE(x) \ - ({ register unsigned long __result asm ("x0"); \ - register unsigned long __t; \ - asm ("mrs %1, tpidr_el0; " \ - "adrp %0, :gottprel:" #x "; " \ - "ldr %0, [%0, #:gottprel_lo12:" #x "]; " \ - "add %0, %0, %1" \ - : "=r" (__result), "=r" (__t)); \ - (int *) (__result); }) - -#define TLS_LE(x) \ - ({ register unsigned long __result asm ("x0"); \ - asm ("mrs %0, tpidr_el0; " \ - "add %0, %0, :tprel_hi12:" #x "; " \ - "add %0, %0, :tprel_lo12_nc:" #x \ - : "=r" (__result)); \ - (int *) (__result); }) diff --git a/ports/sysdeps/aarch64/tlsdesc.c b/ports/sysdeps/aarch64/tlsdesc.c deleted file mode 100644 index 0921230676..0000000000 --- a/ports/sysdeps/aarch64/tlsdesc.c +++ /dev/null @@ -1,154 +0,0 @@ -/* Manage TLS descriptors. AArch64 version. - - Copyright (C) 2011-2014 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 <link.h> -#include <ldsodefs.h> -#include <elf/dynamic-link.h> -#include <tls.h> -#include <dl-tlsdesc.h> -#include <tlsdeschtab.h> - -/* The following functions take an entry_check_offset argument. It's - computed by the caller as an offset between its entry point and the - call site, such that by adding the built-in return address that is - implicitly passed to the function with this offset, we can easily - obtain the caller's entry point to compare with the entry point - given in the TLS descriptor. If it's changed, we want to return - immediately. */ - -/* This function is used to lazily resolve TLS_DESC RELA relocations. - The argument location is used to hold a pointer to the relocation. */ - -void -attribute_hidden -_dl_tlsdesc_resolve_rela_fixup (struct tlsdesc volatile *td, - struct link_map *l) -{ - const ElfW(Rela) *reloc = td->arg; - - if (_dl_tlsdesc_resolve_early_return_p - (td, (void*)(D_PTR (l, l_info[ADDRIDX (DT_TLSDESC_PLT)]) + l->l_addr))) - return; - - /* The code below was borrowed from _dl_fixup(), - except for checking for STB_LOCAL. */ - const ElfW(Sym) *const symtab - = (const void *) D_PTR (l, l_info[DT_SYMTAB]); - const char *strtab = (const void *) D_PTR (l, l_info[DT_STRTAB]); - const ElfW(Sym) *sym = &symtab[ELFW(R_SYM) (reloc->r_info)]; - lookup_t result; - - /* Look up the target symbol. If the normal lookup rules are not - used don't look in the global scope. */ - if (ELFW(ST_BIND) (sym->st_info) != STB_LOCAL - && __builtin_expect (ELFW(ST_VISIBILITY) (sym->st_other), 0) == 0) - { - const struct r_found_version *version = NULL; - - if (l->l_info[VERSYMIDX (DT_VERSYM)] != NULL) - { - const ElfW(Half) *vernum = - (const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]); - ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)] & 0x7fff; - version = &l->l_versions[ndx]; - if (version->hash == 0) - version = NULL; - } - - result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym, - l->l_scope, version, ELF_RTYPE_CLASS_PLT, - DL_LOOKUP_ADD_DEPENDENCY, NULL); - } - else - { - /* We already found the symbol. The module (and therefore its load - address) is also known. */ - result = l; - } - - if (!sym) - { - td->arg = (void*) reloc->r_addend; - td->entry = _dl_tlsdesc_undefweak; - } - else - { -# ifndef SHARED - CHECK_STATIC_TLS (l, result); -# else - if (!TRY_STATIC_TLS (l, result)) - { - td->arg = _dl_make_tlsdesc_dynamic (result, sym->st_value - + reloc->r_addend); - td->entry = _dl_tlsdesc_dynamic; - } - else -# endif - { - td->arg = (void*) (sym->st_value + result->l_tls_offset - + reloc->r_addend); - td->entry = _dl_tlsdesc_return; - } - } - - _dl_tlsdesc_wake_up_held_fixups (); -} - -/* This function is used to avoid busy waiting for other threads to - complete the lazy relocation. Once another thread wins the race to - relocate a TLS descriptor, it sets the descriptor up such that this - function is called to wait until the resolver releases the - lock. */ - -void -attribute_hidden -_dl_tlsdesc_resolve_hold_fixup (struct tlsdesc volatile *td, - void *caller) -{ - /* Maybe we're lucky and can return early. */ - if (caller != td->entry) - return; - - /* Locking here will stop execution until the running resolver runs - _dl_tlsdesc_wake_up_held_fixups(), releasing the lock. - - FIXME: We'd be better off waiting on a condition variable, such - that we didn't have to hold the lock throughout the relocation - processing. */ - __rtld_lock_lock_recursive (GL(dl_load_lock)); - __rtld_lock_unlock_recursive (GL(dl_load_lock)); -} - - -/* Unmap the dynamic object, but also release its TLS descriptor table - if there is one. */ - -void -internal_function -_dl_unmap (struct link_map *map) -{ - __munmap ((void *) (map)->l_map_start, - (map)->l_map_end - (map)->l_map_start); - -#if SHARED - if (map->l_mach.tlsdesc_table) - htab_delete (map->l_mach.tlsdesc_table); -#endif -} diff --git a/ports/sysdeps/aarch64/tlsdesc.sym b/ports/sysdeps/aarch64/tlsdesc.sym deleted file mode 100644 index 63766af612..0000000000 --- a/ports/sysdeps/aarch64/tlsdesc.sym +++ /dev/null @@ -1,15 +0,0 @@ -#include <stddef.h> -#include <sysdep.h> -#include <tls.h> -#include <link.h> -#include <dl-tlsdesc.h> - --- - --- Abuse tls.h macros to derive offsets relative to the thread register. - -TLSDESC_ARG offsetof(struct tlsdesc, arg) - -TLSDESC_GEN_COUNT offsetof(struct tlsdesc_dynamic_arg, gen_count) -TLSDESC_MODID offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_module) -TLSDESC_MODOFF offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_offset) diff --git a/ports/sysdeps/aarch64/tst-audit.h b/ports/sysdeps/aarch64/tst-audit.h deleted file mode 100644 index ee0787611c..0000000000 --- a/ports/sysdeps/aarch64/tst-audit.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Definitions for testing PLT entry/exit auditing. AArch64 version. - - Copyright (C) 2005-2014 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/>. */ - -#define pltenter la_aarch64_gnu_pltenter -#define pltexit la_aarch64_gnu_pltexit -#define La_regs La_aarch64_regs -#define La_retval La_aarch64_retval -#define int_retval lrv_xreg[0] diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/Implies b/ports/sysdeps/unix/sysv/linux/aarch64/Implies deleted file mode 100644 index 37b6bda7f9..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/Implies +++ /dev/null @@ -1,2 +0,0 @@ -unix/sysv/linux/generic -unix/sysv/linux/wordsize-64 diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/Makefile b/ports/sysdeps/unix/sysv/linux/aarch64/Makefile deleted file mode 100644 index 88250dd87d..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -ifeq ($(subdir),csu) -sysdep_routines += __read_tp libc-__read_tp -static-only-routines += __read_tp -shared-only-routines += libc-__read_tp -endif - -ifeq ($(subdir),elf) -sysdep_routines += dl-vdso -sysdep-rtld-routines += __read_tp -ifeq ($(build-shared),yes) -# This is needed for DSO loading from static binaries. -sysdep-dl-routines += dl-static -sysdep_routines += dl-static -sysdep-rtld-routines += dl-static -endif -endif - -ifeq ($(subdir),misc) -sysdep_headers += sys/elf.h -endif - -ifeq ($(subdir),stdlib) -gen-as-const-headers += ucontext_i.sym -endif - -abi-variants := lp64 -abi-variants += lp64_be - -ifeq (,$(filter $(default-abi),$(abi-variants))) -Unknown ABI, must be one of $(abi-variants) -endif - -abi-lp64-options := -U__AARCH64EB__ -abi-lp64-condition := !defined __AARCH64EB__ -abi-lp64-ld-soname := ld-linux-aarch64.so.1 - -abi-lp64_be-options := -D__AARCH64EB__ -abi-lp64_be-condition := defined __AARCH64EB__ -abi-lp64_be-ld-soname := ld-linux-aarch64_be.so.1 diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/Versions b/ports/sysdeps/unix/sysv/linux/aarch64/Versions deleted file mode 100644 index 9bd87fe2d0..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/Versions +++ /dev/null @@ -1,12 +0,0 @@ -ld { - GLIBC_PRIVATE { - # used for loading by static libraries - _dl_var_init; - } -} -libc { - GLIBC_PRIVATE { - __vdso_clock_gettime; - __vdso_clock_getres; - } -} diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/ports/sysdeps/unix/sysv/linux/aarch64/__read_tp.S deleted file mode 100644 index 88d6d7e116..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/__read_tp.S +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2005-2014 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 <sysdep.h> - - .hidden __read_tp -ENTRY (__read_tp) - mrs x0, tpidr_el0 - RET -END (__read_tp) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h b/ports/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h deleted file mode 100644 index 78e13158bb..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h +++ /dev/null @@ -1,55 +0,0 @@ -/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI. - Copyright (C) 2011-2014 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 _FCNTL_H -# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - -#define __O_DIRECTORY 040000 -#define __O_NOFOLLOW 0100000 -#define __O_DIRECT 0200000 - -#define __O_LARGEFILE 0 - -# define F_GETLK64 5 -# define F_SETLK64 6 -# define F_SETLKW64 7 - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; -#endif - -/* Include generic Linux declarations. */ -#include <bits/fcntl-linux.h> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/bits/libc-vdso.h b/ports/sysdeps/unix/sysv/linux/aarch64/bits/libc-vdso.h deleted file mode 100644 index 31732d4088..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/bits/libc-vdso.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2009-2014 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 _LIBC_VDSO_H -#define _LIBC_VDSO_H - -#ifdef SHARED - -extern void (*__vdso_gettimeofday) (struct timeval *, void *) - attribute_hidden; -extern void (*__vdso_clock_gettime) (clockid_t, struct timespec *); -extern void (*__vdso_clock_getres) (clockid_t, struct timespec *); - -#endif - -#endif /* _LIBC_VDSO_H */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/bits/mman.h b/ports/sysdeps/unix/sysv/linux/aarch64/bits/mman.h deleted file mode 100644 index d730247108..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/bits/mman.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Definitions for POSIX memory map interface. Linux/AArch64 version. - - Copyright (C) 1997-2014 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 _SYS_MMAN_H -# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead." -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - -/* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x02000 /* Lock the mapping. */ -# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -#endif - - - -/* Include generic Linux declarations. */ -#include <bits/mman-linux.h> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S b/ports/sysdeps/unix/sysv/linux/aarch64/clone.S deleted file mode 100644 index f2964f4871..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright (C) 1996-2014 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/>. */ - -/* clone() is even more special than fork() as it mucks with stacks - and invokes a function in the right context after its all over. */ - -#include <sysdep.h> -#define _ERRNO_H 1 -#include <bits/errno.h> - -#define CLONE_VM_BIT 8 -#define CLONE_VM (1 << CLONE_VM_BIT) - -#define CLONE_THREAD_BIT 16 -#define CLONE_THREAD (1 << CLONE_THREAD_BIT) - -/* int clone(int (*fn)(void *arg), x0 - void *child_stack, x1 - int flags, x2 - void *arg, x3 - pid_t *ptid, x4 - struct user_desc *tls, x5 - pid_t *ctid); x6 - */ - .text -ENTRY(__clone) - /* Sanity check args. */ - cbz x0, 1f - cbz x1, 1f - /* Insert the args onto the new stack. */ - stp x0, x3, [x1, #-16]! /* Fn, arg. */ - - /* Do the system call. */ - mov x0, x2 /* flags */ - - /* New sp is already in x1. */ - mov x2, x4 /* ptid */ - mov x3, x5 /* tls */ - mov x4, x6 /* ctid */ - -#ifdef RESET_PID - /* We rely on the kernel preserving the argument regsiters across a - each system call so that we can inspect the flags against after - the clone call. */ - mov x5, x0 -#endif - - mov x8, #SYS_ify(clone) - /* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid. */ - svc 0x0 - cfi_endproc - cmp x0, #0 - beq 2f - blt 3f - RET -1: mov x0, #-EINVAL -3: - b syscall_error - -2: - cfi_startproc - cfi_undefined (x30) - mov x29, 0 -#ifdef RESET_PID - tbnz x5, #CLONE_THREAD_BIT, 3f - mov x0, #-1 - tbnz x5, #CLONE_VM_BIT, 2f - mov x8, #SYS_ify(getpid) - svc 0x0 -2: - mrs x1, tpidr_el0 - sub x1, x1, #PTHREAD_SIZEOF - str w0, [x1, #PTHREAD_PID_OFFSET] - str w0, [x1, #PTHREAD_TID_OFFSET] - -3: -#endif - /* Pick the function arg and call address from the stack and - execute. */ - ldp x1, x0, [sp], #16 - blr x1 - - /* We are done, pass the return value through x0. */ - b HIDDEN_JUMPTARGET(_exit) - cfi_endproc - cfi_startproc -PSEUDO_END (__clone) - -weak_alias (__clone, clone) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/configure b/ports/sysdeps/unix/sysv/linux/aarch64/configure deleted file mode 100644 index 20593c7bb0..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/configure +++ /dev/null @@ -1,17 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/unix/sysv/linux/aarch64. - -arch_minimum_kernel=3.7.0 - -test -n "$libc_cv_slibdir" || -case "$prefix" in - /usr | /usr/) - libc_cv_slibdir="/lib64" - libc_cv_rtlddir="/lib" - if test "$libdir" = '${exec_prefix}/lib'; then - libdir='${exec_prefix}/lib64'; - # Locale data can be shared between 32bit and 64bit libraries - libc_cv_localedir='${exec_prefix}/lib/locale' - fi - ;; -esac diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/configure.ac b/ports/sysdeps/unix/sysv/linux/aarch64/configure.ac deleted file mode 100644 index b090702134..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/configure.ac +++ /dev/null @@ -1,17 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/unix/sysv/linux/aarch64. - -arch_minimum_kernel=3.7.0 - -test -n "$libc_cv_slibdir" || -case "$prefix" in - /usr | /usr/) - libc_cv_slibdir="/lib64" - libc_cv_rtlddir="/lib" - if test "$libdir" = '${exec_prefix}/lib'; then - libdir='${exec_prefix}/lib64'; - # Locale data can be shared between 32bit and 64bit libraries - libc_cv_localedir='${exec_prefix}/lib/locale' - fi - ;; -esac diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h b/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h deleted file mode 100644 index 32851d00b2..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. - Copyright (C) 2003-2014 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 <ldconfig.h> - -#define _DL_CACHE_DEFAULT_ID (FLAG_AARCH64_LIB64 | FLAG_ELF_LIBC6) - -#define _dl_cache_check_flags(flags) \ - ((flags) == _DL_CACHE_DEFAULT_ID) - -#define add_system_dir(dir) \ - do \ - { \ - size_t len = strlen (dir); \ - char path[len + 3]; \ - memcpy (path, dir, len + 1); \ - if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6)) \ - { \ - len -= 2; \ - path[len] = '\0'; \ - } \ - add_dir (path); \ - if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4)) \ - { \ - memcpy (path + len, "64", 3); \ - add_dir (path); \ - } \ - } while (0) - -#include_next <dl-cache.h> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/dl-static.c b/ports/sysdeps/unix/sysv/linux/aarch64/dl-static.c deleted file mode 100644 index 3c29c564ef..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/dl-static.c +++ /dev/null @@ -1,84 +0,0 @@ -/* Variable initialization. AArch64 version. - Copyright (C) 2001-2014 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 <ldsodefs.h> - -#ifdef SHARED - -void -_dl_var_init (void *array[]) -{ - /* It has to match "variables" below. */ - enum - { - DL_PAGESIZE = 0 - }; - - GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]); -} - -#else - -static void *variables[] = -{ - &GLRO(dl_pagesize) -}; - -static void -_dl_unprotect_relro (struct link_map *l) -{ - ElfW(Addr) start = ((l->l_addr + l->l_relro_addr) - & ~(GLRO(dl_pagesize) - 1)); - ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size) - & ~(GLRO(dl_pagesize) - 1)); - - if (start != end) - __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE); -} - -void -_dl_static_init (struct link_map *l) -{ - struct link_map *rtld_map = l; - struct r_scope_elem **scope; - const ElfW(Sym) *ref = NULL; - lookup_t loadbase; - void (*f) (void *[]); - size_t i; - - loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope, - NULL, 0, 1, NULL); - - for (scope = l->l_local_scope; *scope != NULL; scope++) - for (i = 0; i < (*scope)->r_nlist; i++) - if ((*scope)->r_list[i] == loadbase) - { - rtld_map = (*scope)->r_list[i]; - break; - } - - if (ref != NULL) - { - f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref); - _dl_unprotect_relro (rtld_map); - f (variables); - _dl_protect_relro (rtld_map); - } -} - -#endif diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S b/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S deleted file mode 100644 index 70b2e32431..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S +++ /dev/null @@ -1,108 +0,0 @@ -/* Save current context. - - Copyright (C) 2009-2014 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 <sysdep.h> -#include "ucontext_i.h" -#include "ucontext-internal.h" - -/* int getcontext (ucontext_t *ucp) - - Returns 0 on success -1 and errno on failure. - */ - - .text - -ENTRY(__getcontext) - /* The saved context will return to the getcontext() call point - with a return value of 0 */ - str xzr, [x0, oX0 + 0 * SZREG] - - stp x18, x19, [x0, oX0 + 18 * SZREG] - stp x20, x21, [x0, oX0 + 20 * SZREG] - stp x22, x23, [x0, oX0 + 22 * SZREG] - stp x24, x25, [x0, oX0 + 24 * SZREG] - stp x26, x27, [x0, oX0 + 26 * SZREG] - stp x28, x29, [x0, oX0 + 28 * SZREG] - str x30, [x0, oX0 + 30 * SZREG] - - /* Place LR into the saved PC, this will ensure that when - switching to this saved context with setcontext() control - will pass back to the caller of getcontext(), we have - already arrange to return the appropriate return value in x0 - above. */ - str x30, [x0, oPC] - - /* Save the current SP */ - mov x2, sp - str x2, [x0, oSP] - - /* Initialize the pstate. */ - str xzr, [x0, oPSTATE] - - /* Figure out where to place the first context extension - block. */ - add x2, x0, #oEXTENSION - - /* Write the context extension fpsimd header. */ - mov w3, #(FPSIMD_MAGIC & 0xffff) - movk w3, #(FPSIMD_MAGIC >> 16), lsl #16 - str w3, [x2, #oHEAD + oMAGIC] - mov w3, #FPSIMD_CONTEXT_SIZE - str w3, [x2, #oHEAD + oSIZE] - - /* Fill in the FP SIMD context. */ - add x3, x2, #oV0 + 8 * SZVREG - stp d8, d9, [x3], # 2 * SZVREG - stp d10, d11, [x3], # 2 * SZVREG - stp d12, d13, [x3], # 2 * SZVREG - stp d14, d15, [x3], # 2 * SZVREG - - add x3, x2, oFPSR - - mrs x4, fpsr - str w4, [x3] - - mrs x4, fpcr - str w4, [x3, oFPCR - oFPSR] - - /* Write the termination context extension header. */ - add x2, x2, #FPSIMD_CONTEXT_SIZE - - str xzr, [x2, #oHEAD + oMAGIC] - str xzr, [x2, #oHEAD + oSIZE] - - /* Grab the signal mask */ - /* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */ - add x2, x0, #UCONTEXT_SIGMASK - mov x0, SIG_BLOCK - mov x1, 0 - mov x3, _NSIG8 - mov x8, SYS_ify (rt_sigprocmask) - svc 0 - cbnz x0, 1f - - /* Return 0 for success */ - mov x0, 0 - RET -1: - b C_SYMBOL_NAME(__syscall_error) - - PSEUDO_END (__getcontext) -weak_alias (__getcontext, getcontext) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/gettimeofday.c b/ports/sysdeps/unix/sysv/linux/aarch64/gettimeofday.c deleted file mode 100644 index 267cfae307..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/gettimeofday.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2005-2014 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 <errno.h> -#include <sys/time.h> - -#undef __gettimeofday - -#include <bits/libc-vdso.h> - -/* Get the current time of day and timezone information, - putting it into *tv and *tz. If tz is null, *tz is not filled. - Returns 0 on success, -1 on errors. */ -int -__gettimeofday (tv, tz) - struct timeval *tv; - struct timezone *tz; -{ - return INLINE_VSYSCALL (gettimeofday, 2, tv, tz); -} -libc_hidden_def (__gettimeofday) -weak_alias (__gettimeofday, gettimeofday) -libc_hidden_weak (gettimeofday) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/init-first.c b/ports/sysdeps/unix/sysv/linux/aarch64/init-first.c deleted file mode 100644 index b16bfeb8d9..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/init-first.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 2007-2014 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/>. */ - -#ifdef SHARED -# include <dl-vdso.h> -# undef __gettimeofday -# undef __clock_gettime -# undef __clock_getres -# include <bits/libc-vdso.h> - -void (*__vdso_gettimeofday) (struct timeval *, void *) attribute_hidden; -void (*__vdso_clock_gettime) (clockid_t, struct timespec *); -void (*__vdso_clock_getres) (clockid_t, struct timespec *); - -static inline void -_libc_vdso_platform_setup (void) -{ - PREPARE_VERSION (linux2639, "LINUX_2.6.39", 123718537); - - __vdso_gettimeofday = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2639); - __vdso_clock_gettime = _dl_vdso_vsym ("__kernel_clock_gettime", &linux2639); - __vdso_clock_getres = _dl_vdso_vsym ("__kernel_clock_getres", &linux2639); -} - -# define VDSO_SETUP _libc_vdso_platform_setup -#endif - -#include <csu/init-first.c> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S deleted file mode 100644 index 4443f5a4aa..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2012-2014 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 <sysdep.h> - - .text -ENTRY(__ioctl) - movz x8, #__NR_ioctl - sxtw x0, w0 - svc #0x0 - cmn x0, #0x1, lsl #12 - PSEUDO_RET - PSEUDO_END (__ioctl) - -weak_alias (__ioctl, ioctl) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/kernel-features.h b/ports/sysdeps/unix/sysv/linux/aarch64/kernel-features.h deleted file mode 100644 index c736eb9c0e..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/kernel-features.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Set flags signalling availability of kernel features based on given - kernel version number. - - Copyright (C) 2009-2014 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 <linux/version.h> - -/* AArch64 support starts with 3.7.0, guaranteeing many kernel - features. */ - -#define __ASSUME_ACCEPT4 1 -#define __ASSUME_DUP3 1 -#define __ASSUME_EVENTFD2 1 -#define __ASSUME_IN_NONBLOCK 1 -#define __ASSUME_O_CLOEXEC 1 -#define __ASSUME_PIPE2 1 -#define __ASSUME_SIGNALFD4 1 -#define __ASSUME_SOCK_CLOEXEC 1 -#define __ASSUME_UTIMES 1 - -#include_next <kernel-features.h> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h b/ports/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h deleted file mode 100644 index 8af31f6335..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2009-2014 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/>. */ - -/* This structure must have the same shape as the linux kernel - equivalent. */ -struct kernel_rt_sigframe -{ - siginfo_t info; - struct ucontext uc; -}; diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h b/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h deleted file mode 100644 index b0e6b6a2ff..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2009-2014 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 <sysdeps/generic/ldconfig.h> - -#define SYSDEP_KNOWN_INTERPRETER_NAMES \ - { "/lib/ld-linux-aarch64.so.1", FLAG_ELF_LIBC6 }, \ - { "/lib/ld-linux-aarch64_be.so.1", FLAG_ELF_LIBC6 }, \ - { "/lib/ld-linux.so.3", FLAG_ELF_LIBC6 }, \ - { "/lib/ld-linux-armhf.so.3", FLAG_ELF_LIBC6 }, -#define SYSDEP_KNOWN_LIBRARY_NAMES \ - { "libc.so.6", FLAG_ELF_LIBC6 }, \ - { "libm.so.6", FLAG_ELF_LIBC6 }, diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/ports/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h deleted file mode 100644 index 77942682c1..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile. - Copyright (C) 2001-2014 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 _LDSODEFS_H - -/* Get the real definitions. */ -#include_next <ldsodefs.h> - -/* Now define our stuff. */ - -/* We need special support to initialize DSO loaded for statically linked - binaries. */ -extern void _dl_static_init (struct link_map *map); -#undef DL_STATIC_INIT -#define DL_STATIC_INIT(map) _dl_static_init (map) - -#endif /* ldsodefs.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S b/ports/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S deleted file mode 100644 index 25615aa579..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright (C) 2009-2014 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 <__read_tp.S> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/makecontext.c b/ports/sysdeps/unix/sysv/linux/aarch64/makecontext.c deleted file mode 100644 index 806eab2cf9..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/makecontext.c +++ /dev/null @@ -1,74 +0,0 @@ -/* Create new context. - Copyright (C) 2002-2014 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 <sysdep.h> -#include <stdarg.h> -#include <stdint.h> -#include <ucontext.h> - - -/* makecontext sets up a stack and the registers for the - user context. The stack looks like this: - - +-----------------------+ - | padding as required | - +-----------------------+ - sp -> | parameter 7-n | - +-----------------------+ - - The registers are set up like this: - %x0 .. %x7: parameter 1 to 8 - %x19 : uc_link - %sp : stack pointer. -*/ - -void -__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) -{ - extern void __startcontext (void); - unsigned long int *sp; - va_list ap; - int i; - - sp = (unsigned long int *) - ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); - - /* Allocate stack arguments. */ - sp -= argc < 8 ? 0 : argc - 8; - - /* Keep the stack aligned. */ - sp = (unsigned long int *) (((uintptr_t) sp) & -16L); - - ucp->uc_mcontext.regs[19] = (uintptr_t) ucp->uc_link; - ucp->uc_mcontext.sp = (uintptr_t) sp; - ucp->uc_mcontext.pc = (uintptr_t) func; - ucp->uc_mcontext.regs[29] = (uintptr_t) 0; - ucp->uc_mcontext.regs[30] = (uintptr_t) &__startcontext; - - va_start (ap, argc); - for (i = 0; i < argc; ++i) - if (i < 8) - ucp->uc_mcontext.regs[i] = va_arg (ap, unsigned long int); - else - sp[i - 8] = va_arg (ap, unsigned long int); - - va_end (ap); -} - -weak_alias (__makecontext, makecontext) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c b/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c deleted file mode 100644 index 54ecc10fbc..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 2009-2014 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 <sys/types.h> -#include <sys/mman.h> -#include <errno.h> -#include <sys/syscall.h> -#include <sysdep.h> -#include <unistd.h> - -__ptr_t -__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) -{ - return (__ptr_t) INLINE_SYSCALL (mmap, 6, addr, len, prot, flags, fd, offset); -} - -weak_alias (__mmap, mmap) -weak_alias (__mmap, mmap64) -weak_alias (__mmap, __mmap64) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/local_lim.h b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/local_lim.h deleted file mode 100644 index 0b01c72de4..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/local_lim.h +++ /dev/null @@ -1,101 +0,0 @@ -/* Minimum guaranteed maximum values for system limits. Linux version. - Copyright (C) 1993-2014 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/>. */ - -/* The kernel header pollutes the namespace with the NR_OPEN symbol - and defines LINK_MAX although filesystems have different maxima. A - similar thing is true for OPEN_MAX: the limit can be changed at - runtime and therefore the macro must not be defined. Remove this - after including the header if necessary. */ -#ifndef NR_OPEN -# define __undef_NR_OPEN -#endif -#ifndef LINK_MAX -# define __undef_LINK_MAX -#endif -#ifndef OPEN_MAX -# define __undef_OPEN_MAX -#endif -#ifndef ARG_MAX -# define __undef_ARG_MAX -#endif - -/* The kernel sources contain a file with all the needed information. */ -#include <linux/limits.h> - -/* Have to remove NR_OPEN? */ -#ifdef __undef_NR_OPEN -# undef NR_OPEN -# undef __undef_NR_OPEN -#endif -/* Have to remove LINK_MAX? */ -#ifdef __undef_LINK_MAX -# undef LINK_MAX -# undef __undef_LINK_MAX -#endif -/* Have to remove OPEN_MAX? */ -#ifdef __undef_OPEN_MAX -# undef OPEN_MAX -# undef __undef_OPEN_MAX -#endif -/* Have to remove ARG_MAX? */ -#ifdef __undef_ARG_MAX -# undef ARG_MAX -# undef __undef_ARG_MAX -#endif - -/* The number of data keys per process. */ -#define _POSIX_THREAD_KEYS_MAX 128 -/* This is the value this implementation supports. */ -#define PTHREAD_KEYS_MAX 1024 - -/* Controlling the iterations of destructors for thread-specific data. */ -#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 -/* Number of iterations this implementation does. */ -#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS - -/* The number of threads per process. */ -#define _POSIX_THREAD_THREADS_MAX 64 -/* We have no predefined limit on the number of threads. */ -#undef PTHREAD_THREADS_MAX - -/* Maximum amount by which a process can descrease its asynchronous I/O - priority level. */ -#define AIO_PRIO_DELTA_MAX 20 - -/* Minimum size for a thread. At least two pages for systems with 64k - pages. */ -#define PTHREAD_STACK_MIN 131072 - -/* Maximum number of timer expiration overruns. */ -#define DELAYTIMER_MAX 2147483647 - -/* Maximum tty name length. */ -#define TTY_NAME_MAX 32 - -/* Maximum login name length. This is arbitrary. */ -#define LOGIN_NAME_MAX 256 - -/* Maximum host name length. */ -#define HOST_NAME_MAX 64 - -/* Maximum message queue priority level. */ -#define MQ_PRIO_MAX 32768 - -/* Maximum value the semaphore can have. */ -#define SEM_VALUE_MAX (2147483647) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h deleted file mode 100644 index f11eeabb17..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h +++ /dev/null @@ -1,169 +0,0 @@ -/* Copyright (C) 2002-2014 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 _BITS_PTHREADTYPES_H -#define _BITS_PTHREADTYPES_H 1 - -#include <endian.h> - -#define __SIZEOF_PTHREAD_ATTR_T 64 -#define __SIZEOF_PTHREAD_MUTEX_T 48 -#define __SIZEOF_PTHREAD_MUTEXATTR_T 8 -#define __SIZEOF_PTHREAD_COND_T 48 -#define __SIZEOF_PTHREAD_COND_COMPAT_T 48 -#define __SIZEOF_PTHREAD_CONDATTR_T 8 -#define __SIZEOF_PTHREAD_RWLOCK_T 56 -#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 -#define __SIZEOF_PTHREAD_BARRIER_T 32 -#define __SIZEOF_PTHREAD_BARRIERATTR_T 8 - - -/* Thread identifiers. The structure of the attribute type is not - exposed on purpose. */ -typedef unsigned long int pthread_t; - - -union pthread_attr_t -{ - char __size[__SIZEOF_PTHREAD_ATTR_T]; - long int __align; -}; -#ifndef __have_pthread_attr_t -typedef union pthread_attr_t pthread_attr_t; -# define __have_pthread_attr_t1 -#endif - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; - - -/* Data structures for mutex handling. The structure of the attribute - type is not exposed on purpose. */ -typedef union -{ - struct __pthread_mutex_s - { - int __lock; - unsigned int __count; - int __owner; - unsigned int __nusers; - int __kind; - int __spins; - __pthread_list_t __list; -#define __PTHREAD_MUTEX_HAVE_PREV 1 - } __data; - char __size[__SIZEOF_PTHREAD_MUTEX_T]; - long int __align; -} pthread_mutex_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; - long int __align; -} pthread_mutexattr_t; - - -/* Data structure for conditional variable handling. The structure of - the attribute type is not exposed on purpose. */ -typedef union -{ - struct - { - int __lock; - unsigned int __futex; - __extension__ unsigned long long int __total_seq; - __extension__ unsigned long long int __wakeup_seq; - __extension__ unsigned long long int __woken_seq; - void *__mutex; - unsigned int __nwaiters; - unsigned int __broadcast_seq; - } __data; - char __size[__SIZEOF_PTHREAD_COND_T]; - long int __align; -} pthread_cond_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_CONDATTR_T]; - int __align; -} pthread_condattr_t; - - -/* Keys for thread-specific data */ -typedef unsigned int pthread_key_t; - - -/* Once-only execution */ -typedef int pthread_once_t; - - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -/* Data structure for read-write lock variable handling. The - structure of the attribute type is not exposed on purpose. */ -typedef union -{ - struct - { - int __lock; - unsigned int __nr_readers; - unsigned int __readers_wakeup; - unsigned int __writer_wakeup; - unsigned int __nr_readers_queued; - unsigned int __nr_writers_queued; - int __writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - unsigned int __flags; - } __data; - char __size[__SIZEOF_PTHREAD_RWLOCK_T]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; - long int __align; -} pthread_rwlockattr_t; -#endif - - -#ifdef __USE_XOPEN2K -/* POSIX spinlock data type. */ -typedef volatile int pthread_spinlock_t; - - -/* POSIX barriers data type. The structure of the type is - deliberately not exposed. */ -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIER_T]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; - int __align; -} pthread_barrierattr_t; -#endif - -#endif /* bits/pthreadtypes.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/semaphore.h b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/semaphore.h deleted file mode 100644 index c865de786d..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/semaphore.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2002-2014 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 _SEMAPHORE_H -# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead." -#endif - - -#define __SIZEOF_SEM_T 32 - - -/* Value returned if `sem_open' failed. */ -#define SEM_FAILED ((sem_t *) 0) - - -typedef union -{ - char __size[__SIZEOF_SEM_T]; - long int __align; -} sem_t; diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/c++-types.data b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/c++-types.data deleted file mode 100644 index ac925ccb36..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/c++-types.data +++ /dev/null @@ -1,67 +0,0 @@ -blkcnt64_t:l -blkcnt_t:l -blksize_t:i -caddr_t:Pc -clockid_t:i -clock_t:l -daddr_t:i -dev_t:m -fd_mask:l -fsblkcnt64_t:m -fsblkcnt_t:m -fsfilcnt64_t:m -fsfilcnt_t:m -fsid_t:8__fsid_t -gid_t:j -id_t:j -ino64_t:m -ino_t:m -int16_t:s -int32_t:i -int64_t:l -int8_t:a -intptr_t:l -key_t:i -loff_t:l -mode_t:j -nlink_t:j -off64_t:l -off_t:l -pid_t:i -pthread_attr_t:14pthread_attr_t -pthread_barrier_t:17pthread_barrier_t -pthread_barrierattr_t:21pthread_barrierattr_t -pthread_cond_t:14pthread_cond_t -pthread_condattr_t:18pthread_condattr_t -pthread_key_t:j -pthread_mutex_t:15pthread_mutex_t -pthread_mutexattr_t:19pthread_mutexattr_t -pthread_once_t:i -pthread_rwlock_t:16pthread_rwlock_t -pthread_rwlockattr_t:20pthread_rwlockattr_t -pthread_spinlock_t:i -pthread_t:m -quad_t:l -register_t:l -rlim64_t:m -rlim_t:m -sigset_t:10__sigset_t -size_t:m -socklen_t:j -ssize_t:l -suseconds_t:l -time_t:l -u_char:h -uid_t:j -uint:j -u_int:j -u_int16_t:t -u_int32_t:j -u_int64_t:m -u_int8_t:h -ulong:m -u_long:m -u_quad_t:m -useconds_t:j -ushort:t -u_short:t diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/clone.S b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/clone.S deleted file mode 100644 index 281be3b670..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/clone.S +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2009-2014 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/>. */ - -#define RESET_PID -#include <tcb-offsets.h> -#include "../clone.S" diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/createthread.c b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/createthread.c deleted file mode 100644 index e5f1e4dcf9..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/createthread.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2005-2014 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/>. */ - -/* Value passed to 'clone' for initialization of the thread register. */ -#define TLS_VALUE (pd + 1) - -/* Get the real implementation. */ -#include <sysdeps/pthread/createthread.c> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/fork.c b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/fork.c deleted file mode 100644 index 79a2ec5861..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/fork.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2005-2014 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 <sched.h> -#include <signal.h> -#include <sysdep.h> -#include <tls.h> - - -#define ARCH_FORK() \ - INLINE_SYSCALL (clone, 5, \ - CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \ - NULL, NULL, NULL, &THREAD_SELF->tid) - -#include <sysdeps/unix/sysv/linux/fork.c> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/ld.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/ld.abilist deleted file mode 100644 index 8629c4eac4..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/ld.abilist +++ /dev/null @@ -1,12 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - __libc_memalign F - __libc_stack_end D 0x8 - __stack_chk_guard D 0x8 - __tls_get_addr F - _dl_mcount F - _r_debug D 0x28 - calloc F - free F - malloc F - realloc F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libBrokenLocale.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libBrokenLocale.abilist deleted file mode 100644 index 92c43d9b79..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libBrokenLocale.abilist +++ /dev/null @@ -1,3 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - __ctype_get_mb_cur_max F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libanl.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libanl.abilist deleted file mode 100644 index 0d32f2ed47..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libanl.abilist +++ /dev/null @@ -1,6 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - gai_cancel F - gai_error F - gai_suspend F - getaddrinfo_a F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist deleted file mode 100644 index aeee312289..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist +++ /dev/null @@ -1,2083 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - _Exit F - _IO_2_1_stderr_ D 0xe0 - _IO_2_1_stdin_ D 0xe0 - _IO_2_1_stdout_ D 0xe0 - _IO_adjust_column F - _IO_adjust_wcolumn F - _IO_default_doallocate F - _IO_default_finish F - _IO_default_pbackfail F - _IO_default_uflow F - _IO_default_xsgetn F - _IO_default_xsputn F - _IO_do_write F - _IO_doallocbuf F - _IO_fclose F - _IO_fdopen F - _IO_feof F - _IO_ferror F - _IO_fflush F - _IO_fgetpos F - _IO_fgetpos64 F - _IO_fgets F - _IO_file_attach F - _IO_file_close F - _IO_file_close_it F - _IO_file_doallocate F - _IO_file_finish F - _IO_file_fopen F - _IO_file_init F - _IO_file_jumps D 0xa8 - _IO_file_open F - _IO_file_overflow F - _IO_file_read F - _IO_file_seek F - _IO_file_seekoff F - _IO_file_setbuf F - _IO_file_stat F - _IO_file_sync F - _IO_file_underflow F - _IO_file_write F - _IO_file_xsputn F - _IO_flockfile F - _IO_flush_all F - _IO_flush_all_linebuffered F - _IO_fopen F - _IO_fprintf F - _IO_fputs F - _IO_fread F - _IO_free_backup_area F - _IO_free_wbackup_area F - _IO_fsetpos F - _IO_fsetpos64 F - _IO_ftell F - _IO_ftrylockfile F - _IO_funlockfile F - _IO_fwrite F - _IO_getc F - _IO_getline F - _IO_getline_info F - _IO_gets F - _IO_init F - _IO_init_marker F - _IO_init_wmarker F - _IO_iter_begin F - _IO_iter_end F - _IO_iter_file F - _IO_iter_next F - _IO_least_wmarker F - _IO_link_in F - _IO_list_all D 0x8 - _IO_list_lock F - _IO_list_resetlock F - _IO_list_unlock F - _IO_marker_delta F - _IO_marker_difference F - _IO_padn F - _IO_peekc_locked F - _IO_popen F - _IO_printf F - _IO_proc_close F - _IO_proc_open F - _IO_putc F - _IO_puts F - _IO_remove_marker F - _IO_seekmark F - _IO_seekoff F - _IO_seekpos F - _IO_seekwmark F - _IO_setb F - _IO_setbuffer F - _IO_setvbuf F - _IO_sgetn F - _IO_sprintf F - _IO_sputbackc F - _IO_sputbackwc F - _IO_sscanf F - _IO_str_init_readonly F - _IO_str_init_static F - _IO_str_overflow F - _IO_str_pbackfail F - _IO_str_seekoff F - _IO_str_underflow F - _IO_sungetc F - _IO_sungetwc F - _IO_switch_to_get_mode F - _IO_switch_to_main_wget_area F - _IO_switch_to_wbackup_area F - _IO_switch_to_wget_mode F - _IO_un_link F - _IO_ungetc F - _IO_unsave_markers F - _IO_unsave_wmarkers F - _IO_vfprintf F - _IO_vfscanf F - _IO_vsprintf F - _IO_wdefault_doallocate F - _IO_wdefault_finish F - _IO_wdefault_pbackfail F - _IO_wdefault_uflow F - _IO_wdefault_xsgetn F - _IO_wdefault_xsputn F - _IO_wdo_write F - _IO_wdoallocbuf F - _IO_wfile_jumps D 0xa8 - _IO_wfile_overflow F - _IO_wfile_seekoff F - _IO_wfile_sync F - _IO_wfile_underflow F - _IO_wfile_xsputn F - _IO_wmarker_delta F - _IO_wsetb F - ___brk_addr D 0x8 - __adjtimex F - __after_morecore_hook D 0x8 - __argz_count F - __argz_next F - __argz_stringify F - __asprintf F - __asprintf_chk F - __assert F - __assert_fail F - __assert_perror_fail F - __backtrace F - __backtrace_symbols F - __backtrace_symbols_fd F - __bsd_getpgrp F - __bzero F - __check_rhosts_file D 0x4 - __chk_fail F - __clone F - __close F - __cmsg_nxthdr F - __confstr_chk F - __connect F - __ctype_b_loc F - __ctype_get_mb_cur_max F - __ctype_tolower_loc F - __ctype_toupper_loc F - __curbrk D 0x8 - __cxa_at_quick_exit F - __cxa_atexit F - __cxa_finalize F - __cyg_profile_func_enter F - __cyg_profile_func_exit F - __daylight D 0x4 - __dcgettext F - __default_morecore F - __dgettext F - __dprintf_chk F - __dup2 F - __duplocale F - __endmntent F - __environ D 0x8 - __errno_location F - __fbufsize F - __fcntl F - __fdelt_chk F - __fdelt_warn F - __ffs F - __fgets_chk F - __fgets_unlocked_chk F - __fgetws_chk F - __fgetws_unlocked_chk F - __finite F - __finitef F - __finitel F - __flbf F - __fork F - __fpending F - __fprintf_chk F - __fpu_control D 0x4 - __fpurge F - __fread_chk F - __fread_unlocked_chk F - __freadable F - __freading F - __free_hook D 0x8 - __freelocale F - __fsetlocking F - __fwprintf_chk F - __fwritable F - __fwriting F - __fxstat F - __fxstat64 F - __fxstatat F - __fxstatat64 F - __getauxval F - __getcwd_chk F - __getdelim F - __getdomainname_chk F - __getgroups_chk F - __gethostname_chk F - __getlogin_r_chk F - __getmntent_r F - __getpagesize F - __getpgid F - __getpid F - __gets_chk F - __gettimeofday F - __getwd_chk F - __gmtime_r F - __h_errno_location F - __isalnum_l F - __isalpha_l F - __isascii_l F - __isblank_l F - __iscntrl_l F - __isctype F - __isdigit_l F - __isgraph_l F - __isinf F - __isinff F - __isinfl F - __islower_l F - __isnan F - __isnanf F - __isnanl F - __isoc99_fscanf F - __isoc99_fwscanf F - __isoc99_scanf F - __isoc99_sscanf F - __isoc99_swscanf F - __isoc99_vfscanf F - __isoc99_vfwscanf F - __isoc99_vscanf F - __isoc99_vsscanf F - __isoc99_vswscanf F - __isoc99_vwscanf F - __isoc99_wscanf F - __isprint_l F - __ispunct_l F - __isspace_l F - __isupper_l F - __iswalnum_l F - __iswalpha_l F - __iswblank_l F - __iswcntrl_l F - __iswctype F - __iswctype_l F - __iswdigit_l F - __iswgraph_l F - __iswlower_l F - __iswprint_l F - __iswpunct_l F - __iswspace_l F - __iswupper_l F - __iswxdigit_l F - __isxdigit_l F - __ivaliduser F - __key_decryptsession_pk_LOCAL D 0x8 - __key_encryptsession_pk_LOCAL D 0x8 - __key_gendes_LOCAL D 0x8 - __libc_allocate_rtsig F - __libc_calloc F - __libc_current_sigrtmax F - __libc_current_sigrtmin F - __libc_free F - __libc_freeres F - __libc_init_first F - __libc_mallinfo F - __libc_malloc F - __libc_mallopt F - __libc_memalign F - __libc_pvalloc F - __libc_realloc F - __libc_sa_len F - __libc_start_main F - __libc_valloc F - __longjmp_chk F - __lseek F - __lxstat F - __lxstat64 F - __malloc_hook D 0x8 - __malloc_initialize_hook D 0x8 - __mbrlen F - __mbrtowc F - __mbsnrtowcs_chk F - __mbsrtowcs_chk F - __mbstowcs_chk F - __memalign_hook D 0x8 - __memcpy_chk F - __memmove_chk F - __mempcpy F - __mempcpy_chk F - __mempcpy_small F - __memset_chk F - __monstartup F - __morecore D 0x8 - __nanosleep F - __newlocale F - __nl_langinfo_l F - __nss_configure_lookup F - __nss_database_lookup F - __nss_group_lookup F - __nss_hostname_digits_dots F - __nss_hosts_lookup F - __nss_next F - __nss_passwd_lookup F - __obstack_printf_chk F - __obstack_vprintf_chk F - __open F - __open64 F - __open64_2 F - __open_2 F - __openat64_2 F - __openat_2 F - __overflow F - __pipe F - __poll F - __poll_chk F - __posix_getopt F - __ppoll_chk F - __pread64 F - __pread64_chk F - __pread_chk F - __printf_chk F - __printf_fp F - __profile_frequency F - __progname D 0x8 - __progname_full D 0x8 - __ptsname_r_chk F - __pwrite64 F - __rawmemchr F - __rcmd_errstr D 0x8 - __read F - __read_chk F - __readlink_chk F - __readlinkat_chk F - __realloc_hook D 0x8 - __realpath_chk F - __recv_chk F - __recvfrom_chk F - __register_atfork F - __res_init F - __res_nclose F - __res_ninit F - __res_randomid F - __res_state F - __rpc_thread_createerr F - __rpc_thread_svc_fdset F - __rpc_thread_svc_max_pollfd F - __rpc_thread_svc_pollfd F - __sbrk F - __sched_cpualloc F - __sched_cpucount F - __sched_cpufree F - __sched_get_priority_max F - __sched_get_priority_min F - __sched_getparam F - __sched_getscheduler F - __sched_setscheduler F - __sched_yield F - __select F - __setmntent F - __setpgid F - __sigaction F - __sigaddset F - __sigdelset F - __sigismember F - __signbit F - __signbitf F - __signbitl F - __sigpause F - __sigsetjmp F - __sigsuspend F - __snprintf_chk F - __sprintf_chk F - __stack_chk_fail F - __statfs F - __stpcpy F - __stpcpy_chk F - __stpcpy_small F - __stpncpy F - __stpncpy_chk F - __strcasecmp F - __strcasecmp_l F - __strcasestr F - __strcat_chk F - __strcoll_l F - __strcpy_chk F - __strcpy_small F - __strcspn_c1 F - __strcspn_c2 F - __strcspn_c3 F - __strdup F - __strerror_r F - __strfmon_l F - __strftime_l F - __strncasecmp_l F - __strncat_chk F - __strncpy_chk F - __strndup F - __strpbrk_c2 F - __strpbrk_c3 F - __strsep_1c F - __strsep_2c F - __strsep_3c F - __strsep_g F - __strspn_c1 F - __strspn_c2 F - __strspn_c3 F - __strtod_internal F - __strtod_l F - __strtof_internal F - __strtof_l F - __strtok_r F - __strtok_r_1c F - __strtol_internal F - __strtol_l F - __strtold_internal F - __strtold_l F - __strtoll_internal F - __strtoll_l F - __strtoul_internal F - __strtoul_l F - __strtoull_internal F - __strtoull_l F - __strverscmp F - __strxfrm_l F - __swprintf_chk F - __sysconf F - __syslog_chk F - __sysv_signal F - __timezone D 0x8 - __toascii_l F - __tolower_l F - __toupper_l F - __towctrans F - __towctrans_l F - __towlower_l F - __towupper_l F - __ttyname_r_chk F - __tzname D 0x10 - __uflow F - __underflow F - __uselocale F - __vasprintf_chk F - __vdprintf_chk F - __vfork F - __vfprintf_chk F - __vfscanf F - __vfwprintf_chk F - __vprintf_chk F - __vsnprintf F - __vsnprintf_chk F - __vsprintf_chk F - __vsscanf F - __vswprintf_chk F - __vsyslog_chk F - __vwprintf_chk F - __wait F - __waitpid F - __wcpcpy_chk F - __wcpncpy_chk F - __wcrtomb_chk F - __wcscasecmp_l F - __wcscat_chk F - __wcscoll_l F - __wcscpy_chk F - __wcsftime_l F - __wcsncasecmp_l F - __wcsncat_chk F - __wcsncpy_chk F - __wcsnrtombs_chk F - __wcsrtombs_chk F - __wcstod_internal F - __wcstod_l F - __wcstof_internal F - __wcstof_l F - __wcstol_internal F - __wcstol_l F - __wcstold_internal F - __wcstold_l F - __wcstoll_internal F - __wcstoll_l F - __wcstombs_chk F - __wcstoul_internal F - __wcstoul_l F - __wcstoull_internal F - __wcstoull_l F - __wcsxfrm_l F - __wctomb_chk F - __wctrans_l F - __wctype_l F - __wmemcpy_chk F - __wmemmove_chk F - __wmempcpy_chk F - __wmemset_chk F - __woverflow F - __wprintf_chk F - __write F - __wuflow F - __wunderflow F - __xmknod F - __xmknodat F - __xpg_basename F - __xpg_sigpause F - __xpg_strerror_r F - __xstat F - __xstat64 F - _authenticate F - _dl_mcount_wrapper F - _dl_mcount_wrapper_check F - _environ D 0x8 - _exit F - _flushlbf F - _libc_intl_domainname D 0x5 - _longjmp F - _mcleanup F - _nl_default_dirname D 0x12 - _nl_domain_bindings D 0x8 - _nl_msg_cat_cntr D 0x4 - _null_auth D 0x18 - _obstack_allocated_p F - _obstack_begin F - _obstack_begin_1 F - _obstack_free F - _obstack_memory_used F - _obstack_newchunk F - _res D 0x238 - _res_hconf D 0x48 - _rpc_dtablesize F - _seterr_reply F - _setjmp F - _sys_errlist D 0x438 - _sys_nerr D 0x4 - _sys_siglist D 0x208 - _tolower F - _toupper F - a64l F - abort F - abs F - accept F - accept4 F - access F - acct F - addmntent F - addseverity F - adjtime F - adjtimex F - advance F - alarm F - aligned_alloc F - alphasort F - alphasort64 F - argp_err_exit_status D 0x4 - argp_error F - argp_failure F - argp_help F - argp_parse F - argp_program_bug_address D 0x8 - argp_program_version D 0x8 - argp_program_version_hook D 0x8 - argp_state_help F - argp_usage F - argz_add F - argz_add_sep F - argz_append F - argz_count F - argz_create F - argz_create_sep F - argz_delete F - argz_extract F - argz_insert F - argz_next F - argz_replace F - argz_stringify F - asctime F - asctime_r F - asprintf F - atof F - atoi F - atol F - atoll F - authdes_create F - authdes_getucred F - authdes_pk_create F - authnone_create F - authunix_create F - authunix_create_default F - backtrace F - backtrace_symbols F - backtrace_symbols_fd F - basename F - bcmp F - bcopy F - bdflush F - bind F - bind_textdomain_codeset F - bindresvport F - bindtextdomain F - brk F - bsd_signal F - bsearch F - btowc F - bzero F - c16rtomb F - c32rtomb F - calloc F - callrpc F - canonicalize_file_name F - capget F - capset F - catclose F - catgets F - catopen F - cbc_crypt F - cfgetispeed F - cfgetospeed F - cfmakeraw F - cfree F - cfsetispeed F - cfsetospeed F - cfsetspeed F - chdir F - chflags F - chmod F - chown F - chroot F - clearenv F - clearerr F - clearerr_unlocked F - clnt_broadcast F - clnt_create F - clnt_pcreateerror F - clnt_perrno F - clnt_perror F - clnt_spcreateerror F - clnt_sperrno F - clnt_sperror F - clntraw_create F - clnttcp_create F - clntudp_bufcreate F - clntudp_create F - clntunix_create F - clock F - clock_adjtime F - clock_getcpuclockid F - clock_getres F - clock_gettime F - clock_nanosleep F - clock_settime F - clone F - close F - closedir F - closelog F - confstr F - connect F - copysign F - copysignf F - copysignl F - creat F - creat64 F - create_module F - ctermid F - ctime F - ctime_r F - cuserid F - daemon F - daylight D 0x4 - dcgettext F - dcngettext F - delete_module F - des_setparity F - dgettext F - difftime F - dirfd F - dirname F - div F - dl_iterate_phdr F - dngettext F - dprintf F - drand48 F - drand48_r F - dup F - dup2 F - dup3 F - duplocale F - dysize F - eaccess F - ecb_crypt F - ecvt F - ecvt_r F - endaliasent F - endfsent F - endgrent F - endhostent F - endmntent F - endnetent F - endnetgrent F - endprotoent F - endpwent F - endrpcent F - endservent F - endsgent F - endspent F - endttyent F - endusershell F - endutent F - endutxent F - environ D 0x8 - envz_add F - envz_entry F - envz_get F - envz_merge F - envz_remove F - envz_strip F - epoll_create F - epoll_create1 F - epoll_ctl F - epoll_pwait F - epoll_wait F - erand48 F - erand48_r F - err F - error F - error_at_line F - error_message_count D 0x4 - error_one_per_line D 0x4 - error_print_progname D 0x8 - errx F - ether_aton F - ether_aton_r F - ether_hostton F - ether_line F - ether_ntoa F - ether_ntoa_r F - ether_ntohost F - euidaccess F - eventfd F - eventfd_read F - eventfd_write F - execl F - execle F - execlp F - execv F - execve F - execvp F - execvpe F - exit F - faccessat F - fallocate F - fallocate64 F - fanotify_init F - fanotify_mark F - fattach F - fchdir F - fchflags F - fchmod F - fchmodat F - fchown F - fchownat F - fclose F - fcloseall F - fcntl F - fcvt F - fcvt_r F - fdatasync F - fdetach F - fdopen F - fdopendir F - feof F - feof_unlocked F - ferror F - ferror_unlocked F - fexecve F - fflush F - fflush_unlocked F - ffs F - ffsl F - ffsll F - fgetc F - fgetc_unlocked F - fgetgrent F - fgetgrent_r F - fgetpos F - fgetpos64 F - fgetpwent F - fgetpwent_r F - fgets F - fgets_unlocked F - fgetsgent F - fgetsgent_r F - fgetspent F - fgetspent_r F - fgetwc F - fgetwc_unlocked F - fgetws F - fgetws_unlocked F - fgetxattr F - fileno F - fileno_unlocked F - finite F - finitef F - finitel F - flistxattr F - flock F - flockfile F - fmemopen F - fmtmsg F - fnmatch F - fopen F - fopen64 F - fopencookie F - fork F - fpathconf F - fprintf F - fputc F - fputc_unlocked F - fputs F - fputs_unlocked F - fputwc F - fputwc_unlocked F - fputws F - fputws_unlocked F - fread F - fread_unlocked F - free F - freeaddrinfo F - freeifaddrs F - freelocale F - fremovexattr F - freopen F - freopen64 F - frexp F - frexpf F - frexpl F - fscanf F - fseek F - fseeko F - fseeko64 F - fsetpos F - fsetpos64 F - fsetxattr F - fstatfs F - fstatfs64 F - fstatvfs F - fstatvfs64 F - fsync F - ftell F - ftello F - ftello64 F - ftime F - ftok F - ftruncate F - ftruncate64 F - ftrylockfile F - fts_children F - fts_close F - fts_open F - fts_read F - fts_set F - ftw F - ftw64 F - funlockfile F - futimens F - futimes F - futimesat F - fwide F - fwprintf F - fwrite F - fwrite_unlocked F - fwscanf F - gai_strerror F - gcvt F - get_avphys_pages F - get_current_dir_name F - get_kernel_syms F - get_myaddress F - get_nprocs F - get_nprocs_conf F - get_phys_pages F - getaddrinfo F - getaliasbyname F - getaliasbyname_r F - getaliasent F - getaliasent_r F - getauxval F - getc F - getc_unlocked F - getchar F - getchar_unlocked F - getcontext F - getcwd F - getdate F - getdate_err D 0x4 - getdate_r F - getdelim F - getdirentries F - getdirentries64 F - getdomainname F - getdtablesize F - getegid F - getenv F - geteuid F - getfsent F - getfsfile F - getfsspec F - getgid F - getgrent F - getgrent_r F - getgrgid F - getgrgid_r F - getgrnam F - getgrnam_r F - getgrouplist F - getgroups F - gethostbyaddr F - gethostbyaddr_r F - gethostbyname F - gethostbyname2 F - gethostbyname2_r F - gethostbyname_r F - gethostent F - gethostent_r F - gethostid F - gethostname F - getifaddrs F - getipv4sourcefilter F - getitimer F - getline F - getloadavg F - getlogin F - getlogin_r F - getmntent F - getmntent_r F - getmsg F - getnameinfo F - getnetbyaddr F - getnetbyaddr_r F - getnetbyname F - getnetbyname_r F - getnetent F - getnetent_r F - getnetgrent F - getnetgrent_r F - getnetname F - getopt F - getopt_long F - getopt_long_only F - getpagesize F - getpass F - getpeername F - getpgid F - getpgrp F - getpid F - getpmsg F - getppid F - getpriority F - getprotobyname F - getprotobyname_r F - getprotobynumber F - getprotobynumber_r F - getprotoent F - getprotoent_r F - getpt F - getpublickey F - getpw F - getpwent F - getpwent_r F - getpwnam F - getpwnam_r F - getpwuid F - getpwuid_r F - getresgid F - getresuid F - getrlimit F - getrlimit64 F - getrpcbyname F - getrpcbyname_r F - getrpcbynumber F - getrpcbynumber_r F - getrpcent F - getrpcent_r F - getrpcport F - getrusage F - gets F - getsecretkey F - getservbyname F - getservbyname_r F - getservbyport F - getservbyport_r F - getservent F - getservent_r F - getsgent F - getsgent_r F - getsgnam F - getsgnam_r F - getsid F - getsockname F - getsockopt F - getsourcefilter F - getspent F - getspent_r F - getspnam F - getspnam_r F - getsubopt F - gettext F - gettimeofday F - getttyent F - getttynam F - getuid F - getusershell F - getutent F - getutent_r F - getutid F - getutid_r F - getutline F - getutline_r F - getutmp F - getutmpx F - getutxent F - getutxid F - getutxline F - getw F - getwc F - getwc_unlocked F - getwchar F - getwchar_unlocked F - getwd F - getxattr F - glob F - glob64 F - glob_pattern_p F - globfree F - globfree64 F - gmtime F - gmtime_r F - gnu_dev_major F - gnu_dev_makedev F - gnu_dev_minor F - gnu_get_libc_release F - gnu_get_libc_version F - grantpt F - group_member F - gsignal F - gtty F - h_errlist D 0x28 - h_nerr D 0x4 - hasmntopt F - hcreate F - hcreate_r F - hdestroy F - hdestroy_r F - herror F - host2netname F - hsearch F - hsearch_r F - hstrerror F - htonl F - htons F - iconv F - iconv_close F - iconv_open F - if_freenameindex F - if_indextoname F - if_nameindex F - if_nametoindex F - imaxabs F - imaxdiv F - in6addr_any D 0x10 - in6addr_loopback D 0x10 - index F - inet6_opt_append F - inet6_opt_find F - inet6_opt_finish F - inet6_opt_get_val F - inet6_opt_init F - inet6_opt_next F - inet6_opt_set_val F - inet6_option_alloc F - inet6_option_append F - inet6_option_find F - inet6_option_init F - inet6_option_next F - inet6_option_space F - inet6_rth_add F - inet6_rth_getaddr F - inet6_rth_init F - inet6_rth_reverse F - inet6_rth_segments F - inet6_rth_space F - inet_addr F - inet_aton F - inet_lnaof F - inet_makeaddr F - inet_netof F - inet_network F - inet_nsap_addr F - inet_nsap_ntoa F - inet_ntoa F - inet_ntop F - inet_pton F - init_module F - initgroups F - initstate F - initstate_r F - innetgr F - inotify_add_watch F - inotify_init F - inotify_init1 F - inotify_rm_watch F - insque F - ioctl F - iruserok F - iruserok_af F - isalnum F - isalnum_l F - isalpha F - isalpha_l F - isascii F - isastream F - isatty F - isblank F - isblank_l F - iscntrl F - iscntrl_l F - isctype F - isdigit F - isdigit_l F - isfdtype F - isgraph F - isgraph_l F - isinf F - isinff F - isinfl F - islower F - islower_l F - isnan F - isnanf F - isnanl F - isprint F - isprint_l F - ispunct F - ispunct_l F - isspace F - isspace_l F - isupper F - isupper_l F - iswalnum F - iswalnum_l F - iswalpha F - iswalpha_l F - iswblank F - iswblank_l F - iswcntrl F - iswcntrl_l F - iswctype F - iswctype_l F - iswdigit F - iswdigit_l F - iswgraph F - iswgraph_l F - iswlower F - iswlower_l F - iswprint F - iswprint_l F - iswpunct F - iswpunct_l F - iswspace F - iswspace_l F - iswupper F - iswupper_l F - iswxdigit F - iswxdigit_l F - isxdigit F - isxdigit_l F - jrand48 F - jrand48_r F - key_decryptsession F - key_decryptsession_pk F - key_encryptsession F - key_encryptsession_pk F - key_gendes F - key_get_conv F - key_secretkey_is_set F - key_setnet F - key_setsecret F - kill F - killpg F - klogctl F - l64a F - labs F - lchmod F - lchown F - lckpwdf F - lcong48 F - lcong48_r F - ldexp F - ldexpf F - ldexpl F - ldiv F - lfind F - lgetxattr F - link F - linkat F - listen F - listxattr F - llabs F - lldiv F - llistxattr F - llseek F - loc1 D 0x8 - loc2 D 0x8 - localeconv F - localtime F - localtime_r F - lockf F - lockf64 F - locs D 0x8 - longjmp F - lrand48 F - lrand48_r F - lremovexattr F - lsearch F - lseek F - lseek64 F - lsetxattr F - lutimes F - madvise F - makecontext F - mallinfo F - malloc F - malloc_get_state F - malloc_info F - malloc_set_state F - malloc_stats F - malloc_trim F - malloc_usable_size F - mallopt F - mallwatch D 0x8 - mblen F - mbrlen F - mbrtoc16 F - mbrtoc32 F - mbrtowc F - mbsinit F - mbsnrtowcs F - mbsrtowcs F - mbstowcs F - mbtowc F - mcheck F - mcheck_check_all F - mcheck_pedantic F - memalign F - memccpy F - memchr F - memcmp F - memcpy F - memfrob F - memmem F - memmove F - mempcpy F - memrchr F - memset F - mincore F - mkdir F - mkdirat F - mkdtemp F - mkfifo F - mkfifoat F - mkostemp F - mkostemp64 F - mkostemps F - mkostemps64 F - mkstemp F - mkstemp64 F - mkstemps F - mkstemps64 F - mktemp F - mktime F - mlock F - mlockall F - mmap F - mmap64 F - modf F - modff F - modfl F - moncontrol F - monstartup F - mount F - mprobe F - mprotect F - mrand48 F - mrand48_r F - mremap F - msgctl F - msgget F - msgrcv F - msgsnd F - msync F - mtrace F - munlock F - munlockall F - munmap F - muntrace F - name_to_handle_at F - nanosleep F - netname2host F - netname2user F - newlocale F - nfsservctl F - nftw F - nftw64 F - ngettext F - nice F - nl_langinfo F - nl_langinfo_l F - nrand48 F - nrand48_r F - ntohl F - ntohs F - ntp_adjtime F - ntp_gettime F - ntp_gettimex F - obstack_alloc_failed_handler D 0x8 - obstack_exit_failure D 0x4 - obstack_free F - obstack_printf F - obstack_vprintf F - on_exit F - open F - open64 F - open_by_handle_at F - open_memstream F - open_wmemstream F - openat F - openat64 F - opendir F - openlog F - optarg D 0x8 - opterr D 0x4 - optind D 0x4 - optopt D 0x4 - parse_printf_format F - passwd2des F - pathconf F - pause F - pclose F - perror F - personality F - pipe F - pipe2 F - pivot_root F - pmap_getmaps F - pmap_getport F - pmap_rmtcall F - pmap_set F - pmap_unset F - poll F - popen F - posix_fadvise F - posix_fadvise64 F - posix_fallocate F - posix_fallocate64 F - posix_madvise F - posix_memalign F - posix_openpt F - posix_spawn F - posix_spawn_file_actions_addclose F - posix_spawn_file_actions_adddup2 F - posix_spawn_file_actions_addopen F - posix_spawn_file_actions_destroy F - posix_spawn_file_actions_init F - posix_spawnattr_destroy F - posix_spawnattr_getflags F - posix_spawnattr_getpgroup F - posix_spawnattr_getschedparam F - posix_spawnattr_getschedpolicy F - posix_spawnattr_getsigdefault F - posix_spawnattr_getsigmask F - posix_spawnattr_init F - posix_spawnattr_setflags F - posix_spawnattr_setpgroup F - posix_spawnattr_setschedparam F - posix_spawnattr_setschedpolicy F - posix_spawnattr_setsigdefault F - posix_spawnattr_setsigmask F - posix_spawnp F - ppoll F - prctl F - pread F - pread64 F - preadv F - preadv64 F - printf F - printf_size F - printf_size_info F - prlimit F - prlimit64 F - process_vm_readv F - process_vm_writev F - profil F - program_invocation_name D 0x8 - program_invocation_short_name D 0x8 - pselect F - psiginfo F - psignal F - pthread_attr_destroy F - pthread_attr_getdetachstate F - pthread_attr_getinheritsched F - pthread_attr_getschedparam F - pthread_attr_getschedpolicy F - pthread_attr_getscope F - pthread_attr_init F - pthread_attr_setdetachstate F - pthread_attr_setinheritsched F - pthread_attr_setschedparam F - pthread_attr_setschedpolicy F - pthread_attr_setscope F - pthread_cond_broadcast F - pthread_cond_destroy F - pthread_cond_init F - pthread_cond_signal F - pthread_cond_timedwait F - pthread_cond_wait F - pthread_condattr_destroy F - pthread_condattr_init F - pthread_equal F - pthread_exit F - pthread_getschedparam F - pthread_mutex_destroy F - pthread_mutex_init F - pthread_mutex_lock F - pthread_mutex_unlock F - pthread_self F - pthread_setcancelstate F - pthread_setcanceltype F - pthread_setschedparam F - ptrace F - ptsname F - ptsname_r F - putc F - putc_unlocked F - putchar F - putchar_unlocked F - putenv F - putgrent F - putmsg F - putpmsg F - putpwent F - puts F - putsgent F - putspent F - pututline F - pututxline F - putw F - putwc F - putwc_unlocked F - putwchar F - putwchar_unlocked F - pvalloc F - pwrite F - pwrite64 F - pwritev F - pwritev64 F - qecvt F - qecvt_r F - qfcvt F - qfcvt_r F - qgcvt F - qsort F - qsort_r F - query_module F - quick_exit F - quotactl F - raise F - rand F - rand_r F - random F - random_r F - rawmemchr F - rcmd F - rcmd_af F - re_comp F - re_compile_fastmap F - re_compile_pattern F - re_exec F - re_match F - re_match_2 F - re_search F - re_search_2 F - re_set_registers F - re_set_syntax F - re_syntax_options D 0x8 - read F - readahead F - readdir F - readdir64 F - readdir64_r F - readdir_r F - readlink F - readlinkat F - readv F - realloc F - realpath F - reboot F - recv F - recvfrom F - recvmmsg F - recvmsg F - regcomp F - regerror F - regexec F - regfree F - register_printf_function F - register_printf_modifier F - register_printf_specifier F - register_printf_type F - registerrpc F - remap_file_pages F - remove F - removexattr F - remque F - rename F - renameat F - revoke F - rewind F - rewinddir F - rexec F - rexec_af F - rexecoptions D 0x4 - rindex F - rmdir F - rpc_createerr D 0x20 - rpmatch F - rresvport F - rresvport_af F - rtime F - ruserok F - ruserok_af F - ruserpass F - sbrk F - scalbn F - scalbnf F - scalbnl F - scandir F - scandir64 F - scandirat F - scandirat64 F - scanf F - sched_get_priority_max F - sched_get_priority_min F - sched_getaffinity F - sched_getcpu F - sched_getparam F - sched_getscheduler F - sched_rr_get_interval F - sched_setaffinity F - sched_setparam F - sched_setscheduler F - sched_yield F - secure_getenv F - seed48 F - seed48_r F - seekdir F - select F - semctl F - semget F - semop F - semtimedop F - send F - sendfile F - sendfile64 F - sendmmsg F - sendmsg F - sendto F - setaliasent F - setbuf F - setbuffer F - setcontext F - setdomainname F - setegid F - setenv F - seteuid F - setfsent F - setfsgid F - setfsuid F - setgid F - setgrent F - setgroups F - sethostent F - sethostid F - sethostname F - setipv4sourcefilter F - setitimer F - setjmp F - setlinebuf F - setlocale F - setlogin F - setlogmask F - setmntent F - setnetent F - setnetgrent F - setns F - setpgid F - setpgrp F - setpriority F - setprotoent F - setpwent F - setregid F - setresgid F - setresuid F - setreuid F - setrlimit F - setrlimit64 F - setrpcent F - setservent F - setsgent F - setsid F - setsockopt F - setsourcefilter F - setspent F - setstate F - setstate_r F - settimeofday F - setttyent F - setuid F - setusershell F - setutent F - setutxent F - setvbuf F - setxattr F - sgetsgent F - sgetsgent_r F - sgetspent F - sgetspent_r F - shmat F - shmctl F - shmdt F - shmget F - shutdown F - sigaction F - sigaddset F - sigaltstack F - sigandset F - sigblock F - sigdelset F - sigemptyset F - sigfillset F - siggetmask F - sighold F - sigignore F - siginterrupt F - sigisemptyset F - sigismember F - siglongjmp F - signal F - signalfd F - sigorset F - sigpause F - sigpending F - sigprocmask F - sigqueue F - sigrelse F - sigreturn F - sigset F - sigsetmask F - sigstack F - sigsuspend F - sigtimedwait F - sigvec F - sigwait F - sigwaitinfo F - sleep F - snprintf F - sockatmark F - socket F - socketpair F - splice F - sprintf F - sprofil F - srand F - srand48 F - srand48_r F - srandom F - srandom_r F - sscanf F - ssignal F - sstk F - statfs F - statfs64 F - statvfs F - statvfs64 F - stderr D 0x8 - stdin D 0x8 - stdout D 0x8 - step F - stime F - stpcpy F - stpncpy F - strcasecmp F - strcasecmp_l F - strcasestr F - strcat F - strchr F - strchrnul F - strcmp F - strcoll F - strcoll_l F - strcpy F - strcspn F - strdup F - strerror F - strerror_l F - strerror_r F - strfmon F - strfmon_l F - strfry F - strftime F - strftime_l F - strlen F - strncasecmp F - strncasecmp_l F - strncat F - strncmp F - strncpy F - strndup F - strnlen F - strpbrk F - strptime F - strptime_l F - strrchr F - strsep F - strsignal F - strspn F - strstr F - strtod F - strtod_l F - strtof F - strtof_l F - strtoimax F - strtok F - strtok_r F - strtol F - strtol_l F - strtold F - strtold_l F - strtoll F - strtoll_l F - strtoq F - strtoul F - strtoul_l F - strtoull F - strtoull_l F - strtoumax F - strtouq F - strverscmp F - strxfrm F - strxfrm_l F - stty F - svc_exit F - svc_fdset D 0x80 - svc_getreq F - svc_getreq_common F - svc_getreq_poll F - svc_getreqset F - svc_max_pollfd D 0x4 - svc_pollfd D 0x8 - svc_register F - svc_run F - svc_sendreply F - svc_unregister F - svcauthdes_stats D 0x18 - svcerr_auth F - svcerr_decode F - svcerr_noproc F - svcerr_noprog F - svcerr_progvers F - svcerr_systemerr F - svcerr_weakauth F - svcfd_create F - svcraw_create F - svctcp_create F - svcudp_bufcreate F - svcudp_create F - svcudp_enablecache F - svcunix_create F - svcunixfd_create F - swab F - swapcontext F - swapoff F - swapon F - swprintf F - swscanf F - symlink F - symlinkat F - sync F - sync_file_range F - syncfs F - sys_errlist D 0x438 - sys_nerr D 0x4 - sys_sigabbrev D 0x208 - sys_siglist D 0x208 - syscall F - sysconf F - sysctl F - sysinfo F - syslog F - system F - sysv_signal F - tcdrain F - tcflow F - tcflush F - tcgetattr F - tcgetpgrp F - tcgetsid F - tcsendbreak F - tcsetattr F - tcsetpgrp F - tdelete F - tdestroy F - tee F - telldir F - tempnam F - textdomain F - tfind F - time F - timegm F - timelocal F - timerfd_create F - timerfd_gettime F - timerfd_settime F - times F - timespec_get F - timezone D 0x8 - tmpfile F - tmpfile64 F - tmpnam F - tmpnam_r F - toascii F - tolower F - tolower_l F - toupper F - toupper_l F - towctrans F - towctrans_l F - towlower F - towlower_l F - towupper F - towupper_l F - tr_break F - truncate F - truncate64 F - tsearch F - ttyname F - ttyname_r F - ttyslot F - twalk F - tzname D 0x10 - tzset F - ualarm F - ulckpwdf F - ulimit F - umask F - umount F - umount2 F - uname F - ungetc F - ungetwc F - unlink F - unlinkat F - unlockpt F - unsetenv F - unshare F - updwtmp F - updwtmpx F - uselib F - uselocale F - user2netname F - usleep F - ustat F - utime F - utimensat F - utimes F - utmpname F - utmpxname F - valloc F - vasprintf F - vdprintf F - verr F - verrx F - versionsort F - versionsort64 F - vfork F - vfprintf F - vfscanf F - vfwprintf F - vfwscanf F - vhangup F - vlimit F - vmsplice F - vprintf F - vscanf F - vsnprintf F - vsprintf F - vsscanf F - vswprintf F - vswscanf F - vsyslog F - vtimes F - vwarn F - vwarnx F - vwprintf F - vwscanf F - wait F - wait3 F - wait4 F - waitid F - waitpid F - warn F - warnx F - wcpcpy F - wcpncpy F - wcrtomb F - wcscasecmp F - wcscasecmp_l F - wcscat F - wcschr F - wcschrnul F - wcscmp F - wcscoll F - wcscoll_l F - wcscpy F - wcscspn F - wcsdup F - wcsftime F - wcsftime_l F - wcslen F - wcsncasecmp F - wcsncasecmp_l F - wcsncat F - wcsncmp F - wcsncpy F - wcsnlen F - wcsnrtombs F - wcspbrk F - wcsrchr F - wcsrtombs F - wcsspn F - wcsstr F - wcstod F - wcstod_l F - wcstof F - wcstof_l F - wcstoimax F - wcstok F - wcstol F - wcstol_l F - wcstold F - wcstold_l F - wcstoll F - wcstoll_l F - wcstombs F - wcstoq F - wcstoul F - wcstoul_l F - wcstoull F - wcstoull_l F - wcstoumax F - wcstouq F - wcswcs F - wcswidth F - wcsxfrm F - wcsxfrm_l F - wctob F - wctomb F - wctrans F - wctrans_l F - wctype F - wctype_l F - wcwidth F - wmemchr F - wmemcmp F - wmemcpy F - wmemmove F - wmempcpy F - wmemset F - wordexp F - wordfree F - wprintf F - write F - writev F - wscanf F - xdecrypt F - xdr_accepted_reply F - xdr_array F - xdr_authdes_cred F - xdr_authdes_verf F - xdr_authunix_parms F - xdr_bool F - xdr_bytes F - xdr_callhdr F - xdr_callmsg F - xdr_char F - xdr_cryptkeyarg F - xdr_cryptkeyarg2 F - xdr_cryptkeyres F - xdr_des_block F - xdr_double F - xdr_enum F - xdr_float F - xdr_free F - xdr_getcredres F - xdr_hyper F - xdr_int F - xdr_int16_t F - xdr_int32_t F - xdr_int64_t F - xdr_int8_t F - xdr_key_netstarg F - xdr_key_netstres F - xdr_keybuf F - xdr_keystatus F - xdr_long F - xdr_longlong_t F - xdr_netnamestr F - xdr_netobj F - xdr_opaque F - xdr_opaque_auth F - xdr_pmap F - xdr_pmaplist F - xdr_pointer F - xdr_quad_t F - xdr_reference F - xdr_rejected_reply F - xdr_replymsg F - xdr_rmtcall_args F - xdr_rmtcallres F - xdr_short F - xdr_sizeof F - xdr_string F - xdr_u_char F - xdr_u_hyper F - xdr_u_int F - xdr_u_long F - xdr_u_longlong_t F - xdr_u_quad_t F - xdr_u_short F - xdr_uint16_t F - xdr_uint32_t F - xdr_uint64_t F - xdr_uint8_t F - xdr_union F - xdr_unixcred F - xdr_vector F - xdr_void F - xdr_wrapstring F - xdrmem_create F - xdrrec_create F - xdrrec_endofrecord F - xdrrec_eof F - xdrrec_skiprecord F - xdrstdio_create F - xencrypt F - xprt_register F - xprt_unregister F -GLIBC_2.18 - GLIBC_2.18 A - __cxa_thread_atexit_impl F - _mcount F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libcrypt.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libcrypt.abilist deleted file mode 100644 index 177c536209..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libcrypt.abilist +++ /dev/null @@ -1,9 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - crypt F - crypt_r F - encrypt F - encrypt_r F - fcrypt F - setkey F - setkey_r F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libdl.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libdl.abilist deleted file mode 100644 index 6caff88266..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libdl.abilist +++ /dev/null @@ -1,11 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - dladdr F - dladdr1 F - dlclose F - dlerror F - dlinfo F - dlmopen F - dlopen F - dlsym F - dlvsym F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist deleted file mode 100644 index 0f1cfc8702..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist +++ /dev/null @@ -1,402 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - _LIB_VERSION D 0x4 - __acos_finite F - __acosf_finite F - __acosh_finite F - __acoshf_finite F - __acoshl_finite F - __acosl_finite F - __asin_finite F - __asinf_finite F - __asinl_finite F - __atan2_finite F - __atan2f_finite F - __atan2l_finite F - __atanh_finite F - __atanhf_finite F - __atanhl_finite F - __clog10 F - __clog10f F - __clog10l F - __cosh_finite F - __coshf_finite F - __coshl_finite F - __exp10_finite F - __exp10f_finite F - __exp10l_finite F - __exp2_finite F - __exp2f_finite F - __exp2l_finite F - __exp_finite F - __expf_finite F - __expl_finite F - __finite F - __finitef F - __finitel F - __fmod_finite F - __fmodf_finite F - __fmodl_finite F - __fpclassify F - __fpclassifyf F - __fpclassifyl F - __gamma_r_finite F - __gammaf_r_finite F - __gammal_r_finite F - __hypot_finite F - __hypotf_finite F - __hypotl_finite F - __j0_finite F - __j0f_finite F - __j0l_finite F - __j1_finite F - __j1f_finite F - __j1l_finite F - __jn_finite F - __jnf_finite F - __jnl_finite F - __lgamma_r_finite F - __lgammaf_r_finite F - __lgammal_r_finite F - __log10_finite F - __log10f_finite F - __log10l_finite F - __log2_finite F - __log2f_finite F - __log2l_finite F - __log_finite F - __logf_finite F - __logl_finite F - __pow_finite F - __powf_finite F - __powl_finite F - __remainder_finite F - __remainderf_finite F - __remainderl_finite F - __scalb_finite F - __scalbf_finite F - __scalbl_finite F - __signbit F - __signbitf F - __signbitl F - __sinh_finite F - __sinhf_finite F - __sinhl_finite F - __sqrt_finite F - __sqrtf_finite F - __sqrtl_finite F - __y0_finite F - __y0f_finite F - __y0l_finite F - __y1_finite F - __y1f_finite F - __y1l_finite F - __yn_finite F - __ynf_finite F - __ynl_finite F - acos F - acosf F - acosh F - acoshf F - acoshl F - acosl F - asin F - asinf F - asinh F - asinhf F - asinhl F - asinl F - atan F - atan2 F - atan2f F - atan2l F - atanf F - atanh F - atanhf F - atanhl F - atanl F - cabs F - cabsf F - cabsl F - cacos F - cacosf F - cacosh F - cacoshf F - cacoshl F - cacosl F - carg F - cargf F - cargl F - casin F - casinf F - casinh F - casinhf F - casinhl F - casinl F - catan F - catanf F - catanh F - catanhf F - catanhl F - catanl F - cbrt F - cbrtf F - cbrtl F - ccos F - ccosf F - ccosh F - ccoshf F - ccoshl F - ccosl F - ceil F - ceilf F - ceill F - cexp F - cexpf F - cexpl F - cimag F - cimagf F - cimagl F - clog F - clog10 F - clog10f F - clog10l F - clogf F - clogl F - conj F - conjf F - conjl F - copysign F - copysignf F - copysignl F - cos F - cosf F - cosh F - coshf F - coshl F - cosl F - cpow F - cpowf F - cpowl F - cproj F - cprojf F - cprojl F - creal F - crealf F - creall F - csin F - csinf F - csinh F - csinhf F - csinhl F - csinl F - csqrt F - csqrtf F - csqrtl F - ctan F - ctanf F - ctanh F - ctanhf F - ctanhl F - ctanl F - drem F - dremf F - dreml F - erf F - erfc F - erfcf F - erfcl F - erff F - erfl F - exp F - exp10 F - exp10f F - exp10l F - exp2 F - exp2f F - exp2l F - expf F - expl F - expm1 F - expm1f F - expm1l F - fabs F - fabsf F - fabsl F - fdim F - fdimf F - fdiml F - feclearexcept F - fedisableexcept F - feenableexcept F - fegetenv F - fegetexcept F - fegetexceptflag F - fegetround F - feholdexcept F - feraiseexcept F - fesetenv F - fesetexceptflag F - fesetround F - fetestexcept F - feupdateenv F - finite F - finitef F - finitel F - floor F - floorf F - floorl F - fma F - fmaf F - fmal F - fmax F - fmaxf F - fmaxl F - fmin F - fminf F - fminl F - fmod F - fmodf F - fmodl F - frexp F - frexpf F - frexpl F - gamma F - gammaf F - gammal F - hypot F - hypotf F - hypotl F - ilogb F - ilogbf F - ilogbl F - j0 F - j0f F - j0l F - j1 F - j1f F - j1l F - jn F - jnf F - jnl F - ldexp F - ldexpf F - ldexpl F - lgamma F - lgamma_r F - lgammaf F - lgammaf_r F - lgammal F - lgammal_r F - llrint F - llrintf F - llrintl F - llround F - llroundf F - llroundl F - log F - log10 F - log10f F - log10l F - log1p F - log1pf F - log1pl F - log2 F - log2f F - log2l F - logb F - logbf F - logbl F - logf F - logl F - lrint F - lrintf F - lrintl F - lround F - lroundf F - lroundl F - matherr F - modf F - modff F - modfl F - nan F - nanf F - nanl F - nearbyint F - nearbyintf F - nearbyintl F - nextafter F - nextafterf F - nextafterl F - nexttoward F - nexttowardf F - nexttowardl F - pow F - pow10 F - pow10f F - pow10l F - powf F - powl F - remainder F - remainderf F - remainderl F - remquo F - remquof F - remquol F - rint F - rintf F - rintl F - round F - roundf F - roundl F - scalb F - scalbf F - scalbl F - scalbln F - scalblnf F - scalblnl F - scalbn F - scalbnf F - scalbnl F - signgam D 0x4 - significand F - significandf F - significandl F - sin F - sincos F - sincosf F - sincosl F - sinf F - sinh F - sinhf F - sinhl F - sinl F - sqrt F - sqrtf F - sqrtl F - tan F - tanf F - tanh F - tanhf F - tanhl F - tanl F - tgamma F - tgammaf F - tgammal F - trunc F - truncf F - truncl F - y0 F - y0f F - y0l F - y1 F - y1f F - y1l F - yn F - ynf F - ynl F -GLIBC_2.18 - GLIBC_2.18 A - __issignaling F - __issignalingf F - __issignalingl F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libnsl.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libnsl.abilist deleted file mode 100644 index 763b8dc166..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libnsl.abilist +++ /dev/null @@ -1,123 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - __free_fdresult F - __nis_default_access F - __nis_default_group F - __nis_default_owner F - __nis_default_ttl F - __nis_finddirectory F - __nis_hash F - __nisbind_connect F - __nisbind_create F - __nisbind_destroy F - __nisbind_next F - __yp_check F - nis_add F - nis_add_entry F - nis_addmember F - nis_checkpoint F - nis_clone_directory F - nis_clone_object F - nis_clone_result F - nis_creategroup F - nis_destroy_object F - nis_destroygroup F - nis_dir_cmp F - nis_domain_of F - nis_domain_of_r F - nis_first_entry F - nis_free_directory F - nis_free_object F - nis_free_request F - nis_freenames F - nis_freeresult F - nis_freeservlist F - nis_freetags F - nis_getnames F - nis_getservlist F - nis_ismember F - nis_leaf_of F - nis_leaf_of_r F - nis_lerror F - nis_list F - nis_local_directory F - nis_local_group F - nis_local_host F - nis_local_principal F - nis_lookup F - nis_mkdir F - nis_modify F - nis_modify_entry F - nis_name_of F - nis_name_of_r F - nis_next_entry F - nis_perror F - nis_ping F - nis_print_directory F - nis_print_entry F - nis_print_group F - nis_print_group_entry F - nis_print_link F - nis_print_object F - nis_print_result F - nis_print_rights F - nis_print_table F - nis_read_obj F - nis_remove F - nis_remove_entry F - nis_removemember F - nis_rmdir F - nis_servstate F - nis_sperrno F - nis_sperror F - nis_sperror_r F - nis_stats F - nis_verifygroup F - nis_write_obj F - readColdStartFile F - writeColdStartFile F - xdr_cback_data F - xdr_domainname F - xdr_keydat F - xdr_mapname F - xdr_obj_p F - xdr_peername F - xdr_valdat F - xdr_yp_buf F - xdr_ypall F - xdr_ypbind_binding F - xdr_ypbind_resp F - xdr_ypbind_resptype F - xdr_ypbind_setdom F - xdr_ypdelete_args F - xdr_ypmap_parms F - xdr_ypmaplist F - xdr_yppush_status F - xdr_yppushresp_xfr F - xdr_ypreq_key F - xdr_ypreq_nokey F - xdr_ypreq_xfr F - xdr_ypresp_all F - xdr_ypresp_key_val F - xdr_ypresp_maplist F - xdr_ypresp_master F - xdr_ypresp_order F - xdr_ypresp_val F - xdr_ypresp_xfr F - xdr_ypstat F - xdr_ypupdate_args F - xdr_ypxfrstat F - yp_all F - yp_bind F - yp_first F - yp_get_default_domain F - yp_maplist F - yp_master F - yp_match F - yp_next F - yp_order F - yp_unbind F - yp_update F - ypbinderr_string F - yperr_string F - ypprot_err F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist deleted file mode 100644 index 5520312635..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist +++ /dev/null @@ -1,228 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - _IO_flockfile F - _IO_ftrylockfile F - _IO_funlockfile F - __close F - __connect F - __errno_location F - __fcntl F - __fork F - __h_errno_location F - __libc_allocate_rtsig F - __libc_current_sigrtmax F - __libc_current_sigrtmin F - __lseek F - __nanosleep F - __open F - __open64 F - __pread64 F - __pthread_cleanup_routine F - __pthread_getspecific F - __pthread_key_create F - __pthread_mutex_destroy F - __pthread_mutex_init F - __pthread_mutex_lock F - __pthread_mutex_trylock F - __pthread_mutex_unlock F - __pthread_mutexattr_destroy F - __pthread_mutexattr_init F - __pthread_mutexattr_settype F - __pthread_once F - __pthread_register_cancel F - __pthread_register_cancel_defer F - __pthread_rwlock_destroy F - __pthread_rwlock_init F - __pthread_rwlock_rdlock F - __pthread_rwlock_tryrdlock F - __pthread_rwlock_trywrlock F - __pthread_rwlock_unlock F - __pthread_rwlock_wrlock F - __pthread_setspecific F - __pthread_unregister_cancel F - __pthread_unregister_cancel_restore F - __pthread_unwind_next F - __pwrite64 F - __read F - __res_state F - __send F - __sigaction F - __vfork F - __wait F - __write F - _pthread_cleanup_pop F - _pthread_cleanup_pop_restore F - _pthread_cleanup_push F - _pthread_cleanup_push_defer F - accept F - close F - connect F - fcntl F - flockfile F - fork F - fsync F - ftrylockfile F - funlockfile F - longjmp F - lseek F - lseek64 F - msync F - nanosleep F - open F - open64 F - pause F - pread F - pread64 F - pthread_attr_destroy F - pthread_attr_getaffinity_np F - pthread_attr_getdetachstate F - pthread_attr_getguardsize F - pthread_attr_getinheritsched F - pthread_attr_getschedparam F - pthread_attr_getschedpolicy F - pthread_attr_getscope F - pthread_attr_getstack F - pthread_attr_getstackaddr F - pthread_attr_getstacksize F - pthread_attr_init F - pthread_attr_setaffinity_np F - pthread_attr_setdetachstate F - pthread_attr_setguardsize F - pthread_attr_setinheritsched F - pthread_attr_setschedparam F - pthread_attr_setschedpolicy F - pthread_attr_setscope F - pthread_attr_setstack F - pthread_attr_setstackaddr F - pthread_attr_setstacksize F - pthread_barrier_destroy F - pthread_barrier_init F - pthread_barrier_wait F - pthread_barrierattr_destroy F - pthread_barrierattr_getpshared F - pthread_barrierattr_init F - pthread_barrierattr_setpshared F - pthread_cancel F - pthread_cond_broadcast F - pthread_cond_destroy F - pthread_cond_init F - pthread_cond_signal F - pthread_cond_timedwait F - pthread_cond_wait F - pthread_condattr_destroy F - pthread_condattr_getclock F - pthread_condattr_getpshared F - pthread_condattr_init F - pthread_condattr_setclock F - pthread_condattr_setpshared F - pthread_create F - pthread_detach F - pthread_equal F - pthread_exit F - pthread_getaffinity_np F - pthread_getattr_np F - pthread_getconcurrency F - pthread_getcpuclockid F - pthread_getname_np F - pthread_getschedparam F - pthread_getspecific F - pthread_join F - pthread_key_create F - pthread_key_delete F - pthread_kill F - pthread_kill_other_threads_np F - pthread_mutex_consistent F - pthread_mutex_consistent_np F - pthread_mutex_destroy F - pthread_mutex_getprioceiling F - pthread_mutex_init F - pthread_mutex_lock F - pthread_mutex_setprioceiling F - pthread_mutex_timedlock F - pthread_mutex_trylock F - pthread_mutex_unlock F - pthread_mutexattr_destroy F - pthread_mutexattr_getkind_np F - pthread_mutexattr_getprioceiling F - pthread_mutexattr_getprotocol F - pthread_mutexattr_getpshared F - pthread_mutexattr_getrobust F - pthread_mutexattr_getrobust_np F - pthread_mutexattr_gettype F - pthread_mutexattr_init F - pthread_mutexattr_setkind_np F - pthread_mutexattr_setprioceiling F - pthread_mutexattr_setprotocol F - pthread_mutexattr_setpshared F - pthread_mutexattr_setrobust F - pthread_mutexattr_setrobust_np F - pthread_mutexattr_settype F - pthread_once F - pthread_rwlock_destroy F - pthread_rwlock_init F - pthread_rwlock_rdlock F - pthread_rwlock_timedrdlock F - pthread_rwlock_timedwrlock F - pthread_rwlock_tryrdlock F - pthread_rwlock_trywrlock F - pthread_rwlock_unlock F - pthread_rwlock_wrlock F - pthread_rwlockattr_destroy F - pthread_rwlockattr_getkind_np F - pthread_rwlockattr_getpshared F - pthread_rwlockattr_init F - pthread_rwlockattr_setkind_np F - pthread_rwlockattr_setpshared F - pthread_self F - pthread_setaffinity_np F - pthread_setcancelstate F - pthread_setcanceltype F - pthread_setconcurrency F - pthread_setname_np F - pthread_setschedparam F - pthread_setschedprio F - pthread_setspecific F - pthread_sigmask F - pthread_sigqueue F - pthread_spin_destroy F - pthread_spin_init F - pthread_spin_lock F - pthread_spin_trylock F - pthread_spin_unlock F - pthread_testcancel F - pthread_timedjoin_np F - pthread_tryjoin_np F - pthread_yield F - pwrite F - pwrite64 F - raise F - read F - recv F - recvfrom F - recvmsg F - sem_close F - sem_destroy F - sem_getvalue F - sem_init F - sem_open F - sem_post F - sem_timedwait F - sem_trywait F - sem_unlink F - sem_wait F - send F - sendmsg F - sendto F - sigaction F - siglongjmp F - sigwait F - system F - tcdrain F - vfork F - wait F - waitpid F - write F -GLIBC_2.18 - GLIBC_2.18 A - pthread_getattr_default_np F - pthread_setattr_default_np F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libresolv.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libresolv.abilist deleted file mode 100644 index ed312c0e6e..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libresolv.abilist +++ /dev/null @@ -1,93 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - __b64_ntop F - __b64_pton F - __dn_comp F - __dn_count_labels F - __dn_expand F - __dn_skipname F - __fp_nquery F - __fp_query F - __fp_resstat F - __hostalias F - __loc_aton F - __loc_ntoa F - __p_cdname F - __p_cdnname F - __p_class F - __p_class_syms D 0xa8 - __p_fqname F - __p_fqnname F - __p_option F - __p_query F - __p_rcode F - __p_secstodate F - __p_time F - __p_type F - __p_type_syms D 0x450 - __putlong F - __putshort F - __res_close F - __res_dnok F - __res_hnok F - __res_hostalias F - __res_isourserver F - __res_mailok F - __res_mkquery F - __res_nameinquery F - __res_nmkquery F - __res_nquery F - __res_nquerydomain F - __res_nsearch F - __res_nsend F - __res_ownok F - __res_queriesmatch F - __res_query F - __res_querydomain F - __res_search F - __res_send F - __sym_ntop F - __sym_ntos F - __sym_ston F - _gethtbyaddr F - _gethtbyname F - _gethtbyname2 F - _gethtent F - _getlong F - _getshort F - _res_opcodes D 0x80 - _sethtent F - inet_net_ntop F - inet_net_pton F - inet_neta F - ns_datetosecs F - ns_format_ttl F - ns_get16 F - ns_get32 F - ns_initparse F - ns_makecanon F - ns_msg_getflag F - ns_name_compress F - ns_name_ntol F - ns_name_ntop F - ns_name_pack F - ns_name_pton F - ns_name_rollback F - ns_name_skip F - ns_name_uncompress F - ns_name_unpack F - ns_parse_ttl F - ns_parserr F - ns_put16 F - ns_put32 F - ns_samedomain F - ns_samename F - ns_skiprr F - ns_sprintrr F - ns_sprintrrf F - ns_subdomain F - res_gethostbyaddr F - res_gethostbyname F - res_gethostbyname2 F - res_send_setqhook F - res_send_setrhook F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/librt.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/librt.abilist deleted file mode 100644 index f89f83ea86..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/librt.abilist +++ /dev/null @@ -1,37 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - __mq_open_2 F - aio_cancel F - aio_cancel64 F - aio_error F - aio_error64 F - aio_fsync F - aio_fsync64 F - aio_init F - aio_read F - aio_read64 F - aio_return F - aio_return64 F - aio_suspend F - aio_suspend64 F - aio_write F - aio_write64 F - lio_listio F - lio_listio64 F - mq_close F - mq_getattr F - mq_notify F - mq_open F - mq_receive F - mq_send F - mq_setattr F - mq_timedreceive F - mq_timedsend F - mq_unlink F - shm_open F - shm_unlink F - timer_create F - timer_delete F - timer_getoverrun F - timer_gettime F - timer_settime F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libthread_db.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libthread_db.abilist deleted file mode 100644 index 52f8d0793b..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libthread_db.abilist +++ /dev/null @@ -1,42 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - td_init F - td_log F - td_symbol_list F - td_ta_clear_event F - td_ta_delete F - td_ta_enable_stats F - td_ta_event_addr F - td_ta_event_getmsg F - td_ta_get_nthreads F - td_ta_get_ph F - td_ta_get_stats F - td_ta_map_id2thr F - td_ta_map_lwp2thr F - td_ta_new F - td_ta_reset_stats F - td_ta_set_event F - td_ta_setconcurrency F - td_ta_thr_iter F - td_ta_tsd_iter F - td_thr_clear_event F - td_thr_dbresume F - td_thr_dbsuspend F - td_thr_event_enable F - td_thr_event_getmsg F - td_thr_get_info F - td_thr_getfpregs F - td_thr_getgregs F - td_thr_getxregs F - td_thr_getxregsize F - td_thr_set_event F - td_thr_setfpregs F - td_thr_setgregs F - td_thr_setprio F - td_thr_setsigpending F - td_thr_setxregs F - td_thr_sigsetmask F - td_thr_tls_get_addr F - td_thr_tlsbase F - td_thr_tsd F - td_thr_validate F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libutil.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libutil.abilist deleted file mode 100644 index 7e75bb2ea8..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libutil.abilist +++ /dev/null @@ -1,8 +0,0 @@ -GLIBC_2.17 - GLIBC_2.17 A - forkpty F - login F - login_tty F - logout F - logwtmp F - openpty F diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data deleted file mode 100644 index 84af95dc36..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data +++ /dev/null @@ -1,15 +0,0 @@ -# See scripts/check-localplt.awk for how this file is processed. -# PLT use is required for the malloc family and for matherr because -# users can define their own functions and have library internals call them. -libc.so: calloc -libc.so: free -libc.so: malloc -libc.so: memalign -libc.so: realloc -libc.so: __signbit -libc.so: __signbitl -libm.so: matherr -libm.so: __signbit -libm.so: __signbitf -libm.so: __signbitl -libpthread.so: __errno_location diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/lowlevellock.h b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/lowlevellock.h deleted file mode 100644 index 69a5f278eb..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/lowlevellock.h +++ /dev/null @@ -1,326 +0,0 @@ -/* Copyright (C) 2005-2014 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 _LOWLEVELLOCK_H -#define _LOWLEVELLOCK_H 1 - -#include <time.h> -#include <sys/param.h> -#include <bits/pthreadtypes.h> -#include <atomic.h> -#include <sysdep.h> -#include <kernel-features.h> - -#define FUTEX_WAIT 0 -#define FUTEX_WAKE 1 -#define FUTEX_REQUEUE 3 -#define FUTEX_CMP_REQUEUE 4 -#define FUTEX_WAKE_OP 5 -#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1) -#define FUTEX_LOCK_PI 6 -#define FUTEX_UNLOCK_PI 7 -#define FUTEX_TRYLOCK_PI 8 -#define FUTEX_WAIT_BITSET 9 -#define FUTEX_WAKE_BITSET 10 -#define FUTEX_WAIT_REQUEUE_PI 11 -#define FUTEX_CMP_REQUEUE_PI 12 -#define FUTEX_PRIVATE_FLAG 128 -#define FUTEX_CLOCK_REALTIME 256 - -#define FUTEX_BITSET_MATCH_ANY 0xffffffff - -/* Values for 'private' parameter of locking macros. Yes, the - definition seems to be backwards. But it is not. The bit will be - reversed before passing to the system call. */ -#define LLL_PRIVATE 0 -#define LLL_SHARED FUTEX_PRIVATE_FLAG - - -#if !defined NOT_IN_libc || defined IS_IN_rtld -/* In libc.so or ld.so all futexes are private. */ -# ifdef __ASSUME_PRIVATE_FUTEX -# define __lll_private_flag(fl, private) \ - ((fl) | FUTEX_PRIVATE_FLAG) -# else -# define __lll_private_flag(fl, private) \ - ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex)) -# endif -#else -# ifdef __ASSUME_PRIVATE_FUTEX -# define __lll_private_flag(fl, private) \ - (((fl) | FUTEX_PRIVATE_FLAG) ^ (private)) -# else -# define __lll_private_flag(fl, private) \ - (__builtin_constant_p (private) \ - ? ((private) == 0 \ - ? ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex)) \ - : (fl)) \ - : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG) \ - & THREAD_GETMEM (THREAD_SELF, header.private_futex)))) -# endif -#endif - - -#define lll_futex_wait(futexp, val, private) \ - lll_futex_timed_wait(futexp, val, NULL, private) - -#define lll_futex_timed_wait(futexp, val, timespec, private) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp), \ - __lll_private_flag (FUTEX_WAIT, private), \ - (val), (timespec)); \ - __ret; \ - }) - -#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - int __op = FUTEX_WAIT_BITSET | clockbit; \ - __ret = INTERNAL_SYSCALL (futex, __err, 6, (long) (futexp), \ - __lll_private_flag (__op, private), \ - (val), (timespec), NULL /* Unused. */, \ - FUTEX_BITSET_MATCH_ANY); \ - __ret; \ - }) - -#define lll_futex_wake(futexp, nr, private) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp), \ - __lll_private_flag (FUTEX_WAKE, private), \ - (nr), 0); \ - __ret; \ - }) - -#define lll_robust_dead(futexv, private) \ - do \ - { \ - int *__futexp = &(futexv); \ - atomic_or (__futexp, FUTEX_OWNER_DIED); \ - lll_futex_wake (__futexp, 1, private); \ - } \ - while (0) - -/* Returns non-zero if error happened, zero if success. */ -#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex, val, private) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \ - __lll_private_flag (FUTEX_CMP_REQUEUE, private),\ - (nr_wake), (nr_move), (mutex), (val)); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err); \ - }) - - -/* Returns non-zero if error happened, zero if success. */ -#define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \ - __lll_private_flag (FUTEX_WAKE_OP, private), \ - (nr_wake), (nr_wake2), (futexp2), \ - FUTEX_OP_CLEAR_WAKE_IF_GT_ONE); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err); \ - }) - - -/* Priority Inheritance support. */ -#define lll_futex_wait_requeue_pi(futexp, val, mutex, private) \ - lll_futex_timed_wait_requeue_pi (futexp, val, NULL, 0, mutex, private) - -#define lll_futex_timed_wait_requeue_pi(futexp, val, timespec, clockbit, \ - mutex, private) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - int __op = FUTEX_WAIT_REQUEUE_PI | clockbit; \ - \ - __ret = INTERNAL_SYSCALL (futex, __err, 5, (futexp), \ - __lll_private_flag (__op, private), \ - (val), (timespec), mutex); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret; \ - }) - -#define lll_futex_cmp_requeue_pi(futexp, nr_wake, nr_move, mutex, val, priv) \ - ({ \ - INTERNAL_SYSCALL_DECL (__err); \ - long int __ret; \ - \ - __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \ - __lll_private_flag (FUTEX_CMP_REQUEUE_PI, priv),\ - (nr_wake), (nr_move), (mutex), (val)); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err); \ - }) - - -#define lll_trylock(lock) \ - atomic_compare_and_exchange_val_acq(&(lock), 1, 0) - -#define lll_cond_trylock(lock) \ - atomic_compare_and_exchange_val_acq(&(lock), 2, 0) - -#define __lll_robust_trylock(futex, id) \ - (atomic_compare_and_exchange_val_acq (futex, id, 0) != 0) -#define lll_robust_trylock(lock, id) \ - __lll_robust_trylock (&(lock), id) - -extern void __lll_lock_wait_private (int *futex) attribute_hidden; -extern void __lll_lock_wait (int *futex, int private) attribute_hidden; -extern int __lll_robust_lock_wait (int *futex, int private) attribute_hidden; - -#define __lll_lock(futex, private) \ - ((void) ({ \ - int *__futex = (futex); \ - if (__builtin_expect (atomic_compare_and_exchange_val_acq (__futex, \ - 1, 0), 0)) \ - { \ - if (__builtin_constant_p (private) && (private) == LLL_PRIVATE) \ - __lll_lock_wait_private (__futex); \ - else \ - __lll_lock_wait (__futex, private); \ - } \ - })) -#define lll_lock(futex, private) __lll_lock (&(futex), private) - - -#define __lll_robust_lock(futex, id, private) \ - ({ \ - int *__futex = (futex); \ - int __val = 0; \ - \ - if (__builtin_expect (atomic_compare_and_exchange_bool_acq (__futex, id, \ - 0), 0)) \ - __val = __lll_robust_lock_wait (__futex, private); \ - __val; \ - }) -#define lll_robust_lock(futex, id, private) \ - __lll_robust_lock (&(futex), id, private) - - -#define __lll_cond_lock(futex, private) \ - ((void) ({ \ - int *__futex = (futex); \ - if (__builtin_expect (atomic_exchange_acq (__futex, 2), 0)) \ - __lll_lock_wait (__futex, private); \ - })) -#define lll_cond_lock(futex, private) __lll_cond_lock (&(futex), private) - - -#define lll_robust_cond_lock(futex, id, private) \ - __lll_robust_lock (&(futex), (id) | FUTEX_WAITERS, private) - - -extern int __lll_timedlock_wait (int *futex, const struct timespec *, - int private) attribute_hidden; -extern int __lll_robust_timedlock_wait (int *futex, const struct timespec *, - int private) attribute_hidden; - -#define __lll_timedlock(futex, abstime, private) \ - ({ \ - int *__futex = (futex); \ - int __val = 0; \ - \ - if (__builtin_expect (atomic_exchange_acq (__futex, 1), 0)) \ - __val = __lll_timedlock_wait (__futex, abstime, private); \ - __val; \ - }) -#define lll_timedlock(futex, abstime, private) \ - __lll_timedlock (&(futex), abstime, private) - - -#define __lll_robust_timedlock(futex, abstime, id, private) \ - ({ \ - int *__futex = (futex); \ - int __val = 0; \ - \ - if (__builtin_expect (atomic_compare_and_exchange_bool_acq (__futex, id, \ - 0), 0)) \ - __val = __lll_robust_timedlock_wait (__futex, abstime, private); \ - __val; \ - }) -#define lll_robust_timedlock(futex, abstime, id, private) \ - __lll_robust_timedlock (&(futex), abstime, id, private) - - -#define __lll_unlock(futex, private) \ - (void) \ - ({ int *__futex = (futex); \ - int __oldval = atomic_exchange_rel (__futex, 0); \ - if (__builtin_expect (__oldval > 1, 0)) \ - lll_futex_wake (__futex, 1, private); \ - }) - -#define lll_unlock(futex, private) __lll_unlock(&(futex), private) - - -#define __lll_robust_unlock(futex, private) \ - (void) \ - ({ int *__futex = (futex); \ - int __oldval = atomic_exchange_rel (__futex, 0); \ - if (__builtin_expect (__oldval & FUTEX_WAITERS, 0)) \ - lll_futex_wake (__futex, 1, private); \ - }) -#define lll_robust_unlock(futex, private) \ - __lll_robust_unlock(&(futex), private) - - -#define lll_islocked(futex) \ - (futex != 0) - - -/* Our internal lock implementation is identical to the binary-compatible - mutex implementation. */ - -/* Initializers for lock. */ -#define LLL_LOCK_INITIALIZER (0) -#define LLL_LOCK_INITIALIZER_LOCKED (1) - -/* The states of a lock are: - 0 - untaken - 1 - taken by one user - >1 - taken by more users */ - -/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex - wakeup when the clone terminates. The memory location contains the - thread ID while the clone is running and is reset to zero - afterwards. */ -#define lll_wait_tid(tid) \ - do { \ - __typeof (tid) __tid; \ - while ((__tid = (tid)) != 0) \ - lll_futex_wait (&(tid), __tid, LLL_SHARED);\ - } while (0) - -extern int __lll_timedwait_tid (int *, const struct timespec *) - attribute_hidden; - -#define lll_timedwait_tid(tid, abstime) \ - ({ \ - int __res = 0; \ - if ((tid) != 0) \ - __res = __lll_timedwait_tid (&(tid), (abstime)); \ - __res; \ - }) - -#endif /* lowlevellock.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pt-vfork.S b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pt-vfork.S deleted file mode 100644 index 2108347118..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pt-vfork.S +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2009-2014 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 <tcb-offsets.h> - -/* Save the PID value. */ -#define SAVE_PID \ - mrs x2, tpidr_el0; \ - sub x2, x2, #PTHREAD_SIZEOF; \ - ldr w3, [x2, #PTHREAD_PID_OFFSET]; \ - neg w0, w3; \ - str w0, [x2, #PTHREAD_PID_OFFSET] - -/* Restore the old PID value in the parent. */ -#define RESTORE_PID \ - cbz x0, 1f; \ - str w3, [x2, #PTHREAD_PID_OFFSET]; \ -1: - -#include "../vfork.S" diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pthread_once.c b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pthread_once.c deleted file mode 100644 index d1b28ff51f..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pthread_once.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright (C) 2004-2014 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 "pthreadP.h" -#include <lowlevellock.h> - -unsigned long int __fork_generation attribute_hidden; - -static void -clear_once_control (void *arg) -{ - pthread_once_t *once_control = (pthread_once_t *) arg; - - *once_control = 0; - lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE); -} - -int -__pthread_once (pthread_once_t *once_control, void (*init_routine) (void)) -{ - for (;;) - { - int oldval; - int newval; - - /* Pseudo code: - newval = __fork_generation | 1; - oldval = *once_control; - if ((oldval & 2) == 0) - *once_control = newval; - Do this atomically. - */ - do - { - newval = __fork_generation | 1; - oldval = *once_control; - if (oldval & 2) - break; - } while (atomic_compare_and_exchange_val_acq (once_control, newval, oldval) != oldval); - - /* Check if the initializer has already been done. */ - if ((oldval & 2) != 0) - return 0; - - /* Check if another thread already runs the initializer. */ - if ((oldval & 1) == 0) - break; - - /* Check whether the initializer execution was interrupted by a fork. */ - if (oldval != newval) - break; - - /* Same generation, some other thread was faster. Wait. */ - lll_futex_wait (once_control, oldval, LLL_PRIVATE); - } - - /* This thread is the first here. Do the initialization. - Register a cleanup handler so that in case the thread gets - interrupted the initialization can be restarted. */ - pthread_cleanup_push (clear_once_control, once_control); - - init_routine (); - - pthread_cleanup_pop (0); - - /* Say that the initialisation is done. */ - *once_control = __fork_generation | 2; - - /* Wake up all other threads. */ - lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE); - - return 0; -} -weak_alias (__pthread_once, pthread_once) -hidden_def (__pthread_once) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h deleted file mode 100644 index f6903b5dd8..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h +++ /dev/null @@ -1,205 +0,0 @@ -/* Copyright (C) 2003-2014 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 <sysdep.h> -#include <tls.h> -#ifndef __ASSEMBLER__ -# include <nptl/pthreadP.h> -#endif - -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt - -# undef PSEUDO -# define PSEUDO(name, syscall_name, args) \ - .section ".text"; \ - .type __##syscall_name##_nocancel,%function; \ - .globl __##syscall_name##_nocancel; \ - __##syscall_name##_nocancel: \ - cfi_startproc; \ - DO_CALL (syscall_name, args); \ - PSEUDO_RET; \ - cfi_endproc; \ - .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \ - ENTRY (name); \ - SINGLE_THREAD_P; \ - DOARGS_##args; \ - bne .Lpseudo_cancel; \ - DO_CALL (syscall_name, 0); \ - UNDOARGS_##args; \ - cmn x0, 4095; \ - PSEUDO_RET; \ - .Lpseudo_cancel: \ - DOCARGS_##args; /* save syscall args etc. around CENABLE. */ \ - CENABLE; \ - mov x16, x0; /* put mask in safe place. */ \ - UNDOCARGS_##args; /* restore syscall args. */ \ - mov x8, SYS_ify (syscall_name); /* do the call. */ \ - svc 0; \ - str x0, [sp, -16]!; /* save syscall return value. */ \ - cfi_adjust_cfa_offset (16); \ - mov x0, x16; /* get mask back. */ \ - CDISABLE; \ - ldr x0, [sp], 16; \ - cfi_adjust_cfa_offset (-16); \ - ldr x30, [sp], 16; \ - cfi_adjust_cfa_offset (-16); \ - cfi_restore (x30); \ - UNDOARGS_##args; \ - cmn x0, 4095; - -# define DOCARGS_0 \ - str x30, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x30, 0) - -# define UNDOCARGS_0 - -# define DOCARGS_1 \ - DOCARGS_0; \ - str x0, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x0, 0) - -# define UNDOCARGS_1 \ - ldr x0, [sp], 16; \ - cfi_restore (x0); \ - cfi_adjust_cfa_offset (-16); \ - -# define DOCARGS_2 \ - DOCARGS_1; \ - str x1, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x1, 0) - -# define UNDOCARGS_2 \ - ldr x1, [sp], 16; \ - cfi_restore (x1); \ - cfi_adjust_cfa_offset (-16); \ - UNDOCARGS_1 - -# define DOCARGS_3 \ - DOCARGS_2; \ - str x2, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x2, 0) - -# define UNDOCARGS_3 \ - ldr x2, [sp], 16; \ - cfi_restore (x2); \ - cfi_adjust_cfa_offset (-16); \ - UNDOCARGS_2 - -# define DOCARGS_4 \ - DOCARGS_3; \ - str x3, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x3, 0) - -# define UNDOCARGS_4 \ - ldr x3, [sp], 16; \ - cfi_restore (x3); \ - cfi_adjust_cfa_offset (-16); \ - UNDOCARGS_3 - -# define DOCARGS_5 \ - DOCARGS_4; \ - str x4, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x4, 0) - -# define UNDOCARGS_5 \ - ldr x4, [sp], 16; \ - cfi_restore (x4); \ - cfi_adjust_cfa_offset (-16); \ - UNDOCARGS_4 - -# define DOCARGS_6 \ - DOCARGS_5; \ - str x5, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x5, 0) - -# define UNDOCARGS_6 \ - ldr x5, [sp], 16; \ - cfi_restore (x5); \ - cfi_adjust_cfa_offset (-16); \ - UNDOCARGS_5 - -# ifdef IS_IN_libpthread -# define CENABLE bl __pthread_enable_asynccancel -# define CDISABLE bl __pthread_disable_asynccancel -# define __local_multiple_threads __pthread_multiple_threads -# elif !defined NOT_IN_libc -# define CENABLE bl __libc_enable_asynccancel -# define CDISABLE bl __libc_disable_asynccancel -# define __local_multiple_threads __libc_multiple_threads -# elif defined IS_IN_librt -# define CENABLE bl __librt_enable_asynccancel -# define CDISABLE bl __librt_disable_asynccancel -# else -# error Unsupported library -# endif - -# if defined IS_IN_libpthread || !defined NOT_IN_libc -# ifndef __ASSEMBLER__ -extern int __local_multiple_threads attribute_hidden; -# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1) -# else -# define SINGLE_THREAD_P \ - adrp x16, __local_multiple_threads; \ - add x16, x16, #:lo12:__local_multiple_threads; \ - ldr x16, [x16]; \ - cmp x16, 0; -# endif -# else -/* There is no __local_multiple_threads for librt, so use the TCB. */ -# ifndef __ASSEMBLER__ -# define SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -# else -# define SINGLE_THREAD_P \ - stp x0, x30, [sp, -16]!; \ - cfi_adjust_cfa_offset (16); \ - cfi_rel_offset (x0, 0); \ - cfi_rel_offset (x30, 8); \ - bl __read_tp; \ - sub x0, x0, PTHREAD_SIZEOF; \ - ldr x16, [x0, PTHREAD_MULTIPLE_THREADS_OFFSET]; \ - ldp x0, x30, [sp], 16; \ - cfi_restore (x0); \ - cfi_restore (x30); \ - cfi_adjust_cfa_offset (-16); \ - cmp x16, 0 -# define SINGLE_THREAD_P_PIC(x) SINGLE_THREAD_P -# endif -# endif - -#elif !defined __ASSEMBLER__ - -/* For rtld, et cetera. */ -# define SINGLE_THREAD_P 1 -# define NO_CANCELLATION 1 - -#endif - -#ifndef __ASSEMBLER__ -# define RTLD_SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -#endif diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/vfork.S b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/vfork.S deleted file mode 100644 index cc056085da..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/vfork.S +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2005-2014 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 <tcb-offsets.h> - -/* Save the PID value. */ -#define SAVE_PID \ - mrs x2, tpidr_el0; \ - sub x2, x2, #PTHREAD_SIZEOF; \ - ldr w3, [x2, #PTHREAD_PID_OFFSET]; \ - cmp w3, #0; \ - mov w0, #0x80000000; \ - csneg w0, w0, w3, eq; \ - str w0, [x2, #PTHREAD_PID_OFFSET] - -/* Restore the old PID value in the parent. */ -#define RESTORE_PID \ - cbz x0, 1f; /* If we are the parent... */ \ - str w3, [x2, #PTHREAD_PID_OFFSET]; /* restore the saved PID. */ \ -1: - -#include "../vfork.S" diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/profil-counter.h b/ports/sysdeps/unix/sysv/linux/aarch64/profil-counter.h deleted file mode 100644 index f89339832c..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/profil-counter.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (C) 2009-2014 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/>. */ - -/* We can use the ix86 version. */ -#include <sysdeps/unix/sysv/linux/i386/profil-counter.h> diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c b/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c deleted file mode 100644 index 2d8a7f1246..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (C) 2012-2014 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 "../arm/readelflib.c" diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/setcontext.S b/ports/sysdeps/unix/sysv/linux/aarch64/setcontext.S deleted file mode 100644 index d220c41f67..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/setcontext.S +++ /dev/null @@ -1,89 +0,0 @@ -/* Set current context. - - Copyright (C) 2009-2014 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 <sysdep.h> -#include "ucontext_i.h" -#include "ucontext-internal.h" - -/* int setcontext (const ucontext_t *ucp) */ - - .text - -ENTRY(__setcontext) - - /* Create a signal frame on the stack: - - fp - lr - ... - sp-> rt_sigframe - */ - - stp x29, x30, [sp, -16]! - cfi_adjust_cfa_offset (16) - cfi_rel_offset (x29, 0) - cfi_rel_offset (x30, 8) - - mov x29, sp - cfi_def_cfa_register (x29) - - /* Allocate space for the sigcontext. */ - mov w3, #((RT_SIGFRAME_SIZE + SP_ALIGN_SIZE) & SP_ALIGN_MASK) - sub sp, sp, x3 - - /* Compute the base address of the ucontext structure. */ - add x1, sp, #RT_SIGFRAME_UCONTEXT - - /* Only ucontext is required in the frame, *copy* it in. */ - -#if UCONTEXT_SIZE % 16 -#error The implementation of setcontext.S assumes sizeof(ucontext_t) % 16 == 0 -#endif - - mov x2, #UCONTEXT_SIZE / 16 -0: - ldp x3, x4, [x0], #16 - stp x3, x4, [x1], #16 - sub x2, x2, 1 - cbnz x2, 0b - - /* rt_sigreturn () -- no arguments, sp points to struct rt_sigframe. */ - mov x8, SYS_ify (rt_sigreturn) - svc 0 - - /* Ooops we failed. Recover the stack */ - - mov sp, x29 - cfi_def_cfa_register (sp) - - ldp x29, x30, [sp], 16 - cfi_adjust_cfa_offset (16) - cfi_restore (x29) - cfi_restore (x30) - b C_SYMBOL_NAME(__syscall_error) - -PSEUDO_END (__setcontext) -weak_alias (__setcontext, setcontext) - -ENTRY(__startcontext) - mov x0, x19 - cbnz x0, __setcontext -1: b HIDDEN_JUMPTARGET(_exit) -END(__startcontext) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c deleted file mode 100644 index 418207f68d..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright (C) 1997-2014 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 <errno.h> -#include <signal.h> -#include <string.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#include <kernel-features.h> - -#define SA_RESTORER 0x04000000 - -/* The difference here is that the sigaction structure used in the - kernel is not the same as we use in the libc. Therefore we must - translate it here. */ -#include <kernel_sigaction.h> - -int -__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) -{ - int result; - struct kernel_sigaction kact; - struct kernel_sigaction koact; - - if (act) - { - kact.k_sa_handler = act->sa_handler; - memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); - kact.sa_flags = act->sa_flags; -#ifdef HAVE_SA_RESTORER - if (kact.sa_flags & SA_RESTORER) - kact.sa_restorer = act->sa_restorer; -#endif - } - - result = INLINE_SYSCALL (rt_sigaction, 4, sig, - act ? &kact : NULL, - oact ? &koact : NULL, _NSIG / 8); - if (result >= 0 || errno != ENOSYS) - { - if (oact && result >= 0) - { - oact->sa_handler = koact.k_sa_handler; - memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t)); - oact->sa_flags = koact.sa_flags; -#ifdef HAVE_SA_RESTORER - oact->sa_restorer = koact.sa_restorer; -#endif - } - } - return result; -} -libc_hidden_def (__libc_sigaction) - -#ifdef WRAPPER_INCLUDE -# include WRAPPER_INCLUDE -#endif - -#ifndef LIBC_SIGACTION -weak_alias (__libc_sigaction, __sigaction) -libc_hidden_weak (__sigaction) -weak_alias (__libc_sigaction, sigaction) -#endif diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h b/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h deleted file mode 100644 index 3291fd97e3..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h +++ /dev/null @@ -1,35 +0,0 @@ -/* AArch64 definitions for signal handling calling conventions. - Copyright (C) 1996-2014 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 <sys/ucontext.h> -#include "kernel-features.h" - -#define SIGCONTEXT siginfo_t *_si, struct ucontext * -#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.pc) - -/* There is no reliable way to get the sigcontext unless we use a - three-argument signal handler. */ -#define __sigaction(sig, act, oact) ({ \ - (act)->sa_flags |= SA_SIGINFO; \ - (__sigaction) (sig, act, oact); \ -}) - -#define sigaction(sig, act, oact) ({ \ - (act)->sa_flags |= SA_SIGINFO; \ - (sigaction) (sig, act, oact); \ -}) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/swapcontext.S b/ports/sysdeps/unix/sysv/linux/aarch64/swapcontext.S deleted file mode 100644 index deb27fa46c..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/swapcontext.S +++ /dev/null @@ -1,100 +0,0 @@ -/* Modify saved context. - - Copyright (C) 2009-2014 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 <sysdep.h> - -#include "ucontext_i.h" -#include "ucontext-internal.h" - -/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */ - - .text -ENTRY(__swapcontext) - /* Set the value returned when swapcontext() returns in this context. */ - str xzr, [x0, oX0 + 0 * SZREG] - - stp x18, x19, [x0, oX0 + 18 * SZREG] - stp x20, x21, [x0, oX0 + 20 * SZREG] - stp x22, x23, [x0, oX0 + 22 * SZREG] - stp x24, x25, [x0, oX0 + 24 * SZREG] - stp x26, x27, [x0, oX0 + 26 * SZREG] - stp x28, x29, [x0, oX0 + 28 * SZREG] - str x30, [x0, oX0 + 30 * SZREG] - str x30, [x0, oPC] - mov x2, sp - str x2, [x0, oSP] - - /* Figure out where to place the first context extension - block. */ - add x2, x0, #oEXTENSION - - /* Write the context extension fpsimd header. */ - mov w3, #(FPSIMD_MAGIC & 0xffff) - movk w3, #(FPSIMD_MAGIC >> 16), lsl #16 - str w3, [x2, #oHEAD + oMAGIC] - mov w3, #FPSIMD_CONTEXT_SIZE - str w3, [x2, #oHEAD + oSIZE] - - /* Fill in the FP SIMD context. */ - add x3, x2, #oV0 + 8 * SZVREG - stp d8, d9, [x3], #2 * SZVREG - stp d10, d11, [x3], #2 * SZVREG - stp d12, d13, [x3], #2 * SZVREG - stp d14, d15, [x3], #2 * SZVREG - - add x3, x2, #oFPSR - - mrs x4, fpsr - str w4, [x3, #oFPSR - oFPSR] - - mrs x4, fpcr - str w4, [x3, #oFPCR - oFPSR] - - /* Write the termination context extension header. */ - add x2, x2, #FPSIMD_CONTEXT_SIZE - - str xzr, [x2, #oHEAD + oMAGIC] - str xzr, [x2, #oHEAD + oSIZE] - - /* Preserve ucp. */ - mov x21, x1 - - /* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask, - _NSIG8) */ - /* Grab the signal mask */ - /* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */ - add x2, x0, #UCONTEXT_SIGMASK - mov x0, SIG_BLOCK - mov x1, 0 - mov x3, _NSIG8 - mov x8, SYS_ify (rt_sigprocmask) - svc 0 - cbnz x0, 1f - - mov x22, x30 - mov x0, x21 - bl JUMPTARGET (__setcontext) - mov x30, x22 - RET - -1: - b C_SYMBOL_NAME(__syscall_error) -PSEUDO_END (__swapcontext) -weak_alias (__swapcontext, swapcontext) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sys/elf.h b/ports/sysdeps/unix/sysv/linux/aarch64/sys/elf.h deleted file mode 100644 index b65832f6e5..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sys/elf.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1996-2014 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 _SYS_ELF_H -#define _SYS_ELF_H 1 - -#warning "This header is obsolete; use <sys/procfs.h> instead." - -#include <sys/procfs.h> - -#endif /* sys/elf.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h b/ports/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h deleted file mode 100644 index b02af8ac1a..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h +++ /dev/null @@ -1,134 +0,0 @@ -/* Copyright (C) 1996-2014 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 _SYS_PROCFS_H -#define _SYS_PROCFS_H 1 - -/* This is somewhat modelled after the file of the same name on SVR4 - systems. It provides a definition of the core file format for ELF - used on Linux. It doesn't have anything to do with the /proc file - system, even though Linux has one. - - Anyway, the whole purpose of this file is for GDB and GDB only. - Don't read too much into it. Don't use it for anything other than - GDB unless you know what you are doing. */ - -#include <features.h> -#include <sys/time.h> -#include <sys/types.h> -#include <sys/user.h> - -/* We need to see the definition of struct pt_regs but do not want the - linux PTRACE_* defines since they conflict with the generic eglibc - definitions in sys/ptrace.h Hence the undef's below. */ -#include <asm/ptrace.h> - -#undef PTRACE_GET_THREAD_AREA -#undef PTRACE_GETHBPREGS -#undef PTRACE_SETHBPREGS - -#include <sys/user.h> - -__BEGIN_DECLS - -/* Type for a general-purpose register. */ -typedef unsigned long elf_greg_t; - -/* And the whole bunch of them. We could have used `struct - pt_regs' directly in the typedef, but tradition says that - the register set is an array, which does have some peculiar - semantics, so leave it that way. */ -#define ELF_NGREG (sizeof (struct user_pt_regs) / sizeof(elf_greg_t)) -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; - -/* Register set for the floating-point registers. */ -typedef struct user_fpsimd_state elf_fpregset_t; - -/* Signal info. */ -struct elf_siginfo - { - int si_signo; /* Signal number. */ - int si_code; /* Extra code. */ - int si_errno; /* Errno. */ - }; - -/* Definitions to generate Intel SVR4-like core files. These mostly - have the same names as the SVR4 types with "elf_" tacked on the - front to prevent clashes with Linux definitions, and the typedef - forms have been avoided. This is mostly like the SVR4 structure, - but more Linuxy, with things that Linux does not support and which - GDB doesn't really use excluded. */ - -struct elf_prstatus - { - struct elf_siginfo pr_info; /* Info associated with signal. */ - short int pr_cursig; /* Current signal. */ - unsigned long int pr_sigpend; /* Set of pending signals. */ - unsigned long int pr_sighold; /* Set of held signals. */ - __pid_t pr_pid; - __pid_t pr_ppid; - __pid_t pr_pgrp; - __pid_t pr_sid; - struct timeval pr_utime; /* User time. */ - struct timeval pr_stime; /* System time. */ - struct timeval pr_cutime; /* Cumulative user time. */ - struct timeval pr_cstime; /* Cumulative system time. */ - elf_gregset_t pr_reg; /* GP registers. */ - int pr_fpvalid; /* True if math copro being used. */ - }; - - -#define ELF_PRARGSZ (80) /* Number of chars for args. */ - -struct elf_prpsinfo - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - unsigned long int pr_flag; /* Flags. */ - unsigned short int pr_uid; - unsigned short int pr_gid; - int pr_pid, pr_ppid, pr_pgrp, pr_sid; - /* Lots missing */ - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ - }; - -/* The rest of this file provides the types for emulation of the - Solaris <proc_service.h> interfaces that should be implemented by - users of libthread_db. */ - -/* Addresses. */ -typedef void *psaddr_t; - -/* Register sets. Linux has different names. */ -typedef elf_gregset_t prgregset_t; -typedef elf_fpregset_t prfpregset_t; - -/* We don't have any differences between processes and threads, - therefore have only one PID type. */ -typedef __pid_t lwpid_t; - -/* Process status and info. In the end we do provide typedefs for them. */ -typedef struct elf_prstatus prstatus_t; -typedef struct elf_prpsinfo prpsinfo_t; - -__END_DECLS - -#endif /* sys/procfs.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h deleted file mode 100644 index ca57bb50e5..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h +++ /dev/null @@ -1,194 +0,0 @@ -/* `ptrace' debugger support interface. Linux version. - Copyright (C) 1996-2014 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 _SYS_PTRACE_H -#define _SYS_PTRACE_H 1 - -#include <features.h> -#include <bits/types.h> - -__BEGIN_DECLS - -/* Type of the REQUEST argument to `ptrace.' */ -enum __ptrace_request -{ - /* Indicate that the process making this request should be traced. - All signals received by this process can be intercepted by its - parent, and its parent can use the other `ptrace' requests. */ - PTRACE_TRACEME = 0, -#define PT_TRACE_ME PTRACE_TRACEME - - /* Return the word in the process's text space at address ADDR. */ - PTRACE_PEEKTEXT = 1, -#define PT_READ_I PTRACE_PEEKTEXT - - /* Return the word in the process's data space at address ADDR. */ - PTRACE_PEEKDATA = 2, -#define PT_READ_D PTRACE_PEEKDATA - - /* Return the word in the process's user area at offset ADDR. */ - PTRACE_PEEKUSER = 3, -#define PT_READ_U PTRACE_PEEKUSER - - /* Write the word DATA into the process's text space at address ADDR. */ - PTRACE_POKETEXT = 4, -#define PT_WRITE_I PTRACE_POKETEXT - - /* Write the word DATA into the process's data space at address ADDR. */ - PTRACE_POKEDATA = 5, -#define PT_WRITE_D PTRACE_POKEDATA - - /* Write the word DATA into the process's user area at offset ADDR. */ - PTRACE_POKEUSER = 6, -#define PT_WRITE_U PTRACE_POKEUSER - - /* Continue the process. */ - PTRACE_CONT = 7, -#define PT_CONTINUE PTRACE_CONT - - /* Kill the process. */ - PTRACE_KILL = 8, -#define PT_KILL PTRACE_KILL - - /* Single step the process. */ - PTRACE_SINGLESTEP = 9, -#define PT_STEP PTRACE_SINGLESTEP - - /* Attach to a process that is already running. */ - PTRACE_ATTACH = 16, -#define PT_ATTACH PTRACE_ATTACH - - /* Detach from a process attached to with PTRACE_ATTACH. */ - PTRACE_DETACH = 17, -#define PT_DETACH PTRACE_DETACH - - PTRACE_GET_THREAD_AREA = 22, - - /* Continue and stop at the next (return from) syscall. */ - PTRACE_SYSCALL = 24, -#define PT_SYSCALL PTRACE_SYSCALL - - /* Get all hardware breakpoint registers. */ - PTRACE_GETHBPREGS = 29, - - /* Set all hardware breakpoint registers. */ - PTRACE_SETHBPREGS = 30, - - /* Set ptrace filter options. */ - PTRACE_SETOPTIONS = 0x4200, -#define PT_SETOPTIONS PTRACE_SETOPTIONS - - /* Get last ptrace message. */ - PTRACE_GETEVENTMSG = 0x4201, -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG - - /* Get siginfo for process. */ - PTRACE_GETSIGINFO = 0x4202, -#define PT_GETSIGINFO PTRACE_GETSIGINFO - - /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203, -#define PT_SETSIGINFO PTRACE_SETSIGINFO - - /* Get register content. */ - PTRACE_GETREGSET = 0x4204, -#define PTRACE_GETREGSET PTRACE_GETREGSET - - /* Set register content. */ - PTRACE_SETREGSET = 0x4205, -#define PTRACE_SETREGSET PTRACE_SETREGSET - - /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect - signal or group stop state. */ - PTRACE_SEIZE = 0x4206, -#define PTRACE_SEIZE PTRACE_SEIZE - - /* Trap seized trace. */ - PTRACE_INTERRUPT = 0x4207, -#define PTRACE_INTERRUPT PTRACE_INTERRUPT - - /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208, -#define PTRACE_LISTEN PTRACE_LISTEN - - PTRACE_PEEKSIGINFO = 0x4209 -#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO -}; - - -/* Flag for PTRACE_LISTEN. */ -enum __ptrace_flags -{ - PTRACE_SEIZE_DEVEL = 0x80000000 -}; - -/* Options set using PTRACE_SETOPTIONS. */ -enum __ptrace_setoptions -{ - PTRACE_O_TRACESYSGOOD = 0x00000001, - PTRACE_O_TRACEFORK = 0x00000002, - PTRACE_O_TRACEVFORK = 0x00000004, - PTRACE_O_TRACECLONE = 0x00000008, - PTRACE_O_TRACEEXEC = 0x00000010, - PTRACE_O_TRACEVFORKDONE = 0x00000020, - PTRACE_O_TRACEEXIT = 0x00000040, - PTRACE_O_TRACESECCOMP = 0x00000080, - PTRACE_O_MASK = 0x000000ff -}; - -/* Wait extended result codes for the above trace options. */ -enum __ptrace_eventcodes -{ - PTRACE_EVENT_FORK = 1, - PTRACE_EVENT_VFORK = 2, - PTRACE_EVENT_CLONE = 3, - PTRACE_EVENT_EXEC = 4, - PTRACE_EVENT_VFORK_DONE = 5, - PTRACE_EVENT_EXIT = 6, - PTRACE_EVENT_SECCOMP = 7 -}; - -/* Arguments for PTRACE_PEEKSIGINFO. */ -struct __ptrace_peeksiginfo_args -{ - __uint64_t off; /* From which siginfo to start. */ - __uint32_t flags; /* Flags for peeksiginfo. */ - __int32_t nr; /* How many siginfos to take. */ -}; - -enum __ptrace_peeksiginfo_flags -{ - /* Read signals from a shared (process wide) queue. */ - PTRACE_PEEKSIGINFO_SHARED = (1 << 0) -}; - -/* Perform process tracing functions. REQUEST is one of the values - above, and determines the action to be taken. - For all requests except PTRACE_TRACEME, PID specifies the process to be - traced. - - PID and the other arguments described above for the various requests should - appear (those that are used for the particular request) as: - pid_t PID, void *ADDR, int DATA, void *ADDR2 - after REQUEST. */ -extern long int ptrace (enum __ptrace_request __request, ...) __THROW; - -__END_DECLS - -#endif /* _SYS_PTRACE_H */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/ports/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h deleted file mode 100644 index 476f5debbf..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1998-2014 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/>. */ - -/* System V/AArch64 ABI compliant context switching support. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <signal.h> -#include <sys/procfs.h> - -/* We need the signal context definitions even if they are not used - included in <signal.h>. */ -#include <bits/sigcontext.h> - -typedef int greg_t; - -/* Container for all general registers. */ -typedef elf_gregset_t gregset_t; - -/* Structure to describe FPU registers. */ -typedef elf_fpregset_t fpregset_t; - -/* Context to describe whole processor state. This only describes - the core registers; coprocessor registers get saved elsewhere - (e.g. in uc_regspace, or somewhere unspecified on the stack - during non-RT signal handlers). */ -typedef struct sigcontext mcontext_t; - -/* Userlevel context. */ -typedef struct ucontext - { - unsigned long uc_flags; - struct ucontext *uc_link; - stack_t uc_stack; - __sigset_t uc_sigmask; - mcontext_t uc_mcontext; - } ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sys/user.h b/ports/sysdeps/unix/sysv/linux/aarch64/sys/user.h deleted file mode 100644 index eceeb389e4..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sys/user.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2009-2014 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 _SYS_USER_H -#define _SYS_USER_H 1 - -/* We need to see the definition of struct pt_regs but do not want the - linux PTRACE_* defines since they conflict with the generic glibc - definitions in sys/ptrace.h Hence the undef's below. */ -#include <asm/ptrace.h> - -#undef PTRACE_GET_THREAD_AREA -#undef PTRACE_GETHBPREGS -#undef PTRACE_SETHBPREGS - -#endif diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/syscall.S b/ports/sysdeps/unix/sysv/linux/aarch64/syscall.S deleted file mode 100644 index 20dd6904a9..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/syscall.S +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 2005-2014 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 <sysdep.h> - -/* syscall (int nr, ...) - - AArch64 system calls take between 0 and 7 arguments. On entry here nr - is in w0 and any other system call arguments are in register x1..x7. - - For kernel entry we need to move the system call nr to x8 then - load the remaining arguments to register. */ - -ENTRY (syscall) - uxtw x8, w0 - mov x0, x1 - mov x1, x2 - mov x2, x3 - mov x3, x4 - mov x4, x5 - mov x5, x6 - mov x6, x7 - svc 0x0 - cmn x0, #4095 - b.cs 1f - RET -1: - b SYSCALL_ERROR -PSEUDO_END (syscall) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.c b/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.c deleted file mode 100644 index bfb87c5d4f..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2011-2014 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 <sysdep.h> -#include <errno.h> - -long __syscall_error (long err); -hidden_proto (__syscall_error) - -/* This routine is jumped to by all the syscall handlers, to stash - an error number into errno. */ -long -__syscall_error (long err) -{ - __set_errno (- err); - return -1; -} -hidden_def (__syscall_error) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h deleted file mode 100644 index 5ccf1da18b..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h +++ /dev/null @@ -1,414 +0,0 @@ -/* Copyright (C) 2005-2014 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 _LINUX_AARCH64_SYSDEP_H -#define _LINUX_AARCH64_SYSDEP_H 1 - -#include <sysdeps/unix/sysdep.h> -#include <sysdeps/aarch64/sysdep.h> -#include <sysdeps/unix/sysv/linux/generic/sysdep.h> - -/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ -#include <dl-sysdep.h> - -#include <tls.h> - -/* In order to get __set_errno() definition in INLINE_SYSCALL. */ -#ifndef __ASSEMBLER__ -#include <errno.h> -#endif - -/* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h - of the kernel. But these symbols do not follow the SYS_* syntax - so we have to redefine the `SYS_ify' macro here. */ -#undef SYS_ify -#define SYS_ify(syscall_name) (__NR_##syscall_name) - -#ifdef __ASSEMBLER__ - -/* Linux uses a negative return value to indicate syscall errors, - unlike most Unices, which use the condition codes' carry flag. - - Since version 2.1 the return value of a system call might be - negative even if the call succeeded. E.g., the `lseek' system call - might return a large offset. Therefore we must not anymore test - for < 0, but test for a real error by making sure the value in R0 - is a real error number. Linus said he will make sure the no syscall - returns a value in -1 .. -4095 as a valid result so we can safely - test with -4095. */ - -# undef PSEUDO -# define PSEUDO(name, syscall_name, args) \ - .text; \ - ENTRY (name); \ - DO_CALL (syscall_name, args); \ - cmn x0, #4095; - -/* Notice the use of 'RET' instead of 'ret' the assembler is case - insensitive and eglibc already uses the preprocessor symbol 'ret' - so we use the upper case 'RET' to force through a ret instruction - to the assembler */ -# define PSEUDO_RET \ - b.cs 1f; \ - RET; \ - 1: \ - b SYSCALL_ERROR -# undef ret -# define ret PSEUDO_RET - -# undef PSEUDO_END -# define PSEUDO_END(name) \ - SYSCALL_ERROR_HANDLER \ - END (name) - -# undef PSEUDO_NOERRNO -# define PSEUDO_NOERRNO(name, syscall_name, args) \ - .text; \ - ENTRY (name); \ - DO_CALL (syscall_name, args); - -/* Notice the use of 'RET' instead of 'ret' the assembler is case - insensitive and eglibc already uses the preprocessor symbol 'ret' - so we use the upper case 'RET' to force through a ret instruction - to the assembler */ -# define PSEUDO_RET_NOERRNO \ - RET; - -# undef ret_NOERRNO -# define ret_NOERRNO PSEUDO_RET_NOERRNO - -# undef PSEUDO_END_NOERRNO -# define PSEUDO_END_NOERRNO(name) \ - END (name) - -/* The function has to return the error code. */ -# undef PSEUDO_ERRVAL -# define PSEUDO_ERRVAL(name, syscall_name, args) \ - .text; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - neg x0, x0 - -# undef PSEUDO_END_ERRVAL -# define PSEUDO_END_ERRVAL(name) \ - END (name) - -# define ret_ERRVAL PSEUDO_RET_NOERRNO - -# if NOT_IN_libc -# define SYSCALL_ERROR __local_syscall_error -# if RTLD_PRIVATE_ERRNO -# define SYSCALL_ERROR_HANDLER \ -__local_syscall_error: \ - adrp x1, C_SYMBOL_NAME(rtld_errno); \ - add x1, x1, #:lo12:C_SYMBOL_NAME(rtld_errno); \ - neg w0, w0; \ - str w0, [x1]; \ - mov x0, -1; \ - RET; -# else - -# define SYSCALL_ERROR_HANDLER \ -__local_syscall_error: \ - stp x29, x30, [sp, -32]!; \ - cfi_adjust_cfa_offset (32); \ - cfi_rel_offset (x29, 0); \ - cfi_rel_offset (x30, 8); \ - add x29, sp, 0; \ - str x19, [sp,16]; \ - neg x19, x0; \ - bl C_SYMBOL_NAME(__errno_location); \ - str w19, [x0]; \ - mov x0, -1; \ - ldr x19, [sp,16]; \ - ldp x29, x30, [sp], 32; \ - cfi_adjust_cfa_offset (-32); \ - cfi_restore (x29); \ - cfi_restore (x30); \ - RET; -# endif -# else -# define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ -# define SYSCALL_ERROR __syscall_error -# endif - -/* Linux takes system call args in registers: - syscall number in the SVC instruction - arg 1 x0 - arg 2 x1 - arg 3 x2 - arg 4 x3 - arg 5 x4 - arg 6 x5 - arg 7 x6 - - The compiler is going to form a call by coming here, through PSEUDO, with - arguments - syscall number in the DO_CALL macro - arg 1 x0 - arg 2 x1 - arg 3 x2 - arg 4 x3 - arg 5 x4 - arg 6 x5 - arg 7 x6 - - We need to shuffle values between R4..R6 and the stack so that the - caller's v1..v3 and stack frame are not corrupted, and the kernel - sees the right arguments. - -*/ - -# undef DO_CALL -# define DO_CALL(syscall_name, args) \ - DOARGS_##args \ - mov x8, SYS_ify (syscall_name); \ - svc 0; \ - UNDOARGS_##args - -# define DOARGS_0 /* nothing */ -# define DOARGS_1 /* nothing */ -# define DOARGS_2 /* nothing */ -# define DOARGS_3 /* nothing */ -# define DOARGS_4 /* nothing */ -# define DOARGS_5 /* nothing */ -# define DOARGS_6 /* nothing */ -# define DOARGS_7 /* nothing */ - -# define UNDOARGS_0 /* nothing */ -# define UNDOARGS_1 /* nothing */ -# define UNDOARGS_2 /* nothing */ -# define UNDOARGS_3 /* nothing */ -# define UNDOARGS_4 /* nothing */ -# define UNDOARGS_5 /* nothing */ -# define UNDOARGS_6 /* nothing */ -# define UNDOARGS_7 /* nothing */ - -#else /* not __ASSEMBLER__ */ - -# ifdef SHARED -# define INLINE_VSYSCALL(name, nr, args...) \ - ({ \ - __label__ out; \ - __label__ iserr; \ - long sc_ret; \ - INTERNAL_SYSCALL_DECL (sc_err); \ - \ - if (__vdso_##name != NULL) \ - { \ - sc_ret = INTERNAL_VSYSCALL_NCS (__vdso_##name, sc_err, nr, ##args); \ - if (!INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err)) \ - goto out; \ - if (INTERNAL_SYSCALL_ERRNO (sc_ret, sc_err) != ENOSYS) \ - goto iserr; \ - } \ - \ - sc_ret = INTERNAL_SYSCALL (name, sc_err, nr, ##args); \ - if (INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err)) \ - { \ - iserr: \ - __set_errno (INTERNAL_SYSCALL_ERRNO (sc_ret, sc_err)); \ - sc_ret = -1L; \ - } \ - out: \ - sc_ret; \ - }) -# else -# define INLINE_VSYSCALL(name, nr, args...) \ - INLINE_SYSCALL (name, nr, ##args) -# endif - -# ifdef SHARED -# define INTERNAL_VSYSCALL(name, err, nr, args...) \ - ({ \ - __label__ out; \ - long v_ret; \ - \ - if (__vdso_##name != NULL) \ - { \ - v_ret = INTERNAL_VSYSCALL_NCS (__vdso_##name, err, nr, ##args); \ - if (!INTERNAL_SYSCALL_ERROR_P (v_ret, err) \ - || INTERNAL_SYSCALL_ERRNO (v_ret, err) != ENOSYS) \ - goto out; \ - } \ - v_ret = INTERNAL_SYSCALL (name, err, nr, ##args); \ - out: \ - v_ret; \ - }) -# else -# define INTERNAL_VSYSCALL(name, err, nr, args...) \ - INTERNAL_SYSCALL (name, err, nr, ##args) -# endif - -/* List of system calls which are supported as vsyscalls. */ -# define HAVE_CLOCK_GETRES_VSYSCALL 1 -# define HAVE_CLOCK_GETTIME_VSYSCALL 1 - -# define INTERNAL_VSYSCALL_NCS(funcptr, err, nr, args...) \ - ({ \ - LOAD_ARGS_##nr (args) \ - asm volatile ("blr %1" \ - : "=r" (_x0) \ - : "r" (funcptr), ASM_ARGS_##nr \ - : "x30", "memory"); \ - (long) _x0; \ - }) - - -/* Define a macro which expands into the inline wrapper code for a system - call. */ -# undef INLINE_SYSCALL -# define INLINE_SYSCALL(name, nr, args...) \ - ({ unsigned long _sys_result = INTERNAL_SYSCALL (name, , nr, args); \ - if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\ - { \ - __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, )); \ - _sys_result = (unsigned long) -1; \ - } \ - (long) _sys_result; }) - -# undef INTERNAL_SYSCALL_DECL -# define INTERNAL_SYSCALL_DECL(err) do { } while (0) - -# undef INTERNAL_SYSCALL_RAW -# define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \ - ({ unsigned long _sys_result; \ - { \ - LOAD_ARGS_##nr (args) \ - register long _x8 asm ("x8") = (name); \ - asm volatile ("svc 0 // syscall " # name \ - : "+r" (_x0), "+r" (_x8) \ - : ASM_ARGS_##nr \ - : "memory", CLOBBER_ARGS_##nr); \ - _sys_result = _x0; \ - } \ - (long) _sys_result; }) - -# undef INTERNAL_SYSCALL -# define INTERNAL_SYSCALL(name, err, nr, args...) \ - INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args) - -# undef INTERNAL_SYSCALL_AARCH64 -# define INTERNAL_SYSCALL_AARCH64(name, err, nr, args...) \ - INTERNAL_SYSCALL_RAW(__ARM_NR_##name, err, nr, args) - -# undef INTERNAL_SYSCALL_ERROR_P -# define INTERNAL_SYSCALL_ERROR_P(val, err) \ - ((unsigned long) (val) >= (unsigned long) -4095) - -# undef INTERNAL_SYSCALL_ERRNO -# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) - -# define CLOBBER_ARGS_0 CLOBBER_ARGS_1 -# define CLOBBER_ARGS_1 "x1", CLOBBER_ARGS_2 -# define CLOBBER_ARGS_2 "x2", CLOBBER_ARGS_3 -# define CLOBBER_ARGS_3 "x3", CLOBBER_ARGS_4 -# define CLOBBER_ARGS_4 "x4", CLOBBER_ARGS_5 -# define CLOBBER_ARGS_5 "x5", CLOBBER_ARGS_6 -# define CLOBBER_ARGS_6 "x6", CLOBBER_ARGS_7 -# define CLOBBER_ARGS_7 \ - "x7", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18" - -# define LOAD_ARGS_0() \ - register long _x0 asm ("x0"); - -# define ASM_ARGS_0 -# define LOAD_ARGS_1(x0) \ - long _x0tmp = (long) (x0); \ - LOAD_ARGS_0 () \ - _x0 = _x0tmp; -# define ASM_ARGS_1 "r" (_x0) -# define LOAD_ARGS_2(x0, x1) \ - long _x1tmp = (long) (x1); \ - LOAD_ARGS_1 (x0) \ - register long _x1 asm ("x1") = _x1tmp; -# define ASM_ARGS_2 ASM_ARGS_1, "r" (_x1) -# define LOAD_ARGS_3(x0, x1, x2) \ - long _x2tmp = (long) (x2); \ - LOAD_ARGS_2 (x0, x1) \ - register long _x2 asm ("x2") = _x2tmp; -# define ASM_ARGS_3 ASM_ARGS_2, "r" (_x2) -# define LOAD_ARGS_4(x0, x1, x2, x3) \ - long _x3tmp = (long) (x3); \ - LOAD_ARGS_3 (x0, x1, x2) \ - register long _x3 asm ("x3") = _x3tmp; -# define ASM_ARGS_4 ASM_ARGS_3, "r" (_x3) -# define LOAD_ARGS_5(x0, x1, x2, x3, x4) \ - long _x4tmp = (long) (x4); \ - LOAD_ARGS_4 (x0, x1, x2, x3) \ - register long _x4 asm ("x4") = _x4tmp; -# define ASM_ARGS_5 ASM_ARGS_4, "r" (_x4) -# define LOAD_ARGS_6(x0, x1, x2, x3, x4, x5) \ - long _x5tmp = (long) (x5); \ - LOAD_ARGS_5 (x0, x1, x2, x3, x4) \ - register long _x5 asm ("x5") = _x5tmp; -# define ASM_ARGS_6 ASM_ARGS_5, "r" (_x5) -# define LOAD_ARGS_7(x0, x1, x2, x3, x4, x5, x6)\ - long _x6tmp = (long) (x6); \ - LOAD_ARGS_6 (x0, x1, x2, x3, x4, x5) \ - register long _x6 asm ("x6") = _x6tmp; -# define ASM_ARGS_7 ASM_ARGS_6, "r" (_x6) - -# undef INTERNAL_SYSCALL_NCS -# define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \ - INTERNAL_SYSCALL_RAW (number, err, nr, args) - -#endif /* __ASSEMBLER__ */ - -/* Pointer mangling is supported for AArch64. */ -#if (defined NOT_IN_libc && defined IS_IN_rtld) || \ - (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread)) -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(dst, src, guard, tmp) \ - LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \ - PTR_MANGLE2 (dst, src, guard) -/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */ -# define PTR_MANGLE2(dst, src, guard)\ - eor dst, src, guard -# define PTR_DEMANGLE(dst, src, guard, tmp)\ - PTR_MANGLE (dst, src, guard, tmp) -# define PTR_DEMANGLE2(dst, src, guard)\ - PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(dst, src, guard, tmp) \ - LDST_GLOBAL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard)); \ - PTR_MANGLE2 (dst, src, guard) -/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */ -# define PTR_MANGLE2(dst, src, guard)\ - eor dst, src, guard -# define PTR_DEMANGLE(dst, src, guard, tmp)\ - PTR_MANGLE (dst, src, guard, tmp) -# define PTR_DEMANGLE2(dst, src, guard)\ - PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard attribute_relro; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - -#endif /* linux/aarch64/sysdep.h */ diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h b/ports/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h deleted file mode 100644 index 8b58114dec..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 2009-2014 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/>. */ - -#define SP_ALIGN_SIZE 15 - -#define SP_ALIGN_MASK ~15 - -/* Size of an X regiser in bytes. */ -#define SZREG 8 - -/* Size of a V register in bytes. */ -#define SZVREG 16 - -/* Number of integer parameter passing registers. */ -#define NUMXREGARGS 8 - -/* Number of FP parameter passing registers. */ -#define NUMDREGARGS 8 - -/* Size of named integer argument in bytes when passed on the - stack. */ -#define SIZEOF_NAMED_INT 4 - -/* Size of an anonymous integer argument in bytes when passed on the - stack. */ -#define SIZEOF_ANONYMOUS_INT 8 - -#define oX21 (oX0 + 21*8) -#define oFP (oX0 + 29*8) -#define oLR (oX0 + 30*8) diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym b/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym deleted file mode 100644 index ab3930c173..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym +++ /dev/null @@ -1,55 +0,0 @@ -#include <inttypes.h> -#include <signal.h> -#include <stddef.h> -#include <sys/ucontext.h> -#include <asm/sigcontext.h> - -#include "kernel_rt_sigframe.h" - -SIG_BLOCK -SIG_SETMASK - -_NSIG8 (_NSIG / 8) - --- Offsets of the fields in the kernel rt_sigframe_t structure. -#define rt_sigframe(member) offsetof (struct kernel_rt_sigframe, member) - -RT_SIGFRAME_UCONTEXT rt_sigframe (uc) - -RT_SIGFRAME_SIZE sizeof (struct kernel_rt_sigframe) -FPSIMD_CONTEXT_SIZE sizeof (struct fpsimd_context) - -#define ucontext(member) offsetof (ucontext_t, member) -#define stack(member) ucontext (uc_stack.member) -#define mcontext(member) ucontext (uc_mcontext.member) - -UCONTEXT_FLAGS ucontext (uc_flags) -UCONTEXT_LINK ucontext (uc_link) -UCONTEXT_STACK ucontext (uc_stack) -UCONTEXT_MCONTEXT ucontext (uc_mcontext) -UCONTEXT_SIGMASK ucontext (uc_sigmask) -UCONTEXT_SIZE sizeof (ucontext_t) - -STACK_SP stack (ss_sp) -STACK_SIZE stack (ss_size) -STACK_FLAGS stack (ss_flags) - -oX0 mcontext (regs) -oSP mcontext (sp) -oPC mcontext (pc) -oPSTATE mcontext (pstate) -oEXTENSION mcontext (__reserved) - -#define fpsimd_context(member) offsetof (struct fpsimd_context, member) - -oHEAD fpsimd_context (head) -oV0 fpsimd_context (vregs) -oFPSR fpsimd_context (fpsr) -oFPCR fpsimd_context (fpcr) - -#define aarch64_ctx(member) offsetof (struct _aarch64_ctx, member) - -oMAGIC aarch64_ctx (magic) -oSIZE aarch64_ctx (size) - -FPSIMD_MAGIC diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/vfork.S b/ports/sysdeps/unix/sysv/linux/aarch64/vfork.S deleted file mode 100644 index d9f2c70748..0000000000 --- a/ports/sysdeps/unix/sysv/linux/aarch64/vfork.S +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1999-2014 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 <sysdep.h> -#define _ERRNO_H 1 -#include <bits/errno.h> -#include <kernel-features.h> - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ - -ENTRY (__vfork) - -#ifdef SAVE_PID - SAVE_PID -#endif - mov x0, #0x4111 /* CLONE_VM | CLONE_VFORK | SIGCHLD */ - mov x1, sp - DO_CALL (clone, 2) -#ifdef RESTORE_PID - RESTORE_PID -#endif - cmn x0, #4095 - b.cs 1f - RET -1: - b SYSCALL_ERROR - -PSEUDO_END (__vfork) -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) |