diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2014-02-10 20:05:01 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2014-02-10 20:22:40 +0100 |
commit | 73588a7223bec40d652fd4c75f1cb4772c5d2612 (patch) | |
tree | dfc1f1965e78e62e611199d91c482d1b76ff109d /ports/sysdeps/m68k | |
parent | 87569616d27a2c742f87b5dbcac2f2e3437fd874 (diff) | |
download | glibc-73588a7223bec40d652fd4c75f1cb4772c5d2612.tar.gz glibc-73588a7223bec40d652fd4c75f1cb4772c5d2612.tar.xz glibc-73588a7223bec40d652fd4c75f1cb4772c5d2612.zip |
Move m68k from ports to libc
Diffstat (limited to 'ports/sysdeps/m68k')
268 files changed, 0 insertions, 19183 deletions
diff --git a/ports/sysdeps/m68k/Implies b/ports/sysdeps/m68k/Implies deleted file mode 100644 index beaba937de..0000000000 --- a/ports/sysdeps/m68k/Implies +++ /dev/null @@ -1,4 +0,0 @@ -wordsize-32 -# 68k uses IEEE 754 floating point. -ieee754/dbl-64 -ieee754/flt-32 diff --git a/ports/sysdeps/m68k/Makefile b/ports/sysdeps/m68k/Makefile deleted file mode 100644 index 58ebd5ec4a..0000000000 --- a/ports/sysdeps/m68k/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (C) 1993-2014 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library. If not, see -# <http://www.gnu.org/licenses/>. - -# The mpn functions need this. All existing 68k ports use MIT syntax. If -# a new port wants to use Motorola or Sony syntax, it can redefine this -# variable. -ifndef m68k-syntax-flag -m68k-syntax-flag = -DMIT_SYNTAX -endif - -asm-CPPFLAGS += $(m68k-syntax-flag) - -pic-ccflag = -fpic - -ifeq ($(subdir),setjmp) -# Make sure setjmp.c is compiled with a frame pointer -CFLAGS-setjmp.c := -fno-omit-frame-pointer -endif - -ifeq ($(subdir),debug) -CFLAGS-backtrace.c += -funwind-tables -endif - -ifeq ($(subdir),elf) -CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused -endif diff --git a/ports/sysdeps/m68k/Versions b/ports/sysdeps/m68k/Versions deleted file mode 100644 index f450291a9b..0000000000 --- a/ports/sysdeps/m68k/Versions +++ /dev/null @@ -1,13 +0,0 @@ -libc { - GLIBC_2.0 { - # Functions from libgcc. - __divdi3; __moddi3; __udivdi3; __umoddi3; - } -} -libm { - GLIBC_2.1 { - # A generic bug got this omitted from other configurations' version - # sets, but we always had it. - exp2l; - } -} diff --git a/ports/sysdeps/m68k/__longjmp.c b/ports/sysdeps/m68k/__longjmp.c deleted file mode 100644 index e1f8c8b9f8..0000000000 --- a/ports/sysdeps/m68k/__longjmp.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1991-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 <stdlib.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) -{ - /* This restores the FP and SP that setjmp's caller had, - and puts the return address into A0 and VAL into D0. */ - -#ifdef CHECK_SP - CHECK_SP (env[0].__sp); -#endif - -#if defined(__HAVE_68881__) || defined(__HAVE_FPU__) - /* Restore the floating-point registers. */ - asm volatile("fmovem%.x %0, %/fp0-%/fp7" : - /* No outputs. */ : "g" (env[0].__fpregs[0])); -#elif defined (__mcffpu__) - asm volatile("fmovem %0, %/fp0-%/fp7" : - /* No outputs. */ : "m" (env[0].__fpregs[0])); -#endif - - /* Put VAL in D0. */ - asm volatile("move%.l %0, %/d0" : /* No outputs. */ : - "g" (val == 0 ? 1 : val) : "d0"); - - asm volatile(/* Restore the data and address registers. */ - "movem%.l %0, %/d1-%/d7/%/a0-%/a7\n" - /* Return to setjmp's caller. */ -#ifdef __motorola__ - "jmp (%/a0)" -#else - "jmp %/a0@" -#endif - : /* No outputs. */ : "g" (env[0].__dregs[0]) - /* We don't bother with the clobbers, - because this code always jumps out anyway. */ - ); - - /* Avoid `volatile function does return' warnings. */ - for (;;); -} diff --git a/ports/sysdeps/m68k/abort-instr.h b/ports/sysdeps/m68k/abort-instr.h deleted file mode 100644 index b43c9efe1d..0000000000 --- a/ports/sysdeps/m68k/abort-instr.h +++ /dev/null @@ -1,2 +0,0 @@ -/* An instruction which should crash any program is `illegal'. */ -#define ABORT_INSTRUCTION asm ("illegal") diff --git a/ports/sysdeps/m68k/asm-syntax.h b/ports/sysdeps/m68k/asm-syntax.h deleted file mode 100644 index e162836ba9..0000000000 --- a/ports/sysdeps/m68k/asm-syntax.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Definitions for 68k syntax variations. - Copyright (C) 1992-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. Its master source is NOT part of - the C library, however. The master source lives in the GNU MP 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/>. */ - -/* For ELF we need to prefix register names and local labels. */ -#define R_(r) %##r -#define R(r) R_(r) -#define L(label) .##label - -#ifdef MIT_SYNTAX -#define MEM(base)R(base)@ -#define MEM_DISP(base,displacement)R(base)@(displacement) -#define MEM_INDX(base,idx,size_suffix)R(base)@(R(idx):size_suffix) -#define MEM_INDX1(base,idx,size_suffix,scale)R(base)@(R(idx):size_suffix:scale) -#define MEM_PREDEC(memory_base)R(memory_base)@- -#define MEM_POSTINC(memory_base)R(memory_base)@+ -#define TEXT .text -/* Use variable sized opcodes. */ -#define bcc jcc -#define bcs jcs -#define bls jls -#define beq jeq -#define bne jne -#define bra jra -#endif - -#ifdef MOTOROLA_SYNTAX -#define MEM(base)(R(base)) -#define MEM_DISP(base,displacement)(displacement,R(base)) -#define MEM_PREDEC(memory_base)-(R(memory_base)) -#define MEM_POSTINC(memory_base)(R(memory_base))+ -#define MEM_INDX_(base,idx,size_suffix)(R(base),R(idx##.##size_suffix)) -#define MEM_INDX(base,idx,size_suffix)MEM_INDX_(base,idx,size_suffix) -#define MEM_INDX1_(base,idx,size_suffix,scale)(R(base),R(idx##.##size_suffix*scale)) -#define MEM_INDX1(base,idx,size_suffix,scale)MEM_INDX1_(base,idx,size_suffix,scale) -#define TEXT .text -#define bcc jbcc -#define bcs jbcs -#define bls jbls -#define beq jbeq -#define bne jbne -#define bra jbra -#define movel move.l -#define moveml movem.l -#define moveql moveq.l -#define cmpl cmp.l -#define orl or.l -#define clrl clr.l -#define andw and.w -#define eorw eor.w -#define andl and.l -#define lsrl lsr.l -#define lsll lsl.l -#define roxrl roxr.l -#define roxll roxl.l -#define addl add.l -#define addxl addx.l -#define addql addq.l -#define subl sub.l -#define subxl subx.l -#define subqw subq.w -#define subql subq.l -#define negl neg.l -#define mulul mulu.l -#define tstw tst.w -#define tstl tst.l -#endif diff --git a/ports/sysdeps/m68k/backtrace.c b/ports/sysdeps/m68k/backtrace.c deleted file mode 100644 index b346420442..0000000000 --- a/ports/sysdeps/m68k/backtrace.c +++ /dev/null @@ -1,159 +0,0 @@ -/* Return backtrace of current program state. - Copyright (C) 2013-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <bits/libc-lock.h> -#include <dlfcn.h> -#include <execinfo.h> -#include <stdlib.h> -#include <unwind.h> - -struct trace_arg -{ - void **array; - int cnt, size; - void *lastfp, *lastsp; -}; - -#ifdef SHARED -static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *); -static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *); -static _Unwind_Ptr (*unwind_getcfa) (struct _Unwind_Context *); -static _Unwind_Ptr (*unwind_getgr) (struct _Unwind_Context *, int); -static void *libgcc_handle; - -static void -init (void) -{ - libgcc_handle = __libc_dlopen ("libgcc_s.so.2"); - - if (libgcc_handle == NULL) - return; - - unwind_backtrace = __libc_dlsym (libgcc_handle, "_Unwind_Backtrace"); - unwind_getip = __libc_dlsym (libgcc_handle, "_Unwind_GetIP"); - unwind_getcfa = __libc_dlsym (libgcc_handle, "_Unwind_GetCFA"); - unwind_getgr = __libc_dlsym (libgcc_handle, "_Unwind_GetGR"); - if (unwind_getip == NULL || unwind_getgr == NULL || unwind_getcfa == NULL) - { - unwind_backtrace = NULL; - __libc_dlclose (libgcc_handle); - libgcc_handle = NULL; - } -} -#else -# define unwind_backtrace _Unwind_Backtrace -# define unwind_getip _Unwind_GetIP -# define unwind_getcfa _Unwind_GetCFA -# define unwind_getgr _Unwind_GetGR -#endif - -static _Unwind_Reason_Code -backtrace_helper (struct _Unwind_Context *ctx, void *a) -{ - struct trace_arg *arg = a; - - /* We are first called with address in the __backtrace function. - Skip it. */ - if (arg->cnt != -1) - arg->array[arg->cnt] = (void *) unwind_getip (ctx); - if (++arg->cnt == arg->size) - return _URC_END_OF_STACK; - - /* %fp is DWARF2 register 14 on M68K. */ - arg->lastfp = (void *) unwind_getgr (ctx, 14); - arg->lastsp = (void *) unwind_getcfa (ctx); - return _URC_NO_REASON; -} - - -/* This is a global variable set at program start time. It marks the - highest used stack address. */ -extern void *__libc_stack_end; - - -/* This is the stack layout we see with every stack frame - if not compiled without frame pointer. - - +-----------------+ +-----------------+ - %fp -> | %fp last frame--------> | %fp last frame--->... - | | | | - | return address | | return address | - +-----------------+ +-----------------+ - - First try as far to get as far as possible using - _Unwind_Backtrace which handles -fomit-frame-pointer - as well, but requires .eh_frame info. Then fall back to - walking the stack manually. */ - -struct layout -{ - struct layout *fp; - void *ret; -}; - - -int -__backtrace (void **array, int size) -{ - struct trace_arg arg = { .array = array, .size = size, .cnt = -1 }; -#ifdef SHARED - __libc_once_define (static, once); - - __libc_once (once, init); - if (unwind_backtrace == NULL) - return 0; -#endif - - if (size >= 1) - unwind_backtrace (backtrace_helper, &arg); - - if (arg.cnt > 1 && arg.array[arg.cnt - 1] == NULL) - --arg.cnt; - else if (arg.cnt < size) - { - struct layout *fp = (struct layout *) arg.lastfp; - - while (arg.cnt < size) - { - /* Check for out of range. */ - if ((void *) fp < arg.lastsp || (void *) fp > __libc_stack_end - || ((long) fp & 1)) - break; - - array[arg.cnt++] = fp->ret; - fp = fp->fp; - } - } - return arg.cnt != -1 ? arg.cnt : 0; -} -weak_alias (__backtrace, backtrace) -libc_hidden_def (__backtrace) - - -#ifdef SHARED -/* Free all resources if necessary. */ -libc_freeres_fn (free_mem) -{ - unwind_backtrace = NULL; - if (libgcc_handle != NULL) - { - __libc_dlclose (libgcc_handle); - libgcc_handle = NULL; - } -} -#endif diff --git a/ports/sysdeps/m68k/bits/byteswap.h b/ports/sysdeps/m68k/bits/byteswap.h deleted file mode 100644 index 9e7fd87615..0000000000 --- a/ports/sysdeps/m68k/bits/byteswap.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Macros to swap the order of bytes in integer values. m68k version. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H -# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead." -#endif - -#ifndef _BITS_BYTESWAP_H -#define _BITS_BYTESWAP_H 1 - -/* Swap bytes in 16 bit value. We don't provide an assembler version - because GCC is smart enough to generate optimal assembler output, and - this allows for better cse. */ -#define __bswap_constant_16(x) \ - ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8)) - -static __inline unsigned short int -__bswap_16 (unsigned short int __bsx) -{ - return __bswap_constant_16 (__bsx); -} - -/* Swap bytes in 32 bit value. */ -#define __bswap_constant_32(x) \ - ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \ - (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) - -#if !defined(__mcoldfire__) -static __inline unsigned int -__bswap_32 (unsigned int __bsx) -{ - if (__builtin_constant_p (__bsx)) - return __bswap_constant_32 (__bsx); - __asm__ __volatile__ ("ror%.w %#8, %0;" - "swap %0;" - "ror%.w %#8, %0" - : "+d" (__bsx)); - return __bsx; -} -#else -static __inline unsigned int -__bswap_32 (unsigned int __bsx) -{ - return __bswap_constant_32 (__bsx); -} -#endif - -#if defined __GNUC__ && __GNUC__ >= 2 -/* Swap bytes in 64 bit value. */ -# define __bswap_constant_64(x) \ - __extension__ \ - ((((x) & 0xff00000000000000ull) >> 56) \ - | (((x) & 0x00ff000000000000ull) >> 40) \ - | (((x) & 0x0000ff0000000000ull) >> 24) \ - | (((x) & 0x000000ff00000000ull) >> 8) \ - | (((x) & 0x00000000ff000000ull) << 8) \ - | (((x) & 0x0000000000ff0000ull) << 24) \ - | (((x) & 0x000000000000ff00ull) << 40) \ - | (((x) & 0x00000000000000ffull) << 56)) - -/* Swap bytes in 64 bit value. */ -__extension__ -static __inline unsigned long long -__bswap_64 (unsigned long long __bsx) -{ - if (__builtin_constant_p (__bsx)) - return __bswap_constant_64 (__bsx); - return (__bswap_32 (__bsx >> 32) - | ((unsigned long long) __bswap_32 (__bsx) << 32)); -} -#endif - -#endif /* _BITS_BYTESWAP_H */ diff --git a/ports/sysdeps/m68k/bits/endian.h b/ports/sysdeps/m68k/bits/endian.h deleted file mode 100644 index bf4ecb60a4..0000000000 --- a/ports/sysdeps/m68k/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* m68k is big-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __BIG_ENDIAN diff --git a/ports/sysdeps/m68k/bits/link.h b/ports/sysdeps/m68k/bits/link.h deleted file mode 100644 index f8f32e8865..0000000000 --- a/ports/sysdeps/m68k/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 M68K. */ -typedef struct La_m68k_regs -{ - uint32_t lr_a0; - uint32_t lr_a1; - uint32_t lr_sp; -} La_m68k_regs; - -/* Return values for calls from PLT on M68K. */ -typedef struct La_m68k_retval -{ - uint32_t lrv_d0; - uint32_t lrv_d1; - uint32_t lrv_a0; - long double lrv_fp0; -} La_m68k_retval; - - -__BEGIN_DECLS - -extern Elf32_Addr la_m68k_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_m68k_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_m68k_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_m68k_regs *__inregs, - La_m68k_retval *__outregs, - const char *__symname); - -__END_DECLS diff --git a/ports/sysdeps/m68k/bits/setjmp.h b/ports/sysdeps/m68k/bits/setjmp.h deleted file mode 100644 index 5588eb4a05..0000000000 --- a/ports/sysdeps/m68k/bits/setjmp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -/* Define the machine-dependent type `jmp_buf'. m68k version. */ -#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 __jmp_buf_internal_tag - { - /* There are eight 4-byte data registers, but D0 is not saved. */ - long int __dregs[7]; - - /* There are six 4-byte address registers, plus the FP and SP. */ - int *__aregs[6]; - int *__fp; - int *__sp; - -#if defined __HAVE_68881__ || defined __HAVE_FPU__ - /* There are eight floating point registers which - are saved in IEEE 96-bit extended format. */ - char __fpregs[8 * (96 / 8)]; -#elif defined __mcffpu__ - char __fpregs[8 * (64 / 8)]; -#endif - - } __jmp_buf[1]; - -#endif /* bits/setjmp.h */ diff --git a/ports/sysdeps/m68k/bsd-_setjmp.c b/ports/sysdeps/m68k/bsd-_setjmp.c deleted file mode 100644 index e9e728d062..0000000000 --- a/ports/sysdeps/m68k/bsd-_setjmp.c +++ /dev/null @@ -1,21 +0,0 @@ -/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. m68k version. - Copyright (C) 1994-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 BSD__SETJMP -#include <sysdeps/m68k/setjmp.c> -libc_hidden_def (_setjmp) diff --git a/ports/sysdeps/m68k/bsd-setjmp.c b/ports/sysdeps/m68k/bsd-setjmp.c deleted file mode 100644 index 7815532764..0000000000 --- a/ports/sysdeps/m68k/bsd-setjmp.c +++ /dev/null @@ -1,20 +0,0 @@ -/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. m68k version. - Copyright (C) 1994-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 BSD_SETJMP -#include <sysdeps/m68k/setjmp.c> diff --git a/ports/sysdeps/m68k/coldfire/bits/atomic.h b/ports/sysdeps/m68k/coldfire/bits/atomic.h deleted file mode 100644 index ec0c59a7da..0000000000 --- a/ports/sysdeps/m68k/coldfire/bits/atomic.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 2003-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _BITS_ATOMIC_H -#define _BITS_ATOMIC_H 1 - -#include <stdint.h> - -/* Coldfire has no atomic compare-and-exchange operation, and the - kernel provides no userspace atomicity operations. Here we just - use generic non-atomic implementations instead. */ - -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 int16_t atomic16_t; -typedef uint16_t uatomic16_t; -typedef int_fast16_t atomic_fast16_t; -typedef uint_fast16_t uatomic_fast16_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 int64_t atomic64_t; -typedef uint64_t uatomic64_t; -typedef int_fast64_t atomic_fast64_t; -typedef uint_fast64_t uatomic_fast64_t; - -typedef intptr_t atomicptr_t; -typedef uintptr_t uatomicptr_t; -typedef intmax_t atomic_max_t; -typedef uintmax_t uatomic_max_t; - -/* The only basic operation needed is compare and exchange. */ -#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \ - ({ __typeof (mem) __gmemp = (mem); \ - __typeof (*mem) __gret = *__gmemp; \ - __typeof (*mem) __gnewval = (newval); \ - \ - if (__gret == (oldval)) \ - *__gmemp = __gnewval; \ - __gret; }) - -#define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \ - ({ __typeof (mem) __gmemp = (mem); \ - __typeof (*mem) __gnewval = (newval); \ - \ - *__gmemp == (oldval) ? (*__gmemp = __gnewval, 0) : 1; }) - -#endif diff --git a/ports/sysdeps/m68k/coldfire/fpu/bits/mathinline.h b/ports/sysdeps/m68k/coldfire/fpu/bits/mathinline.h deleted file mode 100644 index bfd2bd61e8..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/bits/mathinline.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Inline math functions for Coldfire. - Copyright (C) 2012-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _MATH_H -# error "Never use <bits/mathinline.h> directly; include <math.h> instead." -#endif - -#ifndef __extern_always_inline -# define __MATH_INLINE __inline -#else -# define __MATH_INLINE __extern_always_inline -#endif - -#if defined __USE_ISOC99 && defined __GNUC__ - -/* Test for negative number. Used in the signbit macro. */ -__MATH_INLINE int -__NTH (__signbitf (float __x)) -{ - return __builtin_signbitf (__x); -} - -__MATH_INLINE int -__NTH (__signbit (double __x)) -{ - return __builtin_signbit (__x); -} - -#endif diff --git a/ports/sysdeps/m68k/coldfire/fpu/e_sqrt.c b/ports/sysdeps/m68k/coldfire/fpu/e_sqrt.c deleted file mode 100644 index 5914de6029..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/e_sqrt.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -double -__ieee754_sqrt (double x) -{ - asm ("fdsqrt.d %1,%0" : "=f" (x) : "fm" (x)); - return x; -} -strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/ports/sysdeps/m68k/coldfire/fpu/e_sqrtf.c b/ports/sysdeps/m68k/coldfire/fpu/e_sqrtf.c deleted file mode 100644 index 7e7448db78..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/e_sqrtf.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -float -__ieee754_sqrtf (float x) -{ - double result; - asm ("fssqrt.s %1,%0" : "=f" (result) : "dm" (x)); - return result; -} -strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/ports/sysdeps/m68k/coldfire/fpu/fraiseexcpt.c b/ports/sysdeps/m68k/coldfire/fpu/fraiseexcpt.c deleted file mode 100644 index 3d75deb6ac..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/fraiseexcpt.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Raise given exceptions. - Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> -#include <float.h> -#include <math.h> - -int -feraiseexcept (int excepts) -{ - /* Raise exceptions represented by EXCEPTS. But we must raise only one - signal at a time. It is important that if the overflow/underflow - exception and the divide by zero exception are given at the same - time, the overflow/underflow exception follows the divide by zero - exception. - - The Coldfire FPU allows an exception to be raised by asserting - the associated EXC bit and then executing an arbitrary arithmetic - instruction. fmove.l is classified as an arithmetic instruction - and suffices for this purpose. - - We therefore raise an exception by setting both the EXC and AEXC - bit associated with the exception (the former being 6 bits to the - left of the latter) and then loading the longword at (%sp) into an - FP register. */ - - inline void - raise_one_exception (int mask) - { - if (excepts & mask) - { - int fpsr; - double unused; - - asm volatile ("fmove%.l %/fpsr,%0" : "=d" (fpsr)); - fpsr |= (mask << 6) | mask; - asm volatile ("fmove%.l %0,%/fpsr" :: "d" (fpsr)); - asm volatile ("fmove%.l (%%sp),%0" : "=f" (unused)); - } - } - - raise_one_exception (FE_INVALID); - raise_one_exception (FE_DIVBYZERO); - raise_one_exception (FE_OVERFLOW); - raise_one_exception (FE_UNDERFLOW); - raise_one_exception (FE_INEXACT); - - /* Success. */ - return 0; -} -libm_hidden_def (feraiseexcept) diff --git a/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps deleted file mode 100644 index 05be5a92b6..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps +++ /dev/null @@ -1,820 +0,0 @@ -# Begin of automatic generation - -# atan2 -Test "atan2 (-0.75, -1.0)": -float: 1 -ifloat: 1 -Test "atan2 (0.75, -1.0)": -float: 1 -ifloat: 1 -Test "atan2 (1.390625, 0.9296875)": -float: 1 -ifloat: 1 - -# atanh -Test "atanh (0.75)": -float: 1 -ifloat: 1 - -# cacosh -Test "Imaginary part of: cacosh (-2 - 3 i)": -float: 1 -ifloat: 1 - -# casin -Test "Real part of: casin (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# casinh -Test "Real part of: casinh (-2 - 3 i)": -double: 5 -float: 1 -idouble: 5 -ifloat: 1 -Test "Imaginary part of: casinh (-2 - 3 i)": -double: 3 -float: 6 -idouble: 3 -ifloat: 6 -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 - -# catan -Test "Imaginary part of: catan (-2 - 3 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# catanh -Test "Real part of: catanh (-2 - 3 i)": -double: 4 -idouble: 4 -Test "Real part of: catanh (0.75 + 1.25 i)": -double: 1 -idouble: 1 - -# cbrt -Test "cbrt (-27.0)": -double: 1 -idouble: 1 -Test "cbrt (0.75)": -double: 1 -idouble: 1 -Test "cbrt (0.9921875)": -double: 1 -idouble: 1 - -# ccos -Test "Imaginary part of: ccos (-2 - 3 i)": -float: 1 -ifloat: 1 -Test "Real part of: ccos (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ccos (0.75 + 1.25 i)": -float: 1 -ifloat: 1 - -# ccosh -Test "Real part of: ccosh (-2 - 3 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (-2 - 3 i)": -float: 1 -ifloat: 1 -Test "Real part of: ccosh (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ccosh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 - -# cexp -Test "Imaginary part of: cexp (-2.0 - 3.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cexp (0.75 + 1.25 i)": -float: 1 -ifloat: 1 - -# clog -Test "Real part of: clog (0.75 + 1.25 i)": -float: 1 -ifloat: 1 - -# clog10 -Test "Imaginary part of: clog10 (-0 + inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-0 - inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-2 - 3 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-3 + inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-3 - inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf + 0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf + 1 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf - 0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (-inf - 1 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0 + inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0 - inf i)": -float: 1 -ifloat: 1 -Test "Real part of: clog10 (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (3 + inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (3 - inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (inf + inf i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (inf - inf i)": -float: 1 -ifloat: 1 - -# cos -Test "cos (M_PI_6l * 2.0)": -double: 1 -idouble: 1 -Test "cos (M_PI_6l * 4.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -# cpow -Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": -float: 1 -ifloat: 1 -Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)": -double: 1 -float: 4 -idouble: 1 -ifloat: 4 -Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -Test "Real part of: cpow (2 + 3 i, 4 + 0 i)": -double: 1 -float: 4 -idouble: 1 -ifloat: 4 -Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i)": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -# csinh -Test "Imaginary part of: csinh (-2 - 3 i)": -double: 1 -idouble: 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 - -# csqrt -Test "Real part of: csqrt (-2 + 3 i)": -float: 1 -ifloat: 1 -Test "Real part of: csqrt (-2 - 3 i)": -float: 1 -ifloat: 1 - -# ctan -Test "Imaginary part of: ctan (0.75 + 1.25 i)": -double: 1 -idouble: 1 - -# ctanh -Test "Real part of: ctanh (-2 - 3 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "Imaginary part of: ctanh (0 + pi/4 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh (0.75 + 1.25 i)": -double: 1 -idouble: 1 - -# erf -Test "erf (1.25)": -double: 1 -idouble: 1 - -# erfc -Test "erfc (2.0)": -double: 1 -idouble: 1 -Test "erfc (4.125)": -double: 1 -idouble: 1 - -# exp10 -Test "exp10 (-1)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "exp10 (0.75)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "exp10 (3)": -double: 6 -float: 2 -idouble: 6 -ifloat: 2 - -# expm1 -Test "expm1 (0.75)": -double: 1 -idouble: 1 -Test "expm1 (1)": -float: 1 -ifloat: 1 - -# hypot -Test "hypot (-0.7, -12.4)": -float: 1 -ifloat: 1 -Test "hypot (-0.7, 12.4)": -float: 1 -ifloat: 1 -Test "hypot (-12.4, -0.7)": -float: 1 -ifloat: 1 -Test "hypot (-12.4, 0.7)": -float: 1 -ifloat: 1 -Test "hypot (0.7, -12.4)": -float: 1 -ifloat: 1 -Test "hypot (0.7, 12.4)": -float: 1 -ifloat: 1 -Test "hypot (12.4, -0.7)": -float: 1 -ifloat: 1 -Test "hypot (12.4, 0.7)": -float: 1 -ifloat: 1 - -# j0 -Test "j0 (-4.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "j0 (0.75)": -float: 1 -ifloat: 1 -Test "j0 (10.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "j0 (2.0)": -float: 2 -ifloat: 2 -Test "j0 (4.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "j0 (8.0)": -float: 1 -ifloat: 1 - -# j1 -Test "j1 (10.0)": -float: 2 -ifloat: 2 -Test "j1 (2.0)": -double: 1 -idouble: 1 -Test "j1 (8.0)": -double: 1 -idouble: 1 - -# jn -Test "jn (0, -4.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (0, 0.75)": -float: 1 -ifloat: 1 -Test "jn (0, 10.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "jn (0, 2.0)": -float: 2 -ifloat: 2 -Test "jn (0, 4.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (0, 8.0)": -float: 1 -ifloat: 1 -Test "jn (1, 10.0)": -float: 2 -ifloat: 2 -Test "jn (1, 2.0)": -double: 1 -idouble: 1 -Test "jn (1, 8.0)": -double: 1 -idouble: 1 -Test "jn (10, 0.125)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (10, 0.75)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (10, 10.0)": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 -Test "jn (10, 2.0)": -float: 4 -ifloat: 4 -Test "jn (3, 0.125)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (3, 0.75)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "jn (3, 10.0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "jn (3, 2.0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -# lgamma -Test "lgamma (0.7)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "lgamma (1.2)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -# log10 -Test "log10 (0.75)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "log10 (e)": -float: 1 -ifloat: 1 - -# log1p -Test "log1p (-0.25)": -float: 1 -ifloat: 1 - -# sincos -Test "sincos (M_PI_6l*2.0) extra output 1": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "sincos (M_PI_6l*2.0) extra output 2": -double: 1 -idouble: 1 -Test "sincos (pi/6) extra output 2": -float: 1 -ifloat: 1 - -# tgamma -Test "tgamma (-0.5)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0.5)": -float: 1 -ifloat: 1 -Test "tgamma (0.7)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# y0 -Test "y0 (1.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "y0 (1.5)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "y0 (10.0)": -float: 1 -ifloat: 1 -Test "y0 (8.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# y1 -Test "y1 (0.125)": -double: 1 -idouble: 1 -Test "y1 (1.5)": -float: 1 -ifloat: 1 -Test "y1 (10.0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "y1 (2.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y1 (8.0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -# yn -Test "yn (0, 1.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "yn (0, 1.5)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "yn (0, 10.0)": -float: 1 -ifloat: 1 -Test "yn (0, 8.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (1, 0.125)": -double: 1 -idouble: 1 -Test "yn (1, 1.5)": -float: 1 -ifloat: 1 -Test "yn (1, 10.0)": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 -Test "yn (1, 2.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (1, 8.0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "yn (10, 0.125)": -double: 1 -idouble: 1 -Test "yn (10, 0.75)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (10, 1.0)": -double: 1 -idouble: 1 -Test "yn (10, 10.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (10, 2.0)": -double: 2 -idouble: 2 -Test "yn (3, 0.125)": -double: 1 -idouble: 1 -Test "yn (3, 0.75)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (3, 10.0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (3, 2.0)": -double: 1 -idouble: 1 - -# Maximal error of functions: -Function: "atan2": -float: 1 -ifloat: 1 - -Function: "atanh": -float: 1 -ifloat: 1 - -Function: Imaginary part of "cacosh": -float: 1 -ifloat: 1 - -Function: Real part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "casinh": -double: 5 -float: 1 -idouble: 5 -ifloat: 1 - -Function: Imaginary part of "casinh": -double: 3 -float: 6 -idouble: 3 -ifloat: 6 - -Function: Imaginary part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "catanh": -double: 4 -idouble: 4 - -Function: "cbrt": -double: 1 -idouble: 1 - -Function: Real part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccos": -float: 1 -ifloat: 1 - -Function: Real part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccosh": -float: 1 -ifloat: 1 - -Function: Real part of "cexp": -float: 1 -ifloat: 1 - -Function: Imaginary part of "cexp": -float: 1 -ifloat: 1 - -Function: Real part of "clog": -float: 1 -ifloat: 1 - -Function: Real part of "clog10": -float: 1 -ifloat: 1 - -Function: Imaginary part of "clog10": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cos": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Real part of "cpow": -double: 2 -float: 4 -idouble: 2 -ifloat: 4 - -Function: Imaginary part of "cpow": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -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": -float: 1 -ifloat: 1 - -Function: Imaginary part of "ctan": -double: 1 -idouble: 1 - -Function: Real part of "ctanh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "ctanh": -float: 1 -ifloat: 1 - -Function: "erf": -double: 1 -idouble: 1 - -Function: "erfc": -double: 1 -idouble: 1 - -Function: "exp10": -double: 6 -float: 2 -idouble: 6 -ifloat: 2 - -Function: "expm1": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "hypot": -float: 1 -ifloat: 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: 2 -idouble: 1 -ifloat: 2 - -Function: "log10": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "log1p": -float: 1 -ifloat: 1 - -Function: "sincos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "tan": -double: 1 -idouble: 1 - -Function: "tgamma": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -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/m68k/coldfire/fpu/s_fabs.c b/ports/sysdeps/m68k/coldfire/fpu/s_fabs.c deleted file mode 100644 index dc8d31e872..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/s_fabs.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -double -__fabs (double x) -{ - asm ("fdabs.d %1,%0" : "=f" (x) : "fm" (x)); - return x; -} -weak_alias (__fabs, fabs) -#ifdef NO_LONG_DOUBLE -strong_alias (__fabs, __fabsl) -weak_alias (__fabs, fabsl) -#endif diff --git a/ports/sysdeps/m68k/coldfire/fpu/s_fabsf.c b/ports/sysdeps/m68k/coldfire/fpu/s_fabsf.c deleted file mode 100644 index 29a25ccdad..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/s_fabsf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -float -__fabsf (float x) -{ - asm ("fsabs.s %1,%0" : "=f" (x) : "dm" (x)); - return x; -} -weak_alias (__fabsf, fabsf) diff --git a/ports/sysdeps/m68k/coldfire/fpu/s_lrint.c b/ports/sysdeps/m68k/coldfire/fpu/s_lrint.c deleted file mode 100644 index 7de6b44d30..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/s_lrint.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -long int -__lrint (double x) -{ - long int result; - asm ("fmove.l %1,%0" : "=dm" (result) : "f" (x)); - return result; -} -weak_alias (__lrint, lrint) -#ifdef NO_LONG_DOUBLE -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif diff --git a/ports/sysdeps/m68k/coldfire/fpu/s_lrintf.c b/ports/sysdeps/m68k/coldfire/fpu/s_lrintf.c deleted file mode 100644 index a73dd12a80..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/s_lrintf.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -long int -__lrintf (float x) -{ - long int result; - asm ("fmove.l %1,%0" : "=dm" (result) : "f" (x)); - return result; -} -weak_alias (__lrintf, lrintf) diff --git a/ports/sysdeps/m68k/coldfire/fpu/s_rint.c b/ports/sysdeps/m68k/coldfire/fpu/s_rint.c deleted file mode 100644 index a98bb47eb1..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/s_rint.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -double -__rint (double x) -{ - asm ("fint.d %1,%0" : "=f" (x) : "fm" (x)); - return x; -} -weak_alias (__rint, rint) -#ifdef NO_LONG_DOUBLE -strong_alias (__rint, __rintl) -weak_alias (__rint, rintl) -#endif diff --git a/ports/sysdeps/m68k/coldfire/fpu/s_rintf.c b/ports/sysdeps/m68k/coldfire/fpu/s_rintf.c deleted file mode 100644 index 83bf5137e2..0000000000 --- a/ports/sysdeps/m68k/coldfire/fpu/s_rintf.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -float -__rintf (float x) -{ - double result; - asm ("fint.s %1,%0" : "=f" (result) : "dm" (x)); - return (float) result; -} -weak_alias (__rintf, rintf) diff --git a/ports/sysdeps/m68k/coldfire/shlib-versions b/ports/sysdeps/m68k/coldfire/shlib-versions deleted file mode 100644 index f4c68b2a51..0000000000 --- a/ports/sysdeps/m68k/coldfire/shlib-versions +++ /dev/null @@ -1 +0,0 @@ -m68k-.*-linux.* DEFAULT GLIBC_2.4 diff --git a/ports/sysdeps/m68k/coldfire/sysdep.h b/ports/sysdeps/m68k/coldfire/sysdep.h deleted file mode 100644 index 2228481566..0000000000 --- a/ports/sysdeps/m68k/coldfire/sysdep.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Assembler macros for Coldfire. - Copyright (C) 1998-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdeps/m68k/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* Perform operation OP with PC-relative SRC as the first operand and - DST as the second. TMP is available as a temporary if needed. */ -# define PCREL_OP(OP, SRC, DST, TMP) \ - move.l &SRC - ., TMP; OP (-8, %pc, TMP), DST - -/* Load the address of the GOT into register R. */ -# define LOAD_GOT(R) \ - move.l &_GLOBAL_OFFSET_TABLE_@GOTPC, R; \ - lea (-6, %pc, R), R - -#else - -/* As above, but PC is the spelling of the PC register. We need this - so that the macro can be used in both normal and extended asms. */ -# define PCREL_OP(OP, SRC, DST, TMP, PC) \ - "move.l #" SRC " - ., " TMP "\n\t" OP " (-8, " PC ", " TMP "), " DST - -#endif /* __ASSEMBLER__ */ diff --git a/ports/sysdeps/m68k/crti.S b/ports/sysdeps/m68k/crti.S deleted file mode 100644 index 75a3ce5f25..0000000000 --- a/ports/sysdeps/m68k/crti.S +++ /dev/null @@ -1,82 +0,0 @@ -/* Special .init and .fini section support for m68k. - 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: - link.w %fp, #0 - move.l %a5, -(%sp) - LOAD_GOT (%a5) -#if PREINIT_FUNCTION_WEAK - tst.l PREINIT_FUNCTION@GOT(%a5) - jeq 1f - jbsr PREINIT_FUNCTION@PLTPC -1: -#else - jbsr PREINIT_FUNCTION -#endif - - .section .fini,"ax",@progbits - .align 2 - .globl _fini - .type _fini, @function -_fini: - link.w %fp, #0 - move.l %a5, -(%sp) - LOAD_GOT (%a5) diff --git a/ports/sysdeps/m68k/crtn.S b/ports/sysdeps/m68k/crtn.S deleted file mode 100644 index 3938783c1e..0000000000 --- a/ports/sysdeps/m68k/crtn.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Special .init and .fini section support for m68k. - 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/>. */ - -/* crtn.S puts function epilogues in the .init and .fini sections - corresponding to the prologues in crti.S. */ - - .section .init,"ax",@progbits - move.l -4(%fp), %a5 - unlk %fp - rts - - .section .fini,"ax",@progbits - move.l -4(%fp), %a5 - unlk %fp - rts diff --git a/ports/sysdeps/m68k/dl-machine.h b/ports/sysdeps/m68k/dl-machine.h deleted file mode 100644 index 3ec9862f8c..0000000000 --- a/ports/sysdeps/m68k/dl-machine.h +++ /dev/null @@ -1,318 +0,0 @@ -/* Machine-dependent ELF dynamic relocation inline functions. m68k version. - Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef dl_machine_h -#define dl_machine_h - -#define ELF_MACHINE_NAME "m68k" - -#include <sys/param.h> -#include <sysdep.h> -#include <dl-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_68K; -} - - -/* Return the link-time address of _DYNAMIC. - This must be inlined in a function which uses global data. */ -static inline Elf32_Addr -elf_machine_dynamic (void) -{ - Elf32_Addr addr; - - asm ("move.l _DYNAMIC@GOT.w(%%a5), %0" - : "=a" (addr)); - return addr; -} - - -/* Return the run-time load address of the shared object. */ -static inline Elf32_Addr -elf_machine_load_address (void) -{ - Elf32_Addr addr; - asm (PCREL_OP ("lea", "_dl_start", "%0", "%0", "%%pc") "\n\t" - "sub.l _dl_start@GOT.w(%%a5), %0" - : "=a" (addr)); - return addr; -} - - -/* Set up the loaded object described by L so its unrelocated PLT - entries will jump to the on-demand fixup code in dl-runtime.c. */ - -static inline int __attribute__ ((always_inline)) -elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) -{ - Elf32_Addr *got; - extern void _dl_runtime_resolve (Elf32_Word); - extern void _dl_runtime_profile (Elf32_Word); - - if (l->l_info[DT_JMPREL] && lazy) - { - /* The GOT entries for functions in the PLT have not yet been - filled in. Their initial contents will arrange when called - to push an offset into the .rela.plt section, push - _GLOBAL_OFFSET_TABLE_[1], and then jump to - _GLOBAL_OFFSET_TABLE_[2]. */ - got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]); - got[1] = (Elf32_Addr) l; /* Identify this shared object. */ - - /* The got[2] entry contains the address of a function which gets - called to get the address of a so far unresolved function and - jump to it. The profiling extension of the dynamic linker allows - to intercept the calls to collect information. In this case we - don't store the address in the GOT so that all future calls also - end in this function. */ - if (profile) - { - got[2] = (Elf32_Addr) &_dl_runtime_profile; - - if (GLRO(dl_profile) != NULL - && _dl_name_match_p (GLRO(dl_profile), l)) - { - /* This is the object we are looking for. Say that we really - want profiling and the timers are started. */ - GL(dl_profile_map) = l; - } - } - else - /* This function will get called to fix up the GOT entry indicated by - the offset on the stack, and then jump to the resolved address. */ - got[2] = (Elf32_Addr) &_dl_runtime_resolve; - } - - return lazy; -} - -#define ELF_MACHINE_RUNTIME_FIXUP_ARGS long int save_a0, long int save_a1 -#define ELF_MACHINE_RUNTIME_FIXUP_PARAMS save_a0, save_a1 - - -/* 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\ - sub.l %fp, %fp\n\ - move.l %sp, -(%sp)\n\ - jbsr _dl_start\n\ - addq.l #4, %sp\n\ - /* FALLTHRU */\n\ -\n\ - .globl _dl_start_user\n\ - .type _dl_start_user,@function\n\ -_dl_start_user:\n\ - | Save the user entry point address in %a4.\n\ - move.l %d0, %a4\n\ - | See if we were run as a command with the executable file\n\ - | name as an extra leading argument.\n\ - " PCREL_OP ("move.l", "_dl_skip_args", "%d0", "%d0", "%pc") "\n\ - | Pop the original argument count\n\ - move.l (%sp)+, %d1\n\ - | Subtract _dl_skip_args from it.\n\ - sub.l %d0, %d1\n\ - | Adjust the stack pointer to skip _dl_skip_args words.\n\ - lea (%sp, %d0*4), %sp\n\ - | Push back the modified argument count.\n\ - move.l %d1, -(%sp)\n\ - # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ - pea 8(%sp, %d1*4)\n\ - pea 8(%sp)\n\ - move.l %d1, -(%sp)\n\ - " PCREL_OP ("move.l", "_rtld_local", "-(%sp)", "%d0", "%pc") "\n\ - jbsr _dl_init_internal@PLTPC\n\ - addq.l #8, %sp\n\ - addq.l #8, %sp\n\ - | Pass our finalizer function to the user in %a1.\n\ - " PCREL_OP ("lea", "_dl_fini", "%a1", "%a1", "%pc") "\n\ - | Initialize %fp with the stack pointer.\n\ - move.l %sp, %fp\n\ - | Jump to the user's entry point.\n\ - jmp (%a4)\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. */ -#define elf_machine_type_class(type) \ - ((((type) == R_68K_JMP_SLOT \ - || (type) == R_68K_TLS_DTPMOD32 \ - || (type) == R_68K_TLS_DTPREL32 \ - || (type) == R_68K_TLS_TPREL32) * ELF_RTYPE_CLASS_PLT) \ - | (((type) == R_68K_COPY) * ELF_RTYPE_CLASS_COPY)) - -/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ -#define ELF_MACHINE_JMP_SLOT R_68K_JMP_SLOT - -/* The m68k 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. On the m68k the JMP_SLOT - relocation ignores the addend. */ -static inline Elf32_Addr -elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, - Elf32_Addr value) -{ - return value; -} - -/* Names of the architecture-specific auditing callback functions. */ -#define ARCH_LA_PLTENTER m68k_gnu_pltenter -#define ARCH_LA_PLTEXIT m68k_gnu_pltexit - -#endif /* !dl_machine_h */ - -#ifdef RESOLVE_MAP - -/* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - -auto inline void __attribute__ ((unused, 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 unsigned int r_type = ELF32_R_TYPE (reloc->r_info); - - if (__builtin_expect (r_type == R_68K_RELATIVE, 0)) - *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; - - switch (r_type) - { - case R_68K_COPY: - if (sym == NULL) - /* This can happen in trace mode if an object could not be - found. */ - break; - if (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)); - break; - case R_68K_GLOB_DAT: - case R_68K_JMP_SLOT: - *reloc_addr = value; - break; - case R_68K_8: - *(char *) reloc_addr = value + reloc->r_addend; - break; - case R_68K_16: - *(short *) reloc_addr = value + reloc->r_addend; - break; - case R_68K_32: - *reloc_addr = value + reloc->r_addend; - break; - case R_68K_PC8: - *(char *) reloc_addr - = value + reloc->r_addend - (Elf32_Addr) reloc_addr; - break; - case R_68K_PC16: - *(short *) reloc_addr - = value + reloc->r_addend - (Elf32_Addr) reloc_addr; - break; - case R_68K_PC32: - *reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr; - break; -#ifndef RTLD_BOOTSTRAP - case R_68K_TLS_DTPMOD32: - /* Get the information from the link map returned by the - resolv function. */ - if (sym_map != NULL) - *reloc_addr = sym_map->l_tls_modid; - break; - case R_68K_TLS_DTPREL32: - if (sym != NULL) - *reloc_addr = TLS_DTPREL_VALUE (sym, reloc); - break; - case R_68K_TLS_TPREL32: - if (sym != NULL) - { - CHECK_STATIC_TLS (map, sym_map); - *reloc_addr = TLS_TPREL_VALUE (sym_map, sym, reloc); - } - break; -#endif /* !RTLD_BOOTSTRAP */ - case R_68K_NONE: /* Alright, Wilbur. */ - break; - default: - _dl_reloc_bad_type (map, r_type, 0); - break; - } - } -} - -auto inline void __attribute__ ((unused, always_inline)) -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; - *reloc_addr = l_addr + reloc->r_addend; -} - -auto inline void __attribute__ ((unused, always_inline)) -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_68K_JMP_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/m68k/dl-tls.h b/ports/sysdeps/m68k/dl-tls.h deleted file mode 100644 index 38e958c975..0000000000 --- a/ports/sysdeps/m68k/dl-tls.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Thread-local storage handling in the ELF dynamic linker. M68K version. - Copyright (C) 2010-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. - - 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; - -/* The thread pointer points 0x7000 past the first static TLS block. */ -#define TLS_TP_OFFSET 0x7000 - -/* Dynamic thread vector pointers point 0x8000 past the start of each - TLS block. */ -#define TLS_DTV_OFFSET 0x8000 - -/* Compute the value for a TPREL reloc. */ -#define TLS_TPREL_VALUE(sym_map, sym, reloc) \ - ((sym_map)->l_tls_offset + (sym)->st_value + (reloc)->r_addend \ - - TLS_TP_OFFSET) - -/* Compute the value for a DTPREL reloc. */ -#define TLS_DTPREL_VALUE(sym, reloc) \ - ((sym)->st_value + (reloc)->r_addend - TLS_DTV_OFFSET) - -extern void *__tls_get_addr (tls_index *ti); - -#define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET) -#define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET) - -/* Value used for dtv entries for which the allocation is delayed. */ -#define TLS_DTV_UNALLOCATED ((void *) -1l) diff --git a/ports/sysdeps/m68k/dl-trampoline.S b/ports/sysdeps/m68k/dl-trampoline.S deleted file mode 100644 index 1c1bbf301b..0000000000 --- a/ports/sysdeps/m68k/dl-trampoline.S +++ /dev/null @@ -1,222 +0,0 @@ -/* PLT trampolines. m68k version. - Copyright (C) 2005-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> - -#if !defined (__mcoldfire__) -# define FMOVE fmove.x -# define FPSPACE 12 -#elif defined (__mcffpu__) -# define FMOVE fmove.d -# define FPSPACE 8 -#else -# define FPSPACE 0 -#endif - - .text - .globl _dl_runtime_resolve - .type _dl_runtime_resolve, @function -_dl_runtime_resolve: - cfi_startproc - cfi_adjust_cfa_offset (8) - | Save %a0 (struct return address) and %a1. - move.l %a0, -(%sp) - cfi_adjust_cfa_offset (4) - move.l %a1, -(%sp) - cfi_adjust_cfa_offset (4) - | Call the real address resolver. - jbsr _dl_fixup - | Restore register %a0 and %a1. - move.l (%sp)+, %a1 - cfi_adjust_cfa_offset (-4) - move.l (%sp)+, %a0 - cfi_adjust_cfa_offset (-4) - | Pop parameters - addq.l #8, %sp - cfi_adjust_cfa_offset (-8) - | Call real function. -#ifdef __mcoldfire__ - move.l %d0,-(%sp) - cfi_adjust_cfa_offset (4) - rts -#else - jmp (%d0) -#endif - cfi_endproc - .size _dl_runtime_resolve, . - _dl_runtime_resolve - - .text - .globl _dl_runtime_profile - .type _dl_runtime_profile, @function -_dl_runtime_profile: - cfi_startproc - cfi_adjust_cfa_offset (8) - pea 8(%sp) - cfi_adjust_cfa_offset (4) - move.l %a1, -(%sp) - cfi_adjust_cfa_offset (4) - move.l %a0, -(%sp) - cfi_adjust_cfa_offset (4) - pea -1.w - cfi_adjust_cfa_offset (4) - | Push parameters for _dl_profile_fixup - pea (%sp) - cfi_adjust_cfa_offset (4) - pea 8(%sp) - cfi_adjust_cfa_offset (4) - move.l 32(%sp), -(%sp) - cfi_adjust_cfa_offset (4) - move.l 32(%sp), -(%sp) - cfi_adjust_cfa_offset (4) - move.l 32(%sp), -(%sp) - cfi_adjust_cfa_offset (4) - subq.l #8, %sp - cfi_adjust_cfa_offset (8) - | Call the real address resolver. - jbsr _dl_profile_fixup - | Pop parameters - lea 28(%sp), %sp - cfi_adjust_cfa_offset (-28) - move.l (%sp), %d1 - jpl 1f - addq.l #4, %sp - cfi_adjust_cfa_offset (-4) - | Restore register %a0 and %a1. - move.l (%sp)+, %a0 - cfi_adjust_cfa_offset (-4) - move.l (%sp)+, %a1 - cfi_adjust_cfa_offset (-4) - lea 12(%sp), %sp - cfi_adjust_cfa_offset (-12) - | Call real function. -#ifdef __mcoldfire__ - move.l %d0,-(%sp) - cfi_adjust_cfa_offset (4) - rts -#else - jmp (%d0) -#endif - - /* - +24 return address - +20 PLT1 - +16 PLT2 - +12 %sp - +8 %a1 - +4 %a0 - %sp free - */ -#ifdef __mcoldfire__ - cfi_adjust_cfa_offset (20) -#else - cfi_adjust_cfa_offset (24) -#endif -1: move.l %a2, (%sp) - cfi_rel_offset (%a2, 0) - move.l %sp, %a2 - move.l %sp, %a0 - lea 28(%sp), %a1 - | Round framesize up to longword alignment - addq.l #3, %d1 - and.l #-3, %d1 - sub.l %d1, %a0 - move.l %a0, %sp - cfi_def_cfa_register (%a2) -#ifdef __mcoldfire__ - tst.l %d1 - beq 2f -1: move.l (%a1)+, (%a0)+ - subq.l #4,%d1 - bne 1b -2: -#else - lsr.l #2,%d1 - jra 2f -1: move.l (%a1)+, (%a0)+ -2: dbra %d1,1b -#endif - /* - %a2+24 return address - %a2+20 PLT1 - %a2+16 PLT2 - %a2+12 %sp - %a2+8 %a1 - %a2+4 %a0 - %a2 %a2 - %sp copied stack frame - */ - - move.l 4(%a2), %a0 - move.l 8(%a2), %a1 -#ifdef __mcoldfire__ - pea 2f(%pc) - move.l %d0,-(%sp) - rts -2: -#else - jsr (%d0) -#endif - move.l %a2, %sp - cfi_def_cfa_register (%sp) - move.l (%sp)+, %a2 - cfi_adjust_cfa_offset (4) - cfi_restore (%a2) - /* - +20 return address - +16 PLT1 - +12 PLT2 - +8 %sp - +4 %a1 - %sp %a0 - */ -#ifdef FMOVE - FMOVE %fp0, -(%sp) - cfi_adjust_cfa_offset (FPSPACE) -#endif - move.l %a0, -(%sp) - cfi_adjust_cfa_offset (4) - move.l %d1, -(%sp) - cfi_adjust_cfa_offset (4) - move.l %d0, -(%sp) - cfi_adjust_cfa_offset (4) - pea (%sp) - cfi_adjust_cfa_offset (4) - pea (16+FPSPACE)(%sp) - cfi_adjust_cfa_offset (4) - move.l (32+FPSPACE)(%sp), -(%sp) - cfi_adjust_cfa_offset (4) - move.l (32+FPSPACE)(%sp), -(%sp) - cfi_adjust_cfa_offset (4) - jbsr _dl_call_pltexit - lea 16(%sp), %sp - cfi_adjust_cfa_offset (-16) - move.l (%sp)+, %d0 - cfi_adjust_cfa_offset (-4) - move.l (%sp)+, %d1 - cfi_adjust_cfa_offset (-4) - move.l (%sp)+, %a0 - cfi_adjust_cfa_offset (-4) -#ifdef FMOVE - FMOVE (%sp)+, %fp0 - cfi_adjust_cfa_offset (-FPSPACE) -#endif - lea 20(%sp), %sp - cfi_adjust_cfa_offset (-20) - rts - cfi_endproc - .size _dl_runtime_profile, . - _dl_runtime_profile diff --git a/ports/sysdeps/m68k/ffs.c b/ports/sysdeps/m68k/ffs.c deleted file mode 100644 index 633c0012cb..0000000000 --- a/ports/sysdeps/m68k/ffs.c +++ /dev/null @@ -1,48 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For mc68020, mc68030, mc68040. - This file is part of the GNU C Library. - Copyright (C) 1991-2014 Free Software Foundation, Inc. - Contributed by Torbjorn Granlund (tege@sics.se). - - 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 ffsl __something_else -#include <string.h> - -#undef ffs - -#if defined (__GNUC__) && defined (__mc68020__) - -int -__ffs (x) - int x; -{ - int cnt; - - asm ("bfffo %1{#0:#0},%0" : "=d" (cnt) : "dm" (x & -x)); - - return 32 - cnt; -} -weak_alias (__ffs, ffs) -libc_hidden_def (__ffs) -libc_hidden_builtin_def (ffs) -#undef ffsl -weak_alias (__ffs, ffsl) - -#else - -#include <string/ffs.c> - -#endif diff --git a/ports/sysdeps/m68k/fpu/bits/fenv.h b/ports/sysdeps/m68k/fpu/bits/fenv.h deleted file mode 100644 index e16412514f..0000000000 --- a/ports/sysdeps/m68k/fpu/bits/fenv.h +++ /dev/null @@ -1,87 +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 _FENV_H -# error "Never use <bits/fenv.h> directly; include <fenv.h> instead." -#endif - - -/* Define bits representing the exception. We use the bit positions of - the appropriate bits in the FPSR Accrued Exception Byte. */ -enum - { - FE_INEXACT = -#define FE_INEXACT (1 << 3) - FE_INEXACT, - FE_DIVBYZERO = -#define FE_DIVBYZERO (1 << 4) - FE_DIVBYZERO, - FE_UNDERFLOW = -#define FE_UNDERFLOW (1 << 5) - FE_UNDERFLOW, - FE_OVERFLOW = -#define FE_OVERFLOW (1 << 6) - FE_OVERFLOW, - FE_INVALID = -#define FE_INVALID (1 << 7) - FE_INVALID - }; - -#define FE_ALL_EXCEPT \ - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) - -/* The m68k FPU supports all of the four defined rounding modes. We use - the bit positions in the FPCR Mode Control Byte as the values for the - appropriate macros. */ -enum - { - FE_TONEAREST = -#define FE_TONEAREST 0 - FE_TONEAREST, - FE_TOWARDZERO = -#define FE_TOWARDZERO (1 << 4) - FE_TOWARDZERO, - FE_DOWNWARD = -#define FE_DOWNWARD (2 << 4) - FE_DOWNWARD, - FE_UPWARD = -#define FE_UPWARD (3 << 4) - FE_UPWARD - }; - - -/* Type representing exception flags. */ -typedef unsigned int fexcept_t; - - -/* Type representing floating-point environment. This structure - corresponds to the layout of the block written by `fmovem'. */ -typedef struct - { - unsigned int __control_register; - unsigned int __status_register; - unsigned int __instruction_address; - } -fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1) - -#ifdef __USE_GNU -/* Floating-point environment where none of the exceptions are masked. */ -# define FE_NOMASK_ENV ((const fenv_t *) -2) -#endif diff --git a/ports/sysdeps/m68k/fpu/fclrexcpt.c b/ports/sysdeps/m68k/fpu/fclrexcpt.c deleted file mode 100644 index 16836f8f5c..0000000000 --- a/ports/sysdeps/m68k/fpu/fclrexcpt.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Clear given exceptions in current floating-point environment. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -__feclearexcept (int excepts) -{ - fexcept_t fpsr; - - /* Mask out unsupported bits/exceptions. */ - excepts &= FE_ALL_EXCEPT; - - /* Fetch the fpu status register. */ - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (fpsr)); - - /* Clear the relevant bits. */ - fpsr &= ~excepts; - - /* Put the new data in effect. */ - __asm__ __volatile__ ("fmove%.l %0,%/fpsr" : : "dm" (fpsr)); - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__feclearexcept, __old_feclearexcept) -compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1); -#endif - -libm_hidden_ver (__feclearexcept, feclearexcept) -versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/fpu/fedisblxcpt.c b/ports/sysdeps/m68k/fpu/fedisblxcpt.c deleted file mode 100644 index 4916bd6e38..0000000000 --- a/ports/sysdeps/m68k/fpu/fedisblxcpt.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Disable floating-point exceptions. - Copyright (C) 2000-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@suse.de>, 2000. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -fedisableexcept (int excepts) -{ - unsigned int old_exc, new_exc; - - /* Get the current control register contents. */ - __asm__ ("fmove%.l %!,%0" : "=dm" (new_exc)); - - old_exc = (new_exc >> 6) & FE_ALL_EXCEPT; - - excepts &= FE_ALL_EXCEPT; - - new_exc &= ~(excepts << 6); - __asm__ ("fmove%.l %0,%!" : : "dm" (new_exc)); - - return old_exc; -} diff --git a/ports/sysdeps/m68k/fpu/feenablxcpt.c b/ports/sysdeps/m68k/fpu/feenablxcpt.c deleted file mode 100644 index 4e7825b034..0000000000 --- a/ports/sysdeps/m68k/fpu/feenablxcpt.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Enable floating-point exceptions. - Copyright (C) 2000-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@suse.de>, 2000. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -feenableexcept (int excepts) -{ - unsigned int new_exc, old_exc; - - /* Get the current control register contents. */ - __asm__ ("fmove%.l %!,%0" : "=dm" (new_exc)); - - old_exc = (new_exc >> 6) & FE_ALL_EXCEPT; - - excepts &= FE_ALL_EXCEPT; - - new_exc |= excepts << 6; - __asm__ ("fmove%.l %0,%!" : : "dm" (new_exc)); - - return old_exc; -} diff --git a/ports/sysdeps/m68k/fpu/fegetenv.c b/ports/sysdeps/m68k/fpu/fegetenv.c deleted file mode 100644 index 7feac6426f..0000000000 --- a/ports/sysdeps/m68k/fpu/fegetenv.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Store current floating-point environment. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -__fegetenv (fenv_t *envp) -{ -#ifdef __mcoldfire__ - __asm__ ("fmove%.l %/fpcr,%0" : "=dm" (envp->__control_register)); - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (envp->__status_register)); - __asm__ ("fmove%.l %/fpiar,%0" : "=dm" (envp->__instruction_address)); -#else - __asm__ ("fmovem%.l %/fpcr/%/fpsr/%/fpiar,%0" : "=m" (*envp)); -#endif - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__fegetenv, __old_fegetenv) -compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1); -#endif - -libm_hidden_ver (__fegetenv, fegetenv) -versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/fpu/fegetexcept.c b/ports/sysdeps/m68k/fpu/fegetexcept.c deleted file mode 100644 index e3b43d4faf..0000000000 --- a/ports/sysdeps/m68k/fpu/fegetexcept.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Get enabled floating-point exceptions. - Copyright (C) 2000-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@suse.de>, 2000. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -fegetexcept (void) -{ - unsigned int exc; - - /* Get the current control register contents. */ - __asm__ ("fmove%.l %!,%0" : "=dm" (exc)); - - return (exc >> 6) & FE_ALL_EXCEPT; -} diff --git a/ports/sysdeps/m68k/fpu/fegetround.c b/ports/sysdeps/m68k/fpu/fegetround.c deleted file mode 100644 index b4f0802cb3..0000000000 --- a/ports/sysdeps/m68k/fpu/fegetround.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Return current rounding direction. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -fegetround (void) -{ - int fpcr; - - __asm__ ("fmove%.l %!,%0" : "=dm" (fpcr)); - - return fpcr & FE_UPWARD; -} -libm_hidden_def (fegetround) diff --git a/ports/sysdeps/m68k/fpu/feholdexcpt.c b/ports/sysdeps/m68k/fpu/feholdexcpt.c deleted file mode 100644 index ad9ca0c1f1..0000000000 --- a/ports/sysdeps/m68k/fpu/feholdexcpt.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Store current floating-point environment and clear exceptions. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -feholdexcept (fenv_t *envp) -{ - fexcept_t fpcr, fpsr; - - /* Store the environment. */ -#ifdef __mcoldfire__ - __asm__ ("fmove%.l %/fpcr,%0" : "=dm" (envp->__control_register)); - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (envp->__status_register)); - __asm__ ("fmove%.l %/fpiar,%0" : "=dm" (envp->__instruction_address)); -#else - __asm__ ("fmovem%.l %/fpcr/%/fpsr/%/fpiar,%0" : "=m" (*envp)); -#endif - - /* Now clear all exceptions. */ - fpsr = envp->__status_register & ~FE_ALL_EXCEPT; - __asm__ __volatile__ ("fmove%.l %0,%/fpsr" : : "dm" (fpsr)); - /* And set all exceptions to non-stop. */ - fpcr = envp->__control_register & ~(FE_ALL_EXCEPT << 6); - __asm__ __volatile__ ("fmove%.l %0,%!" : : "dm" (fpcr)); - - return 0; -} -libm_hidden_def (feholdexcept); diff --git a/ports/sysdeps/m68k/fpu/fesetenv.c b/ports/sysdeps/m68k/fpu/fesetenv.c deleted file mode 100644 index 6d91922dec..0000000000 --- a/ports/sysdeps/m68k/fpu/fesetenv.c +++ /dev/null @@ -1,74 +0,0 @@ -/* Install given floating-point environment. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -__fesetenv (const fenv_t *envp) -{ - fenv_t temp; - - /* Install the environment specified by ENVP. But there are a few - values which we do not want to come from the saved environment. - Therefore, we get the current environment and replace the values - we want to use from the environment specified by the parameter. */ -#ifdef __mcoldfire__ - __asm__ ("fmove%.l %/fpcr,%0" : "=dm" (temp.__control_register)); - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (temp.__status_register)); - __asm__ ("fmove%.l %/fpiar,%0" : "=dm" (temp.__instruction_address)); -#else - __asm__ ("fmovem%.l %/fpcr/%/fpsr/%/fpiar,%0" : "=m" (*&temp)); -#endif - - temp.__status_register &= ~FE_ALL_EXCEPT; - temp.__control_register &= ~((FE_ALL_EXCEPT << 6) | FE_UPWARD); - if (envp == FE_DFL_ENV) - ; - else if (envp == FE_NOMASK_ENV) - temp.__control_register |= FE_ALL_EXCEPT << 6; - else - { - temp.__control_register |= (envp->__control_register - & ((FE_ALL_EXCEPT << 6) | FE_UPWARD)); - temp.__status_register |= envp->__status_register & FE_ALL_EXCEPT; - } - -#ifdef __mcoldfire__ - __asm__ __volatile__ ("fmove%.l %0,%/fpiar" - :: "dm" (temp.__instruction_address)); - __asm__ __volatile__ ("fmove%.l %0,%/fpcr" - :: "dm" (temp.__control_register)); - __asm__ __volatile__ ("fmove%.l %0,%/fpsr" - :: "dm" (temp.__status_register)); -#else - __asm__ __volatile__ ("fmovem%.l %0,%/fpcr/%/fpsr/%/fpiar" : : "m" (*&temp)); -#endif - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__fesetenv, __old_fesetenv) -compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1); -#endif - -libm_hidden_ver (__fesetenv, fesetenv) -versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/fpu/fesetround.c b/ports/sysdeps/m68k/fpu/fesetround.c deleted file mode 100644 index 0f6d6b17ba..0000000000 --- a/ports/sysdeps/m68k/fpu/fesetround.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Set current rounding direction. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -fesetround (int round) -{ - fexcept_t fpcr; - - if (round & ~FE_UPWARD) - /* ROUND is no valid rounding mode. */ - return 1; - - __asm__ ("fmove%.l %!,%0" : "=dm" (fpcr)); - fpcr &= ~FE_UPWARD; - fpcr |= round; - __asm__ __volatile__ ("fmove%.l %0,%!" : : "dm" (fpcr)); - - return 0; -} -libm_hidden_def (fesetround); diff --git a/ports/sysdeps/m68k/fpu/feupdateenv.c b/ports/sysdeps/m68k/fpu/feupdateenv.c deleted file mode 100644 index 3ed7ed00c6..0000000000 --- a/ports/sysdeps/m68k/fpu/feupdateenv.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Install given floating-point environment and raise exceptions. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -__feupdateenv (const fenv_t *envp) -{ - fexcept_t fpsr; - - /* Save current exceptions. */ - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (fpsr)); - fpsr &= FE_ALL_EXCEPT; - - /* Install new environment. */ - fesetenv (envp); - - /* Raise the saved exception. Incidently for us the implementation - defined format of the values in objects of type fexcept_t is the - same as the ones specified using the FE_* constants. */ - feraiseexcept ((int) fpsr); - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__feupdateenv, __old_feupdateenv) -compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1); -#endif - -libm_hidden_ver (__feupdateenv, feupdateenv) -versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/fpu/fgetexcptflg.c b/ports/sysdeps/m68k/fpu/fgetexcptflg.c deleted file mode 100644 index b08b996be4..0000000000 --- a/ports/sysdeps/m68k/fpu/fgetexcptflg.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Store current representation for exceptions. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -__fegetexceptflag (fexcept_t *flagp, int excepts) -{ - fexcept_t fpsr; - - /* Get the current exceptions. */ - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (fpsr)); - - *flagp = fpsr & excepts & FE_ALL_EXCEPT; - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__fegetexceptflag, __old_fegetexceptflag) -compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1); -#endif - -versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/fpu/fsetexcptflg.c b/ports/sysdeps/m68k/fpu/fsetexcptflg.c deleted file mode 100644 index 8c0c2b0cca..0000000000 --- a/ports/sysdeps/m68k/fpu/fsetexcptflg.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Set floating-point environment exception handling. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> -#include <math.h> - -int -__fesetexceptflag (const fexcept_t *flagp, int excepts) -{ - fexcept_t fpsr; - - /* Get the current status register. */ - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (fpsr)); - - /* Install the new exception bits in the Accrued Exception Byte. */ - fpsr &= ~(excepts & FE_ALL_EXCEPT); - fpsr |= *flagp & excepts & FE_ALL_EXCEPT; - - /* Store the new status register. */ - __asm__ __volatile__ ("fmove%.l %0,%/fpsr" : : "dm" (fpsr)); - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__fesetexceptflag, __old_fesetexceptflag) -compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1); -#endif - -versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/fpu/ftestexcept.c b/ports/sysdeps/m68k/fpu/ftestexcept.c deleted file mode 100644 index 29a7a53c01..0000000000 --- a/ports/sysdeps/m68k/fpu/ftestexcept.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Test exception in current environment. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> - -int -fetestexcept (int excepts) -{ - fexcept_t fpsr; - - /* Get current exceptions. */ - __asm__ ("fmove%.l %/fpsr,%0" : "=dm" (fpsr)); - - return fpsr & excepts & FE_ALL_EXCEPT; -} -libm_hidden_def (fetestexcept) diff --git a/ports/sysdeps/m68k/fpu_control.h b/ports/sysdeps/m68k/fpu_control.h deleted file mode 100644 index 56189f2d65..0000000000 --- a/ports/sysdeps/m68k/fpu_control.h +++ /dev/null @@ -1,118 +0,0 @@ -/* 68k FPU control word definitions. - Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _FPU_CONTROL_H -#define _FPU_CONTROL_H - -/* - * Motorola floating point control register bits. - * - * 31-16 -> reserved (read as 0, ignored on write) - * 15 -> enable trap for BSUN exception - * 14 -> enable trap for SNAN exception - * 13 -> enable trap for OPERR exception - * 12 -> enable trap for OVFL exception - * 11 -> enable trap for UNFL exception - * 10 -> enable trap for DZ exception - * 9 -> enable trap for INEX2 exception (INEX on Coldfire) - * 8 -> enable trap for INEX1 exception (IDE on Coldfire) - * 7-6 -> Precision Control (only bit 6 is used on Coldfire) - * 5-4 -> Rounding Control - * 3-0 -> zero (read as 0, write as 0) - * - * - * Precision Control: - * 00 - round to extended precision - * 01 - round to single precision - * 10 - round to double precision - * 11 - undefined - * - * Rounding Control: - * 00 - rounding to nearest (RN) - * 01 - rounding toward zero (RZ) - * 10 - rounding (down)toward minus infinity (RM) - * 11 - rounding (up) toward plus infinity (RP) - * - * The hardware default is 0x0000. I choose 0x5400. - */ - -#include <features.h> - -#if defined (__mcoldfire__) && !defined (__mcffpu__) - -# define _FPU_RESERVED 0xffffffff -# define _FPU_DEFAULT 0x00000000 -# define _FPU_GETCW(cw) ((cw) = 0) -# define _FPU_SETCW(cw) ((void) (cw)) - -#else - -/* masking of interrupts */ -# define _FPU_MASK_BSUN 0x8000 -# define _FPU_MASK_SNAN 0x4000 -# define _FPU_MASK_OPERR 0x2000 -# define _FPU_MASK_OVFL 0x1000 -# define _FPU_MASK_UNFL 0x0800 -# define _FPU_MASK_DZ 0x0400 -# define _FPU_MASK_INEX1 0x0200 -# define _FPU_MASK_INEX2 0x0100 - -/* precision control */ -# ifdef __mcoldfire__ -# define _FPU_DOUBLE 0x00 -# else -# define _FPU_EXTENDED 0x00 /* RECOMMENDED */ -# define _FPU_DOUBLE 0x80 -# endif -# define _FPU_SINGLE 0x40 /* DO NOT USE */ - -/* rounding control */ -# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ -# define _FPU_RC_ZERO 0x10 -# define _FPU_RC_DOWN 0x20 -# define _FPU_RC_UP 0x30 - -# ifdef __mcoldfire__ -# define _FPU_RESERVED 0xFFFF800F -# else -# define _FPU_RESERVED 0xFFFF000F /* Reserved bits in fpucr */ -# endif - - -/* Now two recommended fpucr */ - -/* The fdlibm code requires no interrupts for exceptions. Don't - change the rounding mode, it would break long double I/O! */ -# define _FPU_DEFAULT 0x00000000 - -/* IEEE: same as above, but exceptions. We must make it non-zero so - that __setfpucw works. This bit will be ignored. */ -# define _FPU_IEEE 0x00000001 - -/* Macros for accessing the hardware control word. */ -# define _FPU_GETCW(cw) __asm__ ("fmove%.l %!, %0" : "=dm" (cw)) -# define _FPU_SETCW(cw) __asm__ volatile ("fmove%.l %0, %!" : : "dm" (cw)) -#endif - -/* Type of the control word. */ -typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); - -/* Default control word set at startup. */ -extern fpu_control_t __fpu_control; - -#endif /* _M68K_FPU_CONTROL_H */ diff --git a/ports/sysdeps/m68k/gccframe.h b/ports/sysdeps/m68k/gccframe.h deleted file mode 100644 index 706b61a27b..0000000000 --- a/ports/sysdeps/m68k/gccframe.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Definition of object in frame unwind info. m68k version. - Copyright (C) 2001-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#define FIRST_PSEUDO_REGISTER 24 - -#include <sysdeps/generic/gccframe.h> diff --git a/ports/sysdeps/m68k/jmpbuf-unwind.h b/ports/sysdeps/m68k/jmpbuf-unwind.h deleted file mode 100644 index 8739abbf95..0000000000 --- a/ports/sysdeps/m68k/jmpbuf-unwind.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Examine __jmp_buf for unwinding frames. m68k version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <setjmp.h> -#include <stdint.h> -#include <unwind.h> - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle ((jmpbuf)->__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/m68k/ldsodefs.h b/ports/sysdeps/m68k/ldsodefs.h deleted file mode 100644 index b73bf21f08..0000000000 --- a/ports/sysdeps/m68k/ldsodefs.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Run-time dynamic linker data structures for loaded ELF shared objects. - Copyright (C) 2006-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef __LDSODEFS_H - -#include <elf.h> - -struct La_m68k_regs; -struct La_m68k_retval; - -#define ARCH_PLTENTER_MEMBERS \ - Elf32_Addr (*m68k_gnu_pltenter) (Elf32_Sym *, unsigned int, \ - uintptr_t *, uintptr_t *, \ - struct La_m68k_regs *, \ - unsigned int *, const char *name, \ - long int *framesizep); - -#define ARCH_PLTEXIT_MEMBERS \ - unsigned int (*m68k_gnu_pltexit) (Elf32_Sym *, unsigned int, \ - uintptr_t *, uintptr_t *, \ - const struct La_m68k_regs *, \ - struct La_m68k_retval *, \ - const char *); - -#include_next <ldsodefs.h> - -#endif diff --git a/ports/sysdeps/m68k/libc-tls.c b/ports/sysdeps/m68k/libc-tls.c deleted file mode 100644 index 300efcf98b..0000000000 --- a/ports/sysdeps/m68k/libc-tls.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Thread-local storage handling in the ELF dynamic linker. m68k version. - Copyright (C) 2010-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. - - 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 M68K, 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 + GET_ADDR_OFFSET; -} diff --git a/ports/sysdeps/m68k/m680x0/Implies b/ports/sysdeps/m68k/m680x0/Implies deleted file mode 100644 index abf356d9e8..0000000000 --- a/ports/sysdeps/m68k/m680x0/Implies +++ /dev/null @@ -1 +0,0 @@ -ieee754/ldbl-96 diff --git a/ports/sysdeps/m68k/m680x0/Makefile b/ports/sysdeps/m68k/m680x0/Makefile deleted file mode 100644 index 582fa6f900..0000000000 --- a/ports/sysdeps/m68k/m680x0/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -# The 68k `long double' is a distinct type we support. -long-double-fcts = yes diff --git a/ports/sysdeps/m68k/m680x0/add_n.S b/ports/sysdeps/m68k/m680x0/add_n.S deleted file mode 100644 index 370e993fbb..0000000000 --- a/ports/sysdeps/m68k/m680x0/add_n.S +++ /dev/null @@ -1,82 +0,0 @@ -/* mc68020 __mpn_add_n -- Add two limb vectors of the same length > 0 and store - sum in a third limb vector. - -Copyright (C) 1992-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s1_ptr (sp + 8) - s2_ptr (sp + 16) - size (sp + 12) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - - TEXT -ENTRY(__mpn_add_n) -/* Save used registers on the stack. */ - movel R(d2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(a2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - cfi_rel_offset (R(d2), 4) - cfi_rel_offset (R(a2), 0) - -/* Copy the arguments to registers. Better use movem? */ - movel MEM_DISP(sp,12),R(a2) - movel MEM_DISP(sp,16),R(a0) - movel MEM_DISP(sp,20),R(a1) - movel MEM_DISP(sp,24),R(d2) - - eorw #1,R(d2) - lsrl #1,R(d2) - bcc L(L1) - subql #1,R(d2) /* clears cy as side effect */ - -L(Loop:) - movel MEM_POSTINC(a0),R(d0) - movel MEM_POSTINC(a1),R(d1) - addxl R(d1),R(d0) - movel R(d0),MEM_POSTINC(a2) -L(L1:) movel MEM_POSTINC(a0),R(d0) - movel MEM_POSTINC(a1),R(d1) - addxl R(d1),R(d0) - movel R(d0),MEM_POSTINC(a2) - - dbf R(d2),L(Loop) /* loop until 16 lsb of %4 == -1 */ - subxl R(d0),R(d0) /* d0 <= -cy; save cy as 0 or -1 in d0 */ - subl #0x10000,R(d2) - bcs L(L2) - addl R(d0),R(d0) /* restore cy */ - bra L(Loop) - -L(L2:) - negl R(d0) - -/* Restore used registers from stack frame. */ - movel MEM_POSTINC(sp),R(a2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(a2)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) - - rts -END(__mpn_add_n) diff --git a/ports/sysdeps/m68k/m680x0/bits/huge_vall.h b/ports/sysdeps/m68k/m680x0/bits/huge_vall.h deleted file mode 100644 index f1a1614c35..0000000000 --- a/ports/sysdeps/m68k/m680x0/bits/huge_vall.h +++ /dev/null @@ -1,41 +0,0 @@ -/* `HUGE_VALL' constant for m68k (where it is infinity). - Used by <stdlib.h> and <math.h> functions for overflow. - Copyright (C) 1992-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 _MATH_H -# error "Never use <bits/huge_val.h> directly; include <math.h> instead." -#endif - -#if __GNUC_PREREQ(3,3) -# define HUGE_VALL (__builtin_huge_vall ()) -#elif __GNUC_PREREQ(2,96) -# define HUGE_VALL (__extension__ 0x1.0p32767L) -#elif defined__GNUC__ - -# define HUGE_VALL \ - (__extension__ \ - ((union { unsigned long __l[3]; long double __ld; }) \ - { __l: { 0x7fff0000UL, 0x80000000UL, 0UL } }).__ld) - -#else /* not GCC */ - -static union { unsigned char __c[12]; long double __ld; } __huge_vall = - { { 0x7f, 0xff, 0, 0, 0x80, 0, 0, 0, 0, 0, 0, 0 } }; -# define HUGE_VALL (__huge_vall.__ld) - -#endif /* GCC 2.95. */ diff --git a/ports/sysdeps/m68k/m680x0/bits/mathdef.h b/ports/sysdeps/m68k/m680x0/bits/mathdef.h deleted file mode 100644 index c13e53bf31..0000000000 --- a/ports/sysdeps/m68k/m680x0/bits/mathdef.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/>. */ - -#if !defined _MATH_H && !defined _COMPLEX_H -# error "Never use <bits/mathdef.h> directly; include <math.h> instead" -#endif - -#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF -# define _MATH_H_MATHDEF 1 - -/* The m68k FPUs evaluate all values in the 96 bit floating-point format - which is also available for the user as `long double'. Therefore we - define: */ -typedef long double float_t; /* `float' expressions are evaluated as - `long double'. */ -typedef long double double_t; /* `double' expressions are evaluated as - `long double'. */ - -/* The values returned by `ilogb' for 0 and NaN respectively. */ -# define FP_ILOGB0 (-2147483647 - 1) -# define FP_ILOGBNAN (2147483647) - -#endif /* ISO C99 */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h b/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h deleted file mode 100644 index e609eb5c1b..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h +++ /dev/null @@ -1,443 +0,0 @@ -/* Definitions of inline math functions implemented by the m68881/2. - Copyright (C) 1991-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 _MATH_H -# error "Never use <bits/mathinline.h> directly; include <math.h> instead." -#endif - -#ifndef __extern_inline -# define __MATH_INLINE __inline -#else -# define __MATH_INLINE __extern_inline -#endif - -#ifdef __GNUC__ - -#ifdef __USE_ISOC99 -/* GCC 3.1 and up have builtins that actually can be used. */ -# if !__GNUC_PREREQ (3,1) -/* ISO C99 defines some macros to perform unordered comparisons. The - m68k FPU supports this with special opcodes and we should use them. - These must not be inline functions since we have to be able to handle - all floating-point types. */ -# undef isgreater -# undef isgreaterequal -# undef isless -# undef islessequal -# undef islessgreater -# undef isunordered -# define isgreater(x, y) \ - __extension__ \ - ({ char __result; \ - __asm__ ("fcmp%.x %2,%1; fsogt %0" \ - : "=dm" (__result) : "f" (x), "f" (y)); \ - __result != 0; }) - -# define isgreaterequal(x, y) \ - __extension__ \ - ({ char __result; \ - __asm__ ("fcmp%.x %2,%1; fsoge %0" \ - : "=dm" (__result) : "f" (x), "f" (y)); \ - __result != 0; }) - -# define isless(x, y) \ - __extension__ \ - ({ char __result; \ - __asm__ ("fcmp%.x %2,%1; fsolt %0" \ - : "=dm" (__result) : "f" (x), "f" (y)); \ - __result != 0; }) - -# define islessequal(x, y) \ - __extension__ \ - ({ char __result; \ - __asm__ ("fcmp%.x %2,%1; fsole %0" \ - : "=dm" (__result) : "f" (x), "f" (y)); \ - __result != 0; }) - -# define islessgreater(x, y) \ - __extension__ \ - ({ char __result; \ - __asm__ ("fcmp%.x %2,%1; fsogl %0" \ - : "=dm" (__result) : "f" (x), "f" (y)); \ - __result != 0; }) - -# define isunordered(x, y) \ - __extension__ \ - ({ char __result; \ - __asm__ ("fcmp%.x %2,%1; fsun %0" \ - : "=dm" (__result) : "f" (x), "f" (y)); \ - __result != 0; }) -# endif /* GCC 3.1 */ - -/* Test for negative number. Used in the signbit() macro. */ -__MATH_INLINE int -__NTH (__signbitf (float __x)) -{ - __extension__ union { float __f; int __i; } __u = { __f: __x }; - return __u.__i < 0; -} -__MATH_INLINE int -__NTH (__signbit (double __x)) -{ - __extension__ union { double __d; int __i[2]; } __u = { __d: __x }; - return __u.__i[0] < 0; -} -__MATH_INLINE int -__NTH (__signbitl (long double __x)) -{ - __extension__ union { long double __d; int __i[3]; } __u = { __d: __x }; - return __u.__i[0] < 0; -} -#endif - - -#if (!defined __NO_MATH_INLINES && defined __OPTIMIZE__) \ - || defined __LIBC_INTERNAL_MATH_INLINES - -#ifdef __LIBC_INTERNAL_MATH_INLINES -/* This is used when defining the functions themselves. Define them with - __ names, and with `static inline' instead of `extern inline' so the - bodies will always be used, never an external function call. */ -# define __m81_u(x) __CONCAT(__,x) -# define __m81_inline static __inline -#else -# define __m81_u(x) x -# define __m81_inline __MATH_INLINE -# define __M81_MATH_INLINES 1 -#endif - -/* Define a const math function. */ -#define __m81_defun(rettype, func, args) \ - __m81_inline rettype __attribute__((__const__)) \ - __NTH (__m81_u(func) args) - -/* Define the three variants of a math function that has a direct - implementation in the m68k fpu. FUNC is the name for C (which will be - suffixed with f and l for the float and long double version, resp). OP - is the name of the fpu operation (without leading f). */ - -#if defined __USE_MISC || defined __USE_ISOC99 -# define __inline_mathop(func, op) \ - __inline_mathop1(double, func, op) \ - __inline_mathop1(float, __CONCAT(func,f), op) \ - __inline_mathop1(long double, __CONCAT(func,l), op) -#else -# define __inline_mathop(func, op) \ - __inline_mathop1(double, func, op) -#endif - -#define __inline_mathop1(float_type,func, op) \ - __m81_defun (float_type, func, (float_type __mathop_x)) \ - { \ - float_type __result; \ - __asm __volatile__ ("f" __STRING(op) "%.x %1, %0" \ - : "=f" (__result) : "f" (__mathop_x)); \ - return __result; \ - } - -__inline_mathop(__atan, atan) -__inline_mathop(__cos, cos) -__inline_mathop(__sin, sin) -__inline_mathop(__tan, tan) -__inline_mathop(__tanh, tanh) -__inline_mathop(__fabs, abs) - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -__inline_mathop(__rint, int) -__inline_mathop(__expm1, etoxm1) -__inline_mathop(__log1p, lognp1) -#endif - -#ifdef __USE_MISC -__inline_mathop(__significand, getman) -#endif - -#ifdef __USE_ISOC99 -__inline_mathop(__trunc, intrz) -#endif - -#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__ - -__inline_mathop(atan, atan) -__inline_mathop(tanh, tanh) - -# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -__inline_mathop(rint, int) -__inline_mathop(log1p, lognp1) -# endif - -# ifdef __USE_MISC -__inline_mathop(significand, getman) -# endif - -# ifdef __USE_ISOC99 -__inline_mathop(trunc, intrz) -# endif - -#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */ - -/* This macro contains the definition for the rest of the inline - functions, using FLOAT_TYPE as the domain type and S as the suffix - for the function names. */ - -#define __inline_functions(float_type, s) \ -__m81_defun (float_type, __CONCAT(__floor,s), (float_type __x)) \ -{ \ - float_type __result; \ - unsigned long int __ctrl_reg; \ - __asm __volatile__ ("fmove%.l %!, %0" : "=dm" (__ctrl_reg)); \ - /* Set rounding towards negative infinity. */ \ - __asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */ \ - : "dmi" ((__ctrl_reg & ~0x10) | 0x20)); \ - /* Convert X to an integer, using -Inf rounding. */ \ - __asm __volatile__ ("fint%.x %1, %0" : "=f" (__result) : "f" (__x)); \ - /* Restore the previous rounding mode. */ \ - __asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */ \ - : "dmi" (__ctrl_reg)); \ - return __result; \ -} \ - \ -__m81_defun (float_type, __CONCAT(__ceil,s), (float_type __x)) \ -{ \ - float_type __result; \ - unsigned long int __ctrl_reg; \ - __asm __volatile__ ("fmove%.l %!, %0" : "=dm" (__ctrl_reg)); \ - /* Set rounding towards positive infinity. */ \ - __asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */ \ - : "dmi" (__ctrl_reg | 0x30)); \ - /* Convert X to an integer, using +Inf rounding. */ \ - __asm __volatile__ ("fint%.x %1, %0" : "=f" (__result) : "f" (__x)); \ - /* Restore the previous rounding mode. */ \ - __asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */ \ - : "dmi" (__ctrl_reg)); \ - return __result; \ -} - -__inline_functions(double,) -#if defined __USE_MISC || defined __USE_ISOC99 -__inline_functions(float,f) -__inline_functions(long double,l) -#endif -#undef __inline_functions - -#ifdef __USE_MISC - -# define __inline_functions(float_type, s) \ -__m81_defun (int, __CONCAT(__isinf,s), (float_type __value)) \ -{ \ - /* There is no branch-condition for infinity, \ - so we must extract and examine the condition codes manually. */ \ - unsigned long int __fpsr; \ - __asm ("ftst%.x %1\n" \ - "fmove%.l %/fpsr, %0" : "=dm" (__fpsr) : "f" (__value)); \ - return (__fpsr & (2 << 24)) ? (__fpsr & (8 << 24) ? -1 : 1) : 0; \ -} \ - \ -__m81_defun (int, __CONCAT(__finite,s), (float_type __value)) \ -{ \ - /* There is no branch-condition for infinity, so we must extract and \ - examine the condition codes manually. */ \ - unsigned long int __fpsr; \ - __asm ("ftst%.x %1\n" \ - "fmove%.l %/fpsr, %0" : "=dm" (__fpsr) : "f" (__value)); \ - return (__fpsr & (3 << 24)) == 0; \ -} \ - \ -__m81_defun (float_type, __CONCAT(__scalbn,s), \ - (float_type __x, int __n)) \ -{ \ - float_type __result; \ - __asm __volatile__ ("fscale%.l %1, %0" : "=f" (__result) \ - : "dmi" (__n), "0" (__x)); \ - return __result; \ -} - -__inline_functions(double,) -__inline_functions(float,f) -__inline_functions(long double,l) -# undef __inline_functions - -#endif /* Use misc. */ - -#if defined __USE_MISC || defined __USE_XOPEN - -# define __inline_functions(float_type, s) \ -__m81_defun (int, __CONCAT(__isnan,s), (float_type __value)) \ -{ \ - char __result; \ - __asm ("ftst%.x %1\n" \ - "fsun %0" : "=dm" (__result) : "f" (__value)); \ - return __result; \ -} - -__inline_functions(double,) -# ifdef __USE_MISC -__inline_functions(float,f) -__inline_functions(long double,l) -# endif -# undef __inline_functions - -#endif - -#ifdef __USE_ISOC99 - -# define __inline_functions(float_type, s) \ -__m81_defun (float_type, __CONCAT(__scalbln,s), \ - (float_type __x, long int __n)) \ -{ \ - return __CONCAT(__scalbn,s) (__x, __n); \ -} \ - \ -__m81_defun (float_type, __CONCAT(__nearbyint,s), (float_type __x)) \ -{ \ - float_type __result; \ - unsigned long int __ctrl_reg; \ - __asm __volatile__ ("fmove%.l %!, %0" : "=dm" (__ctrl_reg)); \ - /* Temporarily disable the inexact exception. */ \ - __asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */ \ - : "dmi" (__ctrl_reg & ~0x200)); \ - __asm __volatile__ ("fint%.x %1, %0" : "=f" (__result) : "f" (__x)); \ - __asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */ \ - : "dmi" (__ctrl_reg)); \ - return __result; \ -} \ - \ -__m81_defun (long int, __CONCAT(__lrint,s), (float_type __x)) \ -{ \ - long int __result; \ - __asm __volatile__ ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x)); \ - return __result; \ -} - -__inline_functions (double,) -__inline_functions (float,f) -__inline_functions (long double,l) -# undef __inline_functions - -#endif /* Use ISO C9x */ - -#ifdef __USE_GNU - -# define __inline_functions(float_type, s) \ -__m81_inline void \ -__NTH (__m81_u(__CONCAT(__sincos,s))(float_type __x, float_type *__sinx, \ - float_type *__cosx)) \ -{ \ - __asm __volatile__ ("fsincos%.x %2,%1:%0" \ - : "=f" (*__sinx), "=f" (*__cosx) : "f" (__x)); \ -} - -__inline_functions (double,) -__inline_functions (float,f) -__inline_functions (long double,l) -# undef __inline_functions - -#endif - -#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__ - -/* Define inline versions of the user visible functions. */ - -/* Note that there must be no whitespace before the argument passed for - NAME, to make token pasting work correctly with -traditional. */ -# define __inline_forward_c(rettype, name, args1, args2) \ -__MATH_INLINE rettype __attribute__((__const__)) \ -__NTH (name args1) \ -{ \ - return __CONCAT(__,name) args2; \ -} - -# define __inline_forward(rettype, name, args1, args2) \ -__MATH_INLINE rettype __NTH (name args1) \ -{ \ - return __CONCAT(__,name) args2; \ -} - -__inline_forward_c(double,floor, (double __x), (__x)) -__inline_forward_c(double,ceil, (double __x), (__x)) -# ifdef __USE_MISC -# ifndef __USE_ISOC99 /* Conflict with macro of same name. */ -__inline_forward_c(int,isinf, (double __value), (__value)) -# endif -__inline_forward_c(int,finite, (double __value), (__value)) -__inline_forward_c(double,scalbn, (double __x, int __n), (__x, __n)) -# endif -# if defined __USE_MISC || defined __USE_XOPEN -# ifndef __USE_ISOC99 /* Conflict with macro of same name. */ -__inline_forward_c(int,isnan, (double __value), (__value)) -# endif -# endif -# ifdef __USE_ISOC99 -__inline_forward_c(double,scalbln, (double __x, long int __n), (__x, __n)) -__inline_forward_c(double,nearbyint, (double __value), (__value)) -__inline_forward_c(long int,lrint, (double __value), (__value)) -# endif -# ifdef __USE_GNU -__inline_forward(void,sincos, (double __x, double *__sinx, double *__cosx), - (__x, __sinx, __cosx)) -# endif - -# if defined __USE_MISC || defined __USE_ISOC99 - -__inline_forward_c(float,floorf, (float __x), (__x)) -__inline_forward_c(float,ceilf, (float __x), (__x)) -# ifdef __USE_MISC -__inline_forward_c(int,isinff, (float __value), (__value)) -__inline_forward_c(int,finitef, (float __value), (__value)) -__inline_forward_c(float,scalbnf, (float __x, int __n), (__x, __n)) -__inline_forward_c(int,isnanf, (float __value), (__value)) -# endif -# ifdef __USE_ISOC99 -__inline_forward_c(float,scalblnf, (float __x, long int __n), (__x, __n)) -__inline_forward_c(float,nearbyintf, (float __value), (__value)) -__inline_forward_c(long int,lrintf, (float __value), (__value)) -# endif -# ifdef __USE_GNU -__inline_forward(void,sincosf, (float __x, float *__sinx, float *__cosx), - (__x, __sinx, __cosx)) -# endif - -__inline_forward_c(long double,floorl, (long double __x), (__x)) -__inline_forward_c(long double,ceill, (long double __x), (__x)) -# ifdef __USE_MISC -__inline_forward_c(int,isinfl, (long double __value), (__value)) -__inline_forward_c(int,finitel, (long double __value), (__value)) -__inline_forward_c(long double,scalbnl, (long double __x, int __n), (__x, __n)) -__inline_forward_c(int,isnanl, (long double __value), (__value)) -# endif -# ifdef __USE_ISOC99 -__inline_forward_c(long double,scalblnl, (long double __x, long int __n), - (__x, __n)) -__inline_forward_c(long double,nearbyintl, (long double __value), (__value)) -__inline_forward_c(long int,lrintl, (long double __value), (__value)) -# endif -# ifdef __USE_GNU -__inline_forward(void,sincosl, - (long double __x, long double *__sinx, long double *__cosx), - (__x, __sinx, __cosx)) -# endif - -#endif /* Use misc or ISO C99 */ - -#undef __inline_forward -#undef __inline_forward_c - -#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */ - -#endif -#endif /* GCC. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/branred.c b/ports/sysdeps/m68k/m680x0/fpu/branred.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/branred.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/doasin.c b/ports/sysdeps/m68k/m680x0/fpu/doasin.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/doasin.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/dosincos.c b/ports/sysdeps/m68k/m680x0/fpu/dosincos.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/dosincos.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_acos.c b/ports/sysdeps/m68k/m680x0/fpu/e_acos.c deleted file mode 100644 index c9234b7827..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_acos.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <math_private.h> -#include "mathimpl.h" - -#ifndef FUNC -# define FUNC __ieee754_acos -# define FUNC_FINITE __acos_finite -#endif -#ifndef float_type -# define float_type double -#endif - -float_type -FUNC (x) - float_type x; -{ - return __m81_u(FUNC)(x); -} -#ifdef FUNC_FINITE -strong_alias (FUNC, FUNC_FINITE) -#endif diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_acosf.c b/ports/sysdeps/m68k/m680x0/fpu/e_acosf.c deleted file mode 100644 index 300fff601e..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_acosf.c +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef FUNC -# define FUNC __ieee754_acosf -# define FUNC_FINITE __acosf_finite -#endif -#define float_type float -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_acosl.c b/ports/sysdeps/m68k/m680x0/fpu/e_acosl.c deleted file mode 100644 index 35767f4e23..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_acosl.c +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef FUNC -# define FUNC __ieee754_acosl -# define FUNC_FINITE __acosl_finite -#endif -#define float_type long double -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_asin.c b/ports/sysdeps/m68k/m680x0/fpu/e_asin.c deleted file mode 100644 index 271a1f23d2..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_asin.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_asin -#define FUNC_FINITE __asin_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_asinf.c b/ports/sysdeps/m68k/m680x0/fpu/e_asinf.c deleted file mode 100644 index ece691c6fb..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_asinf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_asinf -#define FUNC_FINITE __asinf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_asinl.c b/ports/sysdeps/m68k/m680x0/fpu/e_asinl.c deleted file mode 100644 index 0c136f30eb..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_asinl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_asinl -#define FUNC_FINITE __asinl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_atan2.c b/ports/sysdeps/m68k/m680x0/fpu/e_atan2.c deleted file mode 100644 index 277a7b96a9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_atan2.c +++ /dev/null @@ -1,104 +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 <math.h> -#include <math_private.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -float_type -s(__ieee754_atan2) (float_type y, float_type x) -{ - float_type pi, pi_2, z; - unsigned long y_cond, x_cond; - - __asm ("fmovecr%.x %#0, %0" : "=f" (pi)); - __asm ("fscale%.w %#-1, %0" : "=f" (pi_2) : "0" (pi)); - y_cond = __m81_test (y); - x_cond = __m81_test (x); - - if ((x_cond | y_cond) & __M81_COND_NAN) - z = x + y; - else if (y_cond & __M81_COND_ZERO) - { - if (x_cond & __M81_COND_NEG) - z = y_cond & __M81_COND_NEG ? -pi : pi; - else - z = y; - } - else if (x_cond & __M81_COND_INF) - { - if (y_cond & __M81_COND_INF) - { - float_type pi_4; - __asm ("fscale%.w %#-2, %0" : "=f" (pi_4) : "0" (pi)); - z = x_cond & __M81_COND_NEG ? 3 * pi_4 : pi_4; - } - else - z = x_cond & __M81_COND_NEG ? pi : 0; - if (y_cond & __M81_COND_NEG) - z = -z; - } - else if (y_cond & __M81_COND_INF) - z = y_cond & __M81_COND_NEG ? -pi_2 : pi_2; - else if (x_cond & __M81_COND_NEG) - { - if (y_cond & __M81_COND_NEG) - { - if (-x > -y) - z = -pi + m81(__atan) (y / x); - else - z = -pi_2 - m81(__atan) (x / y); - } - else - { - if (-x > y) - z = pi + m81(__atan) (y / x); - else - z = pi_2 - m81(__atan) (x / y); - } - } - else - { - if (y_cond & __M81_COND_NEG) - { - if (x > -y) - z = m81(__atan) (y / x); - else - z = -pi_2 - m81(__atan) (x / y); - } - else - { - if (x > y) - z = m81(__atan) (y / x); - else - z = pi_2 - m81(__atan) (x / y); - } - } - return z; -} -strong_alias (s(__ieee754_atan2), CONCATX (s (__atan2), _finite)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_atan2f.c b/ports/sysdeps/m68k/m680x0/fpu/e_atan2f.c deleted file mode 100644 index a0c750a759..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_atan2f.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <e_atan2.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_atan2l.c b/ports/sysdeps/m68k/m680x0/fpu/e_atan2l.c deleted file mode 100644 index 426ca94baa..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_atan2l.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <e_atan2.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_atanh.c b/ports/sysdeps/m68k/m680x0/fpu/e_atanh.c deleted file mode 100644 index f5f7e7b520..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_atanh.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_atanh -#define FUNC_FINITE __atanh_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_atanhf.c b/ports/sysdeps/m68k/m680x0/fpu/e_atanhf.c deleted file mode 100644 index cb464cbb7d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_atanhf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_atanhf -#define FUNC_FINITE __atanhf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_atanhl.c b/ports/sysdeps/m68k/m680x0/fpu/e_atanhl.c deleted file mode 100644 index 8f276f5fad..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_atanhl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_atanhl -#define FUNC_FINITE __atanhl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_cosh.c b/ports/sysdeps/m68k/m680x0/fpu/e_cosh.c deleted file mode 100644 index aaba11be3a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_cosh.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_cosh -#define FUNC_FINITE __cosh_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_coshf.c b/ports/sysdeps/m68k/m680x0/fpu/e_coshf.c deleted file mode 100644 index 0884741c5c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_coshf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_coshf -#define FUNC_FINITE __coshf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_coshl.c b/ports/sysdeps/m68k/m680x0/fpu/e_coshl.c deleted file mode 100644 index 7fc9b7b91c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_coshl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_coshl -#define FUNC_FINITE __coshl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp.c deleted file mode 100644 index 9f228034a1..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp -#define FUNC_FINITE __exp_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp10.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp10.c deleted file mode 100644 index e66a80599c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp10.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp10 -#define FUNC_FINITE __exp10_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp10f.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp10f.c deleted file mode 100644 index 7a3bdd4186..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp10f.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp10f -#define FUNC_FINITE __exp10f_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp10l.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp10l.c deleted file mode 100644 index e2a6255a76..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp10l.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp10l -#define FUNC_FINITE __exp10l_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp2.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp2.c deleted file mode 100644 index 35e29ae653..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp2.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp2 -#define FUNC_FINITE __exp2_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp2f.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp2f.c deleted file mode 100644 index e57ddb5365..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp2f.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp2f -#define FUNC_FINITE __exp2f_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_exp2l.c b/ports/sysdeps/m68k/m680x0/fpu/e_exp2l.c deleted file mode 100644 index c5854ae427..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_exp2l.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_exp2l -#define FUNC_FINITE __exp2l_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_expf.c b/ports/sysdeps/m68k/m680x0/fpu/e_expf.c deleted file mode 100644 index af1e019504..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_expf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_expf -#define FUNC_FINITE __expf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_expl.c b/ports/sysdeps/m68k/m680x0/fpu/e_expl.c deleted file mode 100644 index 543eb0edf5..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_expl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_expl -#define FUNC_FINITE __expl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_fmod.c b/ports/sysdeps/m68k/m680x0/fpu/e_fmod.c deleted file mode 100644 index 416c29f12a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_fmod.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <math_private.h> -#include "mathimpl.h" - -#ifndef FUNC -# define FUNC __ieee754_fmod -# define FUNC_FINITE __fmod_finite -#endif -#ifndef float_type -# define float_type double -#endif - -float_type -FUNC (x, y) - float_type x; - float_type y; -{ - return __m81_u(FUNC)(x, y); -} -#ifdef FUNC_FINITE -strong_alias (FUNC, FUNC_FINITE) -#endif diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_fmodf.c b/ports/sysdeps/m68k/m680x0/fpu/e_fmodf.c deleted file mode 100644 index 38995c3768..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_fmodf.c +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef FUNC -# define FUNC __ieee754_fmodf -# define FUNC_FINITE __fmodf_finite -#endif -#define float_type float -#include <e_fmod.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_fmodl.c b/ports/sysdeps/m68k/m680x0/fpu/e_fmodl.c deleted file mode 100644 index 8d793b2de7..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_fmodl.c +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef FUNC -# define FUNC __ieee754_fmodl -# define FUNC_FINITE __fmodl_finite -#endif -#define float_type long double -#include <e_fmod.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_ilogb.c b/ports/sysdeps/m68k/m680x0/fpu/e_ilogb.c deleted file mode 100644 index 0288ac14e9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_ilogb.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -int -s(__ieee754_ilogb) (float_type x) -{ - float_type result; - unsigned long x_cond; - - x_cond = __m81_test (x); - /* We must return consistent values for zero and NaN. */ - if (x_cond & __M81_COND_ZERO) - return FP_ILOGB0; - if (x_cond & (__M81_COND_NAN | __M81_COND_INF)) - return FP_ILOGBNAN; - - __asm ("fgetexp%.x %1, %0" : "=f" (result) : "f" (x)); - return (int) result; -} diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_ilogbf.c b/ports/sysdeps/m68k/m680x0/fpu/e_ilogbf.c deleted file mode 100644 index 34a8cd28e6..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_ilogbf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <e_ilogb.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_ilogbl.c b/ports/sysdeps/m68k/m680x0/fpu/e_ilogbl.c deleted file mode 100644 index b0e13af6b1..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_ilogbl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <e_ilogb.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log.c b/ports/sysdeps/m68k/m680x0/fpu/e_log.c deleted file mode 100644 index 628c62b31a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log -#define FUNC_FINITE __log_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log10.c b/ports/sysdeps/m68k/m680x0/fpu/e_log10.c deleted file mode 100644 index 78e0693e9d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log10.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log10 -#define FUNC_FINITE __log10_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log10f.c b/ports/sysdeps/m68k/m680x0/fpu/e_log10f.c deleted file mode 100644 index 452a75ec15..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log10f.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log10f -#define FUNC_FINITE __log10f_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log10l.c b/ports/sysdeps/m68k/m680x0/fpu/e_log10l.c deleted file mode 100644 index 7c5dcb8e18..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log10l.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log10l -#define FUNC_FINITE __log10l_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log2.c b/ports/sysdeps/m68k/m680x0/fpu/e_log2.c deleted file mode 100644 index a00ddbdc96..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log2.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log2 -#define FUNC_FINITE __log2_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log2f.c b/ports/sysdeps/m68k/m680x0/fpu/e_log2f.c deleted file mode 100644 index 670b69c8a9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log2f.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log2f -#define FUNC_FINITE __log2f_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_log2l.c b/ports/sysdeps/m68k/m680x0/fpu/e_log2l.c deleted file mode 100644 index 4a97a00235..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_log2l.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_log2l -#define FUNC_FINITE __log2l_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_logf.c b/ports/sysdeps/m68k/m680x0/fpu/e_logf.c deleted file mode 100644 index 1989a95431..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_logf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_logf -#define FUNC_FINITE __logf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_logl.c b/ports/sysdeps/m68k/m680x0/fpu/e_logl.c deleted file mode 100644 index 9ab842c3fc..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_logl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_logl -#define FUNC_FINITE __logl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_pow.c b/ports/sysdeps/m68k/m680x0/fpu/e_pow.c deleted file mode 100644 index 892a76c66a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_pow.c +++ /dev/null @@ -1,126 +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 <math.h> -#include <math_private.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -float_type -s(__ieee754_pow) (float_type x, float_type y) -{ - float_type z; - float_type ax; - unsigned long x_cond, y_cond; - - y_cond = __m81_test (y); - if (y_cond & __M81_COND_ZERO) - return 1.0; - if (y_cond & __M81_COND_NAN) - return x == 1.0 ? x : x + y; - - x_cond = __m81_test (x); - if (x_cond & __M81_COND_NAN) - return x + y; - - if (y_cond & __M81_COND_INF) - { - ax = s(fabs) (x); - if (ax == 1.0) - return ax; - if (ax > 1.0) - return y_cond & __M81_COND_NEG ? 0 : y; - else - return y_cond & __M81_COND_NEG ? -y : 0; - } - - if (s(fabs) (y) == 1.0) - return y_cond & __M81_COND_NEG ? 1 / x : x; - - if (y == 2) - return x * x; - if (y == 0.5 && !(x_cond & __M81_COND_NEG)) - return m81(__ieee754_sqrt) (x); - - if (x == 10.0) - { - __asm ("ftentox%.x %1, %0" : "=f" (z) : "f" (y)); - return z; - } - if (x == 2.0) - { - __asm ("ftwotox%.x %1, %0" : "=f" (z) : "f" (y)); - return z; - } - - ax = s(fabs) (x); - if (x_cond & (__M81_COND_INF | __M81_COND_ZERO) || ax == 1.0) - { - z = ax; - if (y_cond & __M81_COND_NEG) - z = 1 / z; - if (x_cond & __M81_COND_NEG) - { - if (y != m81(__rint) (y)) - { - if (x == -1) - z = (z - z) / (z - z); - } - else - goto maybe_negate; - } - return z; - } - - if (x_cond & __M81_COND_NEG) - { - if (y == m81(__rint) (y)) - { - z = m81(__ieee754_exp) (y * m81(__ieee754_log) (-x)); - maybe_negate: - /* We always use the long double format, since y is already in - this format and rounding won't change the result. */ - { - int32_t exponent; - u_int32_t i0, i1; - GET_LDOUBLE_WORDS (exponent, i0, i1, y); - exponent = (exponent & 0x7fff) - 0x3fff; - if (exponent <= 31 - ? i0 & (1 << (31 - exponent)) - : (exponent <= 63 - && i1 & (1 << (63 - exponent)))) - z = -z; - } - } - else - z = (y - y) / (y - y); - } - else - z = m81(__ieee754_exp) (y * m81(__ieee754_log) (x)); - return z; -} -strong_alias (s(__ieee754_pow), CONCATX (s(__pow), _finite)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_powf.c b/ports/sysdeps/m68k/m680x0/fpu/e_powf.c deleted file mode 100644 index 379014355a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_powf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <e_pow.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_powl.c b/ports/sysdeps/m68k/m680x0/fpu/e_powl.c deleted file mode 100644 index f71fa34a26..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_powl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <e_pow.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2.c b/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2.c deleted file mode 100644 index 1347b0468c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Empty. This file is only meant to avoid compiling the file with the - same name in the libm-ieee754 directory. The code is not used since - there is an assembler version for all users of this file. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2f.c b/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2f.c deleted file mode 100644 index 1347b0468c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2f.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Empty. This file is only meant to avoid compiling the file with the - same name in the libm-ieee754 directory. The code is not used since - there is an assembler version for all users of this file. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2l.c b/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2l.c deleted file mode 100644 index 1347b0468c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_rem_pio2l.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Empty. This file is only meant to avoid compiling the file with the - same name in the libm-ieee754 directory. The code is not used since - there is an assembler version for all users of this file. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_remainder.c b/ports/sysdeps/m68k/m680x0/fpu/e_remainder.c deleted file mode 100644 index f7732af8c5..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_remainder.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_remainder -#define FUNC_FINITE __remainder_finite -#include <e_fmod.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_remainderf.c b/ports/sysdeps/m68k/m680x0/fpu/e_remainderf.c deleted file mode 100644 index 94b53e7a80..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_remainderf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_remainderf -#define FUNC_FINITE __remainderf_finite -#include <e_fmodf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_remainderl.c b/ports/sysdeps/m68k/m680x0/fpu/e_remainderl.c deleted file mode 100644 index d5b59607ab..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_remainderl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_remainderl -#define FUNC_FINITE __remainderl_finite -#include <e_fmodl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_scalb.c b/ports/sysdeps/m68k/m680x0/fpu/e_scalb.c deleted file mode 100644 index a1c7761ac9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_scalb.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <math_private.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -float_type -s(__ieee754_scalb) (float_type x, float_type fn) -{ - float_type retval; - unsigned long x_cond = __m81_test (x); - unsigned long fn_cond = __m81_test (fn); - - if ((x_cond | fn_cond) & __M81_COND_NAN) - return x * fn; - - if (fn_cond & __M81_COND_INF) - { - if (!(fn_cond & __M81_COND_NEG)) - return x * fn; - else if (x_cond & __M81_COND_ZERO) - return x; - else - return x / -fn; - } - - if (m81(__rint) (fn) != fn) - return (x - x) / (x - x); - - __asm ("fscale%.x %1, %0" : "=f" (retval) : "f" (fn), "0" (x)); - return retval; -} -strong_alias (s(__ieee754_scalb), CONCATX (s(__scalb), _finite)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_scalbf.c b/ports/sysdeps/m68k/m680x0/fpu/e_scalbf.c deleted file mode 100644 index 7943571246..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_scalbf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <e_scalb.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_scalbl.c b/ports/sysdeps/m68k/m680x0/fpu/e_scalbl.c deleted file mode 100644 index 35fb2dc0ed..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_scalbl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <e_scalb.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_sinh.c b/ports/sysdeps/m68k/m680x0/fpu/e_sinh.c deleted file mode 100644 index 1e1b1c1180..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_sinh.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_sinh -#define FUNC_FINITE __sinh_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_sinhf.c b/ports/sysdeps/m68k/m680x0/fpu/e_sinhf.c deleted file mode 100644 index 13c79f9d96..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_sinhf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_sinhf -#define FUNC_FINITE __sinhf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_sinhl.c b/ports/sysdeps/m68k/m680x0/fpu/e_sinhl.c deleted file mode 100644 index 47f0f24401..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_sinhl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_sinhl -#define FUNC_FINITE __sinhl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_sqrt.c b/ports/sysdeps/m68k/m680x0/fpu/e_sqrt.c deleted file mode 100644 index 9a250cbc25..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_sqrt.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_sqrt -#define FUNC_FINITE __sqrt_finite -#include <e_acos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_sqrtf.c b/ports/sysdeps/m68k/m680x0/fpu/e_sqrtf.c deleted file mode 100644 index 372c3eb2f4..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_sqrtf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_sqrtf -#define FUNC_FINITE __sqrtf_finite -#include <e_acosf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/e_sqrtl.c b/ports/sysdeps/m68k/m680x0/fpu/e_sqrtl.c deleted file mode 100644 index df5f44e6a7..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/e_sqrtl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC __ieee754_sqrtl -#define FUNC_FINITE __sqrtl_finite -#include <e_acosl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/fraiseexcpt.c b/ports/sysdeps/m68k/m680x0/fpu/fraiseexcpt.c deleted file mode 100644 index 6e41b1425d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/fraiseexcpt.c +++ /dev/null @@ -1,82 +0,0 @@ -/* Raise given exceptions. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <fenv.h> -#include <float.h> -#include <math.h> - -int -__feraiseexcept (int excepts) -{ - /* Raise exceptions represented by EXCEPTS. But we must raise only one - signal at a time. It is important that if the overflow/underflow - exception and the divide by zero exception are given at the same - time, the overflow/underflow exception follows the divide by zero - exception. */ - - /* First: invalid exception. */ - if (excepts & FE_INVALID) - { - /* One example of an invalid operation is 0 * Infinity. */ - double d = HUGE_VAL; - __asm__ __volatile__ ("fmul%.s %#0r0,%0; fnop" : "=f" (d) : "0" (d)); - } - - /* Next: division by zero. */ - if (excepts & FE_DIVBYZERO) - { - double d = 1.0; - __asm__ __volatile__ ("fdiv%.s %#0r0,%0; fnop" : "=f" (d) : "0" (d)); - } - - /* Next: overflow. */ - if (excepts & FE_OVERFLOW) - { - long double d = LDBL_MAX; - - __asm__ __volatile__ ("fmul%.x %0,%0; fnop" : "=f" (d) : "0" (d)); - } - - /* Next: underflow. */ - if (excepts & FE_UNDERFLOW) - { - long double d = -LDBL_MAX; - - __asm__ __volatile__ ("fetox%.x %0; fnop" : "=f" (d) : "0" (d)); - } - - /* Last: inexact. */ - if (excepts & FE_INEXACT) - { - long double d = 1.0; - __asm__ __volatile__ ("fdiv%.s %#0r3,%0; fnop" : "=f" (d) : "0" (d)); - } - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__feraiseexcept, __old_feraiseexcept) -compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1); -#endif - -libm_hidden_ver (__feraiseexcept, feraiseexcept) -versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2); diff --git a/ports/sysdeps/m68k/m680x0/fpu/halfulp.c b/ports/sysdeps/m68k/m680x0/fpu/halfulp.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/halfulp.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_cosl.c b/ports/sysdeps/m68k/m680x0/fpu/k_cosl.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_cosl.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2.c b/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2.c deleted file mode 100644 index 1347b0468c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Empty. This file is only meant to avoid compiling the file with the - same name in the libm-ieee754 directory. The code is not used since - there is an assembler version for all users of this file. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2f.c b/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2f.c deleted file mode 100644 index 1347b0468c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2f.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Empty. This file is only meant to avoid compiling the file with the - same name in the libm-ieee754 directory. The code is not used since - there is an assembler version for all users of this file. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2l.c b/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2l.c deleted file mode 100644 index 1347b0468c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_rem_pio2l.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Empty. This file is only meant to avoid compiling the file with the - same name in the libm-ieee754 directory. The code is not used since - there is an assembler version for all users of this file. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_sinl.c b/ports/sysdeps/m68k/m680x0/fpu/k_sinl.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_sinl.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_tanf.c b/ports/sysdeps/m68k/m680x0/fpu/k_tanf.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_tanf.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/k_tanl.c b/ports/sysdeps/m68k/m680x0/fpu/k_tanl.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/k_tanl.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps deleted file mode 100644 index b4333a07f2..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ /dev/null @@ -1,9764 +0,0 @@ -# Begin of automatic generation - -# acosh -Test "acosh (0x6.4p+4)": -double: 1 -idouble: 1 - -# asin_downward -Test "asin_downward (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_downward (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# asin_towardzero -Test "asin_towardzero (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_towardzero (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# asin_upward -Test "asin_upward (-0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-1024)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-1076)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-128)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-16384)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-152)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-16448)": -ildouble: 1 -ldouble: 1 -Test "asin_upward (-0x8p-972)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# asinh -Test "asinh (0x1p+100)": -ildouble: 1 -ldouble: 1 -Test "asinh (0xap+0)": -float: 1 -ifloat: 1 -Test "asinh (0xf.424p+16)": -ildouble: 1 -ldouble: 1 - -# atan2 -Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e5124664p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51248p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x4p-16384, 0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "atan2 (-0x8p-16448, 0x4p-16448)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x1.64p+0, 0xe.ep-4)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x4p-16384, 0x2p-16384)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x6.4p-4, 0x1.30164840e1719f7ep-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x6.4p-4, 0x1.30164840e1719f8p-12)": -ildouble: 1 -ldouble: 1 -Test "atan2 (0x8p-16448, 0x4p-16448)": -ildouble: 1 -ldouble: 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 "Imaginary part of: cacos (-0.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.0 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0.25 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0.25 - 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0.5 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (-0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0.5 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (-0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (-0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-1.0 + 0x1.fp-10 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-1.0 + 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cacos (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (-1.0 - 0x1.fp-10 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (-1.0 - 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (-1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.0 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.25 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.25 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 + 0x1p-23 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Imaginary 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 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.5 - 0x1p-23 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Imaginary 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 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0.5 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)": -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: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 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: 1 -ifloat: 1 -Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacos (0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)": -float: 2 -ifloat: 2 -Test "Real part of: cacos (0x1.fp-10 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.fp-10 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 "Real part of: cacos (0x1p-23 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-23 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-23 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (0x1p-23 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 + 0.25 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 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 "Imaginary part of: cacos (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacos (1.0 - 0.25 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 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 "Imaginary part of: cacos (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacos (1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 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.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.0 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.25 + 1.0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (-0.25 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0.5 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: cacosh (-0.5 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0.5 - 1.0 i)": -ildouble: 1 -ldouble: 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.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: cacosh (-0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: cacosh (-0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: cacosh (-0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-23 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-52 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-52 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-1.0 + 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (-1.0 - 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (-1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.0 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.25 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.25 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0.5 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)": -float: 1 -ifloat: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)": -float: 1 -ifloat: 1 -Test "Real part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)": -float: 2 -ifloat: 2 -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 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.fp-10 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.fp-10 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -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 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 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 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 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-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-23 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-23 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-23 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-52 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-52 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 + 0.25 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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 "Real part of: cacosh (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cacosh (1.0 - 0.25 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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 "Real part of: cacosh (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cacosh (1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 - -# 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.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.0 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.25 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.25 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0.5 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0.5 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0.5 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffp0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (-0x0.ffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x0.ffffffp0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (-0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (-0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-100 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (-0x1.fp-100 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (-0x1.fp-1000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x1.fp-1000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-1025 + 1.0 i)": -ildouble: 1 -ldouble: 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 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-1025 - 1.0 i)": -ildouble: 1 -ldouble: 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 "Real part of: casin (-0x1.fp-129 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-129 + 1.0 i)": -ildouble: 1 -ldouble: 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 "Real part of: casin (-0x1.fp-129 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-129 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-129 - 1.0 i)": -ildouble: 1 -ldouble: 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-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: casin (-0x1p-105 - 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 + 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-1.0 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (-1.0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (-1.0 - 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (-1.0 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (-1.0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (-1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.0 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.25 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.25 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 + 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0.5 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.5 - 0x1p-23 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-23 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0.5 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0.5 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffp0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (0x0.ffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x0.ffffffp0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casin (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: casin (0x1.0000000000001p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000001p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000001p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000001p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000001p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.0000000000001p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-100 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (0x1.fp-100 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casin (0x1.fp-1000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x1.fp-1000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (0x1.fp-10000 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-10000 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-1025 + 1.0 i)": -ildouble: 1 -ldouble: 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 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-1025 - 1.0 i)": -ildouble: 1 -ldouble: 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 "Real part of: casin (0x1.fp-129 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 + 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-129 + 1.0 i)": -ildouble: 1 -ldouble: 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 "Real part of: casin (0x1.fp-129 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-129 - 0x1.000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-129 - 1.0 i)": -ildouble: 1 -ldouble: 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-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-52 + 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1p-52 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-52 - 0x0.fffffffffffff8p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casin (0x1p-63 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 + 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (1.0 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 + 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (1.0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casin (1.0 - 0.25 i)": -double: 1 -idouble: 1 -Test "Real part of: casin (1.0 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 - 0.5 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)": -float: 1 -ifloat: 1 -Test "Real part of: casin (1.0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 - 0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casin (1.5 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 - -# casinh -Test "Real part of: casinh (+0 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (+0 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 0x1p-63 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.5 + 1.0 i)": -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 0x1p-63 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0.5 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.fffffffffffff8p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.fffffffffffff8p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.fffffffffffff8p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.fffffffffffff8p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1.000002p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.000002p0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 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.000002p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.000002p0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 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-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-1025 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-1025 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-129 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-129 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-129 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-129 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1p-23 - 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (-0x1p-52 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-52 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (-0x1p-52 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (-1.0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-1.0 + 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 "Imaginary part of: casinh (-1.0 + 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-1.0 - 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 "Imaginary part of: casinh (-1.0 - 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 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 (-2 - 3 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.0 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.0 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.0 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.0 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 0x1p-63 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.5 + 1.0 i)": -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 0x1p-63 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.5 - 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.5 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.fffffffffffff8p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.fffffffffffff8p0 + 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.fffffffffffff8p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.fffffffffffff8p0 - 0x1p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1.000002p0 + 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.000002p0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.000002p0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 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.000002p0 - 0.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.000002p0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.000002p0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 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-1025 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-1025 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-1025 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-1025 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-1025 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-1025 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-129 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-129 + 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-129 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-129 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-129 - 0x0.ffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-129 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 + 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-16385 - 1.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp-30 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-23 + 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0x1p-23 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (0x1p-23 - 0.5 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (0x1p-23 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: casinh (0x1p-52 + 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 + 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-52 - 0.5 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)": -double: 1 -idouble: 1 -Test "Real part of: casinh (0x1p-52 - 0x1.0000000000001p0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-63 + 0x1.0000000000000002p0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (0x1p-63 - 0x1.0000000000000002p0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: casinh (1.0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (1.0 + 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 + 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-10 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 "Imaginary part of: casinh (1.0 + 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 + 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (1.0 - 0.25 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0.5 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 - 0.5 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-10 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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 "Imaginary part of: casinh (1.0 - 0x1.fp-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-10000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-1025 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-129 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-129 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: casinh (1.0 - 0x1.fp-30 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i)": -ildouble: 1 -ldouble: 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 "Real part of: catan (-0x0.ffffffffffffffffp0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x0.ffffffffffffffffp0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (-0x0.ffffffffffffffffp0 - 0x1p-33 i)": -ildouble: 1 -ldouble: 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.000002p0 - 0x1p-13 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-1.0 - 0x1p-13 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-1.0 - 0x1p-64 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (-2 - 3 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: catan (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)": -double: 1 -idouble: 1 -Test "Real part of: catan (0x0.ffffffffffffffffp0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x0.ffffffffffffffffp0 + 0x1p-33 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catan (0x0.ffffffffffffffffp0 - 0x1p-33 i)": -ildouble: 1 -ldouble: 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.000002p0 - 0x1p-13 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (1.0 - 0x1p-13 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catan (1.0 - 0x1p-64 i)": -ildouble: 1 -ldouble: 1 - -# catanh -Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-13 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-13 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-33 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (-0x1p-33 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-64 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-0x1p-64 - 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-1.0 + 0x1p-1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-1.0 - 0x1p-1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (-2 - 3 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0.75 + 1.25 i)": -double: 1 -idouble: 1 -Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)": -double: 1 -float: 1 -idouble: 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 (0x1p-33 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-33 + 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (0x1p-33 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: catanh (0x1p-33 - 0x0.ffffffffffffffffp0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (1.0 + 0x1p-1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: catanh (1.0 - 0x1p-1020 i)": -ildouble: 1 -ldouble: 1 - -# cbrt -Test "cbrt (-0x4.189374bc6a7ef9d8p-12)": -ildouble: 1 -ldouble: 1 -Test "cbrt (-0x4.18937p-12)": -float: 1 -ifloat: 1 -Test "cbrt (-0x4p-1024)": -double: 1 -idouble: 1 -Test "cbrt (-0x8p-152)": -double: 1 -idouble: 1 -Test "cbrt (0x1.86ap+16)": -double: 1 -idouble: 1 -Test "cbrt (0x4p-1024)": -double: 1 -idouble: 1 -Test "cbrt (0x8p-152)": -double: 1 -idouble: 1 -Test "cbrt (0xf.ep-4)": -ildouble: 1 -ldouble: 1 - -# ccos -Test "Real part of: ccos (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ccos (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 - -# ccosh -Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 - -# cexp -Test "Real part of: cexp (-0x2.71p+12 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (-0x2.c6ap+12 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (-0x5.fp+4 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0x2.c5c9p+12 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (0x2.c5dp+8 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cexp (0xcp-4 + 0x1.4p+0 i)": -ildouble: 1 -ldouble: 1 - -# clog -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.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 "Imaginary part of: clog (-0x1.000002p+0 + 0x4.8d1598p-32 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (-0x1.000002p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.0000000000000012p+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000012p+0 + 0x1.234566p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000012p+0 + 0x1.23456789p-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000012p+0 + 0x1.23456789p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000012p+0 + 0x1.234568p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000012p+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000014p+0 + 0x1.234566p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000014p+0 + 0x1.23456789p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000000014p+0 + 0x1.234568p-60 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234566p-60 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-1000 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-60 i)": -double: 1 -idouble: 1 -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 + 0x1.234p-100 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c638bcfe0ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.48e45ep-4 + 0xf.f2c638bcfe0ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c63p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c64p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x1.48e46p-4 + 0xf.f2c638bcfe0ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed199p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdf8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.8907bep-4 + 0xf.ed1990460bdfbf6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed1990460bep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e08p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0948p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0949p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4d1d7a6e08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e0948p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e0949p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x1p-16440 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x2.2d04p-8 + 0xf.ffda2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a38p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a38p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a38p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a3613p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.2cdb84p-4 + 0xf.ae888f0455f6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb84p-4 + 0xf.ae888f0455f6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb84p-4 + 0xf.ae888p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae888p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb88p-4 + 0xf.ae888f0455f6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.2cdb88p-4 + 0xf.ae888p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab873d09e61e798p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e798p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab874p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e797p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61e8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab873p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c59p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c59p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57c772p-4 i)": -ildouble: 1 -ldouble: 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)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c773p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfdp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d12p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfdp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d11bfdp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d7p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d12p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d619a8d12p-4 i)": -ildouble: 1 -ldouble: 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.859b3d1b06d005ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d08p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d08p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d08p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06dp-4 i)": -ildouble: 1 -ldouble: 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.0dbf78p-4 + 0xf.7a5c1af8e3ce8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3cec09p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3cfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3cfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1ad688p-4 + 0xf.7a5c1af8e3ce8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1ad688p-4 + 0xf.7a5c1af8e3cfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c1af8e3ce8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c1af8e3cec09p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.0dbf8p-4 + 0xf.7a5c1af8e3ce8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c1af8e3cfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c2p-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d758p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d76p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d76p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a6p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d76p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x4.7017ap-4 + 0xf.5f4a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.d9e8c415d5644p-4 + 0xf.3f302p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.d9e8c8p-4 + 0xf.3f303p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x4.d9e8c8p-4 + 0xf.3f303p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x4.d9e8cp-4 + 0xf.3f30281507d8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x4.d9e8cp-4 + 0xf.3f302p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22364p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c596a8cb1p-4 + 0xf.22364p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989d9b5cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.318c6p-4 + 0xf.22363bf989dap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.b06b680ea2ccp-4 + 0xe.f452b965da9fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452b965da9fp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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.f452b965da9fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.ba8ce4b6p-4 + 0xe.f0742508p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x5.ba8cep-4 + 0xe.f0743p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e2086dcca80b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e21p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c4794p-4 + 0xe.d3e2086dcca8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2086dcca80b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2086dcca80b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e21p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e21p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca80b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca80b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca8p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e21p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x6.02fd5p-4 + 0xe.d3e2086dcca80b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2018b428257p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2018b428258p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2018b4288p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd125efp-4 + 0xe.c97c2018b4288p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd125efp-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2018b428258p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c3p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428258p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c3p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x6.1c643p-4 + 0xe.c97c2018b428257p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.1c643p-4 + 0xe.c97c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86bbp-4 i)": -ildouble: 1 -ldouble: 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.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a599a86baf9p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a5p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86ba8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff8p-4 + 0xe.c36a599a86ba8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff8p-4 + 0xe.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff8p-4 + 0xe.c36a599a86baf8fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.2aff8p-4 + 0xe.c36a599a86baf9p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.2aff8p-4 + 0xe.c36a5p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb449253a1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cbb449253a1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520217b6p-4 + 0xe.8893cbb449253a1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520217b6p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)": -double: 1 -idouble: 1 -Test "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 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893cbb44925p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893cp-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655fp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e5108p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e511p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a95p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65939160b31p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65939160b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d66p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d66p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b31p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b8p-4 i)": -ildouble: 1 -ldouble: 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.e2d65939160b311p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d66p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f4b083cb0bp-4 + 0xd.e1bf1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x7.f4b083cb0bp-4 + 0xd.e1bf1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x7.f4b088p-4 + 0xd.e1bfp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x8.88fae2eap-4 + 0xd.888bcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bcp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.88fafp-4 + 0xd.888bdp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.479468b09a37p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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.47947p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b4085cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b408p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9318p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9318p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b969p-4 + 0xc.b9317c470b4085cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fc56b969p-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317c470b408p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317c470b408p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9318p-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0x9.b387p-4 + 0xc.b9317c470b4085cp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.b387p-4 + 0xc.b9317c470b41p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8b1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7dp-4 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b1p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)": -ildouble: 1 -ldouble: 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.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0x9.c1b6bp-4 + 0xc.ae53de1d5a7c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53de1d5a7dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.1f2c1p-4 + 0xc.643aep-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a52p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c2p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199fp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 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)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c18p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c19ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df589p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df58ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966dfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df58ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966dfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df589p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df589p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966dfp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e8679p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df589p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df58ap-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.afc57p-4 + 0xb.e8679p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.afc57p-4 + 0xb.e867ap-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc67818f89d2p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.b96dap-8 + 0xf.fc67818f89d2p-4 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.e7de8p-4 + 0xb.b51cbp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.e7de8p-4 + 0xb.b51cbp-4 i)": -ildouble: 1 -ldouble: 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.b51cb9f04d4dp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6058p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f25p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6058p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f24p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f24p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6058p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a68p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6059p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a68p-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog (0xb.263a77543bp-4 + 0xb.79c9bp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9a417bb8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9ap-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9bp-4 i)": -float: 1 -ifloat: 1 -Test "Real part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.8p+16380 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xf.8p+16380 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog (0xf.ffffffffffff8p-4 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: clog (0xf.fffffffffffffffp-4 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffffffffffffp-4 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffffffffffffp-4 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog (0xf.fffffffffffffffp-4 + 0xf.fffffffffffffffp-15004 i)": -ildouble: 1 -ldouble: 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 "Real 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: 1 -idouble: 1 -Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (-0x1.234566p-40 - 1.0 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 (-inf + inf i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0.75 + 1.25 i)": -double: 1 -idouble: 1 -Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x0.ffffffffffffffffp0 + 0x0.ffffffffffffffffp-15000 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x1.234566p-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)": -ildouble: 1 -ldouble: 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 "Real part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x1p-16440 + 0x1p-16441 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: clog10 (0x659b70ab7971bp-53 + 0x1f5d111e08abecp-53 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x81b7efa81fc35ad1p-65 + 0x1ef4b835f1c79d812p-65 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0x8ecbf810c4ae6p-52 + 0xd479468b09a37p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0x8ecbf810c4ae6p-52 + 0xd479468b09a37p-52 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0xa1f2c1p-24 + 0xc643aep-24 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: clog10 (0xa4722f19346cp-51 + 0x7f9631c5e7f07p-51 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 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)": -ildouble: 1 -ldouble: 1 - -# cos -Test "cos (0x1.0000010b239a9p+0)": -double: 1 -idouble: 1 - -# cos_tonearest -Test "cos_tonearest (0x1.0000010b239a9p+0)": -double: 1 -idouble: 1 - -# cpow -Test "Real part of: cpow (0x2p+0 + +0 i, 0xap+0 + +0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)": -float: 5 -ifloat: 5 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + 0x1p+0 i)": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 3 -ldouble: 3 -Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0xcp-4 + 0x1.4p+0 i)": -float: 3 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: cpow (0xcp-4 + 0x1.4p+0 i, 0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# csin -Test "Real part of: csin (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 - -# csinh -Test "Real part of: csinh (0.75 + 1.25 i)": -ildouble: 1 -ldouble: 1 - -# csqrt -Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4.000008p-128 - 0x4.000008p-128 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4p-1076 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4p-16384 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x4p-16384 - 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (-0x8p-152 - 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x1p-16440 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x1p-5000 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x2p-148 + 0x2p-148 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.0000000000004p-1024 + 0x4.0000000000004p-1024 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4.000008p-128 + 0x4.000008p-128 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-1076 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-16384 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-16384 + 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x4p-16448 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+1020 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+1020 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+124 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+16380 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p+16380 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-1076 + 0x8p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16384 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16444 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-152 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0x8p-16448 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: csqrt (0xf.ffffffffffff8p+1020 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: csqrt (0xf.ffffffffffff8p+1020 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real 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 "Real part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 - -# ctan -Test "Real part of: ctan (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1p+0 + 0x2.dp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x1p+0 + 0x2.fp+4 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0x8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0x8p+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctan (0x8p+124 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 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)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -# ctan_downward -Test "Real part of: ctan_downward (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + +0 i)": -double: 2 -idouble: 2 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + +0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1p+0 + 0x1.63p+8 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1p+0 + 0x2.dp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x1p+0 + 0x2.fp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_downward (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_downward (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_downward (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_downward (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_downward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# ctan_tonearest -Test "Real part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 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 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.dp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.fp+4 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 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)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -# ctan_towardzero -Test "Real part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + +0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 4 -ldouble: 4 -Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1p+0 + 0x1.63p+8 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1p+0 + 0x2.dp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x1p+0 + 0x2.fp+4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0xcp-4 + 0x1.4p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctan_towardzero (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# ctan_upward -Test "Real part of: ctan_upward (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -Test "Imaginary part of: ctan_upward (-0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb4p+0 + +0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + +0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -ildouble: 7 -ldouble: 7 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)": -double: 1 -idouble: 1 -ildouble: 7 -ldouble: 7 -Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + +0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)": -ildouble: 7 -ldouble: 7 -Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 7 -ldouble: 7 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63ap+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0x8p+1020 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_upward (0x8p+1020 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x8p+124 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0x8p+16380 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctan_upward (0x8p+16380 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctan_upward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan_upward (0xf.fffffp+124 + 0x1p+0 i)": -float: 3 -ifloat: 3 -ildouble: 5 -ldouble: 5 -Test "Imaginary part of: ctan_upward (0xf.fffffp+124 + 0x1p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# ctanh -Test "Imaginary part of: ctanh (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c235p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdap-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (+0 + 0xc.90fdbp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0x8p+124 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctanh (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (0x2.dp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x2.fp+4 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -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)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh (0xcp-4 + 0x1.4p+0 i)": -float: 2 -ifloat: 2 - -# ctanh_downward -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168cp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdbp-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_downward (0x1.63p+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+124 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+124 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x2.dp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x2.fp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 2 -idouble: 2 -Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# ctanh_tonearest -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c235p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdap-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdbp-4 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x2.dp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x2.fp+4 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -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)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)": -float: 2 -ifloat: 2 - -# ctanh_towardzero -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c8p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168cp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdbp-4 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Real part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_towardzero (-0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1.63p+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x2.dp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x2.fp+4 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb6p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# ctanh_upward -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb6p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c235p-4 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdbp-4 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)": -float: 2 -ifloat: 2 -Test "Imaginary part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (-0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (-0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.63ap+12 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.63p+12 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)": -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+124 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+16380 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+16380 i)": -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctanh_upward (0x1p+0 + 0xf.fffffp+124 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.fffffp+124 i)": -float: 3 -ifloat: 3 -ildouble: 5 -ldouble: 5 -Test "Real part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Imaginary part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 7 -ldouble: 7 -Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)": -ildouble: 7 -ldouble: 7 -Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)": -double: 1 -idouble: 1 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)": -double: 1 -idouble: 1 -ildouble: 7 -ldouble: 7 -Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 7 -ldouble: 7 -Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb4p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 4 -ldouble: 4 -Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)": -ildouble: 3 -ldouble: 3 -Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)": -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0xc.35p+12 + 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0xc.35p+12 - 0xc.35p+12 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "Real part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -# erf -Test "erf (-0x8p-4)": -ildouble: 1 -ldouble: 1 - -# erfc -Test "erfc (0x1.4p+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x2p+0)": -float: 1 -ifloat: 1 -Test "erfc (0x3.ee6078p+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x4.2p+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x6.4p+4)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fe8008p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fffd58p+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fffd59e26af37bc8p+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fffd59e26af37bcp+0)": -ildouble: 1 -ldouble: 1 -Test "erfc (0x7.fffd6p+0)": -float: 1 -ifloat: 1 -Test "erfc (0x7.ffff2p+0)": -ildouble: 1 -ldouble: 1 - -# expm1 -Test "expm1 (-0x1p-64)": -ildouble: 1 -ldouble: 1 - -# expm1_tonearest -Test "expm1_tonearest (-0x1p-64)": -ildouble: 1 -ldouble: 1 - -# gamma -Test "gamma (-0x4p-12)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x4p-32)": -ildouble: 1 -ldouble: 1 -Test "gamma (-0x8p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (0x1.3333333333334p+0)": -ildouble: 1 -ldouble: 1 -Test "gamma (0x1p-40)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "gamma (0xb.33333p-4)": -ildouble: 1 -ldouble: 1 - -# hypot -Test "hypot (-0xb.3333333333338p-4, -0xc.6666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.3333333333338p-4, 0xc.6666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, -0xc.666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xb.33333p-4, 0xc.666666666666p+0)": -ildouble: 1 -ldouble: 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.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.6666666666668p+0, -0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (-0xc.6666666666668p+0, 0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.6666666666668p+0, 0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (-0xc.666666666666p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (-0xc.666666666666p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdef02p-500, 0x1.23456789abcdefp-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdefp-500, 0x1.23456789abcdef02p-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdefp-500, 0x1.23456789abcdfp-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdefp-500)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333338p-4, -0xc.6666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.3333333333338p-4, 0xc.6666666666668p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, -0xc.666666666666p+0)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xb.33333p-4, 0xc.666666666666p+0)": -ildouble: 1 -ldouble: 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.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.6666666666668p+0, -0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (0xc.6666666666668p+0, 0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.6666666666668p+0, 0xb.33334p-4)": -double: 1 -idouble: 1 -Test "hypot (0xc.666666666666p+0, -0xb.33333p-4)": -ildouble: 1 -ldouble: 1 -Test "hypot (0xc.666666666666p+0, 0xb.33333p-4)": -ildouble: 1 -ldouble: 1 - -# j0 -Test "j0 (-0x2.002000002p+592)": -ildouble: 2 -ldouble: 2 -Test "j0 (-0x4p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "j0 (-0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "j0 (0x1.8p+0)": -float: 1 -ifloat: 1 -Test "j0 (0x4p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "j0 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "j0 (0x8p+0)": -float: 1 -ifloat: 1 -Test "j0 (0x8p+1020)": -double: 1 -idouble: 1 -Test "j0 (0xap+0)": -double: 1 -idouble: 1 -Test "j0 (0xe.be71dp+104)": -float: 2 -ifloat: 2 -Test "j0 (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "j0 (0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# j1 -Test "j1 (0x1.8p+0)": -float: 1 -ifloat: 1 -Test "j1 (0x2p+0)": -float: 1 -ifloat: 1 -Test "j1 (0x4.ffcp+72)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "j1 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "j1 (0xap+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -# jn -Test "jn (0, -0x4p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "jn (0, 0x1.8p+0)": -float: 1 -ifloat: 1 -Test "jn (0, 0x4p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "jn (0, 0x8p+0)": -float: 1 -ifloat: 1 -Test "jn (0, 0xap+0)": -double: 1 -idouble: 1 -Test "jn (1, 0x1.8p+0)": -float: 1 -ifloat: 1 -Test "jn (1, 0x2p+0)": -float: 1 -ifloat: 1 -Test "jn (1, 0xap+0)": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "jn (10, -0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (10, 0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (10, 0x2p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (10, 0x2p-4)": -float: 1 -ifloat: 1 -Test "jn (10, 0xap+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (10, 0xcp-4)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "jn (2, 0x2.67a2a4p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (2, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a5d2e36801p+0)": -ildouble: 2 -ldouble: 2 -Test "jn (2, 0x2.67a2a5d2e3682p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a5d2e368p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0x2.67a2a8p+0)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "jn (2, 0x8p+1020)": -double: 1 -idouble: 1 -Test "jn (2, 0x8p+124)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0xf.fffb1p+96)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (2, 0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "jn (2, 0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (3, -0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a4p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a5d2e36801p+0)": -ildouble: 3 -ldouble: 3 -Test "jn (3, 0x2.67a2a5d2e3682p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2.67a2a8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (3, 0x2p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (3, 0xap+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a4p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 2 -ldouble: 2 -Test "jn (4, 0x2.67a2a5d2e36801p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a5d2e368p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (4, 0x2.67a2a8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "jn (5, 0x2.67a2a4p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (5, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 2 -ldouble: 2 -Test "jn (5, 0x2.67a2a5d2e36801p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (5, 0x2.67a2a5d2e368p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a4p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a5d2e36801p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a5d2e3682p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (6, 0x2.67a2a8p+0)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a4p+0)": -float: 1 -ifloat: 1 -Test "jn (7, 0x2.67a2a5d2e36800fcp+0)": -ildouble: 2 -ldouble: 2 -Test "jn (7, 0x2.67a2a5d2e36801p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a5d2e3682p+0)": -ildouble: 4 -ldouble: 4 -Test "jn (7, 0x2.67a2a5d2e368p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (7, 0x2.67a2a8p+0)": -float: 1 -ifloat: 1 -Test "jn (8, 0x2.67a2a4p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (8, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (8, 0x2.67a2a8p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "jn (9, 0x2.67a2a4p+0)": -float: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 -Test "jn (9, 0x2.67a2a5d2e3682p+0)": -double: 1 -idouble: 1 -Test "jn (9, 0x2.67a2a5d2e368p+0)": -ildouble: 1 -ldouble: 1 -Test "jn (9, 0x2.67a2a8p+0)": -double: 1 -idouble: 1 -ildouble: 3 -ldouble: 3 - -# lgamma -Test "lgamma (-0x4p-12)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x4p-32)": -ildouble: 1 -ldouble: 1 -Test "lgamma (-0x8p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0x1.3333333333334p+0)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0x1p-40)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.333333333333334p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.3333333333338p-4)": -ildouble: 1 -ldouble: 1 -Test "lgamma (0xb.33333p-4)": -ildouble: 1 -ldouble: 1 - -# pow -Test "pow (-0x2p+0, -0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow (-0x2p+0, -0x7.fp+4)": -ifloat: 7 -Test "pow (-0x2p+0, 0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow (-0x8p-4, -0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow (-0x8p-4, 0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow (-0x8p-4, 0x7.fp+4)": -ifloat: 7 -Test "pow (0x1p+64, 0x2p-4)": -ildouble: 1 -ldouble: 1 -Test "pow (0x1p+8, 0x8p+0)": -float: 1 -ifloat: 1 -ildouble: 7 -ldouble: 7 -Test "pow (0xf.ffffffffffff8p+1020, 0xcp-4)": -double: 1 -idouble: 1 -Test "pow (0xf.fffffp+124, 0xcp-4)": -float: 5 -ifloat: 5 -Test "pow (0xf.fffffp-4, -0x1p+24)": -float: 1 -ifloat: 1 -Test "pow (0xf.fffffp-4, 0x1p+24)": -float: 1 -ifloat: 1 - -# pow_downward -Test "pow_downward (1.0625, 1.125)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "pow_downward (1.5, 1.03125)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# pow_tonearest -Test "pow_tonearest (-0x2p+0, -0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow_tonearest (-0x2p+0, -0x7.fp+4)": -float: 7 -ifloat: 7 -Test "pow_tonearest (-0x2p+0, 0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow_tonearest (-0x8p-4, -0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow_tonearest (-0x8p-4, 0x7.ep+4)": -ildouble: 7 -ldouble: 7 -Test "pow_tonearest (-0x8p-4, 0x7.fp+4)": -float: 7 -ifloat: 7 -Test "pow_tonearest (0x1p+64, 0x2p-4)": -ildouble: 1 -ldouble: 1 -Test "pow_tonearest (0x1p+8, 0x8p+0)": -float: 1 -ifloat: 1 -ildouble: 7 -ldouble: 7 -Test "pow_tonearest (0xf.ffffffffffff8p+1020, 0xcp-4)": -double: 1 -idouble: 1 -Test "pow_tonearest (0xf.fffffp+124, 0xcp-4)": -float: 5 -ifloat: 5 -Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)": -float: 1 -ifloat: 1 -Test "pow_tonearest (0xf.fffffp-4, 0x1p+24)": -float: 1 -ifloat: 1 - -# pow_towardzero -Test "pow_towardzero (1.0625, 1.125)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "pow_towardzero (1.5, 1.03125)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# pow_upward -Test "pow_upward (1.0625, 1.125)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "pow_upward (1.5, 1.03125)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -# sin -Test "sin (0x2.5535376715bap+0)": -double: 1 -idouble: 1 -Test "sin (0x4.1237e153f708p+0)": -double: 1 -idouble: 1 -Test "sin (0x4.c92d0ffa4bfp+0)": -double: 1 -idouble: 1 -Test "sin (0xe.ef3af1b5d8p-4)": -double: 1 -idouble: 1 - -# sin_tonearest -Test "sin_tonearest (0x2.5535376715bap+0)": -double: 1 -idouble: 1 -Test "sin_tonearest (0x4.1237e153f708p+0)": -double: 1 -idouble: 1 -Test "sin_tonearest (0x4.c92d0ffa4bfp+0)": -double: 1 -idouble: 1 -Test "sin_tonearest (0xe.ef3af1b5d8p-4)": -double: 1 -idouble: 1 - -# tgamma -Test "tgamma (-0x1.000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.3ffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.3ffffffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.3ffffffffffffp+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x1.4000000000000002p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x1.4000000000001p+4)": -double: 1 -idouble: 1 -ildouble: 6 -ldouble: 6 -Test "tgamma (-0x1.400002p+4)": -float: 3 -ifloat: 3 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.dffffffffffffffep+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.dffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.e000000000000002p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x1.e000000000001p+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1.e00002p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x1.f3fffep+8)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x1.f3fffffffffffp+8)": -ildouble: 7 -ldouble: 7 -Test "tgamma (-0x1.f400000000000002p+8)": -ildouble: 8 -ldouble: 8 -Test "tgamma (-0x1.f40002p+8)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0x1.fffffffffffffp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x1p-24)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.0000000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.0000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.000004p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.146544p+4)": -float: 2 -ifloat: 2 -Test "tgamma (-0x2.7ffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.7fffffffffffep+4)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x2.7ffffffffffffffcp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8000000000000004p+4)": -ildouble: 6 -ldouble: 6 -Test "tgamma (-0x2.800004p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.8ffffcp+4)": -ildouble: 6 -ldouble: 6 -Test "tgamma (-0x2.8fffffffffffep+4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x2.8ffffffffffffffcp+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x2.8p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x2.9000000000000004p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0x2.9000000000002p+4)": -ildouble: 7 -ldouble: 7 -Test "tgamma (-0x2.900004p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0x2.9ffffcp+4)": -ildouble: 7 -ldouble: 7 -Test "tgamma (-0x2.9fffffffffffep+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.9ffffffffffffffcp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x2.a000000000002p+4)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x3.0000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.000004p+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0x3.1ffffcp+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x3.1fffffffffffep+4)": -double: 1 -idouble: 1 -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x3.2000000000000004p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.2000000000002p+4)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x3.200004p+4)": -double: 1 -idouble: 1 -ildouble: 8 -ldouble: 8 -Test "tgamma (-0x3.e7fffffffffffffcp+8)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0x3.e800000000002p+8)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x3.e80004p+8)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x3.fffffcp+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0x3.fffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.000008p+0)": -float: 2 -ifloat: 2 -Test "tgamma (-0x4.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x4.fffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.0000000000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x5.fffff8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0x6.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.3ffff8p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0x6.3fffffffffffcp+4)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0x6.3ffffffffffffff8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x6.4000000000004p+4)": -ildouble: 6 -ldouble: 6 -Test "tgamma (-0x6.400008p+4)": -ildouble: 9 -ldouble: 9 -Test "tgamma (-0x6.8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0x6.d60008p+8)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.fffff8p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x6.ffffffffffffcp+0)": -double: 3 -idouble: 3 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.0000000000004p+0)": -double: 4 -idouble: 4 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.000008p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.fffff8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x7.ffffffffffffcp+0)": -double: 3 -idouble: 3 -Test "tgamma (-0x7.fffffffffffffff8p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x8.000000000000001p+0)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x8.00001p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0x8.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x8p-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (-0x9.5fffffffffff8p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0x9.5ffffffffffffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x9.60001p+4)": -ildouble: 7 -ldouble: 7 -Test "tgamma (-0x9.8p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "tgamma (-0x9.ffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0x9.fffffp+0)": -float: 1 -ifloat: 1 -Test "tgamma (-0xa.000000000000001p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xa.0000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xa.00001p+0)": -double: 1 -idouble: 1 -Test "tgamma (-0xb.500000000000001p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xb.5000000000008p+4)": -ildouble: 7 -ldouble: 7 -Test "tgamma (-0xb.5fffffffffff8p+4)": -ildouble: 6 -ldouble: 6 -Test "tgamma (-0xb.5ffffp+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0xb.6000000000008p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.6fffffffffff8p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0xb.7000000000008p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0xb.800000000000001p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.8000000000008p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0xb.80001p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0xb.bfffffffffff8p+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.bffffffffffffffp+4)": -ildouble: 2 -ldouble: 2 -Test "tgamma (-0xb.bffffp+4)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0xb.cfffffffffff8p+4)": -ildouble: 6 -ldouble: 6 -Test "tgamma (-0xb.d00000000000001p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0xb.dfffffffffff8p+4)": -ildouble: 9 -ldouble: 9 -Test "tgamma (-0xb.e000000000008p+4)": -ildouble: 9 -ldouble: 9 -Test "tgamma (-0xf.9fffffffffff8p+4)": -ildouble: 5 -ldouble: 5 -Test "tgamma (-0xf.9ffffffffffffffp+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.9ffffp+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (-0xf.a00000000000001p+4)": -ildouble: 4 -ldouble: 4 -Test "tgamma (-0xf.a000000000008p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.fffffffffffffffp-4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (-0xf.fffffp-4)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.28p+4)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.38p+4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.78p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.d8p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.e8p+4)": -float: 1 -ifloat: 1 -Test "tgamma (0x1.fffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1.fffffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x1p-24)": -float: 1 -ifloat: 1 -Test "tgamma (0x1p-64)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.0000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.000004p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.08p+4)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.18p+4)": -float: 1 -ifloat: 1 -Test "tgamma (0x2.28p+4)": -float: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 -Test "tgamma (0x2.30a43cp+4)": -float: 2 -ifloat: 2 -ildouble: 3 -ldouble: 3 -Test "tgamma (0x2.30a44p+4)": -double: 1 -idouble: 1 -Test "tgamma (0x2.8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x2.fffffcp+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x2.ffffffffffffep+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.0000000000002p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.8p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x3.e8p+8)": -ildouble: 7 -ldouble: 7 -Test "tgamma (0x3.fffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3.fffffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x3p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x4.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4.000008p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x4.8p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x4.fffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4.fffffffffffffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x4p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x5.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.000008p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.fffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5.ffffffffffffcp+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x5p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x6.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.8p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.fffff8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x6.ffffffffffffcp+0)": -double: 3 -idouble: 3 -Test "tgamma (0x6p+0)": -float: 1 -ifloat: 1 -Test "tgamma (0x7.0000000000000008p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.0000000000004p+0)": -double: 4 -idouble: 4 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.000008p+0)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.8p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.fffff8p+0)": -ildouble: 1 -ldouble: 1 -Test "tgamma (0x7.ffffffffffffcp+0)": -double: 2 -idouble: 2 -Test "tgamma (0x7.fffffffffffffff8p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (0x7p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x8.000000000000001p+0)": -ildouble: 2 -ldouble: 2 -Test "tgamma (0x8.00001p+0)": -double: 1 -idouble: 1 -Test "tgamma (0x8.8p+0)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -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)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tgamma (0x9p+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "tgamma (0xa.b9fd7p+4)": -double: 1 -idouble: 1 -Test "tgamma (0xa.b9fd8p+4)": -ildouble: 3 -ldouble: 3 -Test "tgamma (0xap+0)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# y0 -Test "y0 (0x1.8p+0)": -float: 1 -ifloat: 1 -Test "y0 (0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "y0 (0x1p-100)": -float: 1 -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-60)": -double: 1 -idouble: 1 -Test "y0 (0x1p-80)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "y0 (0x2p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x4.ffcp+72)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p-112)": -float: 1 -ifloat: 1 -Test "y0 (0x4p-12)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p-32)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "y0 (0x4p-72)": -double: 1 -idouble: 1 -Test "y0 (0x4p-92)": -float: 1 -ifloat: 1 -Test "y0 (0x8p+0)": -ildouble: 1 -ldouble: 1 -Test "y0 (0xap+0)": -float: 1 -ifloat: 1 -Test "y0 (0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -# y1 -Test "y1 (0x1p+0)": -double: 1 -idouble: 1 -Test "y1 (0x2.002000002p+592)": -ildouble: 2 -ldouble: 2 -Test "y1 (0x2p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "y1 (0x2p-4)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x4p+16380)": -ildouble: 1 -ldouble: 1 -Test "y1 (0x4p-12)": -float: 1 -ifloat: 1 -Test "y1 (0x8p+0)": -float: 1 -ifloat: 1 -Test "y1 (0x8p+1020)": -double: 1 -idouble: 1 -Test "y1 (0x9.3f102p+96)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 -Test "y1 (0xf.ffffffffffff8p+1020)": -ildouble: 1 -ldouble: 1 -Test "y1 (0xf.fffffp+124)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -# yn -Test "yn (-1, 0x1p+0)": -double: 1 -idouble: 1 -Test "yn (-10, 0x1p+0)": -float: 2 -ifloat: 2 -Test "yn (0, 0x1.8p+0)": -float: 1 -ifloat: 1 -Test "yn (0, 0x1p+0)": -ildouble: 1 -ldouble: 1 -Test "yn (0, 0x2p-4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "yn (0, 0x8p+0)": -ildouble: 1 -ldouble: 1 -Test "yn (0, 0xap+0)": -float: 1 -ifloat: 1 -Test "yn (0, 0xcp-4)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -Test "yn (1, 0x1p+0)": -double: 1 -idouble: 1 -Test "yn (1, 0x2p+0)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "yn (1, 0x2p-4)": -ildouble: 1 -ldouble: 1 -Test "yn (1, 0x8p+0)": -float: 1 -ifloat: 1 -Test "yn (10, 0x1p+0)": -float: 2 -ifloat: 2 -Test "yn (10, 0x2p+0)": -float: 1 -ifloat: 1 -Test "yn (10, 0x2p-4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 -Test "yn (10, 0x4p-1024)": -ildouble: 1 -ldouble: 1 -Test "yn (10, 0x4p-128)": -ildouble: 1 -ldouble: 1 -Test "yn (10, 0x8p-972)": -ildouble: 1 -ldouble: 1 -Test "yn (10, 0xap+0)": -float: 2 -ifloat: 2 -Test "yn (10, 0xcp-4)": -float: 1 -ifloat: 1 -ildouble: 4 -ldouble: 4 -Test "yn (2, 0x8p+124)": -float: 3 -ifloat: 3 -Test "yn (2, 0xf.fffb1p+96)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "yn (3, 0x2p-4)": -ildouble: 1 -ldouble: 1 -Test "yn (3, 0xcp-4)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 - -# Maximal error of functions: -Function: "acosh": -double: 1 -idouble: 1 - -Function: "asin_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "asin_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "asin_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "asinh": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "atan2": -ildouble: 1 -ldouble: 1 - -Function: Real part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "cacos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Real part of "cacosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: Real part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Real part of "casinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "casinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "catan": -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "catanh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "catanh": -ildouble: 1 -ldouble: 1 - -Function: "cbrt": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "ccos": -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "ccos": -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "ccosh": -ildouble: 1 -ldouble: 1 - -Function: Real part of "cexp": -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "cexp": -ildouble: 1 -ldouble: 1 - -Function: Real part of "clog": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "clog": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "clog10": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "clog10": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: "cos": -double: 1 -idouble: 1 - -Function: "cos_tonearest": -double: 1 -idouble: 1 - -Function: Real part of "cpow": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 3 -ldouble: 3 - -Function: Imaginary part of "cpow": -float: 5 -ifloat: 5 -ildouble: 1 -ldouble: 1 - -Function: Real part of "csin": -ildouble: 1 -ldouble: 1 - -Function: Real part of "csinh": -ildouble: 1 -ldouble: 1 - -Function: Real part of "csqrt": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: Imaginary part of "csqrt": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: Real part of "ctan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctan_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctan_downward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctan_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctan_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctan_towardzero": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctan_towardzero": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 4 -ldouble: 4 - -Function: Real part of "ctan_upward": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 5 -ldouble: 5 - -Function: Imaginary part of "ctan_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 7 -ldouble: 7 - -Function: Real part of "ctanh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctanh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctanh_downward": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctanh_downward": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctanh_tonearest": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Imaginary part of "ctanh_tonearest": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctanh_towardzero": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 -ildouble: 4 -ldouble: 4 - -Function: Imaginary part of "ctanh_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 - -Function: Real part of "ctanh_upward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 7 -ldouble: 7 - -Function: Imaginary part of "ctanh_upward": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 5 -ldouble: 5 - -Function: "erf": -ildouble: 1 -ldouble: 1 - -Function: "erfc": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "expm1": -ildouble: 1 -ldouble: 1 - -Function: "expm1_tonearest": -ildouble: 1 -ldouble: 1 - -Function: "gamma": -ildouble: 1 -ldouble: 1 - -Function: "hypot": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 - -Function: "j0": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "j1": -float: 2 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "jn": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 4 -ldouble: 4 - -Function: "lgamma": -ildouble: 1 -ldouble: 1 - -Function: "pow": -double: 1 -float: 5 -idouble: 1 -ifloat: 7 -ildouble: 7 -ldouble: 7 - -Function: "pow_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "pow_tonearest": -double: 1 -float: 7 -idouble: 1 -ifloat: 7 -ildouble: 7 -ldouble: 7 - -Function: "pow_towardzero": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "pow_upward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sin": -double: 1 -idouble: 1 - -Function: "sin_tonearest": -double: 1 -idouble: 1 - -Function: "tgamma": -double: 4 -float: 3 -idouble: 4 -ifloat: 3 -ildouble: 9 -ldouble: 9 - -Function: "y0": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "y1": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 2 -ldouble: 2 - -Function: "yn": -double: 1 -float: 3 -idouble: 1 -ifloat: 3 -ildouble: 4 -ldouble: 4 - -# end of automatic generation diff --git a/ports/sysdeps/m68k/m680x0/fpu/math_private.h b/ports/sysdeps/m68k/m680x0/fpu/math_private.h deleted file mode 100644 index 217de2ecc2..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/math_private.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _MATH_PRIVATE_H - -#define math_opt_barrier(x) \ -({ __typeof (x) __x; \ - __asm ("" : "=f" (__x) : "0" (x)); \ - __x; }) -#define math_force_eval(x) \ -do \ - { \ - __typeof (x) __x = (x); \ - if (sizeof (x) <= sizeof (double)) \ - __asm __volatile ("" : : "m" (__x)); \ - else \ - __asm __volatile ("" : : "f" (__x)); \ - } \ -while (0) - -#include_next <math_private.h> -#endif diff --git a/ports/sysdeps/m68k/m680x0/fpu/mathimpl.h b/ports/sysdeps/m68k/m680x0/fpu/mathimpl.h deleted file mode 100644 index 2b129a86bd..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mathimpl.h +++ /dev/null @@ -1,93 +0,0 @@ -/* Definitions of libc internal inline math functions implemented - by the m68881/2. - Copyright (C) 1991-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 the definitions of the inline math functions that - are only used internally inside libm, not visible to the user. */ - -__inline_mathop (__ieee754_acos, acos) -__inline_mathop (__ieee754_asin, asin) -__inline_mathop (__ieee754_cosh, cosh) -__inline_mathop (__ieee754_sinh, sinh) -__inline_mathop (__ieee754_exp, etox) -__inline_mathop (__ieee754_exp2, twotox) -__inline_mathop (__ieee754_exp10, tentox) -__inline_mathop (__ieee754_log10, log10) -__inline_mathop (__ieee754_log2, log2) -__inline_mathop (__ieee754_log, logn) -__inline_mathop (__ieee754_sqrt, sqrt) -__inline_mathop (__ieee754_atanh, atanh) - -__m81_defun (double, __ieee754_remainder, (double __x, double __y)) -{ - double __result; - __asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); - return __result; -} - -__m81_defun (float, __ieee754_remainderf, (float __x, float __y)) -{ - float __result; - __asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); - return __result; -} - -__m81_defun (long double, - __ieee754_remainderl, (long double __x, long double __y)) -{ - long double __result; - __asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); - return __result; -} - -__m81_defun (double, __ieee754_fmod, (double __x, double __y)) -{ - double __result; - __asm ("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); - return __result; -} - -__m81_defun (float, __ieee754_fmodf, (float __x, float __y)) -{ - float __result; - __asm ("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); - return __result; -} - -__m81_defun (long double, - __ieee754_fmodl, (long double __x, long double __y)) -{ - long double __result; - __asm ("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); - return __result; -} - -/* Get the m68881 condition codes, to quickly check multiple conditions. */ -static __inline__ unsigned long -__m81_test (long double __val) -{ - unsigned long __fpsr; - __asm ("ftst%.x %1; fmove%.l %/fpsr,%0" : "=dm" (__fpsr) : "f" (__val)); - return __fpsr; -} - -/* Bit values returned by __m81_test. */ -#define __M81_COND_NAN (1 << 24) -#define __M81_COND_INF (2 << 24) -#define __M81_COND_ZERO (4 << 24) -#define __M81_COND_NEG (8 << 24) diff --git a/ports/sysdeps/m68k/m680x0/fpu/mpa.c b/ports/sysdeps/m68k/m680x0/fpu/mpa.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mpa.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/mpatan.c b/ports/sysdeps/m68k/m680x0/fpu/mpatan.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mpatan.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/mpatan2.c b/ports/sysdeps/m68k/m680x0/fpu/mpatan2.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mpatan2.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/mpexp.c b/ports/sysdeps/m68k/m680x0/fpu/mpexp.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mpexp.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/mplog.c b/ports/sysdeps/m68k/m680x0/fpu/mplog.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mplog.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/mpsqrt.c b/ports/sysdeps/m68k/m680x0/fpu/mpsqrt.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mpsqrt.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/mptan.c b/ports/sysdeps/m68k/m680x0/fpu/mptan.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/mptan.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_atan.c b/ports/sysdeps/m68k/m680x0/fpu/s_atan.c deleted file mode 100644 index c10437e50d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_atan.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> - -#ifndef FUNC -#define FUNC atan -#endif -#ifndef float_type -#define float_type double -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -float_type -__CONCATX(__,FUNC) (x) - float_type x; -{ - return __m81_u(__CONCATX(__,FUNC))(x); -} -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_atanf.c b/ports/sysdeps/m68k/m680x0/fpu/s_atanf.c deleted file mode 100644 index c98559a8ba..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_atanf.c +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef FUNC -#define FUNC atanf -#endif -#define float_type float -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_atanl.c b/ports/sysdeps/m68k/m680x0/fpu/s_atanl.c deleted file mode 100644 index b7e608addd..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_atanl.c +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef FUNC -#define FUNC atanl -#endif -#define float_type long double -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c b/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c deleted file mode 100644 index 249516c15d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Complex cosine hyperbole function. m68k fpu version - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <complex.h> -#include <math.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -__complex__ float_type -s(__ccosh) (__complex__ float_type x) -{ - __complex__ float_type retval; - unsigned long ix_cond = __m81_test (__imag__ x); - - if ((ix_cond & (__M81_COND_INF|__M81_COND_NAN)) == 0) - { - /* Imaginary part is finite. */ - float_type sin_ix, cos_ix; - - __asm ("fsincos%.x %2,%1:%0" : "=f" (sin_ix), "=f" (cos_ix) - : "f" (__imag__ x)); - __real__ retval = cos_ix * m81(__ieee754_cosh) (__real__ x); - if (ix_cond & __M81_COND_ZERO) - __imag__ retval = (signbit (__real__ x) - ? -__imag__ x : __imag__ x); - else - __imag__ retval = sin_ix * m81(__ieee754_sinh) (__real__ x); - } - else - { - unsigned long rx_cond = __m81_test (__real__ x); - - if (rx_cond & __M81_COND_ZERO) - { - __real__ retval = __imag__ x - __imag__ x; - __imag__ retval = __real__ x; - } - else - { - if (rx_cond & __M81_COND_INF) - __real__ retval = s(fabs) (__real__ x); - else - __real__ retval = s(__nan) (""); - __imag__ retval = __imag__ x - __imag__ x; - } - } - - return retval; -} -weak_alias (s(__ccosh), s(ccosh)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_ccoshf.c b/ports/sysdeps/m68k/m680x0/fpu/s_ccoshf.c deleted file mode 100644 index 3c8e7c7bb7..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_ccoshf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_ccosh.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_ccoshl.c b/ports/sysdeps/m68k/m680x0/fpu/s_ccoshl.c deleted file mode 100644 index 772d5786cf..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_ccoshl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_ccosh.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_ceil.c b/ports/sysdeps/m68k/m680x0/fpu/s_ceil.c deleted file mode 100644 index 93d5ad72e5..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_ceil.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC ceil -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_ceilf.c b/ports/sysdeps/m68k/m680x0/fpu/s_ceilf.c deleted file mode 100644 index b3ba6a5700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_ceilf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC ceilf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_ceill.c b/ports/sysdeps/m68k/m680x0/fpu/s_ceill.c deleted file mode 100644 index 2bf95b00c6..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_ceill.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC ceill -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c b/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c deleted file mode 100644 index 79a2ca49c3..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c +++ /dev/null @@ -1,136 +0,0 @@ -/* Complex exponential function. m68k fpu version - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <float.h> -#include <complex.h> -#include <math.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -__complex__ float_type -s(__cexp) (__complex__ float_type x) -{ - __complex__ float_type retval; - unsigned long ix_cond; - - ix_cond = __m81_test (__imag__ x); - - if ((ix_cond & (__M81_COND_NAN|__M81_COND_INF)) == 0) - { - /* Imaginary part is finite. */ - unsigned long rx_cond = __m81_test (__real__ x); - - if ((rx_cond & (__M81_COND_NAN|__M81_COND_INF)) == 0) - { - const int t = (int) ((LDBL_MAX_EXP - 1) * M_LN2l); - long double sin_ix, cos_ix, exp_val; - - __m81_u (__sincosl) (__imag__ x, &sin_ix, &cos_ix); - - if (__real__ x > t) - { - long double exp_t = __m81_u(__ieee754_expl) (t); - __real__ x -= t; - sin_ix *= exp_t; - cos_ix *= exp_t; - if (__real__ x > t) - { - __real__ x -= t; - sin_ix *= exp_t; - cos_ix *= exp_t; - } - } - - exp_val = __m81_u(__ieee754_expl) (__real__ x); - __real__ retval = exp_val * cos_ix; - if (ix_cond & __M81_COND_ZERO) - __imag__ retval = __imag__ x; - else - __imag__ retval = exp_val * sin_ix; - } - else - { - /* Compute the sign of the result. */ - long double remainder, pi_2; - int quadrant; - - if ((rx_cond & (__M81_COND_NAN|__M81_COND_NEG)) == __M81_COND_NEG) - __real__ retval = __imag__ retval = 0.0; - else - __real__ retval = __imag__ retval = __real__ x; - __asm ("fmovecr %#0,%0\n\tfscale%.w %#-1,%0" : "=f" (pi_2)); - __asm ("fmod%.x %2,%0\n\tfmove%.l %/fpsr,%1" - : "=f" (remainder), "=dm" (quadrant) - : "f" (pi_2), "0" (__imag__ x)); - quadrant = (quadrant >> 16) & 0x83; - if (quadrant & 0x80) - quadrant ^= 0x83; - switch (quadrant) - { - default: - break; - case 1: - __real__ retval = -__real__ retval; - break; - case 2: - __real__ retval = -__real__ retval; - case 3: - __imag__ retval = -__imag__ retval; - break; - } - if (ix_cond & __M81_COND_ZERO && (rx_cond & __M81_COND_NAN) == 0) - __imag__ retval = __imag__ x; - } - } - else - { - unsigned long rx_cond = __m81_test (__real__ x); - - if (rx_cond & __M81_COND_INF) - { - /* Real part is infinite. */ - if (rx_cond & __M81_COND_NEG) - { - __real__ retval = __imag__ retval = 0.0; - if (ix_cond & __M81_COND_NEG) - __imag__ retval = -__imag__ retval; - } - else - { - __real__ retval = __real__ x; - __imag__ retval = __imag__ x - __imag__ x; - } - } - else - __real__ retval = __imag__ retval = __imag__ x - __imag__ x; - } - - return retval; -} -weak_alias (s(__cexp), s(cexp)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_cexpf.c b/ports/sysdeps/m68k/m680x0/fpu/s_cexpf.c deleted file mode 100644 index 177a360f9b..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_cexpf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_cexp.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_cexpl.c b/ports/sysdeps/m68k/m680x0/fpu/s_cexpl.c deleted file mode 100644 index bbda4ba990..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_cexpl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_cexp.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_cos.c b/ports/sysdeps/m68k/m680x0/fpu/s_cos.c deleted file mode 100644 index 2f1adf77f5..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_cos.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC cos -#include <s_sin.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c b/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c deleted file mode 100644 index b6d6accb4a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC cosf -#include <s_sinf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c b/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c deleted file mode 100644 index eb61521fdd..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC cosl -#include <s_sinl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_csin.c b/ports/sysdeps/m68k/m680x0/fpu/s_csin.c deleted file mode 100644 index 9400adb094..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_csin.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Complex sine function. m68k fpu version - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <complex.h> -#include <math.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -__complex__ float_type -s(__csin) (__complex__ float_type x) -{ - __complex__ float_type retval; - unsigned long rx_cond = __m81_test (__real__ x); - - if ((rx_cond & (__M81_COND_INF|__M81_COND_NAN)) == 0) - { - /* Real part is finite. */ - float_type sin_rx, cos_rx; - - __asm ("fsincos%.x %2,%1:%0" : "=f" (sin_rx), "=f" (cos_rx) - : "f" (__real__ x)); - if (rx_cond & __M81_COND_ZERO) - __real__ retval = __real__ x; - else - __real__ retval = sin_rx * m81(__ieee754_cosh) (__imag__ x); - __imag__ retval = cos_rx * m81(__ieee754_sinh) (__imag__ x); - } - else - { - unsigned long ix_cond = __m81_test (__imag__ x); - - __real__ retval = __real__ x - __real__ x; - if (ix_cond & (__M81_COND_ZERO|__M81_COND_INF|__M81_COND_NAN)) - __imag__ retval = __imag__ x; - else - __imag__ retval = __real__ retval; - } - - return retval; -} -weak_alias (s(__csin), s(csin)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_csinf.c b/ports/sysdeps/m68k/m680x0/fpu/s_csinf.c deleted file mode 100644 index b760e192c3..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_csinf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_csin.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c b/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c deleted file mode 100644 index b5d10e03fd..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Complex sine hyperbole function. m68k fpu version - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <complex.h> -#include <math.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -__complex__ float_type -s(__csinh) (__complex__ float_type x) -{ - __complex__ float_type retval; - unsigned long ix_cond; - - ix_cond = __m81_test (__imag__ x); - - if ((ix_cond & (__M81_COND_INF|__M81_COND_NAN)) == 0) - { - /* Imaginary part is finite. */ - float_type sin_ix, cos_ix; - - __asm ("fsincos%.x %2,%1:%0" : "=f" (sin_ix), "=f" (cos_ix) - : "f" (__imag__ x)); - __real__ retval = cos_ix * m81(__ieee754_sinh) (__real__ x); - if (ix_cond & __M81_COND_ZERO) - __imag__ retval = __imag__ x; - else - __imag__ retval = sin_ix * m81(__ieee754_cosh) (__real__ x); - } - else - { - unsigned long rx_cond = __m81_test (__real__ x); - - __imag__ retval = __imag__ x - __imag__ x; - if (rx_cond & (__M81_COND_ZERO|__M81_COND_INF|__M81_COND_NAN)) - __real__ retval = __real__ x; - else - __real__ retval = __imag__ retval; - } - - return retval; -} -weak_alias (s(__csinh), s(csinh)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_csinhf.c b/ports/sysdeps/m68k/m680x0/fpu/s_csinhf.c deleted file mode 100644 index 2f7a43e6a8..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_csinhf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_csinh.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_csinhl.c b/ports/sysdeps/m68k/m680x0/fpu/s_csinhl.c deleted file mode 100644 index 026a20e7be..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_csinhl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_csinh.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_csinl.c b/ports/sysdeps/m68k/m680x0/fpu/s_csinl.c deleted file mode 100644 index ea2dad0556..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_csinl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_csin.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c b/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c deleted file mode 100644 index 341cd160b7..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2012-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <errno.h> -#include "mathimpl.h" - -#ifndef FUNC -# define FUNC expm1 -#endif -#ifndef float_type -# define float_type double -#endif -#ifndef o_threshold -# define o_threshold 7.09782712893383973096e+02 -#endif - -#define CONCATX(a,b) __CONCAT(a,b) - -float_type -CONCATX(__,FUNC) (float_type x) -{ - if ((__m81_test (x) & __M81_COND_INF) == 0 && isgreater (x, o_threshold)) - __set_errno (ERANGE); - return __m81_u(CONCATX(__, FUNC)) (x); -} -weak_alias (CONCATX(__, FUNC), FUNC) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c b/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c deleted file mode 100644 index 2cd8ffcfeb..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c +++ /dev/null @@ -1,4 +0,0 @@ -#define FUNC expm1f -#define float_type float -#define o_threshold 8.8722831726e+01F -#include <s_expm1.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c b/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c deleted file mode 100644 index a2c80860ba..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c +++ /dev/null @@ -1,6 +0,0 @@ -#define FUNC expm1l -#define float_type long double -/* 400c0000b17217f7d1cf79ab */ -#define o_threshold 1.13565234062941439487914863093465101e+04L -#include <s_expm1.c> -libm_hidden_def (__expm1l) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_fabs.c b/ports/sysdeps/m68k/m680x0/fpu/s_fabs.c deleted file mode 100644 index 1f0631e2ff..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_fabs.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC fabs -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_fabsf.c b/ports/sysdeps/m68k/m680x0/fpu/s_fabsf.c deleted file mode 100644 index 8f9421998a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_fabsf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC fabsf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_fabsl.c b/ports/sysdeps/m68k/m680x0/fpu/s_fabsl.c deleted file mode 100644 index 8ac14d5b8c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_fabsl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC fabsl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_finite.c b/ports/sysdeps/m68k/m680x0/fpu/s_finite.c deleted file mode 100644 index dafbd5901d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_finite.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC finite -#include <s_isinf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_finitef.c b/ports/sysdeps/m68k/m680x0/fpu/s_finitef.c deleted file mode 100644 index b81342e5c6..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_finitef.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC finitef -#include <s_isinff.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_finitel.c b/ports/sysdeps/m68k/m680x0/fpu/s_finitel.c deleted file mode 100644 index bd346a220c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_finitel.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC finitel -#include <s_isinfl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_floor.c b/ports/sysdeps/m68k/m680x0/fpu/s_floor.c deleted file mode 100644 index e1219c602a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_floor.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC floor -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_floorf.c b/ports/sysdeps/m68k/m680x0/fpu/s_floorf.c deleted file mode 100644 index f4f9b9a1d8..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_floorf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC floorf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_floorl.c b/ports/sysdeps/m68k/m680x0/fpu/s_floorl.c deleted file mode 100644 index 2c1ffd7d2c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_floorl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC floorl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c b/ports/sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c deleted file mode 100644 index c28decbba1..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Return classification value corresponding to argument. m68k version. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - Fixed for m68k by Andreas Schwab <schwab@suse.de>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> - -#include <math_private.h> - - -int -__fpclassifyl (long double x) -{ - u_int32_t ex, hx, lx; - int retval = FP_NORMAL; - - GET_LDOUBLE_WORDS (ex, hx, lx, x); - ex &= 0x7fff; - if ((ex | hx | lx) == 0) - retval = FP_ZERO; - else if (ex == 0 && (hx & 0x80000000) == 0) - retval = FP_SUBNORMAL; - else if (ex == 0x7fff) - retval = ((hx & 0x7fffffff) | lx) != 0 ? FP_NAN : FP_INFINITE; - - return retval; -} -libm_hidden_def (__fpclassifyl) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c b/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c deleted file mode 100644 index f061b4f9ad..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> - -#ifndef FUNC -#define FUNC frexp -#endif -#ifndef float_type -#define float_type double -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -float_type -__CONCATX(__,FUNC) (float_type value, int *expptr) -{ - float_type mantissa, exponent; - int iexponent; - unsigned long fpsr; - - __asm ("ftst%.x %1\n" - "fmove%.l %/fpsr, %0" - : "=dm" (fpsr) : "f" (value)); - if (fpsr & (7 << 24)) - { - /* Not finite or zero. */ - *expptr = 0; - return value; - } - __asm ("fgetexp%.x %1, %0" : "=f" (exponent) : "f" (value)); - iexponent = (int) exponent + 1; - *expptr = iexponent; - __asm ("fscale%.l %2, %0" - : "=f" (mantissa) - : "0" (value), "dmi" (-iexponent)); - return mantissa; -} -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_frexpf.c b/ports/sysdeps/m68k/m680x0/fpu/s_frexpf.c deleted file mode 100644 index 893b6ad3cf..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_frexpf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC frexpf -#define float_type float -#include <s_frexp.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_frexpl.c b/ports/sysdeps/m68k/m680x0/fpu/s_frexpl.c deleted file mode 100644 index 7fdfe2cf7d..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_frexpl.c +++ /dev/null @@ -1,58 +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 <math.h> - -long double -__frexpl (long double value, int *expptr) -{ - long double mantissa, exponent; - int iexponent; - unsigned long fpsr; - - __asm ("ftst%.x %1\n" - "fmove%.l %/fpsr, %0" - : "=dm" (fpsr) : "f" (value)); - if (fpsr & (7 << 24)) - { - /* Not finite or zero. */ - *expptr = 0; - return value; - } - __asm ("fgetexp%.x %1, %0" : "=f" (exponent) : "f" (value)); - iexponent = (int) exponent + 1; - *expptr = iexponent; - /* Unnormalized numbers must be handled specially, otherwise fscale - results in overflow. */ - if (iexponent <= -16384) - { - value *= 0x1p16383L; - iexponent += 16383; - } - else if (iexponent >= 16384) - { - value *= 0x1p-16383L; - iexponent -= 16383; - } - - __asm ("fscale%.l %2, %0" - : "=f" (mantissa) - : "0" (value), "dmi" (-iexponent)); - return mantissa; -} - -weak_alias (__frexpl, frexpl) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c b/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c deleted file mode 100644 index 43952f7a42..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> - -#ifndef FUNC -#define FUNC isinf -#endif -#ifndef float_type -#define float_type double -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -int -__CONCATX(__,FUNC) (x) - float_type x; -{ - return __m81_u(__CONCATX(__,FUNC))(x); -} - -#define hidden_defx(a) hidden_def(a) -hidden_defx(__CONCATX(__,FUNC)) -weak_alias (__CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_isinff.c b/ports/sysdeps/m68k/m680x0/fpu/s_isinff.c deleted file mode 100644 index ebf4f2ae96..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_isinff.c +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef FUNC -#define FUNC isinff -#endif -#define float_type float -#include <s_isinf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_isinfl.c b/ports/sysdeps/m68k/m680x0/fpu/s_isinfl.c deleted file mode 100644 index 963725ad77..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_isinfl.c +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef FUNC -#define FUNC isinfl -#endif -#define float_type long double -#include <s_isinf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_isnan.c b/ports/sysdeps/m68k/m680x0/fpu/s_isnan.c deleted file mode 100644 index 151d6dc6b4..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_isnan.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC isnan -#include <s_isinf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_isnanf.c b/ports/sysdeps/m68k/m680x0/fpu/s_isnanf.c deleted file mode 100644 index 667bca7235..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_isnanf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC isnanf -#include <s_isinff.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_isnanl.c b/ports/sysdeps/m68k/m680x0/fpu/s_isnanl.c deleted file mode 100644 index bbacb64f11..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_isnanl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC isnanl -#include <s_isinfl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_llrint.c b/ports/sysdeps/m68k/m680x0/fpu/s_llrint.c deleted file mode 100644 index 0734ac32ea..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_llrint.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Round argument to nearest integral value according to current rounding - direction. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <math_private.h> -#include "mathimpl.h" - -long long int -__llrint (double x) -{ - int32_t e; - u_int32_t h, l, s; - long long int result; - - x = __m81_u(__rint) (x); - - /* We could use __fixxfdi from libgcc, but here we can take advantage of - the known floating point format. */ - EXTRACT_WORDS (h, l, x); - - e = ((h >> 20) & 0x7ff) - 0x3ff; - if (e < 0) - return 0; - s = h; - h &= 0xfffff; - h |= 0x100000; - - if (e < 63) - { - if (e > 52) - { - h <<= e - 52; - h |= l >> (84 - e); - l <<= e - 52; - result = ((long long int) h << 32) | l; - } - else if (e > 20) - { - l >>= 52 - e; - l |= h << (e - 20); - h >>= 52 - e; - result = ((long long int) h << 32) | l; - } - else - result = h >> (20 - e); - if (s & 0x80000000) - result = -result; - } - else - /* The number is too large or not finite. The standard leaves it - undefined what to return when the number is too large to fit in a - `long long int'. */ - result = -1LL; - - return result; -} - -weak_alias (__llrint, llrint) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_llrintf.c b/ports/sysdeps/m68k/m680x0/fpu/s_llrintf.c deleted file mode 100644 index 4cd80308bd..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_llrintf.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Round argument to nearest integral value according to current rounding - direction. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <math_private.h> -#include "mathimpl.h" - -long long int -__llrintf (float x) -{ - int32_t e; - u_int32_t i, s; - long long int result; - - x = __m81_u(__rintf) (x); - - GET_FLOAT_WORD (i, x); - - e = ((i >> 23) & 0xff) - 0x7f; - if (e < 0) - return 0; - s = i; - i &= 0x7fffff; - i |= 0x800000; - - if (e < 63) - { - if (e > 55) - result = (long long int) (i << (e - 55)) << 32; - else if (e > 31) - result = (((long long int) (i >> (55 - e)) << 32) | (i << (e - 23))); - else if (e > 23) - result = i << (e - 23); - else - result = i >> (23 - e); - if (s & 0x80000000) - result = -result; - } - else - /* The number is too large or not finite. The standard leaves it - undefined what to return when the number is too large to fit in a - `long long int'. */ - result = -1LL; - - return result; -} - -weak_alias (__llrintf, llrintf) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_llrintl.c b/ports/sysdeps/m68k/m680x0/fpu/s_llrintl.c deleted file mode 100644 index 9bd9bf40e0..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_llrintl.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Round argument to nearest integral value according to current rounding - direction. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <math_private.h> -#include "mathimpl.h" - -long long int -__llrintl (long double x) -{ - int32_t e, s; - u_int32_t h, l; - long long int result; - - x = __m81_u(__rintl) (x); - - GET_LDOUBLE_WORDS (e, h, l, x); - - s = e; - e = (e & 0x7fff) - 0x3fff; - if (e < 0) - return 0; - - if (e < 63) - { - if (e > 31) - { - l >>= 63 - e; - l |= h << (e - 31); - h >>= 63 - e; - result = ((long long int) h << 32) | l; - } - else - result = h >> (31 - e); - if (s & 0x8000) - result = -result; - } - else - /* The number is too large or not finite. The standard leaves it - undefined what to return when the number is too large to fit in a - `long long int'. */ - result = -1LL; - - return result; -} - -weak_alias (__llrintl, llrintl) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_log1p.c b/ports/sysdeps/m68k/m680x0/fpu/s_log1p.c deleted file mode 100644 index 1840ced137..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_log1p.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC log1p -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_log1pf.c b/ports/sysdeps/m68k/m680x0/fpu/s_log1pf.c deleted file mode 100644 index cb7235a071..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_log1pf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC log1pf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_log1pl.c b/ports/sysdeps/m68k/m680x0/fpu/s_log1pl.c deleted file mode 100644 index 8dbef89095..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_log1pl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC log1pl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_logbl.c b/ports/sysdeps/m68k/m680x0/fpu/s_logbl.c deleted file mode 100644 index 2586622bf7..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_logbl.c +++ /dev/null @@ -1,49 +0,0 @@ -/* s_logbl.c -- long double version of s_logb.c. - * Conversion to long double by Ulrich Drepper, - * Cygnus Support, drepper@cygnus.com. - */ - -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * long double logbl(x) - * IEEE 754 logb. Included to pass IEEE test suite. Not recommend. - * Use ilogb instead. - */ - -#include <math.h> -#include <math_private.h> - -long double -__logbl (long double x) -{ - int32_t es, lx, ix; - - GET_LDOUBLE_WORDS (es, ix, lx, x); - es &= 0x7fff; /* exponent */ - if ((es | ix | lx) == 0) - return -1.0 / fabsl (x); - if (es == 0x7fff) - return x * x; - if (es == 0) /* IEEE 754 logb */ - { - /* POSIX specifies that denormal number is treated as - though it were normalized. */ - if (ix == 0) - es = -(__builtin_clz (lx) + 32); - else - es = -__builtin_clz (ix); - } - return (long double) (es - 16383); -} - -weak_alias (__logbl, logbl) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c b/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c deleted file mode 100644 index 02cb621d6a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Round argument to nearest integral value according to current rounding - direction. - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> - -#ifndef suffix -#define suffix /*empty*/ -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) - -long int -CONCATX(__lrint,suffix) (float_type x) -{ - return __m81_u(CONCATX(__lrint,suffix)) (x); -} -weak_alias (CONCATX(__lrint,suffix), CONCATX(lrint,suffix)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_lrintf.c b/ports/sysdeps/m68k/m680x0/fpu/s_lrintf.c deleted file mode 100644 index 44924cb82f..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_lrintf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define suffix f -#define float_type float -#include <s_lrint.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_lrintl.c b/ports/sysdeps/m68k/m680x0/fpu/s_lrintl.c deleted file mode 100644 index cd0bd23b8a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_lrintl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define suffix l -#define float_type long double -#include <s_lrint.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_modf.c b/ports/sysdeps/m68k/m680x0/fpu/s_modf.c deleted file mode 100644 index c9360c0ec4..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_modf.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include "mathimpl.h" - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) -#define m81(func) __m81_u(s(func)) - -float_type -s(__modf) (float_type x, float_type *iptr) -{ - float_type x_int, result; - unsigned long x_cond; - - __asm ("fintrz%.x %1, %0" : "=f" (x_int) : "f" (x)); - *iptr = x_int; - x_cond = __m81_test (x); - if (x_cond & __M81_COND_INF) - { - result = 0; - if (x_cond & __M81_COND_NEG) - result = -result; - } - else if (x_cond & __M81_COND_ZERO) - result = x; - else - result = x - x_int; - return result; -} -weak_alias (s(__modf), s(modf)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_modff.c b/ports/sysdeps/m68k/m680x0/fpu/s_modff.c deleted file mode 100644 index 0c44d7c0ab..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_modff.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_modf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_modfl.c b/ports/sysdeps/m68k/m680x0/fpu/s_modfl.c deleted file mode 100644 index c7075b3ba9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_modfl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_modf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_nearbyint.c b/ports/sysdeps/m68k/m680x0/fpu/s_nearbyint.c deleted file mode 100644 index b87f5e2160..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_nearbyint.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC nearbyint -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_nearbyintf.c b/ports/sysdeps/m68k/m680x0/fpu/s_nearbyintf.c deleted file mode 100644 index 70d08ab44c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_nearbyintf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC nearbyintf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_nearbyintl.c b/ports/sysdeps/m68k/m680x0/fpu/s_nearbyintl.c deleted file mode 100644 index 230cd7784c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_nearbyintl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC nearbyintl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_nextafterl.c b/ports/sysdeps/m68k/m680x0/fpu/s_nextafterl.c deleted file mode 100644 index 03c136bb08..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_nextafterl.c +++ /dev/null @@ -1,102 +0,0 @@ -/* s_nextafterl.c -- long double version of s_nextafter.c. - * Conversion to long double by Ulrich Drepper, - * Cygnus Support, drepper@cygnus.com. - * Fixed for m68k by Andreas Schwab <schwab@suse.de>. - */ - -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -#if defined(LIBM_SCCS) && !defined(lint) -static char rcsid[] = "$NetBSD: $"; -#endif - -/* IEEE functions - * nextafterl(x,y) - * return the next machine floating-point number of x in the - * direction toward y. - * Special cases: - */ - -#include <math.h> -#include <math_private.h> - -long double __nextafterl(long double x, long double y) -{ - int32_t ix,iy,esx,esy; - u_int32_t hx,hy,lx,ly; - - GET_LDOUBLE_WORDS(esx,hx,lx,x); - GET_LDOUBLE_WORDS(esy,hy,ly,y); - ix = esx&0x7fff; /* |x| */ - iy = esy&0x7fff; /* |y| */ - - if(((ix==0x7fff)&&((hx&0x7fffffff)|lx)!=0) || /* x is nan */ - ((iy==0x7fff)&&((hy&0x7fffffff)|ly)!=0)) /* y is nan */ - return x+y; - if(x==y) return y; /* x=y, return y */ - if((ix|hx|lx)==0) { /* x == 0 */ - SET_LDOUBLE_WORDS(x,esy&0x8000,0,1);/* return +-minsubnormal */ - y = x*x; - math_force_eval (y); /* raise underflow flag */ - return x; - } - if(esx>=0) { /* x > 0 */ - if(esx>esy||((esx==esy) && (hx>hy||((hx==hy)&&(lx>ly))))) { - /* x > y, x -= ulp */ - if(lx==0) { - if (ix != 0 && hx == 0x80000000) hx = 0; - if (hx==0) esx -= 1; - hx -= 1; - } - lx -= 1; - } else { /* x < y, x += ulp */ - lx += 1; - if(lx==0) { - hx += 1; - if (hx==0) { - hx = 0x80000000; - esx += 1; - } - } - } - } else { /* x < 0 */ - if(esy>=0||esx>esy||((esx==esy) && (hx>hy||((hx==hy)&&(lx>ly))))){ - /* x < y, x -= ulp */ - if(lx==0) { - if (ix != 0 && hx == 0x80000000) hx = 0; - if (hx==0) esx -= 1; - hx -= 1; - } - lx -= 1; - } else { /* x > y, x += ulp */ - lx += 1; - if(lx==0) { - hx += 1; - if (hx==0) { - hx = 0x80000000; - esx += 1; - } - } - } - } - esy = esx&0x7fff; - if(esy==0x7fff) return x+x; /* overflow */ - if(esy==0 && (hx & 0x80000000) == 0) { /* underflow */ - y = x*x; - math_force_eval (y); /* raise underflow flag */ - } - SET_LDOUBLE_WORDS(x,esx,hx,lx); - return x; -} -weak_alias (__nextafterl, nextafterl) -strong_alias (__nextafterl, __nexttowardl) -weak_alias (__nextafterl, nexttowardl) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c b/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c deleted file mode 100644 index 95211b8e01..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Compute remainder and a congruent to the quotient. m68k fpu version - Copyright (C) 1997-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> - -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) - -float_type -s(__remquo) (float_type x, float_type y, int *quo) -{ - float_type result; - int cquo, fpsr; - - __asm ("frem%.x %2,%0\n\tfmove%.l %/fpsr,%1" - : "=f" (result), "=dm" (fpsr) : "f" (y), "0" (x)); - cquo = (fpsr >> 16) & 0x7f; - if (fpsr & (1 << 23)) - cquo = -cquo; - *quo = cquo; - return result; -} -weak_alias (s(__remquo), s(remquo)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_remquof.c b/ports/sysdeps/m68k/m680x0/fpu/s_remquof.c deleted file mode 100644 index 8a292fc26c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_remquof.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_remquo.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_remquol.c b/ports/sysdeps/m68k/m680x0/fpu/s_remquol.c deleted file mode 100644 index d236cfd1f9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_remquol.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_remquo.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_rint.c b/ports/sysdeps/m68k/m680x0/fpu/s_rint.c deleted file mode 100644 index f0f18c7346..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_rint.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC rint -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_rintf.c b/ports/sysdeps/m68k/m680x0/fpu/s_rintf.c deleted file mode 100644 index 4e00cab0fb..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_rintf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC rintf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_rintl.c b/ports/sysdeps/m68k/m680x0/fpu/s_rintl.c deleted file mode 100644 index 305667b3a1..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_rintl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC rintl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_scalbln.c b/ports/sysdeps/m68k/m680x0/fpu/s_scalbln.c deleted file mode 100644 index 1009713fbc..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_scalbln.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Nothing to do. This function is the same as scalbn. So we define an - alias. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_scalblnf.c b/ports/sysdeps/m68k/m680x0/fpu/s_scalblnf.c deleted file mode 100644 index 5e558c3540..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_scalblnf.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Nothing to do. This function is the same as scalbnf. So we define an - alias. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_scalblnl.c b/ports/sysdeps/m68k/m680x0/fpu/s_scalblnl.c deleted file mode 100644 index cda2ec11c8..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_scalblnl.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Nothing to do. This function is the same as scalbnl. So we define an - alias. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c b/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c deleted file mode 100644 index c56a9ffe94..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#define scalbln __no_scalbln_decl -#define scalblnf __no_scalblnf_decl -#define scalblnl __no_scalblnl_decl -#define __scalbln __no__scalbln_decl -#define __scalblnf __no__scalblnf_decl -#define __scalblnl __no__scalblnl_decl -#include <math.h> -#undef scalbln -#undef scalblnf -#undef scalblnl -#undef __scalbln -#undef __scalblnf -#undef __scalblnl - -#ifndef suffix -#define suffix /*empty*/ -#endif -#ifndef float_type -#define float_type double -#endif - -#define __CONCATX(a,b) __CONCAT(a,b) - -float_type -__CONCATX(__scalbn,suffix) (x, exp) - float_type x; - int exp; -{ - return __m81_u(__CONCATX(__scalbn,suffix))(x, exp); -} -weak_alias (__CONCATX(__scalbn,suffix), __CONCATX(scalbn,suffix)) -strong_alias (__CONCATX(__scalbn,suffix), __CONCATX(__scalbln,suffix)) -weak_alias (__CONCATX(__scalbn,suffix), __CONCATX(scalbln,suffix)) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_scalbnf.c b/ports/sysdeps/m68k/m680x0/fpu/s_scalbnf.c deleted file mode 100644 index 547971836a..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_scalbnf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define suffix f -#define float_type float -#include <s_scalbn.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_scalbnl.c b/ports/sysdeps/m68k/m680x0/fpu/s_scalbnl.c deleted file mode 100644 index 874bafb04b..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_scalbnl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define suffix l -#define float_type long double -#include <s_scalbn.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_significand.c b/ports/sysdeps/m68k/m680x0/fpu/s_significand.c deleted file mode 100644 index 34d4ea3d14..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_significand.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC significand -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_significandf.c b/ports/sysdeps/m68k/m680x0/fpu/s_significandf.c deleted file mode 100644 index 4e769ca317..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_significandf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC significandf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_significandl.c b/ports/sysdeps/m68k/m680x0/fpu/s_significandl.c deleted file mode 100644 index 8c6fc7e610..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_significandl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC significandl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_sin.c b/ports/sysdeps/m68k/m680x0/fpu/s_sin.c deleted file mode 100644 index 5768efc8f6..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_sin.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2012-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <math.h> -#include <errno.h> -#include "mathimpl.h" - -#ifndef FUNC -# define FUNC sin -#endif -#ifndef float_type -# define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) - -float_type -CONCATX(__,FUNC) (float_type x) -{ - if (__m81_test (x) & __M81_COND_INF) - __set_errno (EDOM); - return __m81_u(CONCATX(__, FUNC)) (x); -} -weak_alias (CONCATX(__, FUNC), FUNC) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c b/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c deleted file mode 100644 index 68c2327fd9..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c +++ /dev/null @@ -1,35 +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 <math.h> - -#ifndef FUNC -#define FUNC sincos -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) - -void -CONCATX(__,FUNC) (x, sinx, cosx) - float_type x, *sinx, *cosx; -{ - __m81_u(CONCATX(__,FUNC))(x, sinx, cosx); -} -weak_alias (CONCATX(__,FUNC), FUNC) diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_sincosf.c b/ports/sysdeps/m68k/m680x0/fpu/s_sincosf.c deleted file mode 100644 index 7ee2ec6600..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_sincosf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC sincosf -#define float_type float -#include <s_sincos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_sincosl.c b/ports/sysdeps/m68k/m680x0/fpu/s_sincosl.c deleted file mode 100644 index f998cc0977..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_sincosl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define FUNC sincosl -#define float_type long double -#include <s_sincos.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c b/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c deleted file mode 100644 index 304f4f76f6..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef FUNC -# define FUNC sinf -#endif -#define float_type float -#include <s_sin.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c b/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c deleted file mode 100644 index 31dac0bee7..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef FUNC -# define FUNC sinl -#endif -#define float_type long double -#include <s_sin.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_tan.c b/ports/sysdeps/m68k/m680x0/fpu/s_tan.c deleted file mode 100644 index dfbbbb2270..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_tan.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC tan -#include <s_sin.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c b/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c deleted file mode 100644 index 9ae66ddbf3..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC tanf -#include <s_sinf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_tanh.c b/ports/sysdeps/m68k/m680x0/fpu/s_tanh.c deleted file mode 100644 index ac2e7dbb79..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_tanh.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC tanh -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_tanhf.c b/ports/sysdeps/m68k/m680x0/fpu/s_tanhf.c deleted file mode 100644 index 1addaae4ff..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_tanhf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC tanhf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_tanhl.c b/ports/sysdeps/m68k/m680x0/fpu/s_tanhl.c deleted file mode 100644 index 6e997911f2..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_tanhl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC tanhl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c b/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c deleted file mode 100644 index 27daf8f29b..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC tanl -#include <s_sinl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_trunc.c b/ports/sysdeps/m68k/m680x0/fpu/s_trunc.c deleted file mode 100644 index 96f29a776c..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_trunc.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC trunc -#include <s_atan.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_truncf.c b/ports/sysdeps/m68k/m680x0/fpu/s_truncf.c deleted file mode 100644 index 44dca748ca..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_truncf.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC truncf -#include <s_atanf.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/s_truncl.c b/ports/sysdeps/m68k/m680x0/fpu/s_truncl.c deleted file mode 100644 index 8d35777aed..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/s_truncl.c +++ /dev/null @@ -1,2 +0,0 @@ -#define FUNC truncl -#include <s_atanl.c> diff --git a/ports/sysdeps/m68k/m680x0/fpu/sincos32.c b/ports/sysdeps/m68k/m680x0/fpu/sincos32.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/sincos32.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/sincostab.c b/ports/sysdeps/m68k/m680x0/fpu/sincostab.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/sincostab.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/slowexp.c b/ports/sysdeps/m68k/m680x0/fpu/slowexp.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/slowexp.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/slowpow.c b/ports/sysdeps/m68k/m680x0/fpu/slowpow.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/slowpow.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/fpu/t_exp.c b/ports/sysdeps/m68k/m680x0/fpu/t_exp.c deleted file mode 100644 index fd37963b05..0000000000 --- a/ports/sysdeps/m68k/m680x0/fpu/t_exp.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty. Not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/lshift.S b/ports/sysdeps/m68k/m680x0/lshift.S deleted file mode 100644 index f7724f4514..0000000000 --- a/ports/sysdeps/m68k/m680x0/lshift.S +++ /dev/null @@ -1,168 +0,0 @@ -/* mc68020 __mpn_lshift -- Shift left a low-level natural-number integer. - -Copyright (C) 1996-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s_ptr (sp + 8) - s_size (sp + 16) - cnt (sp + 12) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - -#define res_ptr a1 -#define s_ptr a0 -#define s_size d6 -#define cnt d4 - - TEXT -ENTRY(__mpn_lshift) - -/* Save used registers on the stack. */ - moveml R(d2)-R(d6)/R(a2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (6*4) - cfi_rel_offset (R(d2), 0) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 8) - cfi_rel_offset (R(d5), 12) - cfi_rel_offset (R(d6), 16) - cfi_rel_offset (R(a2), 20) - -/* Copy the arguments to registers. */ - movel MEM_DISP(sp,28),R(res_ptr) - movel MEM_DISP(sp,32),R(s_ptr) - movel MEM_DISP(sp,36),R(s_size) - movel MEM_DISP(sp,40),R(cnt) - - moveql #1,R(d5) - cmpl R(d5),R(cnt) - bne L(Lnormal) - cmpl R(s_ptr),R(res_ptr) - bls L(Lspecial) /* jump if s_ptr >= res_ptr */ -#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) - lea MEM_INDX1(s_ptr,s_size,l,4),R(a2) -#else /* not mc68020 */ - movel R(s_size),R(d0) - asll #2,R(d0) - lea MEM_INDX(s_ptr,d0,l),R(a2) -#endif - cmpl R(res_ptr),R(a2) - bls L(Lspecial) /* jump if res_ptr >= s_ptr + s_size */ - -L(Lnormal:) - moveql #32,R(d5) - subl R(cnt),R(d5) - -#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) - lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr) - lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr) -#else /* not mc68000 */ - movel R(s_size),R(d0) - asll #2,R(d0) - addl R(s_size),R(s_ptr) - addl R(s_size),R(res_ptr) -#endif - movel MEM_PREDEC(s_ptr),R(d2) - movel R(d2),R(d0) - lsrl R(d5),R(d0) /* compute carry limb */ - - lsll R(cnt),R(d2) - movel R(d2),R(d1) - subql #1,R(s_size) - beq L(Lend) - lsrl #1,R(s_size) - bcs L(L1) - subql #1,R(s_size) - -L(Loop:) - movel MEM_PREDEC(s_ptr),R(d2) - movel R(d2),R(d3) - lsrl R(d5),R(d3) - orl R(d3),R(d1) - movel R(d1),MEM_PREDEC(res_ptr) - lsll R(cnt),R(d2) -L(L1:) - movel MEM_PREDEC(s_ptr),R(d1) - movel R(d1),R(d3) - lsrl R(d5),R(d3) - orl R(d3),R(d2) - movel R(d2),MEM_PREDEC(res_ptr) - lsll R(cnt),R(d1) - - dbf R(s_size),L(Loop) - subl #0x10000,R(s_size) - bcc L(Loop) - -L(Lend:) - movel R(d1),MEM_PREDEC(res_ptr) /* store least significant limb */ - -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d6)/R(a2) - cfi_remember_state - cfi_adjust_cfa_offset (-6*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - cfi_restore (R(d5)) - cfi_restore (R(d6)) - cfi_restore (R(a2)) - rts - -/* We loop from least significant end of the arrays, which is only - permissible if the source and destination don't overlap, since the - function is documented to work for overlapping source and destination. */ - - cfi_restore_state -L(Lspecial:) - clrl R(d0) /* initialize carry */ - eorw #1,R(s_size) - lsrl #1,R(s_size) - bcc L(LL1) - subql #1,R(s_size) - -L(LLoop:) - movel MEM_POSTINC(s_ptr),R(d2) - addxl R(d2),R(d2) - movel R(d2),MEM_POSTINC(res_ptr) -L(LL1:) - movel MEM_POSTINC(s_ptr),R(d2) - addxl R(d2),R(d2) - movel R(d2),MEM_POSTINC(res_ptr) - - dbf R(s_size),L(LLoop) - addxl R(d0),R(d0) /* save cy in lsb */ - subl #0x10000,R(s_size) - bcs L(LLend) - lsrl #1,R(d0) /* restore cy */ - bra L(LLoop) - -L(LLend:) -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d6)/R(a2) - cfi_adjust_cfa_offset (-6*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - cfi_restore (R(d5)) - cfi_restore (R(d6)) - cfi_restore (R(a2)) - rts -END(__mpn_lshift) diff --git a/ports/sysdeps/m68k/m680x0/m68020/Makefile b/ports/sysdeps/m68k/m680x0/m68020/Makefile deleted file mode 100644 index b17635467d..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),db2) -CPPFLAGS += -DHAVE_SPINLOCKS=1 -DHAVE_ASSEM_MC68020_GCC=1 -endif diff --git a/ports/sysdeps/m68k/m680x0/m68020/addmul_1.S b/ports/sysdeps/m68k/m680x0/m68020/addmul_1.S deleted file mode 100644 index 5629202104..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/addmul_1.S +++ /dev/null @@ -1,88 +0,0 @@ -/* mc68020 __mpn_addmul_1 -- Multiply a limb vector with a limb and add - the result to a second limb vector. - -Copyright (C) 1992-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s1_ptr (sp + 8) - s1_size (sp + 12) - s2_limb (sp + 16) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - - TEXT -ENTRY(__mpn_addmul_1) - -#define res_ptr a0 -#define s1_ptr a1 -#define s1_size d2 -#define s2_limb d4 - -/* Save used registers on the stack. */ - moveml R(d2)-R(d5),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4*4) - cfi_rel_offset (R(d2), 0) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 8) - cfi_rel_offset (R(d5), 12) - -/* Copy the arguments to registers. Better use movem? */ - movel MEM_DISP(sp,20),R(res_ptr) - movel MEM_DISP(sp,24),R(s1_ptr) - movel MEM_DISP(sp,28),R(s1_size) - movel MEM_DISP(sp,32),R(s2_limb) - - eorw #1,R(s1_size) - clrl R(d1) - clrl R(d5) - lsrl #1,R(s1_size) - bcc L(L1) - subql #1,R(s1_size) - subl R(d0),R(d0) /* (d0,cy) <= (0,0) */ - -L(Loop:) - movel MEM_POSTINC(s1_ptr),R(d3) - mulul R(s2_limb),R(d1):R(d3) - addxl R(d0),R(d3) - addxl R(d5),R(d1) - addl R(d3),MEM_POSTINC(res_ptr) -L(L1:) movel MEM_POSTINC(s1_ptr),R(d3) - mulul R(s2_limb),R(d0):R(d3) - addxl R(d1),R(d3) - addxl R(d5),R(d0) - addl R(d3),MEM_POSTINC(res_ptr) - - dbf R(s1_size),L(Loop) - addxl R(d5),R(d0) - subl #0x10000,R(s1_size) - bcc L(Loop) - -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d5) - cfi_adjust_cfa_offset (-4*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - cfi_restore (R(d5)) - - rts -END(__mpn_addmul_1) diff --git a/ports/sysdeps/m68k/m680x0/m68020/bits/atomic.h b/ports/sysdeps/m68k/m680x0/m68020/bits/atomic.h deleted file mode 100644 index 0f081f169a..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/bits/atomic.h +++ /dev/null @@ -1,253 +0,0 @@ -/* Copyright (C) 2003-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@suse.de>, 2003. - - 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> - - -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 int16_t atomic16_t; -typedef uint16_t uatomic16_t; -typedef int_fast16_t atomic_fast16_t; -typedef uint_fast16_t uatomic_fast16_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 int64_t atomic64_t; -typedef uint64_t uatomic64_t; -typedef int_fast64_t atomic_fast64_t; -typedef uint_fast64_t uatomic_fast64_t; - -typedef intptr_t atomicptr_t; -typedef uintptr_t uatomicptr_t; -typedef intmax_t atomic_max_t; -typedef uintmax_t uatomic_max_t; - -#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \ - ({ __typeof (*(mem)) __ret; \ - __asm __volatile ("cas%.b %0,%2,%1" \ - : "=d" (__ret), "+m" (*(mem)) \ - : "d" (newval), "0" (oldval)); \ - __ret; }) - -#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \ - ({ __typeof (*(mem)) __ret; \ - __asm __volatile ("cas%.w %0,%2,%1" \ - : "=d" (__ret), "+m" (*(mem)) \ - : "d" (newval), "0" (oldval)); \ - __ret; }) - -#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \ - ({ __typeof (*(mem)) __ret; \ - __asm __volatile ("cas%.l %0,%2,%1" \ - : "=d" (__ret), "+m" (*(mem)) \ - : "d" (newval), "0" (oldval)); \ - __ret; }) - -# define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \ - ({ __typeof (*(mem)) __ret; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ("cas2%.l %0:%R0,%1:%R1,(%2):(%3)" \ - : "=d" (__ret) \ - : "d" (newval), "r" (__memp), \ - "r" ((char *) __memp + 4), "0" (oldval) \ - : "memory"); \ - __ret; }) - -#define atomic_exchange_acq(mem, newvalue) \ - ({ __typeof (*(mem)) __result = *(mem); \ - if (sizeof (*(mem)) == 1) \ - __asm __volatile ("1: cas%.b %0,%2,%1;" \ - " jbne 1b" \ - : "=d" (__result), "+m" (*(mem)) \ - : "d" (newvalue), "0" (__result)); \ - else if (sizeof (*(mem)) == 2) \ - __asm __volatile ("1: cas%.w %0,%2,%1;" \ - " jbne 1b" \ - : "=d" (__result), "+m" (*(mem)) \ - : "d" (newvalue), "0" (__result)); \ - else if (sizeof (*(mem)) == 4) \ - __asm __volatile ("1: cas%.l %0,%2,%1;" \ - " jbne 1b" \ - : "=d" (__result), "+m" (*(mem)) \ - : "d" (newvalue), "0" (__result)); \ - else \ - { \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ("1: cas2%.l %0:%R0,%1:%R1,(%2):(%3);" \ - " jbne 1b" \ - : "=d" (__result) \ - : "d" (newvalue), "r" (__memp), \ - "r" ((char *) __memp + 4), "0" (__result) \ - : "memory"); \ - } \ - __result; }) - -#define atomic_exchange_and_add(mem, value) \ - ({ __typeof (*(mem)) __result = *(mem); \ - __typeof (*(mem)) __temp; \ - if (sizeof (*(mem)) == 1) \ - __asm __volatile ("1: move%.b %0,%2;" \ - " add%.b %3,%2;" \ - " cas%.b %0,%2,%1;" \ - " jbne 1b" \ - : "=d" (__result), "+m" (*(mem)), \ - "=&d" (__temp) \ - : "d" (value), "0" (__result)); \ - else if (sizeof (*(mem)) == 2) \ - __asm __volatile ("1: move%.w %0,%2;" \ - " add%.w %3,%2;" \ - " cas%.w %0,%2,%1;" \ - " jbne 1b" \ - : "=d" (__result), "+m" (*(mem)), \ - "=&d" (__temp) \ - : "d" (value), "0" (__result)); \ - else if (sizeof (*(mem)) == 4) \ - __asm __volatile ("1: move%.l %0,%2;" \ - " add%.l %3,%2;" \ - " cas%.l %0,%2,%1;" \ - " jbne 1b" \ - : "=d" (__result), "+m" (*(mem)), \ - "=&d" (__temp) \ - : "d" (value), "0" (__result)); \ - else \ - { \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ("1: move%.l %0,%1;" \ - " move%.l %R0,%R1;" \ - " add%.l %2,%1;" \ - " addx%.l %R2,%R1;" \ - " cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \ - " jbne 1b" \ - : "=d" (__result), "=&d" (__temp) \ - : "d" (value), "r" (__memp), \ - "r" ((char *) __memp + 4), "0" (__result) \ - : "memory"); \ - } \ - __result; }) - -#define atomic_add(mem, value) \ - (void) ({ if (sizeof (*(mem)) == 1) \ - __asm __volatile ("add%.b %1,%0" \ - : "+m" (*(mem)) \ - : "id" (value)); \ - else if (sizeof (*(mem)) == 2) \ - __asm __volatile ("add%.w %1,%0" \ - : "+m" (*(mem)) \ - : "id" (value)); \ - else if (sizeof (*(mem)) == 4) \ - __asm __volatile ("add%.l %1,%0" \ - : "+m" (*(mem)) \ - : "id" (value)); \ - else \ - { \ - __typeof (mem) __memp = (mem); \ - __typeof (*(mem)) __oldval = *__memp; \ - __typeof (*(mem)) __temp; \ - __asm __volatile ("1: move%.l %0,%1;" \ - " move%.l %R0,%R1;" \ - " add%.l %2,%1;" \ - " addx%.l %R2,%R1;" \ - " cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \ - " jbne 1b" \ - : "=d" (__oldval), "=&d" (__temp) \ - : "d" (value), "r" (__memp), \ - "r" ((char *) __memp + 4), "0" (__oldval) \ - : "memory"); \ - } \ - }) - -#define atomic_increment_and_test(mem) \ - ({ char __result; \ - if (sizeof (*(mem)) == 1) \ - __asm __volatile ("addq%.b %#1,%1; seq %0" \ - : "=dm" (__result), "+m" (*(mem))); \ - else if (sizeof (*(mem)) == 2) \ - __asm __volatile ("addq%.w %#1,%1; seq %0" \ - : "=dm" (__result), "+m" (*(mem))); \ - else if (sizeof (*(mem)) == 4) \ - __asm __volatile ("addq%.l %#1,%1; seq %0" \ - : "=dm" (__result), "+m" (*(mem))); \ - else \ - { \ - __typeof (mem) __memp = (mem); \ - __typeof (*(mem)) __oldval = *__memp; \ - __typeof (*(mem)) __temp; \ - __asm __volatile ("1: move%.l %1,%2;" \ - " move%.l %R1,%R2;" \ - " addq%.l %#1,%2;" \ - " addx%.l %5,%R2;" \ - " seq %0;" \ - " cas2%.l %1:%R1,%2:%R2,(%3):(%4);" \ - " jbne 1b" \ - : "=&dm" (__result), "=d" (__oldval), \ - "=&d" (__temp) \ - : "r" (__memp), "r" ((char *) __memp + 4), \ - "d" (0), "1" (__oldval) \ - : "memory"); \ - } \ - __result; }) - -#define atomic_decrement_and_test(mem) \ - ({ char __result; \ - if (sizeof (*(mem)) == 1) \ - __asm __volatile ("subq%.b %#1,%1; seq %0" \ - : "=dm" (__result), "+m" (*(mem))); \ - else if (sizeof (*(mem)) == 2) \ - __asm __volatile ("subq%.w %#1,%1; seq %0" \ - : "=dm" (__result), "+m" (*(mem))); \ - else if (sizeof (*(mem)) == 4) \ - __asm __volatile ("subq%.l %#1,%1; seq %0" \ - : "=dm" (__result), "+m" (*(mem))); \ - else \ - { \ - __typeof (mem) __memp = (mem); \ - __typeof (*(mem)) __oldval = *__memp; \ - __typeof (*(mem)) __temp; \ - __asm __volatile ("1: move%.l %1,%2;" \ - " move%.l %R1,%R2;" \ - " subq%.l %#1,%2;" \ - " subx%.l %5,%R2;" \ - " seq %0;" \ - " cas2%.l %1:%R1,%2:%R2,(%3):(%4);" \ - " jbne 1b" \ - : "=&dm" (__result), "=d" (__oldval), \ - "=&d" (__temp) \ - : "r" (__memp), "r" ((char *) __memp + 4), \ - "d" (0), "1" (__oldval) \ - : "memory"); \ - } \ - __result; }) - -#define atomic_bit_set(mem, bit) \ - __asm __volatile ("bfset %0{%1,#1}" \ - : "+m" (*(mem)) \ - : "di" (sizeof (*(mem)) * 8 - (bit) - 1)) - -#define atomic_bit_test_set(mem, bit) \ - ({ char __result; \ - __asm __volatile ("bfset %1{%2,#1}; sne %0" \ - : "=dm" (__result), "+m" (*(mem)) \ - : "di" (sizeof (*(mem)) * 8 - (bit) - 1)); \ - __result; }) diff --git a/ports/sysdeps/m68k/m680x0/m68020/bits/string.h b/ports/sysdeps/m68k/m680x0/m68020/bits/string.h deleted file mode 100644 index af6a776e0e..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/bits/string.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Optimized, inlined string functions. m680x0 version, x >= 2. - 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 _STRING_H -# error "Never use <bits/string.h> directly; include <string.h> instead." -#endif - -/* Currently the only purpose of this file is to tell the generic inline - macros that unaligned memory access is possible. */ -#define _STRING_ARCH_unaligned 1 diff --git a/ports/sysdeps/m68k/m680x0/m68020/mul_1.S b/ports/sysdeps/m68k/m680x0/m68020/mul_1.S deleted file mode 100644 index 67822cd1af..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/mul_1.S +++ /dev/null @@ -1,83 +0,0 @@ -/* mc68020 __mpn_mul_1 -- Multiply a limb vector with a limb and store - the result in a second limb vector. - -Copyright (C) 1992-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s1_ptr (sp + 8) - s1_size (sp + 12) - s2_limb (sp + 16) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - - TEXT -ENTRY(__mpn_mul_1) - -#define res_ptr a0 -#define s1_ptr a1 -#define s1_size d2 -#define s2_limb d4 - -/* Save used registers on the stack. */ - moveml R(d2)-R(d4),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (3*4) - cfi_rel_offset (R(d2), 0) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 8) - -/* Copy the arguments to registers. Better use movem? */ - movel MEM_DISP(sp,16),R(res_ptr) - movel MEM_DISP(sp,20),R(s1_ptr) - movel MEM_DISP(sp,24),R(s1_size) - movel MEM_DISP(sp,28),R(s2_limb) - - eorw #1,R(s1_size) - clrl R(d1) - lsrl #1,R(s1_size) - bcc L(L1) - subql #1,R(s1_size) - subl R(d0),R(d0) /* (d0,cy) <= (0,0) */ - -L(Loop:) - movel MEM_POSTINC(s1_ptr),R(d3) - mulul R(s2_limb),R(d1):R(d3) - addxl R(d0),R(d3) - movel R(d3),MEM_POSTINC(res_ptr) -L(L1:) movel MEM_POSTINC(s1_ptr),R(d3) - mulul R(s2_limb),R(d0):R(d3) - addxl R(d1),R(d3) - movel R(d3),MEM_POSTINC(res_ptr) - - dbf R(s1_size),L(Loop) - clrl R(d3) - addxl R(d3),R(d0) - subl #0x10000,R(s1_size) - bcc L(Loop) - -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d4) - cfi_adjust_cfa_offset (-3*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - rts -END(__mpn_mul_1) diff --git a/ports/sysdeps/m68k/m680x0/m68020/submul_1.S b/ports/sysdeps/m68k/m680x0/m68020/submul_1.S deleted file mode 100644 index b7c60d4b89..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/submul_1.S +++ /dev/null @@ -1,88 +0,0 @@ -/* mc68020 __mpn_submul_1 -- Multiply a limb vector with a limb and subtract - the result from a second limb vector. - -Copyright (C) 1992-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s1_ptr (sp + 8) - s1_size (sp + 12) - s2_limb (sp + 16) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - - TEXT -ENTRY(__mpn_submul_1) - -#define res_ptr a0 -#define s1_ptr a1 -#define s1_size d2 -#define s2_limb d4 - -/* Save used registers on the stack. */ - moveml R(d2)-R(d5),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4*4) - cfi_rel_offset (R(d2), 0) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 8) - cfi_rel_offset (R(d5), 12) - -/* Copy the arguments to registers. Better use movem? */ - movel MEM_DISP(sp,20),R(res_ptr) - movel MEM_DISP(sp,24),R(s1_ptr) - movel MEM_DISP(sp,28),R(s1_size) - movel MEM_DISP(sp,32),R(s2_limb) - - eorw #1,R(s1_size) - clrl R(d1) - clrl R(d5) - lsrl #1,R(s1_size) - bcc L(L1) - subql #1,R(s1_size) - subl R(d0),R(d0) /* (d0,cy) <= (0,0) */ - -L(Loop:) - movel MEM_POSTINC(s1_ptr),R(d3) - mulul R(s2_limb),R(d1):R(d3) - addxl R(d0),R(d3) - addxl R(d5),R(d1) - subl R(d3),MEM_POSTINC(res_ptr) -L(L1:) movel MEM_POSTINC(s1_ptr),R(d3) - mulul R(s2_limb),R(d0):R(d3) - addxl R(d1),R(d3) - addxl R(d5),R(d0) - subl R(d3),MEM_POSTINC(res_ptr) - - dbf R(s1_size),L(Loop) - addxl R(d5),R(d0) - subl #0x10000,R(s1_size) - bcc L(Loop) - -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d5) - cfi_adjust_cfa_offset (-4*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - cfi_restore (R(d5)) - - rts -END(__mpn_submul_1) diff --git a/ports/sysdeps/m68k/m680x0/m68020/wordcopy.S b/ports/sysdeps/m68k/m680x0/m68020/wordcopy.S deleted file mode 100644 index 4fb1a4518f..0000000000 --- a/ports/sysdeps/m68k/m680x0/m68020/wordcopy.S +++ /dev/null @@ -1 +0,0 @@ -/* Empty, not needed. */ diff --git a/ports/sysdeps/m68k/m680x0/printf_fphex.c b/ports/sysdeps/m68k/m680x0/printf_fphex.c deleted file mode 100644 index d021a090ab..0000000000 --- a/ports/sysdeps/m68k/m680x0/printf_fphex.c +++ /dev/null @@ -1,2 +0,0 @@ -#define LONG_DOUBLE_DENORM_BIAS IEEE854_LONG_DOUBLE_BIAS -#include <sysdeps/ieee754/ldbl-96/printf_fphex.c> diff --git a/ports/sysdeps/m68k/m680x0/rshift.S b/ports/sysdeps/m68k/m680x0/rshift.S deleted file mode 100644 index e2d335405c..0000000000 --- a/ports/sysdeps/m68k/m680x0/rshift.S +++ /dev/null @@ -1,167 +0,0 @@ -/* mc68020 __mpn_rshift -- Shift right a low-level natural-number integer. - -Copyright (C) 1996-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s_ptr (sp + 8) - s_size (sp + 16) - cnt (sp + 12) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - -#define res_ptr a1 -#define s_ptr a0 -#define s_size d6 -#define cnt d4 - - TEXT -ENTRY(__mpn_rshift) -/* Save used registers on the stack. */ - moveml R(d2)-R(d6)/R(a2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (6*4) - cfi_rel_offset (R(d2), 0) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 8) - cfi_rel_offset (R(d5), 12) - cfi_rel_offset (R(d6), 16) - cfi_rel_offset (R(a2), 20) - -/* Copy the arguments to registers. */ - movel MEM_DISP(sp,28),R(res_ptr) - movel MEM_DISP(sp,32),R(s_ptr) - movel MEM_DISP(sp,36),R(s_size) - movel MEM_DISP(sp,40),R(cnt) - - moveql #1,R(d5) - cmpl R(d5),R(cnt) - bne L(Lnormal) - cmpl R(res_ptr),R(s_ptr) - bls L(Lspecial) /* jump if res_ptr >= s_ptr */ -#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) - lea MEM_INDX1(res_ptr,s_size,l,4),R(a2) -#else /* not mc68020 */ - movel R(s_size),R(d0) - asll #2,R(d0) - lea MEM_INDX(res_ptr,d0,l),R(a2) -#endif - cmpl R(s_ptr),R(a2) - bls L(Lspecial) /* jump if s_ptr >= res_ptr + s_size */ - -L(Lnormal:) - moveql #32,R(d5) - subl R(cnt),R(d5) - movel MEM_POSTINC(s_ptr),R(d2) - movel R(d2),R(d0) - lsll R(d5),R(d0) /* compute carry limb */ - - lsrl R(cnt),R(d2) - movel R(d2),R(d1) - subql #1,R(s_size) - beq L(Lend) - lsrl #1,R(s_size) - bcs L(L1) - subql #1,R(s_size) - -L(Loop:) - movel MEM_POSTINC(s_ptr),R(d2) - movel R(d2),R(d3) - lsll R(d5),R(d3) - orl R(d3),R(d1) - movel R(d1),MEM_POSTINC(res_ptr) - lsrl R(cnt),R(d2) -L(L1:) - movel MEM_POSTINC(s_ptr),R(d1) - movel R(d1),R(d3) - lsll R(d5),R(d3) - orl R(d3),R(d2) - movel R(d2),MEM_POSTINC(res_ptr) - lsrl R(cnt),R(d1) - - dbf R(s_size),L(Loop) - subl #0x10000,R(s_size) - bcc L(Loop) - -L(Lend:) - movel R(d1),MEM(res_ptr) /* store most significant limb */ - -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d6)/R(a2) - cfi_remember_state - cfi_adjust_cfa_offset (-6*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - cfi_restore (R(d5)) - cfi_restore (R(d6)) - cfi_restore (R(a2)) - rts - -/* We loop from most significant end of the arrays, which is only - permissible if the source and destination don't overlap, since the - function is documented to work for overlapping source and destination. */ - - cfi_restore_state -L(Lspecial:) -#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) - lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr) - lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr) -#else /* not mc68000 */ - movel R(s_size),R(d0) - asll #2,R(d0) - addl R(s_size),R(s_ptr) - addl R(s_size),R(res_ptr) -#endif - - clrl R(d0) /* initialize carry */ - eorw #1,R(s_size) - lsrl #1,R(s_size) - bcc L(LL1) - subql #1,R(s_size) - -L(LLoop:) - movel MEM_PREDEC(s_ptr),R(d2) - roxrl #1,R(d2) - movel R(d2),MEM_PREDEC(res_ptr) -L(LL1:) - movel MEM_PREDEC(s_ptr),R(d2) - roxrl #1,R(d2) - movel R(d2),MEM_PREDEC(res_ptr) - - dbf R(s_size),L(LLoop) - roxrl #1,R(d0) /* save cy in msb */ - subl #0x10000,R(s_size) - bcs L(LLend) - addl R(d0),R(d0) /* restore cy */ - bra L(LLoop) - -L(LLend:) -/* Restore used registers from stack frame. */ - moveml MEM_POSTINC(sp),R(d2)-R(d6)/R(a2) - cfi_adjust_cfa_offset (-6*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) - cfi_restore (R(d5)) - cfi_restore (R(d6)) - cfi_restore (R(a2)) - rts -END(__mpn_rshift) diff --git a/ports/sysdeps/m68k/m680x0/strtold_l.c b/ports/sysdeps/m68k/m680x0/strtold_l.c deleted file mode 100644 index 481d9924c2..0000000000 --- a/ports/sysdeps/m68k/m680x0/strtold_l.c +++ /dev/null @@ -1,2 +0,0 @@ -#define DENORM_EXP (MIN_EXP - 1) -#include <sysdeps/ieee754/ldbl-96/strtold_l.c> diff --git a/ports/sysdeps/m68k/m680x0/sub_n.S b/ports/sysdeps/m68k/m680x0/sub_n.S deleted file mode 100644 index 6c6d92e6f5..0000000000 --- a/ports/sysdeps/m68k/m680x0/sub_n.S +++ /dev/null @@ -1,82 +0,0 @@ -/* mc68020 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and - store difference in a third limb vector. - -Copyright (C) 1992-2014 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP 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 MP 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 MP Library. If not, see <http://www.gnu.org/licenses/>. */ - -/* - INPUT PARAMETERS - res_ptr (sp + 4) - s1_ptr (sp + 8) - s2_ptr (sp + 16) - size (sp + 12) -*/ - -#include "sysdep.h" -#include "asm-syntax.h" - - TEXT -ENTRY(__mpn_sub_n) -/* Save used registers on the stack. */ - movel R(d2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(a2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - cfi_rel_offset (R(d2), 4) - cfi_rel_offset (R(a2), 0) - -/* Copy the arguments to registers. Better use movem? */ - movel MEM_DISP(sp,12),R(a2) - movel MEM_DISP(sp,16),R(a0) - movel MEM_DISP(sp,20),R(a1) - movel MEM_DISP(sp,24),R(d2) - - eorw #1,R(d2) - lsrl #1,R(d2) - bcc L(L1) - subql #1,R(d2) /* clears cy as side effect */ - -L(Loop:) - movel MEM_POSTINC(a0),R(d0) - movel MEM_POSTINC(a1),R(d1) - subxl R(d1),R(d0) - movel R(d0),MEM_POSTINC(a2) -L(L1:) movel MEM_POSTINC(a0),R(d0) - movel MEM_POSTINC(a1),R(d1) - subxl R(d1),R(d0) - movel R(d0),MEM_POSTINC(a2) - - dbf R(d2),L(Loop) /* loop until 16 lsb of %4 == -1 */ - subxl R(d0),R(d0) /* d0 <= -cy; save cy as 0 or -1 in d0 */ - subl #0x10000,R(d2) - bcs L(L2) - addl R(d0),R(d0) /* restore cy */ - bra L(Loop) - -L(L2:) - negl R(d0) - -/* Restore used registers from stack frame. */ - movel MEM_POSTINC(sp),R(a2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(a2)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) - - rts -END(__mpn_sub_n) diff --git a/ports/sysdeps/m68k/m680x0/sysdep.h b/ports/sysdeps/m68k/m680x0/sysdep.h deleted file mode 100644 index 40526176f1..0000000000 --- a/ports/sysdeps/m68k/m680x0/sysdep.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Assembler macros for m680x0. - Copyright (C) 2010-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/m68k/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* Perform operation OP with PC-relative SRC as the first operand and - DST as the second. TMP is available as a temporary if needed. */ -# define PCREL_OP(OP, SRC, DST, TMP) \ - OP SRC(%pc), DST - -/* Load the address of the GOT into register R. */ -# define LOAD_GOT(R) \ - lea _GLOBAL_OFFSET_TABLE_@GOTPC (%pc), R - -#else - -/* As above, but PC is the spelling of the PC register. We need this - so that the macro can be used in both normal and extended asms. */ -#define PCREL_OP(OP, SRC, DST, TMP, PC) \ - OP " " SRC "(" PC "), " DST - -#endif /* __ASSEMBLER__ */ diff --git a/ports/sysdeps/m68k/memchr.S b/ports/sysdeps/m68k/memchr.S deleted file mode 100644 index d031e3284d..0000000000 --- a/ports/sysdeps/m68k/memchr.S +++ /dev/null @@ -1,307 +0,0 @@ -/* memchr (str, ch, n) -- Return pointer to first occurrence of CH in the - first N bytes of STR. - For Motorola 68000. - Copyright (C) 1999-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@gnu.org>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> -#include "asm-syntax.h" - - TEXT -ENTRY(__memchr) - /* Save the callee-saved registers we use. */ -#ifdef __mcoldfire__ - movel R(d2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(d3),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(d4),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - cfi_rel_offset (R(d2), 8) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 0) -#else - moveml R(d2)-R(d4),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (3*4) - cfi_rel_offset (R(d2), 0) - cfi_rel_offset (R(d3), 4) - cfi_rel_offset (R(d4), 8) -#endif - - /* Get string pointer, character and length. */ - movel MEM_DISP(sp,16),R(a0) - moveb MEM_DISP(sp,23),R(d0) - movel MEM_DISP(sp,24),R(d4) - - /* Check if at least four bytes left to search. */ -#ifdef __mcoldfire__ - subql #4,R(d4) - bcs L(L6) - addql #4,R(d4) -#else - moveql #4,R(d1) - cmpl R(d1),R(d4) - bcs L(L6) -#endif - - /* Distribute the character to all bytes of a longword. */ - movel R(d0),R(d1) - lsll #8,R(d1) - moveb R(d0),R(d1) - movel R(d1),R(d0) - swap R(d0) - movew R(d1),R(d0) - - /* First search for the character one byte at a time until the - pointer is aligned to a longword boundary. */ - movel R(a0),R(d1) -#ifdef __mcoldfire__ - andl #3,R(d1) -#else - andw #3,R(d1) -#endif - beq L(L1) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - subql #1,R(d4) - beq L(L7) - -#ifdef __mcoldfire__ - subql #3,R(d1) -#else - subqw #3,R(d1) -#endif - beq L(L1) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - subql #1,R(d4) - beq L(L7) - -#ifdef __mcoldfire__ - addql #1,R(d1) -#else - addqw #1,R(d1) -#endif - beq L(L1) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - subql #1,R(d4) - beq L(L7) - -L(L1:) - /* Load the magic bits. Unlike the generic implementation we can - use the carry bit as the fourth hole. */ - movel #0xfefefeff,R(d3) - - /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to - change any of the hole bits of LONGWORD. - - 1) Is this safe? Will it catch all the zero bytes? - Suppose there is a byte with all zeros. Any carry bits - propagating from its left will fall into the hole at its - least significant bit and stop. Since there will be no - carry from its most significant bit, the LSB of the - byte to the left will be unchanged, and the zero will be - detected. - - 2) Is this worthwhile? Will it ignore everything except - zero bytes? Suppose every byte of LONGWORD has a bit set - somewhere. There will be a carry into bit 8. If bit 8 - is set, this will carry into bit 16. If bit 8 is clear, - one of bits 9-15 must be set, so there will be a carry - into bit 16. Similarly, there will be a carry into bit - 24. If one of bits 24-31 is set, there will be a carry - into bit 32 (=carry flag), so all of the hole bits will - be changed. - - 3) But wait! Aren't we looking for C, not zero? - Good point. So what we do is XOR LONGWORD with a longword, - each of whose bytes is C. This turns each byte that is C - into a zero. */ - - /* Still at least 4 bytes to search? */ - subql #4,R(d4) - bcs L(L6) - -L(L2:) - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits. */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Still at least 4 bytes to search? */ - subql #4,R(d4) - bcs L(L6) - - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Still at least 4 bytes to search? */ - subql #4,R(d4) - bcc L(L2) - -L(L6:) - /* Search one byte at a time in the remaining less than 4 bytes. */ -#ifdef __mcoldfire__ - addql #4,R(d4) -#else - andw #3,R(d4) -#endif - beq L(L7) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - -#ifdef __mcoldfire__ - subql #1,R(d4) -#else - subqw #1,R(d4) -#endif - beq L(L7) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - -#ifdef __mcoldfire__ - subql #1,R(d4) -#else - subqw #1,R(d4) -#endif - beq L(L7) - cmpb MEM(a0),R(d0) - beq L(L9) - -L(L7:) - /* Return NULL. */ - clrl R(d0) - movel R(d0),R(a0) -#ifdef __mcoldfire__ - movel MEM_POSTINC(sp),R(d4) - cfi_remember_state - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d4)) - movel MEM_POSTINC(sp),R(d3) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d3)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) -#else - moveml MEM_POSTINC(sp),R(d2)-R(d4) - cfi_remember_state - cfi_adjust_cfa_offset (-3*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) -#endif - rts - - cfi_restore_state -L(L8:) - /* We have a hit. Check to see which byte it was. First - compensate for the autoincrement in the loop. */ - subql #4,R(a0) - - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - - /* Otherwise the fourth byte must equal C. */ -L(L9:) - movel R(a0),R(d0) -#ifdef __mcoldfire__ - movel MEM_POSTINC(sp),R(d4) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d4)) - movel MEM_POSTINC(sp),R(d3) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d3)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) -#else - moveml MEM_POSTINC(sp),R(d2)-R(d4) - cfi_adjust_cfa_offset (-3*4) - cfi_restore (R(d2)) - cfi_restore (R(d3)) - cfi_restore (R(d4)) -#endif - rts -END(__memchr) - -weak_alias (__memchr, memchr) -libc_hidden_builtin_def (memchr) diff --git a/ports/sysdeps/m68k/memcopy.h b/ports/sysdeps/m68k/memcopy.h deleted file mode 100644 index 3210d4e83e..0000000000 --- a/ports/sysdeps/m68k/memcopy.h +++ /dev/null @@ -1,99 +0,0 @@ -/* memcopy.h -- definitions for memory copy functions. Motorola 68020 version. - Copyright (C) 1991-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Torbjorn Granlund (tege@sics.se). - - 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/memcopy.h> - -#if defined(__mc68020__) || defined(mc68020) - -#undef OP_T_THRES -#define OP_T_THRES 16 - -/* WORD_COPY_FWD and WORD_COPY_BWD are not symmetric on the 68020, - because of its weird instruction overlap characteristics. */ - -#undef WORD_COPY_FWD -#define WORD_COPY_FWD(dst_bp, src_bp, nbytes_left, nbytes) \ - do \ - { \ - size_t __nwords = (nbytes) / sizeof (op_t); \ - size_t __nblocks = __nwords / 8 + 1; \ - dst_bp -= (8 - __nwords % 8) * sizeof (op_t); \ - src_bp -= (8 - __nwords % 8) * sizeof (op_t); \ - switch (__nwords % 8) \ - do \ - { \ - ((op_t *) dst_bp)[0] = ((op_t *) src_bp)[0]; \ - case 7: \ - ((op_t *) dst_bp)[1] = ((op_t *) src_bp)[1]; \ - case 6: \ - ((op_t *) dst_bp)[2] = ((op_t *) src_bp)[2]; \ - case 5: \ - ((op_t *) dst_bp)[3] = ((op_t *) src_bp)[3]; \ - case 4: \ - ((op_t *) dst_bp)[4] = ((op_t *) src_bp)[4]; \ - case 3: \ - ((op_t *) dst_bp)[5] = ((op_t *) src_bp)[5]; \ - case 2: \ - ((op_t *) dst_bp)[6] = ((op_t *) src_bp)[6]; \ - case 1: \ - ((op_t *) dst_bp)[7] = ((op_t *) src_bp)[7]; \ - case 0: \ - src_bp += 32; \ - dst_bp += 32; \ - __nblocks--; \ - } \ - while (__nblocks != 0); \ - (nbytes_left) = (nbytes) % sizeof (op_t); \ - } while (0) - -#undef WORD_COPY_BWD -#define WORD_COPY_BWD(dst_ep, src_ep, nbytes_left, nbytes) \ - do \ - { \ - size_t __nblocks = (nbytes) / 32 + 1; \ - op_t *__dst_ep = (op_t *) (dst_ep); \ - op_t *__src_ep = (op_t *) (src_ep); \ - switch ((nbytes) / sizeof (op_t) % 8) \ - do \ - { \ - *--__dst_ep = *--__src_ep; \ - case 7: \ - *--__dst_ep = *--__src_ep; \ - case 6: \ - *--__dst_ep = *--__src_ep; \ - case 5: \ - *--__dst_ep = *--__src_ep; \ - case 4: \ - *--__dst_ep = *--__src_ep; \ - case 3: \ - *--__dst_ep = *--__src_ep; \ - case 2: \ - *--__dst_ep = *--__src_ep; \ - case 1: \ - *--__dst_ep = *--__src_ep; \ - case 0: \ - __nblocks--; \ - } \ - while (__nblocks != 0); \ - (nbytes_left) = (nbytes) % sizeof (op_t); \ - (dst_ep) = (unsigned long) __dst_ep; \ - (src_ep) = (unsigned long) __src_ep; \ - } while (0) - -#endif diff --git a/ports/sysdeps/m68k/memusage.h b/ports/sysdeps/m68k/memusage.h deleted file mode 100644 index c0ca783fae..0000000000 --- a/ports/sysdeps/m68k/memusage.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2000-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - - -#define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; }) - -#include <sysdeps/generic/memusage.h> diff --git a/ports/sysdeps/m68k/nptl/Makefile b/ports/sysdeps/m68k/nptl/Makefile deleted file mode 100644 index 3a3f7c102b..0000000000 --- a/ports/sysdeps/m68k/nptl/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2010-2014 Free Software Foundation, Inc. -# This file is part of the GNU C Library. -# Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. -# -# 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/m68k/nptl/pthread_spin_lock.c b/ports/sysdeps/m68k/nptl/pthread_spin_lock.c deleted file mode 100644 index 0914b41394..0000000000 --- a/ports/sysdeps/m68k/nptl/pthread_spin_lock.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 2010-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. - - 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/m68k/nptl/pthreaddef.h b/ports/sysdeps/m68k/nptl/pthreaddef.h deleted file mode 100644 index 68bf11af14..0000000000 --- a/ports/sysdeps/m68k/nptl/pthreaddef.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2010-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -/* Default stack size. */ -#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024) - -/* Required stack pointer alignment at beginning. */ -#define STACK_ALIGN 16 - -/* Minimal stack size after allocating thread descriptor and guard size. */ -#define MINIMAL_REST_STACK 2048 - -/* Alignment requirement for TCB. */ -#define TCB_ALIGNMENT 16 - - -/* Location of current stack frame. */ -#define CURRENT_STACK_FRAME __builtin_frame_address (0) - - -/* XXX Until we have a better place keep the definitions here. */ -#define __exit_thread_inline(val) \ - INLINE_SYSCALL (exit, 1, (val)) diff --git a/ports/sysdeps/m68k/nptl/tcb-offsets.sym b/ports/sysdeps/m68k/nptl/tcb-offsets.sym deleted file mode 100644 index b1bba65868..0000000000 --- a/ports/sysdeps/m68k/nptl/tcb-offsets.sym +++ /dev/null @@ -1,11 +0,0 @@ -#include <sysdep.h> -#include <tls.h> - --- - --- Derive offsets relative to the thread register. -#define thread_offsetof(mem) (long)(offsetof(struct pthread, mem) - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE) - -MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) -PID_OFFSET thread_offsetof (pid) -TID_OFFSET thread_offsetof (tid) diff --git a/ports/sysdeps/m68k/nptl/tls.h b/ports/sysdeps/m68k/nptl/tls.h deleted file mode 100644 index 5de079b9d4..0000000000 --- a/ports/sysdeps/m68k/nptl/tls.h +++ /dev/null @@ -1,167 +0,0 @@ -/* Definition for thread-local data handling. NPTL/m68k version. - Copyright (C) 2010-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _TLS_H -#define _TLS_H 1 - -#include <dl-sysdep.h> - -#ifndef __ASSEMBLER__ -# include <stdbool.h> -# include <stddef.h> -# include <stdint.h> - -/* Type for the dtv. */ -typedef union dtv -{ - size_t counter; - struct - { - void *val; - bool is_static; - } pointer; -} dtv_t; - -#else /* __ASSEMBLER__ */ -# include <tcb-offsets.h> -#endif /* __ASSEMBLER__ */ - -#ifndef __ASSEMBLER__ - -/* Get system call information. */ -# include <sysdep.h> - -/* The TP points to the start of the thread blocks. */ -# define TLS_DTV_AT_TP 1 - -/* Get the thread descriptor definition. */ -# include <nptl/descr.h> - -typedef struct -{ - dtv_t *dtv; - void *private; -} tcbhead_t; - -/* This is the size of the initial TCB. Because our TCB is before the thread - pointer, we don't need this. */ -# define TLS_INIT_TCB_SIZE 0 - -/* Alignment requirements for the initial TCB. */ -# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread) - -/* This is the size of the TCB. Because our TCB is before the thread - pointer, we don't need this. */ -# define TLS_TCB_SIZE 0 - -/* Alignment requirements for the TCB. */ -# define TLS_TCB_ALIGN __alignof__ (struct pthread) - -/* This is the size we need before TCB - actually, it includes the TCB. */ -# define TLS_PRE_TCB_SIZE \ - (sizeof (struct pthread) \ - + ((sizeof (tcbhead_t) + TLS_TCB_ALIGN - 1) & ~(TLS_TCB_ALIGN - 1))) - -/* The thread pointer (TP) points to the end of the - TCB + 0x7000, as for PowerPC and MIPS. This implies that TCB address is - TP - 0x7000. As we define TLS_DTV_AT_TP we can - assume that the pthread struct is allocated immediately ahead of the - TCB. This implies that the pthread_descr address is - TP - (TLS_PRE_TCB_SIZE + 0x7000). */ -# define TLS_TCB_OFFSET 0x7000 - -/* 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))[-1].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))[-1].dtv) - -/* Code to initially initialize the thread pointer. This might need - special attention since 'errno' is not yet available and if the - operation can cause a failure 'errno' must not be touched. */ -# define TLS_INIT_TP(tcbp, secondcall) \ - ({ \ - INTERNAL_SYSCALL_DECL (err); \ - int _sys_result; \ - \ - _sys_result = INTERNAL_SYSCALL (set_thread_area, err, 1, \ - ((void *) (tcbp)) + TLS_TCB_OFFSET); \ - INTERNAL_SYSCALL_ERROR_P (_sys_result, err) ? "unknown error" : NULL; }) - -extern void * __m68k_read_tp (void); - -/* Return the address of the dtv for the current thread. */ -# define THREAD_DTV() \ - (((tcbhead_t *) (__m68k_read_tp () - TLS_TCB_OFFSET))[-1].dtv) - -/* Return the thread descriptor for the current thread. */ -# define THREAD_SELF \ - ((struct pthread *) (__m68k_read_tp () - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)) - -/* Magic for libthread_db to know how to do THREAD_SELF. */ -# define DB_THREAD_SELF \ - CONST_THREAD_AREA (32, TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE) - -/* Access to data in the thread descriptor is easy. */ -# define THREAD_GETMEM(descr, member) \ - descr->member -# define THREAD_GETMEM_NC(descr, member, idx) \ - descr->member[idx] -# define THREAD_SETMEM(descr, member, value) \ - descr->member = (value) -# define THREAD_SETMEM_NC(descr, member, idx, value) \ - descr->member[idx] = (value) - -/* l_tls_offset == 0 is perfectly valid on M68K, so we have to use some - different value to mean unset l_tls_offset. */ -# define NO_TLS_OFFSET -1 - -/* 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/m68k/preconfigure b/ports/sysdeps/m68k/preconfigure deleted file mode 100644 index 94fc1aabc2..0000000000 --- a/ports/sysdeps/m68k/preconfigure +++ /dev/null @@ -1,17 +0,0 @@ -# This fragment canonicalizes the machine names for m68k variants. - -case "$machine" in -m680?0) base_machine=m68k machine=m68k/m680x0/$machine ;; -m68k) variant=`(echo "#ifdef __mcoldfire__" - echo "coldfire" - echo "#else" - echo "m680x0/m68020" - echo "#endif") | - $CC $CFLAGS $CPPFLAGS -E - | - grep '^[a-z]'` - if test -z "$variant"; then - echo >&2 "Cannot determine m68k processor variant" - exit 1 - fi - base_machine=m68k machine=m68k/$variant ;; -esac diff --git a/ports/sysdeps/m68k/rawmemchr.S b/ports/sysdeps/m68k/rawmemchr.S deleted file mode 100644 index 8c1cdd3062..0000000000 --- a/ports/sysdeps/m68k/rawmemchr.S +++ /dev/null @@ -1,197 +0,0 @@ -/* rawmemchr (str, ch) -- Return pointer to first occurrence of CH in STR. - For Motorola 68000. - Copyright (C) 1999-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@gnu.org>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> -#include "asm-syntax.h" - - TEXT -ENTRY(__rawmemchr) - /* Save the callee-saved registers we use. */ - movel R(d2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(d3),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - cfi_rel_offset (R(d2), 4) - cfi_rel_offset (R(d3), 0) - - /* Get string pointer and character. */ - movel MEM_DISP(sp,12),R(a0) - moveb MEM_DISP(sp,19),R(d0) - - /* Distribute the character to all bytes of a longword. */ - movel R(d0),R(d1) - lsll #8,R(d1) - moveb R(d0),R(d1) - movel R(d1),R(d0) - swap R(d0) - movew R(d1),R(d0) - - /* First search for the character one byte at a time until the - pointer is aligned to a longword boundary. */ - movel R(a0),R(d1) -#ifdef __mcoldfire__ - andl #3,R(d1) -#else - andw #3,R(d1) -#endif - beq L(L1) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - -#ifdef __mcoldfire__ - subql #3,R(d1) -#else - subqw #3,R(d1) -#endif - beq L(L1) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - -#ifdef __mcoldfire__ - addql #1,R(d1) -#else - addqw #1,R(d1) -#endif - beq L(L1) - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - -L(L1:) - /* Load the magic bits. Unlike the generic implementation we can - use the carry bit as the fourth hole. */ - movel #0xfefefeff,R(d3) - - /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to - change any of the hole bits of LONGWORD. - - 1) Is this safe? Will it catch all the zero bytes? - Suppose there is a byte with all zeros. Any carry bits - propagating from its left will fall into the hole at its - least significant bit and stop. Since there will be no - carry from its most significant bit, the LSB of the - byte to the left will be unchanged, and the zero will be - detected. - - 2) Is this worthwhile? Will it ignore everything except - zero bytes? Suppose every byte of LONGWORD has a bit set - somewhere. There will be a carry into bit 8. If bit 8 - is set, this will carry into bit 16. If bit 8 is clear, - one of bits 9-15 must be set, so there will be a carry - into bit 16. Similarly, there will be a carry into bit - 24. If one of bits 24-31 is set, there will be a carry - into bit 32 (=carry flag), so all of the hole bits will - be changed. - - 3) But wait! Aren't we looking for C, not zero? - Good point. So what we do is XOR LONGWORD with a longword, - each of whose bytes is C. This turns each byte that is C - into a zero. */ - -L(L2:) - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits. */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - beq L(L2) - -L(L8:) - /* We have a hit. Check to see which byte it was. First - compensate for the autoincrement in the loop. */ - subql #4,R(a0) - - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - - cmpb MEM(a0),R(d0) - beq L(L9) - addql #1,R(a0) - - /* Otherwise the fourth byte must equal C. */ -L(L9:) - movel R(a0),R(d0) - movel MEM_POSTINC(sp),R(d3) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d3)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) - rts -END(__rawmemchr) - -libc_hidden_def (__rawmemchr) -weak_alias (__rawmemchr, rawmemchr) diff --git a/ports/sysdeps/m68k/setjmp.c b/ports/sysdeps/m68k/setjmp.c deleted file mode 100644 index cf742eecd0..0000000000 --- a/ports/sysdeps/m68k/setjmp.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright (C) 1991-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> - -/* Save the current program position in ENV and return 0. */ -int -#if defined BSD_SETJMP -# undef setjmp -# define savemask 1 -setjmp (jmp_buf env) -#elif defined BSD__SETJMP -# undef _setjmp -# define savemask 0 -_setjmp (jmp_buf env) -#else -__sigsetjmp (jmp_buf env, int savemask) -#endif -{ - /* Save data registers D1 through D7. */ - asm volatile ("movem%.l %/d1-%/d7, %0" - : : "m" (env[0].__jmpbuf[0].__dregs[0])); - - /* Save return address in place of register A0. */ - env[0].__jmpbuf[0].__aregs[0] = __builtin_return_address (0); - - /* Save address registers A1 through A5. */ - asm volatile ("movem%.l %/a1-%/a5, %0" - : : "m" (env[0].__jmpbuf[0].__aregs[1])); - - /* Save caller's FP, not our own. */ - env[0].__jmpbuf[0].__fp = *(int **) __builtin_frame_address (0); - - /* Save caller's SP, not our own. */ - env[0].__jmpbuf[0].__sp = (int *) __builtin_frame_address (0) + 2; - -#if defined __HAVE_68881__ || defined __HAVE_FPU__ - /* Save floating-point (68881) registers FP0 through FP7. */ - asm volatile ("fmovem%.x %/fp0-%/fp7, %0" - : : "m" (env[0].__jmpbuf[0].__fpregs[0])); -#elif defined (__mcffpu__) - asm volatile ("fmovem %/fp0-%/fp7, %0" - : : "m" (env[0].__jmpbuf[0].__fpregs[0])); -#endif - -#if defined NOT_IN_libc && defined IS_IN_rtld - /* In ld.so we never save the signal mask. */ - return 0; -#else - /* Save the signal mask if requested. */ - return __sigjmp_save (env, savemask); -#endif -} -#if !defined BSD_SETJMP && !defined BSD__SETJMP -libc_hidden_def (__sigsetjmp) -#endif diff --git a/ports/sysdeps/m68k/shlib-versions b/ports/sysdeps/m68k/shlib-versions deleted file mode 100644 index b65b00b212..0000000000 --- a/ports/sysdeps/m68k/shlib-versions +++ /dev/null @@ -1 +0,0 @@ -m68k-.*-linux.* libgcc_s=2 diff --git a/ports/sysdeps/m68k/sotruss-lib.c b/ports/sysdeps/m68k/sotruss-lib.c deleted file mode 100644 index 7d4c72164d..0000000000 --- a/ports/sysdeps/m68k/sotruss-lib.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Override generic sotruss-lib.c to define actual functions for m68k. - 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_m68k_gnu_pltenter (Elf32_Sym *sym __attribute__ ((unused)), - unsigned int ndx __attribute__ ((unused)), - uintptr_t *refcook, uintptr_t *defcook, - La_m68k_regs *regs, unsigned int *flags, - const char *symname, long int *framesizep) -{ - unsigned long int *sp = (unsigned long int *) regs->lr_sp; - - print_enter (refcook, defcook, symname, sp[1], sp[2], sp[3], *flags); - - /* No need to copy anything, we will not need the parameters in any case. */ - *framesizep = 0; - - return sym->st_value; -} - -unsigned int -la_m68k_gnu_pltexit (Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook, - uintptr_t *defcook, - const struct La_m68k_regs *inregs, - struct La_m68k_retval *outregs, - const char *symname) -{ - print_exit (refcook, defcook, symname, outregs->lrv_d0); - - return 0; -} diff --git a/ports/sysdeps/m68k/stackinfo.h b/ports/sysdeps/m68k/stackinfo.h deleted file mode 100644 index 7ad911f1a7..0000000000 --- a/ports/sysdeps/m68k/stackinfo.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 1999-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -/* 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 m68k 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) - -/* Access to the stack pointer. */ -#define stackinfo_get_sp() \ - ({ void *p__; asm volatile ("move.l %%sp, %0" : "=r" (p__)); p__; }) -#define stackinfo_sub_sp(ptr) \ - ({ ptrdiff_t d__; \ - asm volatile ("sub.l %%sp, %0" : "=r" (d__) : "0" (ptr)); \ - d__; }) - -#endif /* stackinfo.h */ diff --git a/ports/sysdeps/m68k/start.S b/ports/sysdeps/m68k/start.S deleted file mode 100644 index fd33ecdea8..0000000000 --- a/ports/sysdeps/m68k/start.S +++ /dev/null @@ -1,120 +0,0 @@ -/* Startup code compliant to the ELF m68k ABI. - Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - 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/>. */ - -/* This is the canonical entry point, usually the first thing in the text - segment. The SVR4/m68k ABI says that when the entry point runs, - most registers' values are unspecified, except for: - - %a1 Contains a function pointer to be registered with `atexit'. - This is how the dynamic linker arranges to have DT_FINI - functions called for shared libraries that have been loaded - before this code runs. - - %sp The stack contains the arguments and environment: - 0(%sp) argc - 4(%sp) argv[0] - ... - (4*argc)(%sp) NULL - (4*(argc+1))(%sp) envp[0] - ... - NULL -*/ - -#include <sysdep.h> - - .text - .globl _start - .type _start,@function -_start: - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - sub.l %fp, %fp - - /* Extract the arguments as encoded on the stack and set up the - arguments for `main': argc, argv. envp will be determined - later in __libc_start_main. */ - move.l (%sp)+, %d0 /* Pop the argument count. */ - move.l %sp, %a0 /* The argument vector starts just at the - current stack top. */ - - /* Provide the highest stack address to the user code (for stacks - which grow downward). */ - pea (%sp) - - pea (%a1) /* Push address of the shared library - termination function. */ - -#ifdef SHARED - /* Load PIC register. */ - LOAD_GOT (%a5) - - /* Push the address of our own entry points to `.fini' and - `.init'. */ - move.l __libc_csu_fini@GOT(%a5), -(%sp) - move.l __libc_csu_init@GOT(%a5), -(%sp) - - pea (%a0) /* Push second argument: argv. */ - move.l %d0, -(%sp) /* Push first argument: argc. */ - - move.l main@GOT(%a5), -(%sp) - - /* Call the user's main function, and exit with its value. But - let the libc call main. */ - jbsr __libc_start_main@PLTPC -#else - /* Push the address of our own entry points to `.fini' and - `.init'. */ - pea __libc_csu_fini - pea __libc_csu_init - - pea (%a0) /* Push second argument: argv. */ - move.l %d0, -(%sp) /* Push first argument: argc. */ - - pea main - - /* Call the user's main function, and exit with its value. But - let the libc call main. */ - jbsr __libc_start_main -#endif - - illegal /* Crash if somehow `exit' does return. */ - -/* 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/m68k/strchr.S b/ports/sysdeps/m68k/strchr.S deleted file mode 100644 index a109b31541..0000000000 --- a/ports/sysdeps/m68k/strchr.S +++ /dev/null @@ -1,281 +0,0 @@ -/* strchr (str, ch) -- Return pointer to first occurrence of CH in STR. - For Motorola 68000. - Copyright (C) 1999-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@gnu.org>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> -#include "asm-syntax.h" - - TEXT -ENTRY(strchr) - /* Save the callee-saved registers we use. */ - movel R(d2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(d3),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - cfi_rel_offset (R(d2),4) - cfi_rel_offset (R(d3),0) - - /* Get string pointer and character. */ - movel MEM_DISP(sp,12),R(a0) - moveb MEM_DISP(sp,19),R(d0) - - /* Distribute the character to all bytes of a longword. */ - movel R(d0),R(d1) - lsll #8,R(d1) - moveb R(d0),R(d1) - movel R(d1),R(d0) - swap R(d0) - movew R(d1),R(d0) - - /* First search for the character one byte at a time until the - pointer is aligned to a longword boundary. */ - movel R(a0),R(d1) -#ifdef __mcoldfire__ - andl #3,R(d1) -#else - andw #3,R(d1) -#endif - beq L(L1) - moveb MEM(a0),R(d2) - cmpb R(d0),R(d2) - beq L(L9) - tstb R(d2) - beq L(L3) - addql #1,R(a0) - -#ifdef __mcoldfire__ - subql #3,R(d1) -#else - subqw #3,R(d1) -#endif - beq L(L1) - moveb MEM(a0),R(d2) - cmpb R(d0),R(d2) - beq L(L9) - tstb R(d2) - beq L(L3) - addql #1,R(a0) - -#ifdef __mcoldfire__ - addql #1,R(d1) -#else - addqw #1,R(d1) -#endif - beq L(L1) - moveb MEM(a0),R(d2) - cmpb R(d0),R(d2) - beq L(L9) - tstb R(d2) - beq L(L3) - addql #1,R(a0) - -L(L1:) - /* Load the magic bits. Unlike the generic implementation we can - use the carry bit as the fourth hole. */ - movel #0xfefefeff,R(d3) - - /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to - change any of the hole bits of LONGWORD. - - 1) Is this safe? Will it catch all the zero bytes? - Suppose there is a byte with all zeros. Any carry bits - propagating from its left will fall into the hole at its - least significant bit and stop. Since there will be no - carry from its most significant bit, the LSB of the - byte to the left will be unchanged, and the zero will be - detected. - - 2) Is this worthwhile? Will it ignore everything except - zero bytes? Suppose every byte of LONGWORD has a bit set - somewhere. There will be a carry into bit 8. If bit 8 - is set, this will carry into bit 16. If bit 8 is clear, - one of bits 9-15 must be set, so there will be a carry - into bit 16. Similarly, there will be a carry into bit - 24. If one of bits 24-31 is set, there will be a carry - into bit 32 (=carry flag), so all of the hole bits will - be changed. - - 3) But wait! Aren't we looking for C, not zero? - Good point. So what we do is XOR LONGWORD with a longword, - each of whose bytes is C. This turns each byte that is C - into a zero. */ - -L(L2:) - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits. */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Next look for a NUL byte. - Restore original longword without reload. */ - eorl R(d0),R(d1) - /* Add the magic value. We get carry bits reported for each byte - which is not NUL. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit, and return NULL. */ - bcc L(L3) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits. */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word was NUL - and we return NULL. Otherwise continue with the next longword. */ - bne L(L3) - - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Next look for a NUL byte. - Restore original longword without reload. */ - eorl R(d0),R(d1) - /* Add the magic value. We get carry bits reported for each byte - which is not NUL. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit, and return NULL. */ - bcc L(L3) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word was NUL - and we return NULL. Otherwise continue with the next longword. */ - beq L(L2) - -L(L3:) - /* Return NULL. */ - clrl R(d0) - movel R(d0),R(a0) - movel MEM_POSTINC(sp),R(d3) - cfi_remember_state - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d3)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) - rts - - cfi_restore_state -L(L8:) - /* We have a hit. Check to see which byte it was. First - compensate for the autoincrement in the loop. */ - subql #4,R(a0) - - moveb MEM(a0),R(d1) - cmpb R(d0),R(d1) - beq L(L9) - tstb R(d1) - beq L(L3) - addql #1,R(a0) - - moveb MEM(a0),R(d1) - cmpb R(d0),R(d1) - beq L(L9) - tstb R(d1) - beq L(L3) - addql #1,R(a0) - - moveb MEM(a0),R(d1) - cmpb R(d0),R(d1) - beq L(L9) - tstb R(d1) - beq L(L3) - addql #1,R(a0) - - /* Otherwise the fourth byte must equal C. */ -L(L9:) - movel R(a0),R(d0) - movel MEM_POSTINC(sp),R(d3) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d3)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) - rts -END(strchr) - -weak_alias (strchr, index) -libc_hidden_builtin_def (strchr) diff --git a/ports/sysdeps/m68k/strchrnul.S b/ports/sysdeps/m68k/strchrnul.S deleted file mode 100644 index f90d7f093e..0000000000 --- a/ports/sysdeps/m68k/strchrnul.S +++ /dev/null @@ -1,267 +0,0 @@ -/* strchrnul (str, ch) -- Return pointer to first occurrence of CH in STR - or the final NUL byte. - For Motorola 68000. - Copyright (C) 1999-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@gnu.org>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> -#include "asm-syntax.h" - - TEXT -ENTRY(__strchrnul) - /* Save the callee-saved registers we use. */ - movel R(d2),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - movel R(d3),MEM_PREDEC(sp) - cfi_adjust_cfa_offset (4) - cfi_rel_offset (R(d2), 4) - cfi_rel_offset (R(d3), 0) - - /* Get string pointer and character. */ - movel MEM_DISP(sp,12),R(a0) - moveb MEM_DISP(sp,19),R(d0) - - /* Distribute the character to all bytes of a longword. */ - movel R(d0),R(d1) - lsll #8,R(d1) - moveb R(d0),R(d1) - movel R(d1),R(d0) - swap R(d0) - movew R(d1),R(d0) - - /* First search for the character one byte at a time until the - pointer is aligned to a longword boundary. */ - movel R(a0),R(d1) -#ifdef __mcoldfire__ - andl #3,R(d1) -#else - andw #3,R(d1) -#endif - beq L(L1) - moveb MEM(a0),R(d2) - cmpb R(d0),R(d2) - beq L(L9) - tstb R(d2) - beq L(L9) - addql #1,R(a0) - -#ifdef __mcoldfire__ - subql #3,R(d1) -#else - subqw #3,R(d1) -#endif - beq L(L1) - moveb MEM(a0),R(d2) - cmpb R(d0),R(d2) - beq L(L9) - tstb R(d2) - beq L(L9) - addql #1,R(a0) - -#ifdef __mcoldfire__ - addql #1,R(d1) -#else - addqw #1,R(d1) -#endif - beq L(L1) - moveb MEM(a0),R(d2) - cmpb R(d0),R(d2) - beq L(L9) - tstb R(d2) - beq L(L9) - addql #1,R(a0) - -L(L1:) - /* Load the magic bits. Unlike the generic implementation we can - use the carry bit as the fourth hole. */ - movel #0xfefefeff,R(d3) - - /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to - change any of the hole bits of LONGWORD. - - 1) Is this safe? Will it catch all the zero bytes? - Suppose there is a byte with all zeros. Any carry bits - propagating from its left will fall into the hole at its - least significant bit and stop. Since there will be no - carry from its most significant bit, the LSB of the - byte to the left will be unchanged, and the zero will be - detected. - - 2) Is this worthwhile? Will it ignore everything except - zero bytes? Suppose every byte of LONGWORD has a bit set - somewhere. There will be a carry into bit 8. If bit 8 - is set, this will carry into bit 16. If bit 8 is clear, - one of bits 9-15 must be set, so there will be a carry - into bit 16. Similarly, there will be a carry into bit - 24. If one of bits 24-31 is set, there will be a carry - into bit 32 (=carry flag), so all of the hole bits will - be changed. - - 3) But wait! Aren't we looking for C, not zero? - Good point. So what we do is XOR LONGWORD with a longword, - each of whose bytes is C. This turns each byte that is C - into a zero. */ - -L(L2:) - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits. */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Next look for a NUL byte. - Restore original longword without reload. */ - eorl R(d0),R(d1) - /* Add the magic value. We get carry bits reported for each byte - which is not NUL. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits. */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word was - NUL. Otherwise continue with the next longword. */ - bne L(L8) - - /* Get the longword in question. */ - movel MEM_POSTINC(a0),R(d1) - /* XOR with the byte we search for. */ - eorl R(d0),R(d1) - - /* Add the magic value. We get carry bits reported for each byte - which is not C. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word equals - C. */ - bne L(L8) - - /* Next look for a NUL byte. - Restore original longword without reload. */ - eorl R(d0),R(d1) - /* Add the magic value. We get carry bits reported for each byte - which is not NUL. */ - movel R(d3),R(d2) - addl R(d1),R(d2) - - /* Check the fourth carry bit before it is clobbered by the next - XOR. If it is not set we have a hit. */ - bcc L(L8) - - /* We are only interested in carry bits that change due to the - previous add, so remove original bits */ - eorl R(d1),R(d2) - - /* Now test for the other three overflow bits. - Set all non-carry bits. */ - orl R(d3),R(d2) - /* Add 1 to get zero if all carry bits were set. */ - addql #1,R(d2) - - /* If we don't get zero then at least one byte of the word was - NUL. Otherwise continue with the next longword. */ - beq L(L2) - -L(L8:) - /* We have a hit. Check to see which byte it was. First - compensate for the autoincrement in the loop. */ - subql #4,R(a0) - - moveb MEM(a0),R(d1) - cmpb R(d0),R(d1) - beq L(L9) - tstb R(d1) - beq L(L9) - addql #1,R(a0) - - moveb MEM(a0),R(d1) - cmpb R(d0),R(d1) - beq L(L9) - tstb R(d1) - beq L(L9) - addql #1,R(a0) - - moveb MEM(a0),R(d1) - cmpb R(d0),R(d1) - beq L(L9) - tstb R(d1) - beq L(L9) - addql #1,R(a0) - - /* Otherwise the fourth byte must equal C or be NUL. */ -L(L9:) - movel R(a0),R(d0) - movel MEM_POSTINC(sp),R(d3) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d3)) - movel MEM_POSTINC(sp),R(d2) - cfi_adjust_cfa_offset (-4) - cfi_restore (R(d2)) - rts -END(__strchrnul) - -weak_alias (__strchrnul, strchrnul) diff --git a/ports/sysdeps/m68k/sys/ucontext.h b/ports/sysdeps/m68k/sys/ucontext.h deleted file mode 100644 index 6585fe9d40..0000000000 --- a/ports/sysdeps/m68k/sys/ucontext.h +++ /dev/null @@ -1,107 +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/>. */ - -/* System V/m68k ABI compliant context switching support. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <signal.h> - -/* Type for general register. */ -typedef int greg_t; - -/* Number of general registers. */ -#define NGREG 18 - -/* Container for all general registers. */ -typedef greg_t gregset_t[NGREG]; - -/* Number of each register is the `gregset_t' array. */ -enum -{ - R_D0 = 0, -#define R_D0 R_D0 - R_D1 = 1, -#define R_D1 R_D1 - R_D2 = 2, -#define R_D2 R_D2 - R_D3 = 3, -#define R_D3 R_D3 - R_D4 = 4, -#define R_D4 R_D4 - R_D5 = 5, -#define R_D5 R_D5 - R_D6 = 6, -#define R_D6 R_D6 - R_D7 = 7, -#define R_D7 R_D7 - R_A0 = 8, -#define R_A0 R_A0 - R_A1 = 9, -#define R_A1 R_A1 - R_A2 = 10, -#define R_A2 R_A2 - R_A3 = 11, -#define R_A3 R_A3 - R_A4 = 12, -#define R_A4 R_A4 - R_A5 = 13, -#define R_A5 R_A5 - R_A6 = 14, -#define R_A6 R_A6 - R_A7 = 15, -#define R_A7 R_A7 - R_SP = 15, -#define R_SP R_SP - R_PC = 16, -#define R_PC R_PC - R_PS = 17 -#define R_PS R_PS -}; - -/* Structure to describe FPU registers. */ -typedef struct fpregset -{ - int f_pcr; - int f_psr; - int f_fpiaddr; - int f_fpregs[8][3]; -} fpregset_t; - -/* Context to describe whole processor state. */ -typedef struct -{ - int version; - gregset_t gregs; -} mcontext_t; - -#define MCONTEXT_VERSION 1 - -/* Userlevel context. */ -typedef struct ucontext -{ - unsigned long int uc_flags; - struct ucontext *uc_link; - __sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - long int uc_filler[201]; -} ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/ports/sysdeps/m68k/sysdep.h b/ports/sysdeps/m68k/sysdep.h deleted file mode 100644 index 31558decde..0000000000 --- a/ports/sysdeps/m68k/sysdep.h +++ /dev/null @@ -1,74 +0,0 @@ -/* Assembler macros for m68k. - Copyright (C) 1998-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdeps/generic/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* Define an entry point visible from C. - - There is currently a bug in gdb which prevents us from specifying - incomplete stabs information. Fake some entries here which specify - the current source file. */ -# define ENTRY(name) \ - .globl C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name),@function; \ - .p2align 2; \ - C_LABEL(name) \ - cfi_startproc; \ - CALL_MCOUNT - -# undef END -# define END(name) \ - cfi_endproc; \ - .size name,.-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 \ - move.l %fp, -(%sp); \ - cfi_adjust_cfa_offset (4); cfi_rel_offset (%a6, 0); \ - move.l %sp, %fp; \ - jbsr JUMPTARGET (_mcount); \ - move.l (%sp)+, %fp; \ - cfi_adjust_cfa_offset (-4); cfi_restore (%a6); -# else -# define CALL_MCOUNT /* Do nothing. */ -# endif - -# define PSEUDO(name, syscall_name, args) \ - .globl __syscall_error; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - jcc JUMPTARGET(__syscall_error) - -# undef PSEUDO_END -# define PSEUDO_END(name) \ - END (name) - -# undef JUMPTARGET -# ifdef PIC -# define JUMPTARGET(name) name##@PLTPC -# else -# define JUMPTARGET(name) name -# endif - -#endif /* __ASSEMBLER__ */ diff --git a/ports/sysdeps/m68k/tls-macros.h b/ports/sysdeps/m68k/tls-macros.h deleted file mode 100644 index 84401d234a..0000000000 --- a/ports/sysdeps/m68k/tls-macros.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Macros for accessing thread-local storage. m68k version. - Copyright (C) 2010-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010. - - 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_GD(x) \ - ({ \ - void *__result; \ - extern void *__tls_get_addr (void *); \ - \ - asm ("movel #_GLOBAL_OFFSET_TABLE_@GOTPC, %0\n\t" \ - "lea (-6, %%pc, %0), %0\n\t" \ - "lea " #x "@TLSGD(%0), %0" \ - : "=&a" (__result)); \ - (int *) __tls_get_addr (__result); }) - -#define TLS_LD(x) \ - ({ \ - char *__tp; \ - int __offset; \ - extern void *__tls_get_addr (void *); \ - \ - asm ("movel #_GLOBAL_OFFSET_TABLE_@GOTPC, %0\n\t" \ - "lea (-6, %%pc, %0), %0\n\t" \ - "lea " #x "@TLSLDM(%0), %0" \ - : "=&a" (__tp)); \ - __tp = (char *) __tls_get_addr (__tp); \ - asm ("movel #" #x "@TLSLDO, %0" \ - : "=a" (__offset)); \ - (int *) (__tp + __offset); }) - -#define TLS_IE(x) \ - ({ \ - char *__tp; \ - int __offset; \ - extern void * __m68k_read_tp (void); \ - \ - __tp = (char *) __m68k_read_tp (); \ - asm ("movel #_GLOBAL_OFFSET_TABLE_@GOTPC, %0\n\t" \ - "lea (-6, %%pc, %0), %0\n\t" \ - "movel " #x "@TLSIE(%0), %0" \ - : "=&a" (__offset)); \ - (int *) (__tp + __offset); }) - -#define TLS_LE(x) \ - ({ \ - char *__tp; \ - int __offset; \ - extern void * __m68k_read_tp (void); \ - \ - __tp = (char *) __m68k_read_tp (); \ - asm ("movel #" #x "@TLSLE, %0" \ - : "=a" (__offset)); \ - (int *) (__tp + __offset); }) - diff --git a/ports/sysdeps/m68k/tst-audit.h b/ports/sysdeps/m68k/tst-audit.h deleted file mode 100644 index 2ef31dcb40..0000000000 --- a/ports/sysdeps/m68k/tst-audit.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Definitions for testing PLT entry/exit auditing. m68k version. - Copyright (C) 2006-2014 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#define pltenter la_m68k_gnu_pltenter -#define pltexit la_m68k_gnu_pltexit -#define La_regs La_m68k_regs -#define La_retval La_m68k_retval -#define int_retval lrv_d0 diff --git a/ports/sysdeps/m68k/wcpcpy.c b/ports/sysdeps/m68k/wcpcpy.c deleted file mode 100644 index 55e7c53aac..0000000000 --- a/ports/sysdeps/m68k/wcpcpy.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -/* The generic version of this file assumes that __alignof__(wchar_t) == - sizeof (wchar_t). We therefore use this port-specific implementation - instead. */ -#include <wchar.h> - -/* Copy SRC to DEST, returning the address of the terminating L'\0' in - DEST. */ -wchar_t * -__wcpcpy (wchar_t *dest, const wchar_t *src) -{ - do - ; - while ((*dest++ = *src++)); - - return dest - 1; -} - -weak_alias (__wcpcpy, wcpcpy) diff --git a/ports/sysdeps/m68k/wcpcpy_chk.c b/ports/sysdeps/m68k/wcpcpy_chk.c deleted file mode 100644 index 5d2739604b..0000000000 --- a/ports/sysdeps/m68k/wcpcpy_chk.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1996-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -/* The generic version of this file assumes that __alignof__(wchar_t) == - sizeof (wchar_t). We therefore use this port-specific implementation - instead. */ -#include <wchar.h> - -/* Copy SRC to DEST, returning the address of the terminating L'\0' in - DEST. Check for overflows. */ -wchar_t * -__wcpcpy_chk (wchar_t *dest, const wchar_t *src, size_t destlen) -{ - do - if (destlen-- == 0) - __chk_fail (); - while ((*dest++ = *src++)); - - return dest - 1; -} |