diff options
Diffstat (limited to 'ports/sysdeps/microblaze')
42 files changed, 0 insertions, 7783 deletions
diff --git a/ports/sysdeps/microblaze/Implies b/ports/sysdeps/microblaze/Implies deleted file mode 100644 index 73c766c52e..0000000000 --- a/ports/sysdeps/microblaze/Implies +++ /dev/null @@ -1,4 +0,0 @@ -wordsize-32 -# MicroBlaze uses IEEE 754 floating point. -ieee754/flt-32 -ieee754/dbl-64 diff --git a/ports/sysdeps/microblaze/Makefile b/ports/sysdeps/microblaze/Makefile deleted file mode 100644 index f7c95ae115..0000000000 --- a/ports/sysdeps/microblaze/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -ifeq ($(subdir),elf) -CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused -endif - -ifeq ($(subdir),gmon) -sysdep_routines += _mcount -endif - -ifeq ($(subdir),resource) -sysdep_routines += backtrace_linux -endif diff --git a/ports/sysdeps/microblaze/__longjmp.S b/ports/sysdeps/microblaze/__longjmp.S deleted file mode 100644 index dc588ebfe2..0000000000 --- a/ports/sysdeps/microblaze/__longjmp.S +++ /dev/null @@ -1,55 +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> - -/* Jump to the position specified by ENV, causing the - setjmp call there to return VAL, or 1 if VAL is 0. */ - -/* void __longjmp (__jmp_buf env, int val) */ - -ENTRY(__longjmp) - lwi r1,r5,0 - lwi r2,r5,4 - lwi r13,r5,8 - lwi r14,r5,12 - lwi r15,r5,16 - lwi r16,r5,20 - lwi r17,r5,24 - lwi r18,r5,28 - lwi r19,r5,32 - lwi r20,r5,36 - lwi r21,r5,40 - lwi r22,r5,44 - lwi r23,r5,48 - lwi r24,r5,52 - lwi r25,r5,56 - lwi r26,r5,60 - lwi r27,r5,64 - lwi r28,r5,68 - lwi r29,r5,72 - lwi r30,r5,76 - lwi r31,r5,80 - addk r3,r6,r0 - beqi r3,L(return_1) - rtsd r15,8 - nop -L(return_1): - rtsd r15,8 - addik r3,r0,1 /* delay slot. */ -END(__longjmp) diff --git a/ports/sysdeps/microblaze/_mcount.S b/ports/sysdeps/microblaze/_mcount.S deleted file mode 100644 index b3be87e35d..0000000000 --- a/ports/sysdeps/microblaze/_mcount.S +++ /dev/null @@ -1,91 +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/>. */ - - .global _mcount - .type _mcount, @function -_mcount: - # Save regs. - addik r1, r1,-4 * 24 - swi r31, r1, 4 * 23 - swi r30, r1, 4 * 22 - swi r29, r1, 4 * 21 - swi r28, r1, 4 * 20 - swi r27, r1, 4 * 19 - swi r26, r1, 4 * 18 - swi r25, r1, 4 * 17 - swi r24, r1, 4 * 16 - swi r23, r1, 4 * 15 - swi r22, r1, 4 * 14 - swi r21, r1, 4 * 13 - swi r20, r1, 4 * 12 - swi r19, r1, 4 * 11 - swi r15, r1, 4 * 10 - swi r12, r1, 4 * 9 - swi r11, r1, 4 * 8 - swi r10, r1, 4 * 7 - swi r8, r1, 4 * 6 - swi r7, r1, 4 * 5 - swi r6, r1, 4 * 4 - swi r5, r1, 4 * 3 - swi r4, r1, 4 * 2 - swi r3, r1, 4 * 1 - swi r2, r1, 4 * 0 - -#ifdef SHARED - mfs r20,rpc - addik r20,r20,_GLOBAL_OFFSET_TABLE_+8 - addk r6, r0, r15 # callee is in r15. - brlid r15, __mcount_internal@PLT - lwi r5, r1, 4 * 24 # caller is on the stack. -#else - # Pass from/to in r5 and r6. - addk r6, r0, r15 # callee is in r15. - bralid r15, __mcount_internal - lwi r5, r1, 4 * 24 # caller is on the stack. -#endif - - # Reload regs - lwi r31, r1, 4 * 23 - lwi r30, r1, 4 * 22 - lwi r29, r1, 4 * 21 - lwi r28, r1, 4 * 20 - lwi r27, r1, 4 * 19 - lwi r26, r1, 4 * 18 - lwi r25, r1, 4 * 17 - lwi r24, r1, 4 * 16 - lwi r23, r1, 4 * 15 - lwi r22, r1, 4 * 14 - lwi r21, r1, 4 * 13 - lwi r20, r1, 4 * 12 - lwi r19, r1, 4 * 11 - lwi r15, r1, 4 * 10 - lwi r12, r1, 4 * 9 - lwi r11, r1, 4 * 8 - lwi r10, r1, 4 * 7 - lwi r8, r1, 4 * 6 - lwi r7, r1, 4 * 5 - lwi r6, r1, 4 * 4 - lwi r5, r1, 4 * 3 - lwi r4, r1, 4 * 2 - lwi r3, r1, 4 * 1 - lwi r2, r1, 4 * 0 - - rtsd r15, 8 - addik r1, r1, 4 * 24 - - .size _mcount, . - _mcount diff --git a/ports/sysdeps/microblaze/abort-instr.h b/ports/sysdeps/microblaze/abort-instr.h deleted file mode 100644 index 38469d490a..0000000000 --- a/ports/sysdeps/microblaze/abort-instr.h +++ /dev/null @@ -1,2 +0,0 @@ -/* An instruction which should crash any program is `illegal'. */ -#define ABORT_INSTRUCTION asm ("brki r0, -1") diff --git a/ports/sysdeps/microblaze/asm-syntax.h b/ports/sysdeps/microblaze/asm-syntax.h deleted file mode 100644 index 1d60e654a1..0000000000 --- a/ports/sysdeps/microblaze/asm-syntax.h +++ /dev/null @@ -1,24 +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/>. */ - -#undef ALIGN -#define ALIGN(log) .align 1<<log - -#define R_(r) %##r -#define R(r) R_(r) -#define L(label) .##label diff --git a/ports/sysdeps/microblaze/backtrace.c b/ports/sysdeps/microblaze/backtrace.c deleted file mode 100644 index 6b0c617b0f..0000000000 --- a/ports/sysdeps/microblaze/backtrace.c +++ /dev/null @@ -1,139 +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 <stdio.h> -#include <string.h> -#include <sysdep.h> -#include <signal.h> -#include <execinfo.h> - -extern int -_identify_sighandler (unsigned long fp, unsigned long pc, - unsigned long *pprev_fp, unsigned long *pprev_pc, - unsigned long *retaddr); - -inline long -get_frame_size (unsigned long instr) -{ - return abs ((short signed) (instr & 0xFFFF)); -} - -static unsigned long * -find_frame_creation (unsigned long *pc) -{ - int i; - - /* NOTE: Distance to search is arbitrary. - 250 works well for most things, - 750 picks up things like tcp_recvmsg, - 1000 needed for fat_fill_super. */ - for (i = 0; i < 1000; i++, pc--) - { - unsigned long instr; - unsigned long frame_size; - - instr = *pc; - - /* Is the instruction of the form - addik r1, r1, foo ? */ - if ((instr & 0xFFFF0000) != 0x30210000) - continue; - - frame_size = get_frame_size (instr); - - if ((frame_size < 8) || (frame_size & 3)) - return NULL; - - return pc; - } - return NULL; -} - -static int -lookup_prev_stack_frame (unsigned long fp, unsigned long pc, - unsigned long *pprev_fp, unsigned long *pprev_pc, - unsigned long *retaddr) -{ - unsigned long *prologue = NULL; - - int is_signalhandler = _identify_sighandler (fp, pc, pprev_fp, - pprev_pc, retaddr); - - if (!is_signalhandler) - { - prologue = find_frame_creation ((unsigned long *) pc); - - if (prologue) - { - long frame_size = get_frame_size (*prologue); - *pprev_fp = fp + frame_size; - if (*retaddr != 0) - *pprev_pc = *retaddr; - else - *pprev_pc = *(unsigned long *) fp; - - *retaddr = 0; - if (!*pprev_pc || (*pprev_pc & 3)) - prologue=0; - } - else - { - *pprev_pc = 0; - *pprev_fp = fp; - *retaddr = 0; - } - } - return (!*pprev_pc || (*pprev_pc & 3)) ? -1 : 0; -} - -int -__backtrace (void **array, int size) -{ - unsigned long pc, fp; - unsigned long ppc, pfp; - /* Return address(r15) is required in the signal handler case, since the - return address of the function which causes the signal may not be - recorded in the stack. */ - unsigned long retaddr; - - int count; - int rc = 0; - - __asm__ __volatile__ ("mfs %0, rpc" - : "=r"(pc)); - - __asm__ __volatile__ ("add %0, r1, r0" - : "=r"(fp)); - - array[0] = (void *) pc; - retaddr = 0; - for (count = 1; count < size; count++) - { - rc = lookup_prev_stack_frame (fp, pc, &pfp, &ppc, &retaddr); - - fp = pfp; - pc = ppc; - array[count] = (void *) pc; - if (rc) - return count; - } - return count; -} - -weak_alias (__backtrace, backtrace) -libc_hidden_def (__backtrace) diff --git a/ports/sysdeps/microblaze/backtrace_linux.c b/ports/sysdeps/microblaze/backtrace_linux.c deleted file mode 100644 index 309d7ef000..0000000000 --- a/ports/sysdeps/microblaze/backtrace_linux.c +++ /dev/null @@ -1,59 +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 <stddef.h> -#include <asm/sigcontext.h> -#include <linux/signal.h> -#include <asm-generic/ucontext.h> -#include <asm/unistd.h> - -int -_identify_sighandler (unsigned long fp, unsigned long pc, - unsigned long *pprev_fp, unsigned long *pprev_pc, - unsigned long *retaddr) -{ - unsigned long *tramp = 0; - struct ucontext *uc; - - if (*retaddr == 0) - { - /* Kernel inserts the tramp between the signal handler frame and the - caller frame in signal handling. */ - tramp = (unsigned long *) pc; - tramp += 2; - if ((*tramp == (0x31800000 | __NR_rt_sigreturn)) - && (*(tramp+1) == 0xb9cc0008)) - { - /* Signal handler function argument are: - int sig_num, siginfo_t * info, void * ucontext - therefore ucontext is the 3rd argument. */ - unsigned long ucptr = ((unsigned long) tramp - - sizeof (struct ucontext)); - uc = (struct ucontext *) ucptr; - *pprev_pc = uc->uc_mcontext.regs.pc; - /* Need to record the return address since the return address of the - function which causes this signal may not be recorded in the - stack. */ - *pprev_fp = uc->uc_mcontext.regs.r1; - *retaddr = uc->uc_mcontext.regs.r15; - /* It is a signal handler. */ - return 1; - } - } - return 0; -} diff --git a/ports/sysdeps/microblaze/bits/atomic.h b/ports/sysdeps/microblaze/bits/atomic.h deleted file mode 100644 index 77004a0284..0000000000 --- a/ports/sysdeps/microblaze/bits/atomic.h +++ /dev/null @@ -1,269 +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 <stdint.h> -#include <sysdep.h> - - -typedef int8_t atomic8_t; -typedef uint8_t uatomic8_t; -typedef int_fast8_t atomic_fast8_t; -typedef uint_fast8_t uatomic_fast8_t; - -typedef int32_t atomic32_t; -typedef uint32_t uatomic32_t; -typedef int_fast32_t atomic_fast32_t; -typedef uint_fast32_t uatomic_fast32_t; - -typedef intptr_t atomicptr_t; -typedef uintptr_t uatomicptr_t; -typedef intmax_t atomic_max_t; -typedef uintmax_t uatomic_max_t; - - -/* Microblaze does not have byte and halfword forms of load and reserve and - store conditional. So for microblaze we stub out the 8- and 16-bit forms. */ -#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \ - (abort (), 0) - -#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \ - (abort (), 0) - -#define __arch_compare_and_exchange_bool_8_rel(mem, newval, oldval) \ - (abort (), 0) - -#define __arch_compare_and_exchange_bool_16_rel(mem, newval, oldval) \ - (abort (), 0) - -#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \ - ({ \ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - int test; \ - __asm __volatile ( \ - " addc r0, r0, r0;" \ - "1: lwx %0, %3, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - " cmp %1, %0, %4;" \ - " bnei %1, 2f;" \ - " swx %5, %3, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - "2:" \ - : "=&r" (__tmp), \ - "=&r" (test), \ - "=m" (*__memp) \ - : "r" (__memp), \ - "r" (oldval), \ - "r" (newval) \ - : "cc", "memory"); \ - __tmp; \ - }) - -#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \ - (abort (), (__typeof (*mem)) 0) - -#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*mem) == 4) \ - __result = __arch_compare_and_exchange_val_32_acq (mem, newval, oldval); \ - else if (sizeof (*mem) == 8) \ - __result = __arch_compare_and_exchange_val_64_acq (mem, newval, oldval); \ - else \ - abort (); \ - __result; \ - }) - -#define atomic_compare_and_exchange_val_rel(mem, newval, oldval) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*mem) == 4) \ - __result = __arch_compare_and_exchange_val_32_acq (mem, newval, oldval); \ - else if (sizeof (*mem) == 8) \ - __result = __arch_compare_and_exchange_val_64_acq (mem, newval, oldval); \ - else \ - abort (); \ - __result; \ - }) - -#define __arch_atomic_exchange_32_acq(mem, value) \ - ({ \ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - int test; \ - __asm __volatile ( \ - " addc r0, r0, r0;" \ - "1: lwx %0, %4, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - " swx %3, %4, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - : "=&r" (__tmp), \ - "=&r" (test), \ - "=m" (*__memp) \ - : "r" (value), \ - "r" (__memp) \ - : "cc", "memory"); \ - __tmp; \ - }) - -#define __arch_atomic_exchange_64_acq(mem, newval) \ - (abort (), (__typeof (*mem)) 0) - -#define atomic_exchange_acq(mem, value) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*mem) == 4) \ - __result = __arch_atomic_exchange_32_acq (mem, value); \ - else if (sizeof (*mem) == 8) \ - __result = __arch_atomic_exchange_64_acq (mem, value); \ - else \ - abort (); \ - __result; \ - }) - -#define atomic_exchange_rel(mem, value) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*mem) == 4) \ - __result = __arch_atomic_exchange_32_acq (mem, value); \ - else if (sizeof (*mem) == 8) \ - __result = __arch_atomic_exchange_64_acq (mem, value); \ - else \ - abort (); \ - __result; \ - }) - -#define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - int test; \ - __asm __volatile ( \ - " addc r0, r0, r0;" \ - "1: lwx %0, %4, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - " add %1, %3, %0;" \ - " swx %1, %4, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - : "=&r" (__tmp), \ - "=&r" (test), \ - "=m" (*__memp) \ - : "r" (value), \ - "r" (__memp) \ - : "cc", "memory"); \ - __tmp; \ - }) - -#define __arch_atomic_exchange_and_add_64(mem, value) \ - (abort (), (__typeof (*mem)) 0) - -#define atomic_exchange_and_add(mem, value) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*mem) == 4) \ - __result = __arch_atomic_exchange_and_add_32 (mem, value); \ - else if (sizeof (*mem) == 8) \ - __result = __arch_atomic_exchange_and_add_64 (mem, value); \ - else \ - abort (); \ - __result; \ - }) - -#define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ - int test; \ - __asm __volatile ( \ - " addc r0, r0, r0;" \ - "1: lwx %0, %3, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - " addi %0, %0, 1;" \ - " swx %0, %3, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - : "=&r" (__val), \ - "=&r" (test), \ - "=m" (*mem) \ - : "r" (mem), \ - "m" (*mem) \ - : "cc", "memory"); \ - __val; \ - }) - -#define __arch_atomic_increment_val_64(mem) \ - (abort (), (__typeof (*mem)) 0) - -#define atomic_increment_val(mem) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*(mem)) == 4) \ - __result = __arch_atomic_increment_val_32 (mem); \ - else if (sizeof (*(mem)) == 8) \ - __result = __arch_atomic_increment_val_64 (mem); \ - else \ - abort (); \ - __result; \ - }) - -#define atomic_increment(mem) ({ atomic_increment_val (mem); (void) 0; }) - -#define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ - int test; \ - __asm __volatile ( \ - " addc r0, r0, r0;" \ - "1: lwx %0, %3, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - " rsubi %0, %0, 1;" \ - " swx %0, %3, r0;" \ - " addic %1, r0, 0;" \ - " bnei %1, 1b;" \ - : "=&r" (__val), \ - "=&r" (test), \ - "=m" (*mem) \ - : "r" (mem), \ - "m" (*mem) \ - : "cc", "memory"); \ - __val; \ - }) - -#define __arch_atomic_decrement_val_64(mem) \ - (abort (), (__typeof (*mem)) 0) - -#define atomic_decrement_val(mem) \ - ({ \ - __typeof (*(mem)) __result; \ - if (sizeof (*(mem)) == 4) \ - __result = __arch_atomic_decrement_val_32 (mem); \ - else if (sizeof (*(mem)) == 8) \ - __result = __arch_atomic_decrement_val_64 (mem); \ - else \ - abort (); \ - __result; \ - }) - -#define atomic_decrement(mem) ({ atomic_decrement_val (mem); (void) 0; }) diff --git a/ports/sysdeps/microblaze/bits/endian.h b/ports/sysdeps/microblaze/bits/endian.h deleted file mode 100644 index 49f000c4f7..0000000000 --- a/ports/sysdeps/microblaze/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 - -/* MicroBlaze can be either big or little endian. */ -#ifdef _BIG_ENDIAN -# define __BYTE_ORDER __BIG_ENDIAN -# define __FLOAT_WORD_ORDER __BIG_ENDIAN -#else -# define __BYTE_ORDER __LITTLE_ENDIAN -# define __FLOAT_WORD_ORDER __LITTLE_ENDIAN -#endif diff --git a/ports/sysdeps/microblaze/bits/fenv.h b/ports/sysdeps/microblaze/bits/fenv.h deleted file mode 100644 index 7622c258ee..0000000000 --- a/ports/sysdeps/microblaze/bits/fenv.h +++ /dev/null @@ -1,42 +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 _FENV_H -# error "Never use <bits/fenv.h> directly; include <fenv.h> instead." -#endif - -/* MicroBlaze supports only round-to-nearest. The software - floating-point support also acts this way. */ -enum - { - __FE_UNDEFINED = 0, - - FE_TONEAREST = -#define FE_TONEAREST 0x1 - FE_TONEAREST, - }; - -#define FE_ALL_EXCEPT 0 - -/* Type representing exception flags (if there were any). */ -typedef unsigned int fexcept_t; - -/* Type representing floating-point environment. */ -typedef unsigned int fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1l) diff --git a/ports/sysdeps/microblaze/bits/link.h b/ports/sysdeps/microblaze/bits/link.h deleted file mode 100644 index 588206e45d..0000000000 --- a/ports/sysdeps/microblaze/bits/link.h +++ /dev/null @@ -1,57 +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 Microblaze. */ -typedef struct La_microblaze_regs -{ - uint32_t lr_r0; - uint32_t lr_r1; - uint32_t lr_sp; -} La_microblaze_regs; - -/* Return values for calls from PLT on Microblaze. */ -typedef struct La_microblaze_retval -{ - uint32_t lrv_r3; -} La_microblaze_retval; - - -__BEGIN_DECLS - -extern Elf32_Addr la_microblaze_gnu_pltenter (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_microblaze_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); - -extern unsigned int la_microblaze_gnu_pltexit (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_microblaze_regs *__inregs, - La_microblaze_retval *__outregs, - const char *__symname); - -__END_DECLS diff --git a/ports/sysdeps/microblaze/bits/setjmp.h b/ports/sysdeps/microblaze/bits/setjmp.h deleted file mode 100644 index e90d6975b8..0000000000 --- a/ports/sysdeps/microblaze/bits/setjmp.h +++ /dev/null @@ -1,37 +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/>. */ - -/* Define the machine-dependent type `jmp_buf'. */ - -#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 - -typedef struct - { - /* There are 21 4-byte registers that should be saved: - r1, r2, r13-r31. Actually, there seems no need to save - r14, r16, r17, r18 (return addresses for interrupt/exception/trap). */ - int *__sp; /* dedicated name for r1. */ - long int __gregs[20]; - } __jmp_buf[1]; - -#endif diff --git a/ports/sysdeps/microblaze/bsd-_setjmp.S b/ports/sysdeps/microblaze/bsd-_setjmp.S deleted file mode 100644 index 37e55dfe01..0000000000 --- a/ports/sysdeps/microblaze/bsd-_setjmp.S +++ /dev/null @@ -1,22 +0,0 @@ -/* BSD `_setjmp' entry point to `sigsetjmp (..., 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/>. */ - -#define setjmp_name _setjmp -#define SAVEMASK 0 - -#include <setjmp.S> diff --git a/ports/sysdeps/microblaze/bsd-setjmp.S b/ports/sysdeps/microblaze/bsd-setjmp.S deleted file mode 100644 index 58f32f60cf..0000000000 --- a/ports/sysdeps/microblaze/bsd-setjmp.S +++ /dev/null @@ -1,22 +0,0 @@ -/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. - 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/>. */ - -#define setjmp_name setjmp -#define SAVEMASK 1 - -#include <setjmp.S> diff --git a/ports/sysdeps/microblaze/crti.S b/ports/sysdeps/microblaze/crti.S deleted file mode 100644 index 9a642027bf..0000000000 --- a/ports/sysdeps/microblaze/crti.S +++ /dev/null @@ -1,88 +0,0 @@ -/* Special .init and .fini section support for MicroBlaze. - 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. - - 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> -#include <sysdep.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 - - .section .init,"ax",@progbits - .align 2 - .globl _init - .type _init, @function -_init: - addik r1,r1,-32 - swi r20,r1,28 - mfs r20,rpc - addik r20,r20,_GLOBAL_OFFSET_TABLE_+8 - lwi r3,r20,PREINIT_FUNCTION@GOT -#if PREINIT_FUNCTION_WEAK - beqid r3,$Lno_weak_fn: - swi r15,r1,0 - brlid r15,PREINIT_FUNCTION@PLT -$Lno_weak_fn: -#else - swi r15,r1,0 - brald r15,r3 -#endif - nop # Unfilled delay slot - - .section .fini,"ax",@progbits - .align 2 - .globl _fini - .type _fini, @function -_fini: - addik r1,r1,-32 - swi r20,r1,28 - swi r15,r1,0 - mfs r20,rpc - addik r20,r20,_GLOBAL_OFFSET_TABLE_+8 diff --git a/ports/sysdeps/microblaze/crtn.S b/ports/sysdeps/microblaze/crtn.S deleted file mode 100644 index d7cfdc9962..0000000000 --- a/ports/sysdeps/microblaze/crtn.S +++ /dev/null @@ -1,51 +0,0 @@ -/* Special .init and .fini section support for MicroBlaze. - 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. */ - -#include <sysdep.h> - - .section .init,"ax",@progbits - lwi r15,r1,0 - lwi r20,r1,28 - rtsd r15,8 - addik r1,r1,32 - - .section .fini,"ax",@progbits - lwi r15,r1,0 - lwi r20,r1,28 - rtsd r15,8 - addik r1,r1,32 diff --git a/ports/sysdeps/microblaze/dl-machine.h b/ports/sysdeps/microblaze/dl-machine.h deleted file mode 100644 index 848e822106..0000000000 --- a/ports/sysdeps/microblaze/dl-machine.h +++ /dev/null @@ -1,298 +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 "microblaze" - -#include <sys/param.h> -#include <tls.h> - -/* Return nonzero iff ELF header is compatible with the running host. */ -static inline int -elf_machine_matches_host (const Elf32_Ehdr *ehdr) -{ - return (ehdr->e_machine == EM_MICROBLAZE); -} - -/* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. */ -static inline Elf32_Addr -elf_machine_dynamic (void) -{ - /* This produces a GOTOFF reloc that resolves to zero at link time, so in - fact just loads from the GOT register directly. By doing it without - an asm we can let the compiler choose any register. */ - - Elf32_Addr got_entry_0; - __asm__ __volatile__( - "lwi %0,r20,0" - :"=r"(got_entry_0) - ); - return got_entry_0; -} - -/* Return the run-time load address of the shared object. */ -static inline Elf32_Addr -elf_machine_load_address (void) -{ - /* Compute the difference between the runtime address of _DYNAMIC as seen - by a GOTOFF reference, and the link-time address found in the special - unrelocated first GOT entry. */ - - Elf32_Addr dyn; - __asm__ __volatile__ ( - "addik %0,r20,_DYNAMIC@GOTOFF" - : "=r"(dyn) - ); - return dyn - elf_machine_dynamic (); -} - -/* 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__ ((always_inline)) -elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) -{ - extern void _dl_runtime_resolve (Elf32_Word); - extern void _dl_runtime_profile (Elf32_Word); - - return lazy; -} - -/* The PLT uses Elf32_Rela relocs. */ -#define elf_machine_relplt elf_machine_rela - -/* Mask identifying addresses reserved for the user program, - where the dynamic linker should not map anything. */ -#define ELF_MACHINE_USER_ADDRESS_MASK 0x80000000UL - -/* Initial entry point code 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\ -_start:\n\ - addk r5,r0,r1\n\ - addk r3,r0,r0\n\ -1:\n\ - addik r5,r5,4\n\ - lw r4,r5,r0\n\ - bneid r4,1b\n\ - addik r3,r3,1\n\ - addik r3,r3,-1\n\ - addk r5,r0,r1\n\ - sw r3,r5,r0\n\ - addik r1,r1,-24\n\ - sw r15,r1,r0\n\ - brlid r15,_dl_start\n\ - nop\n\ - /* FALLTHRU. */\n\ -\n\ - .globl _dl_start_user\n\ - .type _dl_start_user,@function\n\ -_dl_start_user:\n\ - mfs r20,rpc\n\ - addik r20,r20,_GLOBAL_OFFSET_TABLE_+8\n\ - lwi r4,r20,_dl_skip_args@GOTOFF\n\ - lwi r5,r1,24\n\ - rsubk r5,r4,r5\n\ - addk r4,r4,r4\n\ - addk r4,r4,r4\n\ - addk r1,r1,r4\n\ - swi r5,r1,24\n\ - swi r3,r1,20\n\ - addk r6,r5,r0\n\ - addk r5,r5,r5\n\ - addk r5,r5,r5\n\ - addik r7,r1,28\n\ - addk r8,r7,r5\n\ - addik r8,r8,4\n\ - lwi r5,r20,_rtld_local@GOTOFF\n\ - brlid r15,_dl_init_internal\n\ - nop\n\ - lwi r5,r1,24\n\ - lwi r3,r1,20\n\ - addk r4,r5,r5\n\ - addk r4,r4,r4\n\ - addik r6,r1,28\n\ - addk r7,r6,r4\n\ - addik r7,r7,4\n\ - addik r15,r20,_dl_fini@GOTOFF\n\ - addik r15,r15,-8\n\ - brad r3\n\ - addik r1,r1,24\n\ - nop\n\ - .size _dl_start_user, . - _dl_start_user\n\ - .previous"); - -/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or - TLS variable, so undefined references should not be allowed to - define the value. - ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one - of the main executable's symbols, as for a COPY reloc. */ -#ifndef RTLD_BOOTSTRAP -# define elf_machine_type_class(type) \ - (((type) == R_MICROBLAZE_JUMP_SLOT || \ - (type) == R_MICROBLAZE_TLSDTPREL32 || \ - (type) == R_MICROBLAZE_TLSDTPMOD32 || \ - (type) == R_MICROBLAZE_TLSTPREL32) \ - * ELF_RTYPE_CLASS_PLT \ - | ((type) == R_MICROBLAZE_COPY) * ELF_RTYPE_CLASS_COPY) -#else -# define elf_machine_type_class(type) \ - (((type) == R_MICROBLAZE_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT \ - | ((type) == R_MICROBLAZE_COPY) * ELF_RTYPE_CLASS_COPY) -#endif - -/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ -#define ELF_MACHINE_JMP_SLOT R_MICROBLAZE_JUMP_SLOT - -/* The microblaze never uses Elf32_Rel relocations. */ -#define ELF_MACHINE_NO_REL 1 - -static inline Elf32_Addr -elf_machine_fixup_plt (struct link_map *map, lookup_t t, - const Elf32_Rela *reloc, - Elf32_Addr *reloc_addr, Elf32_Addr value) -{ - return *reloc_addr = value; -} - -/* Return the final value of a plt relocation. Ignore the addend. */ -static inline Elf32_Addr -elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, - Elf32_Addr value) -{ - return value; -} - -#endif /* !dl_machine_h. */ - -/* Names of the architecture-specific auditing callback functions. */ -#define ARCH_LA_PLTENTER microblaze_gnu_pltenter -#define ARCH_LA_PLTEXIT microblaze_gnu_pltexit - -#ifdef RESOLVE_MAP - -/* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - -/* Macro to put 32-bit relocation value into 2 words. */ -#define PUT_REL_64(rel_addr,val) \ - do { \ - ((unsigned short *)(rel_addr))[1] = (val) >> 16; \ - ((unsigned short *)(rel_addr))[3] = (val) & 0xffff; \ - } while (0) - -auto inline void __attribute__ ((always_inline)) -elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg, int skip_ifunc) -{ - Elf32_Addr *const reloc_addr = reloc_addr_arg; - const int r_type = ELF32_R_TYPE (reloc->r_info); - - if (__builtin_expect (r_type == R_MICROBLAZE_64_PCREL, 0)) - PUT_REL_64 (reloc_addr, map->l_addr + reloc->r_addend); - else if (r_type == R_MICROBLAZE_REL) - *reloc_addr = map->l_addr + reloc->r_addend; - else - { - const Elf32_Sym *const refsym = sym; - struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type); - Elf32_Addr value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value; - - value += reloc->r_addend; - if (r_type == R_MICROBLAZE_GLOB_DAT || - r_type == R_MICROBLAZE_JUMP_SLOT || - r_type == R_MICROBLAZE_32) - { - *reloc_addr = value; - } - else if (r_type == R_MICROBLAZE_COPY) - { - if (sym != NULL && (sym->st_size > refsym->st_size - || (sym->st_size < refsym->st_size && GLRO (dl_verbose))) ) - { - 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)); - } - else if (r_type == R_MICROBLAZE_NONE) - { - } -#if !defined RTLD_BOOTSTRAP - else if (r_type == R_MICROBLAZE_TLSDTPMOD32) - { - if (sym_map != NULL) - *reloc_addr = sym_map->l_tls_modid; - } - else if (r_type == R_MICROBLAZE_TLSDTPREL32) - { - if (sym != NULL) - *reloc_addr = sym->st_value + reloc->r_addend; - } - else if (r_type == R_MICROBLAZE_TLSTPREL32) - { - if (sym != NULL) - { - CHECK_STATIC_TLS (map, sym_map); - *reloc_addr = sym->st_value + sym_map->l_tls_offset + reloc->r_addend; - } - } -#endif - else - { - _dl_reloc_bad_type (map, r_type, 0); - } - } -} - -auto inline void -elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, - void *const reloc_addr_arg) -{ - Elf32_Addr *const reloc_addr = reloc_addr_arg; - PUT_REL_64 (reloc_addr, l_addr + reloc->r_addend); -} - -auto inline void -elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rela *reloc, - int skip_ifunc) -{ - Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset); - if (ELF32_R_TYPE (reloc->r_info) == R_MICROBLAZE_JUMP_SLOT) - *reloc_addr += l_addr; - else - _dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 1); -} - -#endif /* RESOLVE_MAP. */ diff --git a/ports/sysdeps/microblaze/dl-tls.h b/ports/sysdeps/microblaze/dl-tls.h deleted file mode 100644 index 1ba8c97569..0000000000 --- a/ports/sysdeps/microblaze/dl-tls.h +++ /dev/null @@ -1,29 +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/microblaze/dl-trampoline.S b/ports/sysdeps/microblaze/dl-trampoline.S deleted file mode 100644 index 1cc7c1ab12..0000000000 --- a/ports/sysdeps/microblaze/dl-trampoline.S +++ /dev/null @@ -1,109 +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> - -#ifndef PROF - - .text - .globl _dl_runtime_resolve - .type _dl_runtime_resolve, @function - .align 4 -_dl_runtime_resolve: - addik r1,r1,-40 - swi r5,r1,12 - swi r6,r1,16 - swi r7,r1,20 - swi r8,r1,24 - swi r9,r1,28 - swi r10,r1,32 - swi r15,r1,0 - addk r5,r0,r4 - brlid r15, _dl_fixup - addk r6,r0,r3; /* delay slot. */ - lwi r10,r1,32 - lwi r9,r1,28 - lwi r8,r1,24 - lwi r7,r1,20 - lwi r6,r1,16 - lwi r5,r1,12 - lwi r15,r1,0 - brad r3 - addik r1,r1,40; /* delay slot. */ - .size _dl_runtime_resolve, . - _dl_runtime_resolve - - .text - .globl _dl_runtime_profile - .type _dl_runtime_profile, @function - .align 4 -_dl_runtime_profile: - addik r1,r1,-40 - swi r5,r1,12 - swi r6,r1,16 - swi r7,r1,20 - swi r8,r1,24 - swi r9,r1,28 - swi r10,r1,32 - swi r15,r1,0 - addk r5,r0,r4 - brlid r15, _dl_profile_fixup - addk r6,r0,r3; /* delay slot. */ - lwi r10,r1,32 - lwi r9,r1,28 - lwi r8,r1,24 - lwi r7,r1,20 - lwi r6,r1,16 - lwi r5,r1,12 - lwi r15,r1,0 - brad r3 - addik r1,r1,40; /* delay slot. */ - .size _dl_runtime_profile, . - _dl_runtime_profile - -#else - - .text - .globl _dl_runtime_resolve - .type _dl_runtime_resolve, @function - .align 4 -_dl_runtime_resolve: - addik r1,r1,-40 - swi r5,r1,12 - swi r6,r1,16 - swi r7,r1,20 - swi r8,r1,24 - swi r9,r1,28 - swi r10,r1,32 - swi r15,r1,0 - addk r5,r0,r4 - brlid r15, fixup - addk r6,r0,r3; /* delay slot. */ - lwi r10,r1,32 - lwi r9,r1,28 - lwi r8,r1,24 - lwi r7,r1,20 - lwi r6,r1,16 - lwi r5,r1,12 - lwi r15,r1,0 - brad r3 - addik r1,r1,40; /* delay slot. */ - .size _dl_runtime_resolve, . - _dl_runtime_resolve - .globl _dl_runtime_profile - .set _dl_runtime_profile, _dl_runtime_resolve - -#endif diff --git a/ports/sysdeps/microblaze/gccframe.h b/ports/sysdeps/microblaze/gccframe.h deleted file mode 100644 index 9e43785bbd..0000000000 --- a/ports/sysdeps/microblaze/gccframe.h +++ /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/>. */ - -#define FIRST_PSEUDO_REGISTER 78 - -#include <sysdeps/generic/gccframe.h> diff --git a/ports/sysdeps/microblaze/jmpbuf-unwind.h b/ports/sysdeps/microblaze/jmpbuf-unwind.h deleted file mode 100644 index e17a0853a1..0000000000 --- a/ports/sysdeps/microblaze/jmpbuf-unwind.h +++ /dev/null @@ -1,46 +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 <stdint.h> -#include <unwind.h> -#include <sysdep.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)[0].__sp)) - -#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \ - _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj) - -static inline uintptr_t __attribute__ ((unused)) -_jmpbuf_sp (__jmp_buf regs) -{ - uintptr_t sp = regs[0].__sp; -#ifdef PTR_DEMANGLE - PTR_DEMANGLE (sp); -#endif - return sp; -} - -#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/microblaze/ldsodefs.h b/ports/sysdeps/microblaze/ldsodefs.h deleted file mode 100644 index 13d972a7b7..0000000000 --- a/ports/sysdeps/microblaze/ldsodefs.h +++ /dev/null @@ -1,45 +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 _MICROBLAZE_LDSODEFS_H -#define _MICROBLAZE_LDSODEFS_H 1 - -#include <elf.h> - -struct La_microblaze_regs; -struct La_microblaze_retval; - -#define ARCH_PLTENTER_MEMBERS \ - Elf32_Addr (*microblaze_gnu_pltenter) (Elf32_Sym *, unsigned int, \ - uintptr_t *, \ - uintptr_t *, \ - struct La_microblaze_regs *, \ - unsigned int *, const char *name, \ - long int *framesizep); - -#define ARCH_PLTEXIT_MEMBERS \ - unsigned int (*microblaze_gnu_pltexit) (Elf32_Sym *, unsigned int, \ - uintptr_t *, \ - uintptr_t *, \ - const struct La_microblaze_regs *, \ - struct La_microblaze_retval *, \ - const char *); - -#include_next <ldsodefs.h> - -#endif diff --git a/ports/sysdeps/microblaze/libc-tls.c b/ports/sysdeps/microblaze/libc-tls.c deleted file mode 100644 index 81cdad8470..0000000000 --- a/ports/sysdeps/microblaze/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 Microblaze, 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/microblaze/libm-test-ulps b/ports/sysdeps/microblaze/libm-test-ulps deleted file mode 100644 index 60bdc4758d..0000000000 --- a/ports/sysdeps/microblaze/libm-test-ulps +++ /dev/null @@ -1,5460 +0,0 @@ -# Begin of automatic generation - -# acosh -Test "acosh (0x6.4p+4)": -double: 1 -idouble: 1 -Test "acosh (0xf.ffffffffffff8p+1020)": -double: 1 - -# asinh -Test "asinh (-0xf.ffffffffffff8p+1020)": -double: 1 -Test "asinh (0xap+0)": -float: 1 -ifloat: 1 -Test "asinh (0xf.ffffffffffff8p+1020)": -double: 1 - -# atan2 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1d8p-12)": -float: 1 -ifloat: 1 -Test "atan2 (-0xcp-4, -0x1p+0)": -float: 1 -ifloat: 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.64p+0, 0xe.ep-4)": -float: 1 -ifloat: 1 -Test "atan2 (0xcp-4, -0x1p+0)": -float: 1 -ifloat: 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 (0xcp-4)": -float: 1 -ifloat: 1 - -# cacos -Test "Imaginary part of: cacos (+0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (+0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (+0 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (+0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (+0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (+0 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0 - 1.5 i)": -double: 1 -idouble: 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 -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 -Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 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 -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.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.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 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 -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 -Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 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 -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 -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 -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 -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 -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 -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 -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 -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 -Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 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-23 + 0.0 i)": -float: 1 -ifloat: 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 -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 -Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-0x1p-23 - 0.0 i)": -float: 1 -ifloat: 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 -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 -Test "Real part of: cacos (-0x1p-23 - 0x1p-23 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 -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 -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 "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 "Real part of: cacos (-0x1p-63 - 0x1p-63 i)": -float: 1 -ifloat: 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 -Test "Real part of: cacos (-1.0 + 0x1p50 i)": -float: 1 -ifloat: 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 -Test "Real part of: cacos (-1.0 - 0x1p50 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-2 - 3 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0.25 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0.25 - 1.0 i)": -float: 1 -ifloat: 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 -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 -Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-63 i)": -double: 1 -idouble: 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 -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 -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 -Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-63 i)": -double: 1 -idouble: 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 -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 "Real part of: cacos (0x0.ffffffp0 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)": -float: 1 -ifloat: 1 -Test "Real 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 "Real part of: cacos (0x0.ffffffp0 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)": -float: 1 -ifloat: 1 -Test "Real 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 "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 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 "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 (0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary 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 "Imaginary part of: cacos (0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -Test "Imaginary 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 -Test "Imaginary 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 "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 -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 - -# cacosh -Test "Real part of: cacosh (+0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (+0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (+0 + 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (+0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (+0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (+0 - 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (-0 + 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (-0 - 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0.25 + 1.0 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacosh (-0.25 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real 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 -Test "Real 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 -Test "Real part of: cacosh (-0.5 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real 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 -Test "Real 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 -Test "Real part of: cacosh (-0.5 - 1.0 i)": -double: 1 -idouble: 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.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.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 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 -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 -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 -Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 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 -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 -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 -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 -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 -Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -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 -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 -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 "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -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 -Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -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 -Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 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 -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 -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 "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 "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (-2 - 3 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0.25 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0.25 - 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 -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 -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 -Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)": -double: 1 -idouble: 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 -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 -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 -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 -Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)": -double: 1 -idouble: 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 -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 "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -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 -Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 (0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-105 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-112 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-112 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real 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 "Real 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 "Real part of: cacosh (0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)": -float: 2 -ifloat: 2 -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 -Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)": -float: 2 -ifloat: 2 - -# casin -Test "Imaginary part of: casin (+0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (+0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (+0 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (+0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (+0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (+0 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.25 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0.25 - 1.0 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 + 1.0 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (-0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 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 -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 -Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)": -float: 1 -ifloat: 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-23 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -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 -Test "Real part of: casin (-0x1p-23 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -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 -Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (-1.0 + 0.25 i)": -double: 1 -idouble: 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 -Test "Real part of: casin (-1.0 - 0.25 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: casin (0.25 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0.25 - 1.0 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casin (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 + 1.0 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: casin (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 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 -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 -Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 (0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-105 - 0.5 i)": -float: 1 -ifloat: 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-23 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-23 + 0.5 i)": -float: 1 -ifloat: 1 -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 -Test "Real part of: casin (0x1p-23 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-23 - 0.5 i)": -float: 1 -ifloat: 1 -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 -Test "Imaginary part of: casin (0x1p-52 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-52 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (1.0 + 0.25 i)": -double: 1 -idouble: 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 -Test "Real part of: casin (1.0 - 0.25 i)": -double: 1 -idouble: 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 - -# casinh -Test "Imaginary part of: casinh (-0.25 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0.25 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0.5 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 + 0x1p-52 i)": -float: 1 -ifloat: 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 -Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-0.5 - 0x1p-52 i)": -float: 1 -ifloat: 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 (-0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-105 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-105 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-112 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-112 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1p-23 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 + 0.25 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 + 0.5 i)": -double: 1 -idouble: 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 -Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 - 0.25 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 - 0.5 i)": -double: 1 -idouble: 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 -Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-1.5 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.5 - 0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0.25 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0.25 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0.5 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 + 0x1.fp-129 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 + 0x1p-52 i)": -float: 1 -ifloat: 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 -Test "Real part of: casinh (0.5 - 0x1.fp-129 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (0.5 - 0x1p-52 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: casinh (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (0x1.fp-10 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0x1.fp-10 - 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0x1.fp-129 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1.fp-129 - 0.5 i)": -double: 1 -idouble: 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 (0x1p-105 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-105 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-112 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-112 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-23 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0x1p-23 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)": -float: 2 -ifloat: 2 -Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 + 0.25 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 + 0.5 i)": -double: 1 -idouble: 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 -Test "Real part of: casinh (1.0 + 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 - 0.25 i)": -float: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 - 0.5 i)": -double: 1 -idouble: 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 -Test "Real part of: casinh (1.0 - 0x1.fp-100 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (1.5 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.5 - 0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (1.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 - -# catan -Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -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 -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 (-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-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 -Test "Real part of: catan (-1.0 - 0x1p-13 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catan (-2 - 3 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -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 -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 (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-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 -Test "Real part of: catan (1.0 - 0x1p-13 i)": -float: 1 -ifloat: 1 - -# catanh -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 "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)": -float: 1 -ifloat: 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 -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 -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 (-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-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-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 -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 "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)": -float: 1 -ifloat: 1 -Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -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 (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-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-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.18937p-12)": -float: 1 -ifloat: 1 -Test "cbrt (0xcp-4)": -double: 1 -idouble: 1 -Test "cbrt (0xf.ep-4)": -double: 1 -idouble: 1 - -# ccos -Test "Imaginary part of: ccos (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c68p+8 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 + 0x5.98p+4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c68p+8 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccos (-0xcp-4 - 0x5.98p+4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0x4p-1076 + 0x5.ap+8 i)": -double: 1 -idouble: 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.c68p+8 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccos (0xcp-4 + 0x5.98p+4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0xcp-4 - 0x2.c68p+8 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ccos (0xcp-4 - 0x5.98p+4 i)": -float: 1 -ifloat: 1 - -# ccosh -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 -Test "Real part of: ccosh (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (-0x5.98p+4 + 0xcp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (-0x5.98p+4 - 0xcp-4 i)": -float: 1 -ifloat: 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 -Test "Imaginary part of: ccosh (0x5.98p+4 + 0xcp-4 i)": -float: 1 -ifloat: 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 (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 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 "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 -Test "Real part of: cexp (0x3.2p+4 + 0x8p+124 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)": -double: 1 -idouble: 1 -Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)": -float: 2 -ifloat: 2 -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 - -# clog -Test "Real part of: clog (+0 + 0x4p-1076 i)": -double: 1 -idouble: 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 (-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 "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 "Imaginary part of: clog (-0x8p-152 - 0xf.fffffp+124 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+124 - 0x8p-152 i)": -float: 1 -ifloat: 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 -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 -Test "Real part of: clog (0x1.000002p+0 + 0x1.234568p-60 i)": -float: 1 -ifloat: 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 "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 "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)": -double: 1 -idouble: 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.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x2p-148 + 0x2p-148 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)": -double: 1 -idouble: 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 -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 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)": -double: 1 -idouble: 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.8e3d6p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d08p-4 i)": -double: 1 -idouble: 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 -Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)": -double: 1 -idouble: 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 "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 "Real part of: clog (0x4p-1076 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x4p-1076 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x5.03p-4 + 0xf.31ep-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x5.318c596a8cb1p-4 + 0xf.22364p-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 "Imaginary part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)": -float: 1 -ifloat: 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 -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.02fd5p-4 + 0xe.d3e21p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2p-4 i)": -double: 1 -idouble: 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.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)": -double: 1 -idouble: 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 "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb44925p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655fp-4 i)": -double: 1 -idouble: 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.e655fp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)": -double: 1 -idouble: 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.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.47946p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)": -double: 1 -idouble: 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+124 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-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.ae53dp-4 i)": -double: 1 -idouble: 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.ae53de1d5a7dp-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53dp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867ap-4 i)": -float: 1 -ifloat: 1 -Test "Real 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 "Real part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51cbp-4 i)": -double: 1 -idouble: 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 "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a68p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 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+124 - 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xf.fffffp+124 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xf.fffffp-4 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffp-104 i)": -float: 1 -ifloat: 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 -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 -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 "Imaginary part of: clog10 (-2 - 3 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 + 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 "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 -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 -Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)": -float: 1 -ifloat: 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 "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)": -double: 1 -idouble: 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 "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 -Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)": -double: 1 -idouble: 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 -Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)": -double: 1 -idouble: 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 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)": -double: 1 -idouble: 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 (0x1p+120)": -float: 1 -ifloat: 1 -Test "cos (0x7p+0)": -float: 1 -ifloat: 1 -Test "cos (0x8p+124)": -float: 1 -ifloat: 1 -Test "cos (0xc.d4967p-4)": -float: 1 -ifloat: 1 - -# cos_tonearest -Test "cos_tonearest (0x1p+120)": -float: 1 -ifloat: 1 -Test "cos_tonearest (0x7p+0)": -float: 1 -ifloat: 1 -Test "cos_tonearest (0x8p+124)": -float: 1 -ifloat: 1 -Test "cos_tonearest (0xc.d4967p-4)": -float: 1 -ifloat: 1 - -# cosh -Test "cosh (-0x1p+0)": -float: 1 -ifloat: 1 -Test "cosh (-0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh (0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh (0x2.c679dp+8)": -double: 1 -idouble: 1 - -# cosh_tonearest -Test "cosh_tonearest (-0x1p+0)": -float: 1 -ifloat: 1 -Test "cosh_tonearest (-0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh_tonearest (-0x2.c679dp+8)": -double: 1 -idouble: 1 -Test "cosh_tonearest (0x2.c5e3acp+8)": -double: 1 -idouble: 1 -Test "cosh_tonearest (0x2.c679dp+8)": -double: 1 -idouble: 1 - -# cpow -Test "Real part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)": -double: 1 -float: 4 -idouble: 1 -ifloat: 4 -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 "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + 0x1p+0 i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -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 - -# csin -Test "Real part of: csin (-0.75 + 710.5 i)": -double: 1 -idouble: 1 -Test "Real part of: csin (-0.75 + 89.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: csin (-0.75 - 710.5 i)": -double: 1 -idouble: 1 -Test "Real part of: csin (-0.75 - 89.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: csin (0.75 + 710.5 i)": -double: 1 -idouble: 1 -Test "Real part of: csin (0.75 + 89.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: csin (0.75 - 710.5 i)": -double: 1 -idouble: 1 -Test "Real part of: csin (0.75 - 89.5 i)": -float: 1 -ifloat: 1 -Test "Real part of: csin (0x1p-1074 + 1440 i)": -double: 1 -idouble: 1 - -# csinh -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 -Test "Imaginary part of: csinh (-710.5 - 0.75 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csinh (-89.5 + 0.75 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: csinh (-89.5 - 0.75 i)": -float: 1 -ifloat: 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 (1440 + 0x1p-1074 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csinh (710.5 + 0.75 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csinh (710.5 - 0.75 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csinh (89.5 + 0.75 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: csinh (89.5 - 0.75 i)": -float: 1 -ifloat: 1 - -# csqrt -Test "Real part of: csqrt (-0x2p+0 + 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: csqrt (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: csqrt (-0x4.000008p-128 - 0x4.000008p-128 i)": -double: 1 -idouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4p-1076 i)": -double: 1 -idouble: 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.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x8p+1020 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x8p+124 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p-152 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0x1p+0 i)": -float: 1 -ifloat: 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 -Test "Real part of: ctan (0x1.921fb4p+0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0x1.921fb54442d19p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctan (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 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 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# ctanh -Test "Imaginary part of: ctanh (+0 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 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: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -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 -idouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -idouble: 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 -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 -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 -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 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (0xcp-4 + 0x1.4p+0 i)": -float: 2 -ifloat: 2 - -# ctanh_tonearest -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 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: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -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 -idouble: 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.fffffp+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -idouble: 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 -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 -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 -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 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)": -float: 2 -ifloat: 2 - -# erf -Test "erf (0x1.4p+0)": -double: 1 -idouble: 1 - -# erfc -Test "erfc (-0x8p-4)": -float: 1 -ifloat: 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 (0x7.fe8008p+0)": -float: 1 -ifloat: 1 -Test "erfc (0x7.fffd6p+0)": -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 -Test "exp10 (0x2.4p+4)": -double: 1 -idouble: 1 -Test "exp10 (0x3p+0)": -double: 1 -idouble: 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 -Test "exp10_tonearest (0x2.4p+4)": -double: 1 -idouble: 1 -Test "exp10_tonearest (0x3p+0)": -double: 1 -idouble: 1 - -# expm1 -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_tonearest -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 - -# gamma -Test "gamma (-0x1p-20)": -double: 1 -idouble: 1 -Test "gamma (-0x2p-16)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "gamma (-0x4p-12)": -double: 1 -idouble: 1 -Test "gamma (-0x8p-8)": -double: 1 -idouble: 1 -Test "gamma (0x4p-12)": -float: 1 -ifloat: 1 -Test "gamma (0x4p-32)": -double: 1 -idouble: 1 -Test "gamma (0xb.333333333333p-4)": -double: 1 -idouble: 1 -Test "gamma (0xb.33333p-4)": -double: 1 -idouble: 1 - -# hypot -Test "hypot (-0xb.33334p-4, -0xc.6666666666668p+0)": -double: 1 -idouble: 1 -Test "hypot (-0xb.33334p-4, 0xc.6666666666668p+0)": -double: 1 -idouble: 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 (0xb.33334p-4, -0xc.6666666666668p+0)": -double: 1 -idouble: 1 -Test "hypot (0xb.33334p-4, 0xc.6666666666668p+0)": -double: 1 -idouble: 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 - -# j0 -Test "j0 (-0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "j0 (-0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -Test "j0 (0x2p+0)": -float: 2 -ifloat: 2 -Test "j0 (0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "j0 (0x8p+0)": -float: 1 -ifloat: 1 -Test "j0 (0xap+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "j0 (0xcp-4)": -float: 1 -ifloat: 1 -Test "j0 (0xe.be71dp+104)": -float: 2 -ifloat: 2 -Test "j0 (0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -# j1 -Test "j1 (0x1.ff00000000002p+840)": -double: 1 -idouble: 1 -Test "j1 (0x2p+0)": -double: 1 -idouble: 1 -Test "j1 (0x4.ffcp+72)": -double: 1 -idouble: 1 -Test "j1 (0x8p+0)": -double: 1 -idouble: 1 -Test "j1 (0xap+0)": -float: 2 -ifloat: 2 -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 -Test "jn (0, 0x2p+0)": -float: 2 -ifloat: 2 -Test "jn (0, 0x4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (0, 0x8p+0)": -float: 1 -ifloat: 1 -Test "jn (0, 0xap+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "jn (0, 0xcp-4)": -float: 1 -ifloat: 1 -Test "jn (1, 0x2p+0)": -double: 1 -idouble: 1 -Test "jn (1, 0x8p+0)": -double: 1 -idouble: 1 -Test "jn (1, 0xap+0)": -float: 2 -ifloat: 2 -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 -Test "jn (10, 0xap+0)": -double: 4 -float: 2 -idouble: 4 -ifloat: 2 -Test "jn (10, 0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (2, 0x2.67a2a4p+0)": -float: 1 -ifloat: 1 -Test "jn (2, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (2, 0x2.67a2a5d2e368p+0)": -double: 2 -idouble: 2 -Test "jn (2, 0x2.67a2a8p+0)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -Test "jn (2, 0x8p+124)": -double: 1 -idouble: 1 -Test "jn (2, 0xf.fffb1p+96)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -Test "jn (2, 0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -Test "jn (3, 0x2.67a2a4p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "jn (3, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (3, 0x2.67a2a5d2e368p+0)": -double: 3 -idouble: 3 -Test "jn (3, 0x2.67a2a8p+0)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -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 -Test "jn (3, 0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (4, 0x2.67a2a4p+0)": -float: 1 -ifloat: 1 -Test "jn (4, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (4, 0x2.67a2a5d2e368p+0)": -double: 1 -idouble: 1 -Test "jn (4, 0x2.67a2a8p+0)": -float: 1 -ifloat: 1 -Test "jn (5, 0x2.67a2a4p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (5, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (5, 0x2.67a2a5d2e368p+0)": -double: 2 -idouble: 2 -Test "jn (5, 0x2.67a2a8p+0)": -float: 2 -ifloat: 2 -Test "jn (6, 0x2.67a2a4p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "jn (6, 0x2.67a2a5d2e3682p+0)": -double: 2 -idouble: 2 -Test "jn (6, 0x2.67a2a5d2e368p+0)": -double: 4 -idouble: 4 -Test "jn (6, 0x2.67a2a8p+0)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -Test "jn (7, 0x2.67a2a4p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "jn (7, 0x2.67a2a5d2e368p+0)": -double: 3 -idouble: 3 -Test "jn (7, 0x2.67a2a8p+0)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -Test "jn (8, 0x2.67a2a4p+0)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -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: 2 -float: 4 -idouble: 2 -ifloat: 4 -Test "jn (9, 0x2.67a2a4p+0)": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 -Test "jn (9, 0x2.67a2a5d2e3682p+0)": -double: 4 -idouble: 4 -Test "jn (9, 0x2.67a2a5d2e368p+0)": -double: 1 -idouble: 1 -Test "jn (9, 0x2.67a2a8p+0)": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -# lgamma -Test "lgamma (-0x1p-20)": -double: 1 -idouble: 1 -Test "lgamma (-0x2p-16)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "lgamma (-0x4p-12)": -double: 1 -idouble: 1 -Test "lgamma (-0x8p-8)": -double: 1 -idouble: 1 -Test "lgamma (0x4p-12)": -float: 1 -ifloat: 1 -Test "lgamma (0x4p-32)": -double: 1 -idouble: 1 -Test "lgamma (0xb.333333333333p-4)": -double: 1 -idouble: 1 -Test "lgamma (0xb.33333p-4)": -double: 1 -idouble: 1 - -# log -Test "log (0x2.b7e15p+0)": -float: 1 -ifloat: 1 - -# log10 -Test "log10 (0x2.b7e154p+0)": -float: 1 -ifloat: 1 -Test "log10 (0xcp-4)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -# log1p -Test "log1p (-0x4p-4)": -float: 1 -ifloat: 1 -Test "log1p (0x1.b7e15p+0)": -float: 1 -ifloat: 1 - -# pow -Test "pow (0x1.000002p+0, 0x1p+24)": -float: 1 -ifloat: 1 -Test "pow (0xf.fffffp-4, -0x1p+24)": -float: 1 -ifloat: 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 -Test "pow10 (0x2.4p+4)": -double: 1 -idouble: 1 -Test "pow10 (0x3p+0)": -double: 1 -idouble: 1 - -# pow_tonearest -Test "pow_tonearest (0x1.000002p+0, 0x1p+24)": -float: 1 -ifloat: 1 -Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)": -float: 1 -ifloat: 1 -Test "pow_tonearest (0xf.fffffp-4, 0x1p+24)": -float: 1 -ifloat: 1 - -# sin -Test "sin (0x1p+0)": -float: 1 -ifloat: 1 - -# sin_tonearest -Test "sin_tonearest (0x1p+0)": -float: 1 -ifloat: 1 - -# sincos -Test "sincos (0x1.0c1522p+0) extra output 1": -float: 1 -ifloat: 1 -Test "sincos (0x1p+120) extra output 2": -float: 1 -ifloat: 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 2": -float: 1 -ifloat: 1 - -# tgamma -Test "tgamma (-0x1.000002p+0)": -double: 2 -idouble: 2 -Test "tgamma (-0x1.3ffffep+4)": -float: 2 -ifloat: 2 -Test "tgamma (-0x1.4000000000001p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x1.400002p+4)": -float: 1 -ifloat: 1 -Test "tgamma (-0x1.dffffep+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x1.e000000000001p+4)": -double: 3 -idouble: 3 -Test "tgamma (-0x1.e00002p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x2.0000000000002p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.000004p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (-0x2.146544p+4)": -float: 2 -ifloat: 2 -Test "tgamma (-0x2.7fffffffffffep+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.8000000000002p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.800004p+4)": -double: 2 -idouble: 2 -Test "tgamma (-0x2.8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "tgamma (-0x2.900004p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.9ffffcp+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.fffffcp+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x3.000004p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "tgamma (-0x3.1ffffcp+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x3.1fffffffffffep+4)": -double: 3 -idouble: 3 -Test "tgamma (-0x3.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x3.fffffcp+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x3.ffffffffffffep+0)": -double: 2 -idouble: 2 -Test "tgamma (-0x4.000008p+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0x4.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x4.fffff8p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x4.ffffffffffffcp+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x5.000008p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x5.8p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x5.ffffffffffffcp+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x6.000008p+0)": -float: 2 -ifloat: 2 -Test "tgamma (-0x6.3fffffffffffcp+4)": -double: 2 -idouble: 2 -Test "tgamma (-0x6.4000000000004p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x6.400008p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x6.8p+0)": -float: 1 -ifloat: 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 (-0x7.0000000000004p+0)": -double: 3 -idouble: 3 -Test "tgamma (-0x7.000008p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 (-0x8.00001p+0)": -double: 2 -idouble: 2 -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.6000000000008p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x9.60001p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0x9.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x9.ffffffffffff8p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x9.fffffp+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0xa.00001p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0xa.c0001p+4)": -double: 1 -idouble: 1 -Test "tgamma (-0xf.ffffffffffff8p-4)": -double: 1 -idouble: 1 -Test "tgamma (-0xf.fffffp-4)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.28p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x1.38p+4)": -double: 2 -idouble: 2 -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.e8p+4)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.fffffep+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.fffffffffffffp+0)": -double: 1 -idouble: 1 -Test "tgamma (0x1p-24)": -float: 1 -ifloat: 1 -Test "tgamma (0x2.18p+4)": -float: 1 -ifloat: 1 -Test "tgamma (0x2.28p+4)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "tgamma (0x2.30a43cp+4)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "tgamma (0x2.8p+0)": -float: 2 -ifloat: 2 -Test "tgamma (0x2.fffffcp+0)": -float: 3 -ifloat: 3 -Test "tgamma (0x3.8p+0)": -float: 2 -ifloat: 2 -Test "tgamma (0x3.fffffcp+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x3.ffffffffffffep+0)": -double: 1 -idouble: 1 -Test "tgamma (0x3p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x4.0000000000004p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x4.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x4.ffffffffffffcp+0)": -double: 1 -idouble: 1 -Test "tgamma (0x4p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x5.0000000000004p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x5.000008p+0)": -float: 2 -ifloat: 2 -Test "tgamma (0x5.fffff8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0x6.0000000000004p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x6.000008p+0)": -float: 2 -ifloat: 2 -Test "tgamma (0x6.8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x6.fffff8p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x6.ffffffffffffcp+0)": -double: 4 -idouble: 4 -Test "tgamma (0x6p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x7.0000000000004p+0)": -double: 4 -idouble: 4 -Test "tgamma (0x7.000008p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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 -Test "tgamma (0x7p+0)": -double: 1 -idouble: 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-4)": -float: 1 -ifloat: 1 -Test "tgamma (0x8p-56)": -double: 1 -idouble: 1 -Test "tgamma (0x9.8p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x9p+0)": -double: 1 -idouble: 1 -Test "tgamma (0xa.b9fd72b0fb238p+4)": -double: 1 -idouble: 1 -Test "tgamma (0xa.b9fd7p+4)": -double: 2 -idouble: 2 -Test "tgamma (0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# y0 -Test "y0 (0x1.8p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "y0 (0x1.ff00000000002p+840)": -double: 1 -idouble: 1 -Test "y0 (0x1p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "y0 (0x1p-20)": -float: 1 -ifloat: 1 -Test "y0 (0x1p-40)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y0 (0x1p-80)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y0 (0x4.ffcp+72)": -double: 1 -idouble: 1 -Test "y0 (0x4p-112)": -double: 1 -idouble: 1 -Test "y0 (0x4p-12)": -double: 1 -idouble: 1 -Test "y0 (0x4p-32)": -float: 1 -ifloat: 1 -Test "y0 (0x4p-52)": -float: 1 -ifloat: 1 -Test "y0 (0x4p-72)": -double: 1 -idouble: 1 -Test "y0 (0x8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y0 (0xap+0)": -float: 1 -ifloat: 1 -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 -Test "y1 (0x2p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y1 (0x2p-4)": -double: 1 -idouble: 1 -Test "y1 (0x4p-12)": -double: 1 -idouble: 1 -Test "y1 (0x8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "y1 (0x9.3f102p+96)": -double: 1 -idouble: 1 -Test "y1 (0xap+0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "y1 (0xf.fffffp+124)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -# yn -Test "yn (-10, 0x1p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -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, 0x8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (0, 0xap+0)": -float: 1 -ifloat: 1 -Test "yn (1, 0x1.8p+0)": -float: 1 -ifloat: 1 -Test "yn (1, 0x2p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (1, 0x2p-4)": -double: 1 -idouble: 1 -Test "yn (1, 0x8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "yn (1, 0xap+0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "yn (10, 0x1p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "yn (10, 0x2p+0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "yn (10, 0x2p-4)": -double: 1 -idouble: 1 -Test "yn (10, 0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (10, 0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (2, 0x8p+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (2, 0xf.fffb1p+96)": -double: 1 -idouble: 1 -Test "yn (2, 0xf.ffffffffffff8p+1020)": -double: 1 -idouble: 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 -Test "yn (3, 0xcp-4)": -double: 1 -idouble: 1 - -# Maximal error of functions: -Function: "acosh": -double: 1 -idouble: 1 - -Function: "asinh": -double: 1 -float: 1 -ifloat: 1 - -Function: "atan2": -float: 1 -ifloat: 1 - -Function: "atanh": -float: 1 -ifloat: 1 - -Function: Real part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "casin": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "casinh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "casinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "catan": -float: 1 -ifloat: 1 - -Function: Imaginary part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "catanh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "catanh": -float: 1 -ifloat: 1 - -Function: "cbrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "cexp": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "cexp": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "clog": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "clog": -float: 1 -ifloat: 1 - -Function: Real part of "clog10": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "clog10": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cos": -float: 1 -ifloat: 1 - -Function: "cos_tonearest": -float: 1 -ifloat: 1 - -Function: "cosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cosh_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "cpow": -double: 2 -float: 4 -idouble: 2 -ifloat: 4 - -Function: Imaginary part of "cpow": -float: 2 -ifloat: 2 - -Function: Real part of "csin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "csinh": -float: 1 -ifloat: 1 - -Function: Imaginary part of "csinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "csqrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "csqrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "ctan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ctan": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Real part of "ctan_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ctan_tonearest": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Real part of "ctanh": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "ctanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "ctanh_tonearest": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "ctanh_tonearest": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "erf": -double: 1 -idouble: 1 - -Function: "erfc": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "exp10": -double: 1 -idouble: 1 - -Function: "exp10_tonearest": -double: 1 -idouble: 1 - -Function: "expm1": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "expm1_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "gamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "hypot": -double: 1 -idouble: 1 - -Function: "j0": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "j1": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "jn": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: "lgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "log": -float: 1 -ifloat: 1 - -Function: "log10": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "log1p": -float: 1 -ifloat: 1 - -Function: "pow": -float: 1 -ifloat: 1 - -Function: "pow10": -double: 1 -idouble: 1 - -Function: "pow_tonearest": -float: 1 -ifloat: 1 - -Function: "sin": -float: 1 -ifloat: 1 - -Function: "sin_tonearest": -float: 1 -ifloat: 1 - -Function: "sincos": -float: 1 -ifloat: 1 - -Function: "tgamma": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 - -Function: "y0": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "y1": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "yn": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -# end of automatic generation diff --git a/ports/sysdeps/microblaze/machine-gmon.h b/ports/sysdeps/microblaze/machine-gmon.h deleted file mode 100644 index 262ad12577..0000000000 --- a/ports/sysdeps/microblaze/machine-gmon.h +++ /dev/null @@ -1,30 +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/>. */ - -/* We need a special version of the `mcount' function because it has - to preserve more registers than your usual function. */ - -void __mcount_internal (unsigned long frompc, unsigned long selfpc); - -#define _MCOUNT_DECL(frompc, selfpc) \ -void __mcount_internal (unsigned long frompc, unsigned long selfpc) - - -/* Define MCOUNT as empty since we have the implementation in another - file. */ -#define MCOUNT diff --git a/ports/sysdeps/microblaze/math_private.h b/ports/sysdeps/microblaze/math_private.h deleted file mode 100644 index 39b71722d3..0000000000 --- a/ports/sysdeps/microblaze/math_private.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef _MATH_PRIVATE_H - -/* Suppress use of exceptions here to avoid build errors if the FE_* - macros aren't definied. Only allow rounding modes implemented for - MicroBlaze. - - This does mean that some code will silently fail to report exceptions, - set rounding mode as expected, etc., but it allows math code to compile - that otherwise wouldn't (such as math/s_fma.c) and so is valuable. - - We intentionally ignore the "exception" arguments of functions that - take an exception, since we can't even evaluate the argument - without causing a build failure. The extra level of statement - expression wrapping avoids "statement with no effect" warnings. - Since the callers don't check for errors anyway, we just claim - success in every case. - - The overrides for libc_ functions must happen before we include - the generic math_private.h, and the overrides for regular - <fenv.h> functions must happen afterwards, to avoid clashing with - the declarations of those functions. */ - -#define libc_fesetround(rnd) ({ 0; }) -#define libc_fetestexcept(exc) ({ 0; }) -#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; }) -#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; }) - -#include_next <math_private.h> - -#define feraiseexcept(excepts) ({ 0; }) -#define feclearexcept(exc) ({ 0; }) - -#endif diff --git a/ports/sysdeps/microblaze/memusage.h b/ports/sysdeps/microblaze/memusage.h deleted file mode 100644 index 9e57bdfd4f..0000000000 --- a/ports/sysdeps/microblaze/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 ("r1"); stack_ptr; }) - -#include <sysdeps/generic/memusage.h> diff --git a/ports/sysdeps/microblaze/nptl/Makefile b/ports/sysdeps/microblaze/nptl/Makefile deleted file mode 100644 index f550eb13fb..0000000000 --- a/ports/sysdeps/microblaze/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/microblaze/nptl/pthread_spin_lock.c b/ports/sysdeps/microblaze/nptl/pthread_spin_lock.c deleted file mode 100644 index 490bd43438..0000000000 --- a/ports/sysdeps/microblaze/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/microblaze/nptl/pthreaddef.h b/ports/sysdeps/microblaze/nptl/pthreaddef.h deleted file mode 100644 index 37a44c168c..0000000000 --- a/ports/sysdeps/microblaze/nptl/pthreaddef.h +++ /dev/null @@ -1,40 +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 <stdlib.h> -#include <string.h> - -/* 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/microblaze/nptl/tcb-offsets.sym b/ports/sysdeps/microblaze/nptl/tcb-offsets.sym deleted file mode 100644 index 18afbee291..0000000000 --- a/ports/sysdeps/microblaze/nptl/tcb-offsets.sym +++ /dev/null @@ -1,11 +0,0 @@ -#include <sysdep.h> -#include <tls.h> - --- - --- Abuse tls.h macros to derive offsets relative to the thread register. -#define thread_offsetof(mem) (long)(offsetof (struct pthread, mem) - sizeof (struct pthread)) - -MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) -PID_OFFSET thread_offsetof (pid) -TID_OFFSET thread_offsetof (tid) diff --git a/ports/sysdeps/microblaze/nptl/tls.h b/ports/sysdeps/microblaze/nptl/tls.h deleted file mode 100644 index 4cfbdd3663..0000000000 --- a/ports/sysdeps/microblaze/nptl/tls.h +++ /dev/null @@ -1,155 +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; - -static inline void *__microblaze_get_thread_area (void) -{ - register void * volatile __microblaze_thread_area asm ("r21"); - return (void *) __microblaze_thread_area; -} - -# define READ_THREAD_POINTER() \ - ({ __microblaze_get_thread_area(); }) - -/* 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__ (struct pthread) - -/* 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. - r21 is reserved for thread pointer. */ -# define TLS_INIT_TP(tcbp, secondcall) \ - ({ __asm __volatile ("or r21,r0,%0" : : "r" ((void *)tcbp)); 0; }) - -/* Return the address of the dtv for the current thread. */ -# define THREAD_DTV() \ - (((tcbhead_t *) READ_THREAD_POINTER())->dtv) - -/* Return the thread descriptor for the current thread. */ -# define THREAD_SELF \ - (((struct pthread *) READ_THREAD_POINTER()) - 1) - -/* Magic for libthread_db to know how to do THREAD_SELF. */ -# define DB_THREAD_SELF \ - CONST_THREAD_AREA (32, sizeof (struct pthread)) - -/* Read member of the thread descriptor directly. */ -# define THREAD_GETMEM(descr, member) (descr->member) - -/* Same as THREAD_GETMEM, but the member offset can be non-constant. */ -# define THREAD_GETMEM_NC(descr, member, idx) \ - (descr->member[idx]) - -/* Set member of the thread descriptor directly. */ -# define THREAD_SETMEM(descr, member, value) \ - (descr->member = (value)) - -/* Same as THREAD_SETMEM, but the member offset can be non-constant. */ -# 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/microblaze/preconfigure b/ports/sysdeps/microblaze/preconfigure deleted file mode 100644 index 90e2e631d9..0000000000 --- a/ports/sysdeps/microblaze/preconfigure +++ /dev/null @@ -1,3 +0,0 @@ -case "$machine" in -microblaze*) base_machine=microblaze machine=microblaze ;; -esac diff --git a/ports/sysdeps/microblaze/setjmp.S b/ports/sysdeps/microblaze/setjmp.S deleted file mode 100644 index ab501ae549..0000000000 --- a/ports/sysdeps/microblaze/setjmp.S +++ /dev/null @@ -1,75 +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> - -/* This source produces 3 functions: - __sigsetjmp (jmpbuf,savemask) - setjmp (jmpbuf) - equivalent to __sigsetjump (jmpbuf, 1) - _setjmp (jmpbuf) - equivalent to __sigsetjump (jmpbuf, 0) -*/ - -#ifndef setjmp_name -# define setjmp_name __sigsetjmp -# define SET_MASK_ARG -#else -# define SET_MASK_ARG addik r6,r0,SAVEMASK -#endif - -ENTRY (setjmp_name) - swi r1,r5,0 - swi r2,r5,4 - swi r13,r5,8 - swi r14,r5,12 - swi r15,r5,16 - swi r16,r5,20 - swi r17,r5,24 - swi r18,r5,28 - swi r19,r5,32 - swi r20,r5,36 - swi r21,r5,40 - swi r22,r5,44 - swi r23,r5,48 - swi r24,r5,52 - swi r25,r5,56 - swi r26,r5,60 - swi r27,r5,64 - swi r28,r5,68 - swi r29,r5,72 - swi r30,r5,76 - swi r31,r5,80 - - SET_MASK_ARG - - /* Make a tail call to __sigjmp_save; it takes the same args. */ -#ifdef PIC - /* We cannot use the PLT, because it requires that r20 be set, but - we can't save and restore our caller's value. Instead, we do an - indirect jump through the GOT, using the temporary register - %ecx, which is call-clobbered. */ - mfs r12,rpc - addik r12,r12,_GLOBAL_OFFSET_TABLE_+8 - lwi r12,r12,__sigjmp_save@GOT - brad r12 -#else - brid __sigjmp_save -#endif - nop -END (setjmp_name) - -libc_hidden_def (setjmp_name) diff --git a/ports/sysdeps/microblaze/shlib-versions b/ports/sysdeps/microblaze/shlib-versions deleted file mode 100644 index 6ec43db15b..0000000000 --- a/ports/sysdeps/microblaze/shlib-versions +++ /dev/null @@ -1 +0,0 @@ -microblaze.*-.*-linux.* DEFAULT GLIBC_2.18 diff --git a/ports/sysdeps/microblaze/sotruss-lib.c b/ports/sysdeps/microblaze/sotruss-lib.c deleted file mode 100644 index 3d79077065..0000000000 --- a/ports/sysdeps/microblaze/sotruss-lib.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Override generic sotruss-lib.c to define actual functions for MicroBlaze. - 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_microblaze_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)), - unsigned int ndx __attribute__ ((unused)), - uintptr_t *refcook, uintptr_t *defcook, - La_microblaze_regs *regs, unsigned int *flags, - const char *symname, long int *framesizep) -{ - print_enter (refcook, defcook, symname, - regs->lr_r0, regs->lr_r1, regs->lr_sp, - *flags); - - /* No need to copy anything, we will not need the parameters in any case. */ - *framesizep = 0; - - return sym->st_value; -} - -unsigned int -la_microblaze_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, - uintptr_t *refcook, - uintptr_t *defcook, - const struct La_microblaze_regs *inregs, - struct La_microblaze_retval *outregs, - const char *symname) -{ - print_exit (refcook, defcook, symname, outregs->lrv_r3); - - return 0; -} diff --git a/ports/sysdeps/microblaze/stackinfo.h b/ports/sysdeps/microblaze/stackinfo.h deleted file mode 100644 index 96d94d92e7..0000000000 --- a/ports/sysdeps/microblaze/stackinfo.h +++ /dev/null @@ -1,34 +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 MicroBlaze the stack grows down. */ -# define _STACK_GROWS_DOWN 1 - -/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is - * present, but it is presumed absent. */ -# define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) - -#endif /* stackinfo.h. */ diff --git a/ports/sysdeps/microblaze/start.S b/ports/sysdeps/microblaze/start.S deleted file mode 100644 index 729569db90..0000000000 --- a/ports/sysdeps/microblaze/start.S +++ /dev/null @@ -1,84 +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. - - 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/>. */ - - .text - .globl _start - .type _start,@function -_start: - /* On entry the stack contains the following args: - r1+0 - argc - r1+4 - argv[0] - ... - r1+4*(argc-1) - argv[argc-1] - r1+4*argc - NULL - r1+4*argc + 4 - envp[0] - ... - NULL - */ - addk r3,r0,r0 - addk r5,r1,r0 -1: - addik r5,r5,4 - lw r4,r5,r0 - bneid r4,1b - addik r3,r3,1 - addik r6,r3,-1 - sw r6,r1,r0 - addik r7,r1,4 - addik r1,r1,-24 -#ifdef SHARED - /* Setup PIC. */ - mfs r20,rpc - addik r20,r20,_GLOBAL_OFFSET_TABLE_+8 - lwi r5,r20,main@GOT - lwi r8,r20,__libc_csu_init@GOT - lwi r9,r20,__libc_csu_fini@GOT - brid __libc_start_main@PLT - addk r10,r0,r0 -#else - addik r5,r0,main - addik r8,r0,__libc_csu_init - addik r9,r0,__libc_csu_fini - brid __libc_start_main - addk r10,r0,r0 -#endif - -/* 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/microblaze/sysdep.h b/ports/sysdeps/microblaze/sysdep.h deleted file mode 100644 index a7c9e79a4c..0000000000 --- a/ports/sysdeps/microblaze/sysdep.h +++ /dev/null @@ -1,85 +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 ALIGNARG(log2) log2 -# 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 ALIGNARG(2); \ - C_LABEL(name) \ - CALL_MCOUNT - -# undef END -# define END(name) ASM_SIZE_DIRECTIVE(name) - - -/* If compiled for profiling, call `_mcount' at the start of each function. */ -# ifdef PROF -/* The mcount code relies on a normal frame pointer being on the stack - to locate our caller, so push one just for its benefit. */ -# define CALL_MCOUNT \ - addik r1,r1,-4; \ - swi r15,r1,0; \ - brlid r15,JUMPTARGET(mcount); \ - nop; \ - lwi r15,r1,0; \ - addik r1,r1,4; -# else -# define CALL_MCOUNT /* Do nothing. */ -# endif - -/* 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 - -# define PSEUDO(name, syscall_name, args) \ - .globl syscall_error; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); - -# define ret \ - rtsd r15,8; nop; - -# undef PSEUDO_END -# define PSEUDO_END(name) \ - END (name) - -# undef JUMPTARGET -# ifdef PIC -# define JUMPTARGET(name) name##@PLTPC -# else -# define JUMPTARGET(name) name -# endif - -/* Local label name for asm code. */ -# ifndef L -# define L(name) $L##name -# endif - -# endif /* __ASSEMBLER__ */ diff --git a/ports/sysdeps/microblaze/tls-macros.h b/ports/sysdeps/microblaze/tls-macros.h deleted file mode 100644 index 6065b7b62d..0000000000 --- a/ports/sysdeps/microblaze/tls-macros.h +++ /dev/null @@ -1,46 +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) \ - ({ \ - char *__result; \ - int __offset; \ - extern void *__tls_get_addr (void *); \ - asm ("mfs r20,rpc \n" \ - "addik r20,r20,_GLOBAL_OFFSET_TABLE_+8\n" \ - "addik %0,r20," #x "@TLSLDM" \ - : "=r" (__result)); \ - __result = (char *) __tls_get_addr (__result); \ - asm ("addik %0,r0,"#x"@TLSDTPREL" \ - : "=r" (__offset)); \ - (int *) (__result + __offset); }) - - -#define TLS_GD(x) \ - ({ \ - int *__result; \ - extern void *__tls_get_addr (void *); \ - asm ("mfs r20,rpc\n" \ - "addik r20,r20,_GLOBAL_OFFSET_TABLE_+8\n" \ - "addik %0,r20," #x "@TLSGD" \ - : "=r" (__result)); \ - (int *) __tls_get_addr (__result); }) - -#define TLS_LE(x) TLS_LD(x) - -#define TLS_IE(x) TLS_GD(x) diff --git a/ports/sysdeps/microblaze/tst-audit.h b/ports/sysdeps/microblaze/tst-audit.h deleted file mode 100644 index 61e5ad673d..0000000000 --- a/ports/sysdeps/microblaze/tst-audit.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Definitions for testing PLT entry/exit auditing. MicroBlaze 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/>. */ - -#define pltenter la_microblaze_gnu_pltenter -#define pltexit la_microblaze_gnu_pltexit -#define La_regs La_microblaze_regs -#define La_retval La_microblaze_retval -#define int_retval lrv_r3 |