diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-09-01 19:29:18 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-09-01 19:29:18 +0200 |
commit | cbb58c37bb81d176f106a4de3c7f3b02dee2ff66 (patch) | |
tree | c746d229279f84aac0fe3afe537813fb281f7f78 /sysdeps/i386 | |
parent | ffeaf5a2df0d177a7780fd7c6f5e7595caba766a (diff) | |
parent | d5860b5273bc00632c65b43cb931d3238db0ab57 (diff) |
Merge branch 'baseline' into refs/top-bases/tschwinge/Roger_Whittaker
Conflicts:
sysdeps/mach/hurd/i386/init-first.c
sysdeps/unix/sysv/linux/ldsodefs.h
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/__longjmp.S | 6 | ||||
-rw-r--r-- | sysdeps/i386/bsd-_setjmp.S | 6 | ||||
-rw-r--r-- | sysdeps/i386/bsd-setjmp.S | 6 | ||||
-rw-r--r-- | sysdeps/i386/dl-machine.h | 6 | ||||
-rw-r--r-- | sysdeps/i386/dl-procinfo.h | 2 | ||||
-rw-r--r-- | sysdeps/i386/fpu/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/i386/fpu/fenv_private.h | 173 | ||||
-rw-r--r-- | sysdeps/i386/fpu/fraiseexcpt.c | 2 | ||||
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 1152 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/memcmp-sse4.S | 2 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/memset-sse2-rep.S | 2 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/memset-sse2.S | 2 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcasecmp.S | 7 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcat-sse2.S | 2 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcmp-sse4.S | 16 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 16 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcmp.S | 4 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcpy-sse2.S | 6 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strncase.S | 7 | ||||
-rw-r--r-- | sysdeps/i386/setjmp.S | 6 | ||||
-rw-r--r-- | sysdeps/i386/stpncpy.S | 2 | ||||
-rw-r--r-- | sysdeps/i386/strpbrk.S | 2 |
22 files changed, 711 insertions, 719 deletions
diff --git a/sysdeps/i386/__longjmp.S b/sysdeps/i386/__longjmp.S index 30a4013557..a0e7f41e3d 100644 --- a/sysdeps/i386/__longjmp.S +++ b/sysdeps/i386/__longjmp.S @@ -40,7 +40,7 @@ ENTRY (__longjmp) cfi_offset(%esi, JB_SI*4) cfi_offset(%edi, JB_DI*4) cfi_offset(%ebp, JB_BP*4) - /* Restore registers. */ + /* Restore registers. */ movl (JB_BX*4)(%eax), %ebx movl (JB_SI*4)(%eax), %esi movl (JB_DI*4)(%eax), %edi @@ -59,7 +59,7 @@ ENTRY (__longjmp) /* Save the return address now. */ movl (JB_PC*4)(%ecx), %edx LIBC_PROBE (longjmp, 3, 4@%ecx, -4@%eax, 4@%edx) - /* Restore registers. */ + /* Restore registers. */ movl (JB_BX*4)(%ecx), %ebx movl (JB_SI*4)(%ecx), %esi movl (JB_DI*4)(%ecx), %edi @@ -68,5 +68,5 @@ ENTRY (__longjmp) LIBC_PROBE (longjmp_target, 3, 4@%ecx, -4@%ecx, 4@%edx) #endif /* Jump to saved PC. */ - jmp *%edx + jmp *%edx END (__longjmp) diff --git a/sysdeps/i386/bsd-_setjmp.S b/sysdeps/i386/bsd-_setjmp.S index 54483fea56..5c35d76383 100644 --- a/sysdeps/i386/bsd-_setjmp.S +++ b/sysdeps/i386/bsd-_setjmp.S @@ -33,7 +33,7 @@ ENTRY (_setjmp) xorl %eax, %eax movl JMPBUF(%esp), %edx - /* Save registers. */ + /* Save registers. */ movl %ebx, (JB_BX*4)(%edx) movl %esi, (JB_SI*4)(%edx) movl %edi, (JB_DI*4)(%edx) @@ -41,13 +41,13 @@ ENTRY (_setjmp) #ifdef PTR_MANGLE PTR_MANGLE (%ecx) #endif - movl %ecx, (JB_SP*4)(%edx) + movl %ecx, (JB_SP*4)(%edx) movl 0(%esp), %ecx /* Save PC we are returning to now. */ LIBC_PROBE (setjmp, 3, 4@%edx, -4@$0, 4@%ecx) #ifdef PTR_MANGLE PTR_MANGLE (%ecx) #endif - movl %ecx, (JB_PC*4)(%edx) + movl %ecx, (JB_PC*4)(%edx) movl %ebp, (JB_BP*4)(%edx) /* Save caller's frame pointer. */ movl %eax, JB_SIZE(%edx) /* No signal mask set. */ diff --git a/sysdeps/i386/bsd-setjmp.S b/sysdeps/i386/bsd-setjmp.S index b6daa8c036..803d48ccd6 100644 --- a/sysdeps/i386/bsd-setjmp.S +++ b/sysdeps/i386/bsd-setjmp.S @@ -35,7 +35,7 @@ ENTRY (setjmp) movl JMPBUF(%esp), %eax - /* Save registers. */ + /* Save registers. */ movl %ebx, (JB_BX*4)(%eax) movl %esi, (JB_SI*4)(%eax) movl %edi, (JB_DI*4)(%eax) @@ -43,13 +43,13 @@ ENTRY (setjmp) #ifdef PTR_MANGLE PTR_MANGLE (%ecx) #endif - movl %ecx, (JB_SP*4)(%eax) + movl %ecx, (JB_SP*4)(%eax) movl 0(%esp), %ecx /* Save PC we are returning to now. */ LIBC_PROBE (setjmp, 3, 4@%eax, -4@$1, 4@%ecx) #ifdef PTR_MANGLE PTR_MANGLE (%ecx) #endif - movl %ecx, (JB_PC*4)(%eax) + movl %ecx, (JB_PC*4)(%eax) movl %ebp, (JB_BP*4)(%eax) /* Save caller's frame pointer. */ /* Call __sigjmp_save. */ diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 0b4c46736d..b6fc8051e5 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -464,8 +464,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, strtab = (const char *) 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 ?: "<program name unknown>", - strtab + refsym->st_name); + RTLD_PROGNAME, strtab + refsym->st_name); } memcpy (reloc_addr_arg, (void *) value, MIN (sym->st_size, refsym->st_size)); @@ -610,8 +609,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, strtab = (const char *) 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 ?: "<program name unknown>", - strtab + refsym->st_name); + RTLD_PROGNAME, strtab + refsym->st_name); } memcpy (reloc_addr_arg, (void *) value, MIN (sym->st_size, refsym->st_size)); diff --git a/sysdeps/i386/dl-procinfo.h b/sysdeps/i386/dl-procinfo.h index 883fa7f0ab..233a3257e3 100644 --- a/sysdeps/i386/dl-procinfo.h +++ b/sysdeps/i386/dl-procinfo.h @@ -61,7 +61,7 @@ enum }; /* We cannot provide a general printing function. */ -#define _dl_procinfo(word) -1 +#define _dl_procinfo(type, word) -1 static inline const char * __attribute__ ((unused)) diff --git a/sysdeps/i386/fpu/Makefile b/sysdeps/i386/fpu/Makefile deleted file mode 100644 index 1309b64c13..0000000000 --- a/sysdeps/i386/fpu/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),math) -$(objpfx)libm.so: $(elfobjdir)/ld.so -endif diff --git a/sysdeps/i386/fpu/fenv_private.h b/sysdeps/i386/fpu/fenv_private.h index 1f8336cf96..3998387c57 100644 --- a/sysdeps/i386/fpu/fenv_private.h +++ b/sysdeps/i386/fpu/fenv_private.h @@ -322,6 +322,179 @@ libc_feresetround_387 (fenv_t *e) # define libc_feholdsetround_53bit libc_feholdsetround_387_53bit #endif +/* We have support for rounding mode context. */ +#define HAVE_RM_CTX 1 + +static __always_inline void +libc_feholdexcept_setround_sse_ctx (struct rm_ctx *ctx, int r) +{ + unsigned int mxcsr, new_mxcsr; + asm (STMXCSR " %0" : "=m" (*&mxcsr)); + new_mxcsr = ((mxcsr | 0x1f80) & ~0x603f) | (r << 3); + + ctx->env.__mxcsr = mxcsr; + if (__glibc_unlikely (mxcsr != new_mxcsr)) + { + asm volatile (LDMXCSR " %0" : : "m" (*&new_mxcsr)); + ctx->updated_status = true; + } + else + ctx->updated_status = false; +} + +/* Unconditional since we want to overwrite any exceptions that occurred in the + context. This is also why all fehold* functions unconditionally write into + ctx->env. */ +static __always_inline void +libc_fesetenv_sse_ctx (struct rm_ctx *ctx) +{ + libc_fesetenv_sse (&ctx->env); +} + +static __always_inline void +libc_feupdateenv_sse_ctx (struct rm_ctx *ctx) +{ + if (__glibc_unlikely (ctx->updated_status)) + libc_feupdateenv_test_sse (&ctx->env, 0); +} + +static __always_inline void +libc_feholdexcept_setround_387_prec_ctx (struct rm_ctx *ctx, int r) +{ + libc_feholdexcept_387 (&ctx->env); + + fpu_control_t cw = ctx->env.__control_word; + fpu_control_t old_cw = cw; + cw &= ~(_FPU_RC_ZERO | _FPU_EXTENDED); + cw |= r | 0x3f; + + if (__glibc_unlikely (old_cw != cw)) + { + _FPU_SETCW (cw); + ctx->updated_status = true; + } + else + ctx->updated_status = false; +} + +static __always_inline void +libc_feholdexcept_setround_387_ctx (struct rm_ctx *ctx, int r) +{ + libc_feholdexcept_setround_387_prec_ctx (ctx, r | _FPU_EXTENDED); +} + +static __always_inline void +libc_feholdexcept_setround_387_53bit_ctx (struct rm_ctx *ctx, int r) +{ + libc_feholdexcept_setround_387_prec_ctx (ctx, r | _FPU_DOUBLE); +} + +static __always_inline void +libc_feholdsetround_387_prec_ctx (struct rm_ctx *ctx, int r) +{ + fpu_control_t cw, new_cw; + + _FPU_GETCW (cw); + new_cw = cw; + new_cw &= ~(_FPU_RC_ZERO | _FPU_EXTENDED); + new_cw |= r; + + ctx->env.__control_word = cw; + if (__glibc_unlikely (new_cw != cw)) + { + _FPU_SETCW (new_cw); + ctx->updated_status = true; + } + else + ctx->updated_status = false; +} + +static __always_inline void +libc_feholdsetround_387_ctx (struct rm_ctx *ctx, int r) +{ + libc_feholdsetround_387_prec_ctx (ctx, r | _FPU_EXTENDED); +} + +static __always_inline void +libc_feholdsetround_387_53bit_ctx (struct rm_ctx *ctx, int r) +{ + libc_feholdsetround_387_prec_ctx (ctx, r | _FPU_DOUBLE); +} + +static __always_inline void +libc_feholdsetround_sse_ctx (struct rm_ctx *ctx, int r) +{ + unsigned int mxcsr, new_mxcsr; + + asm (STMXCSR " %0" : "=m" (*&mxcsr)); + new_mxcsr = (mxcsr & ~0x6000) | (r << 3); + + ctx->env.__mxcsr = mxcsr; + if (__glibc_unlikely (new_mxcsr != mxcsr)) + { + asm volatile (LDMXCSR " %0" : : "m" (*&new_mxcsr)); + ctx->updated_status = true; + } + else + ctx->updated_status = false; +} + +static __always_inline void +libc_feresetround_sse_ctx (struct rm_ctx *ctx) +{ + if (__glibc_unlikely (ctx->updated_status)) + libc_feresetround_sse (&ctx->env); +} + +static __always_inline void +libc_feresetround_387_ctx (struct rm_ctx *ctx) +{ + if (__glibc_unlikely (ctx->updated_status)) + _FPU_SETCW (ctx->env.__control_word); +} + +static __always_inline void +libc_feupdateenv_387_ctx (struct rm_ctx *ctx) +{ + if (__glibc_unlikely (ctx->updated_status)) + libc_feupdateenv_test_387 (&ctx->env, 0); +} + +#ifdef __SSE_MATH__ +# define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_sse_ctx +# define libc_fesetenvf_ctx libc_fesetenv_sse_ctx +# define libc_feupdateenvf_ctx libc_feupdateenv_sse_ctx +# define libc_feholdsetroundf_ctx libc_feholdsetround_sse_ctx +# define libc_feresetroundf_ctx libc_feresetround_sse_ctx +#else +# define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_387_ctx +# define libc_feupdateenvf_ctx libc_feupdateenv_387_ctx +# define libc_feholdsetroundf_ctx libc_feholdsetround_387_ctx +# define libc_feresetroundf_ctx libc_feresetround_387_ctx +#endif /* __SSE_MATH__ */ + +#ifdef __SSE2_MATH__ +# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_sse_ctx +# define libc_fesetenv_ctx libc_fesetenv_sse_ctx +# define libc_feupdateenv_ctx libc_feupdateenv_sse_ctx +# define libc_feholdsetround_ctx libc_feholdsetround_sse_ctx +# define libc_feresetround_ctx libc_feresetround_sse_ctx +#else +# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_387_ctx +# define libc_feupdateenv_ctx libc_feupdateenv_387_ctx +# define libc_feresetround_ctx libc_feresetround_387_ctx +#endif /* __SSE2_MATH__ */ + +#define libc_feholdexcept_setroundl_ctx libc_feholdexcept_setround_387_ctx +#define libc_feupdateenvl_ctx libc_feupdateenv_387_ctx +#define libc_feholdsetroundl_ctx libc_feholdsetround_387_ctx +#define libc_feresetroundl_ctx libc_feresetround_387_ctx + +#ifndef __SSE2_MATH__ +# define libc_feholdsetround_53bit_ctx libc_feholdsetround_387_53bit_ctx +# define libc_feresetround_53bit_ctx libc_feresetround_387_ctx +#endif + #undef __mxcsr #endif /* FENV_PRIVATE_H */ diff --git a/sysdeps/i386/fpu/fraiseexcpt.c b/sysdeps/i386/fpu/fraiseexcpt.c index 141681d93f..c359e5e5a5 100644 --- a/sysdeps/i386/fpu/fraiseexcpt.c +++ b/sysdeps/i386/fpu/fraiseexcpt.c @@ -31,7 +31,7 @@ __feraiseexcept (int excepts) /* First: invalid exception. */ if ((FE_INVALID & excepts) != 0) { - /* One example of a invalid operation is 0.0 / 0.0. */ + /* One example of an invalid operation is 0.0 / 0.0. */ double d; __asm__ __volatile__ ("fldz; fdiv %%st, %%st(0); fwait" : "=t" (d)); (void) &d; diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index aff617c353..530dbd7402 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -76,91 +76,27 @@ Test "acos_upward (0.5)": ildouble: 1 ldouble: 1 -# asin -Test "asin (-0.5)": -ildouble: 1 -ldouble: 1 -Test "asin (-0x0.ffffffff8p0)": -ildouble: 1 -ldouble: 1 -Test "asin (-0x0.ffffffffffffffffp0)": -ildouble: 1 -ldouble: 1 -Test "asin (-0x0.ffffffffffffp0)": -ildouble: 1 -ldouble: 1 -Test "asin (-0x0.ffffffp0)": -ildouble: 1 -ldouble: 1 -Test "asin (-1.0)": -ildouble: 1 -ldouble: 1 -Test "asin (0.5)": -ildouble: 1 -ldouble: 1 -Test "asin (0.75)": -ildouble: 1 -ldouble: 1 -Test "asin (0x0.ffffffff8p0)": -ildouble: 1 -ldouble: 1 -Test "asin (0x0.ffffffffffffffffp0)": -ildouble: 1 -ldouble: 1 -Test "asin (0x0.ffffffffffffp0)": -ildouble: 1 -ldouble: 1 -Test "asin (0x0.ffffffp0)": -ildouble: 1 -ldouble: 1 -Test "asin (1.0)": -ildouble: 1 -ldouble: 1 - # asin_downward -Test "asin_downward (-0.5)": -ildouble: 1 -ldouble: 1 Test "asin_downward (-1.0)": double: 1 idouble: 1 -ildouble: 1 -ldouble: 1 Test "asin_downward (0.5)": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "asin_downward (1.0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 -# asin_tonearest -Test "asin_tonearest (-0.5)": -ildouble: 1 -ldouble: 1 -Test "asin_tonearest (-1.0)": -ildouble: 1 -ldouble: 1 -Test "asin_tonearest (0.5)": -ildouble: 1 -ldouble: 1 -Test "asin_tonearest (1.0)": -ildouble: 1 -ldouble: 1 - # asin_towardzero Test "asin_towardzero (-0.5)": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "asin_towardzero (-1.0)": float: 1 ifloat: 1 @@ -171,8 +107,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "asin_towardzero (1.0)": float: 1 ifloat: 1 @@ -185,21 +119,14 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "asin_upward (-1.0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "asin_upward (0.5)": -ildouble: 1 -ldouble: 1 Test "asin_upward (1.0)": double: 1 idouble: 1 -ildouble: 1 -ldouble: 1 # atanh Test "atanh (0.75)": @@ -336,9 +263,13 @@ ldouble: 1 Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -495,6 +426,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -505,6 +439,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -543,6 +480,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -554,6 +494,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -708,12 +651,16 @@ ldouble: 1 Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 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 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -872,6 +819,9 @@ idouble: 1 Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)": float: 1 ifloat: 1 @@ -894,6 +844,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -904,6 +857,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -949,6 +905,9 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (1.0 + 0x1.fp-30 i)": double: 1 idouble: 1 @@ -970,6 +929,9 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacos (1.0 - 0x1.fp-30 i)": double: 1 idouble: 1 @@ -1131,9 +1093,13 @@ ldouble: 1 Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -1290,6 +1256,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -1300,6 +1269,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (-0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -1338,6 +1310,9 @@ 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)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -1349,6 +1324,9 @@ 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)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -1500,12 +1478,16 @@ ldouble: 1 Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 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 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)": ildouble: 1 ldouble: 1 @@ -1667,6 +1649,9 @@ idouble: 1 Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0x1p-105 + 0.5 i)": float: 1 ifloat: 1 @@ -1689,6 +1674,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -1699,6 +1687,9 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -1737,6 +1728,9 @@ 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)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)": double: 1 float: 1 @@ -1758,6 +1752,9 @@ 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)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)": double: 1 float: 1 @@ -1932,9 +1929,13 @@ ldouble: 1 Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -1987,28 +1988,52 @@ 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 "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 "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 @@ -2027,6 +2052,9 @@ ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 + 0x1p-23 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 @@ -2047,6 +2075,9 @@ ldouble: 1 Test "Imaginary part of: casin (-0x1.fp-129 - 0x1p-23 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 @@ -2113,6 +2144,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (-0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -2133,6 +2167,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (-0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -2191,6 +2228,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2204,6 +2244,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2328,9 +2371,13 @@ ldouble: 1 Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)": ildouble: 1 ldouble: 1 @@ -2383,28 +2430,52 @@ 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 "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 "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 @@ -2423,6 +2494,9 @@ ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 + 0x1p-23 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 @@ -2443,6 +2517,9 @@ ldouble: 1 Test "Imaginary part of: casin (0x1.fp-129 - 0x1p-23 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 @@ -2483,6 +2560,9 @@ idouble: 1 Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1p-105 + 0.5 i)": float: 1 ifloat: 1 @@ -2515,6 +2595,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 + 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0x1p-23 - 0.5 i)": double: 1 float: 1 @@ -2535,6 +2618,9 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (0x1p-23 - 0x1.000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (0x1p-52 + 0.5 i)": double: 1 float: 1 @@ -2593,6 +2679,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2606,6 +2695,9 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)": ildouble: 1 ldouble: 1 @@ -2796,6 +2888,9 @@ ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0x1.000002p0 + 0x1p-23 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)": double: 1 float: 1 @@ -2810,11 +2905,20 @@ ldouble: 1 Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (-0x1.000002p0 - 0x1p-23 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)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1.fp-1025 + 0.5 i)": ildouble: 1 ldouble: 1 @@ -2911,6 +3015,8 @@ ldouble: 1 Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1p-52 + 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -2922,6 +3028,8 @@ ldouble: 1 Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-0x1p-52 - 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -2965,17 +3073,32 @@ 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 @@ -3014,17 +3137,32 @@ 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 @@ -3215,6 +3353,9 @@ ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 + 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1.000002p0 + 0x1p-23 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)": double: 1 float: 1 @@ -3229,11 +3370,20 @@ ldouble: 1 Test "Imaginary part of: casinh (0x1.000002p0 - 0x1.fp-129 i)": ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0x1.000002p0 - 0x1p-23 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)": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0x1.fp-10 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1.fp-1025 + 0.5 i)": ildouble: 1 ldouble: 1 @@ -3294,6 +3444,9 @@ idouble: 1 Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)": double: 1 idouble: 1 +Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p-23 + 0.0 i)": ildouble: 1 ldouble: 1 @@ -3336,6 +3489,8 @@ ldouble: 1 Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p-52 + 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -3347,6 +3502,8 @@ ldouble: 1 Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0x1p-52 - 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 @@ -3390,17 +3547,32 @@ 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 @@ -3439,17 +3611,32 @@ 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 @@ -3494,6 +3681,9 @@ ifloat: 1 Test "Imaginary part of: catan (-0x1.0000000000001p0 + 0x1p-27 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)": double: 1 idouble: 1 @@ -3527,30 +3717,57 @@ ldouble: 1 Test "Imaginary part of: catan (-0x1p-1022 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-13 + 0x0.ffffffp0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-13 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-16382 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (-0x1p-16382 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 0x0.fffffffffffff8p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-64 + 1.0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (-0x1p-64 - 1.0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-1.0 + 0x1p-64 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-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-1.0 - 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3573,6 +3790,9 @@ ifloat: 1 Test "Imaginary part of: catan (0x1.0000000000001p0 + 0x1p-27 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)": double: 1 idouble: 1 @@ -3606,35 +3826,68 @@ ldouble: 1 Test "Imaginary part of: catan (0x1p-1022 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-13 + 0x0.ffffffp0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-13 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-16382 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (0x1p-16382 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 0x0.fffffffffffff8p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-64 + 1.0 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (0x1p-64 - 1.0 i)": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (1.0 + 0x1p-64 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-27 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 (-0x0.fffffffffffff8p0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.fffffffffffff8p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-1022 i)": ildouble: 1 ldouble: 1 @@ -3653,6 +3906,18 @@ ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000001p0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1.0000000000001p0 - 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)": ildouble: 1 ldouble: 1 @@ -3677,6 +3942,18 @@ idouble: 1 Test "Real part of: catanh (-0x1p-13 - 1.0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 + 1.0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x1p-64 + 1.0 i)": ildouble: 1 ldouble: 1 @@ -3689,6 +3966,9 @@ ldouble: 1 Test "Real part of: catanh (-1.0 + 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-27 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-1.0 + 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3698,16 +3978,15 @@ ldouble: 1 Test "Real part of: catanh (-1.0 - 0x1p-1020 i)": ildouble: 1 ldouble: 1 -Test "Real part of: catanh (-1.0 - 0x1p-64 i)": +Test "Real part of: catanh (-1.0 - 0x1p-27 i)": ildouble: 1 ldouble: 1 -Test "Real part of: catanh (-2 - 3 i)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 +Test "Real part of: catanh (-1.0 - 0x1p-64 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 @@ -3731,6 +4010,18 @@ ldouble: 1 Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x0.ffffffp0 + 0x1p-13 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffp0 - 0x1p-13 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)": ildouble: 1 ldouble: 1 @@ -3759,12 +4050,18 @@ idouble: 1 Test "Real part of: catanh (0x1p-27 + 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1p-27 + 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)": double: 1 idouble: 1 Test "Real part of: catanh (0x1p-27 - 0x1.0000000000001p0 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1p-27 - 1.0 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x1p-33 + 0x0.ffffffffffffffffp0 i)": ildouble: 1 ldouble: 1 @@ -3783,6 +4080,9 @@ ldouble: 1 Test "Real part of: catanh (1.0 + 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-13 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (1.0 + 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3792,6 +4092,9 @@ ldouble: 1 Test "Real part of: catanh (1.0 - 0x1p-1020 i)": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-13 i)": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (1.0 - 0x1p-64 i)": ildouble: 1 ldouble: 1 @@ -3829,14 +4132,9 @@ ifloat: 1 Test "Imaginary part of: ccos (-0.75 - 89.5 i)": float: 1 ifloat: 1 -Test "Real part of: ccos (-2 - 3 i)": -float: 1 -ifloat: 1 Test "Imaginary part of: ccos (-2 - 3 i)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: ccos (0.75 + 1.25 i)": double: 1 float: 1 @@ -3877,9 +4175,7 @@ idouble: 1 # ccosh Test "Imaginary part of: ccosh (-2 - 3 i)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -3908,14 +4204,10 @@ Test "Imaginary part of: ccosh (-89.5 - 0.75 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)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "Imaginary part of: ccosh (1440 + 0x1p-1074 i)": double: 1 @@ -3949,14 +4241,9 @@ ifloat: 1 Test "Real part of: cexp (-10000 + 0x1p16383 i)": ildouble: 1 ldouble: 1 -Test "Real part of: cexp (-2.0 - 3.0 i)": -ildouble: 1 -ldouble: 1 Test "Imaginary part of: cexp (-2.0 - 3.0 i)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: cexp (-95 + 0.75 i)": double: 1 idouble: 1 @@ -3965,17 +4252,6 @@ ldouble: 1 Test "Imaginary part of: cexp (-95 + 0.75 i)": double: 1 idouble: 1 -Test "Imaginary part of: cexp (0 + 0x1p65 i)": -float: 1 -ifloat: 1 -Test "Imaginary part of: cexp (0 - 0x1p65 i)": -float: 1 -ifloat: 1 -Test "Real part of: cexp (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: cexp (0.75 + 1.25 i)": ildouble: 1 ldouble: 1 @@ -3986,18 +4262,13 @@ Test "Imaginary part of: cexp (1440 + 0x1p-1074 i)": double: 1 idouble: 1 Test "Real part of: cexp (50 + 0x1p127 i)": -double: 2 -idouble: 2 +double: 1 +idouble: 1 Test "Imaginary part of: cexp (50 + 0x1p127 i)": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 1 ldouble: 1 -Test "Real part of: cexp (500 + 0x1p1023 i)": -double: 1 -idouble: 1 Test "Real part of: cexp (709.8125 + 0.75 i)": double: 1 idouble: 1 @@ -4048,11 +4319,6 @@ ldouble: 1 Test "Real part of: clog (-0x1p-16445 - 0x1.fp+16383 i)": ildouble: 1 ldouble: 1 -Test "Real part of: clog (0.75 + 1.25 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: clog (0x0.ffffffffffffffffp0 + 0x0.ffffffffffffffffp-15000 i)": ildouble: 1 ldouble: 1 @@ -4065,9 +4331,6 @@ ldouble: 1 Test "Real part of: clog (0x1.000566p0 + 0x1.234p-100 i)": float: 1 ifloat: 1 -Test "Real part of: clog (0x1.234566p-30 + 1.0 i)": -ildouble: 1 -ldouble: 1 Test "Real part of: clog (0x1.fffffep+127 + 0x1.fffffep+127 i)": ildouble: 1 ldouble: 1 @@ -4083,9 +4346,6 @@ ldouble: 1 Test "Real part of: clog (0x1.fp+16383 - 0x1p-16445 i)": ildouble: 1 ldouble: 1 -Test "Imaginary part of: clog (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)": -ildouble: 1 -ldouble: 1 Test "Real part of: clog (0x1p-1074 + 0x1p-1074 i)": ildouble: 1 ldouble: 1 @@ -4201,8 +4461,6 @@ idouble: 1 Test "Imaginary part of: clog10 (-2 - 3 i)": double: 1 idouble: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: clog10 (-3 + inf i)": double: 1 float: 1 @@ -4246,13 +4504,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -Test "Real part of: clog10 (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)": ildouble: 1 ldouble: 1 @@ -4306,9 +4557,6 @@ ldouble: 1 Test "Real part of: clog10 (0x1.fp+16383 + 0x1.fp+16383 i)": ildouble: 1 ldouble: 1 -Test "Real part of: clog10 (0x1.fp+16383 + 0x1p+16383 i)": -ildouble: 1 -ldouble: 1 Test "Real part of: clog10 (0x1.fp+16383 + 0x1p-16445 i)": ildouble: 1 ldouble: 1 @@ -4327,8 +4575,6 @@ idouble: 1 Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)": double: 1 idouble: 1 -ildouble: 1 -ldouble: 1 Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)": double: 1 idouble: 1 @@ -4512,52 +4758,33 @@ idouble: 1 ifloat: 1 # cos -Test "cos (0x1p+50)": -float: 1 -ifloat: 1 Test "cos (M_PI_6l * 2.0)": double: 1 -float: 1 idouble: 1 -ifloat: 1 Test "cos (M_PI_6l * 4.0)": double: 2 float: 1 idouble: 2 ifloat: 1 -ildouble: 1 -ldouble: 1 # cos_downward Test "cos_downward (1)": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 ildouble: 1 ldouble: 1 Test "cos_downward (10)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 Test "cos_downward (2)": -float: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Test "cos_downward (3)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "cos_downward (4)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "cos_downward (5)": float: 1 ifloat: 1 @@ -4567,42 +4794,21 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "cos_downward (8)": -float: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Test "cos_downward (9)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 - -# cos_tonearest -Test "cos_tonearest (2)": -float: 1 -ifloat: 1 -Test "cos_tonearest (8)": -ildouble: 1 -ldouble: 1 -Test "cos_tonearest (9)": -ildouble: 1 -ldouble: 1 # cos_towardzero Test "cos_towardzero (1)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "cos_towardzero (10)": ildouble: 1 ldouble: 1 Test "cos_towardzero (2)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -4611,9 +4817,6 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "cos_towardzero (4)": -double: 1 -idouble: 1 Test "cos_towardzero (5)": float: 1 ifloat: 1 @@ -4623,9 +4826,7 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "cos_towardzero (8)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -4634,45 +4835,25 @@ ldouble: 1 Test "cos_upward (1)": float: 1 ifloat: 1 -Test "cos_upward (10)": -ildouble: 1 -ldouble: 1 Test "cos_upward (2)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "cos_upward (3)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "cos_upward (4)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "cos_upward (5)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "cos_upward (6)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "cos_upward (7)": -double: 1 -idouble: 1 Test "cos_upward (8)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -4729,6 +4910,7 @@ ldouble: 1 # cosh_upward Test "cosh_upward (22)": ildouble: 2 +ldouble: 1 Test "cosh_upward (23)": ildouble: 2 ldouble: 1 @@ -4743,18 +4925,13 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)": double: 1 -float: 4 +float: 3 idouble: 1 -ifloat: 4 -ildouble: 6 -ldouble: 6 +ifloat: 3 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)": float: 1 ifloat: 1 @@ -4767,9 +4944,6 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i)": -float: 1 -ifloat: 1 Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i)": double: 2 float: 4 @@ -4791,17 +4965,10 @@ ifloat: 5 ildouble: 1 ldouble: 1 Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)": -float: 2 -ifloat: 2 +float: 1 +ifloat: 1 ildouble: 4 ldouble: 4 -Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i)": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 -ildouble: 1 -ldouble: 1 # csin Test "Real part of: csin (-0.75 + 710.5 i)": @@ -4828,9 +4995,6 @@ ifloat: 1 Test "Imaginary part of: csin (-0.75 - 89.5 i)": float: 1 ifloat: 1 -Test "Imaginary part of: csin (-2 - 3 i)": -float: 1 -ifloat: 1 Test "Real part of: csin (0.75 + 1.25 i)": float: 1 ifloat: 1 @@ -4868,16 +5032,11 @@ double: 1 idouble: 1 # csinh -Test "Real part of: csinh (-2 - 3 i)": -double: 1 -idouble: 1 Test "Imaginary part of: csinh (-2 - 3 i)": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 2 -ldouble: 2 Test "Real part of: csinh (-710.5 + 0.75 i)": double: 1 idouble: 1 @@ -4903,15 +5062,10 @@ Test "Imaginary part of: csinh (-89.5 - 0.75 i)": float: 1 ifloat: 1 Test "Real part of: csinh (0.75 + 1.25 i)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "Imaginary part of: csinh (0.75 + 1.25 i)": -float: 1 -ifloat: 1 Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)": double: 1 idouble: 1 @@ -4993,20 +5147,11 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: ctan (-2 - 3 i)": -float: 1 -ifloat: 1 -ildouble: 2 -ldouble: 2 -Test "Real part of: ctan (0.75 + 1.25 i)": ildouble: 1 ldouble: 1 Test "Imaginary part of: ctan (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Real part of: ctan (0x1p1023 + 1 i)": double: 1 idouble: 1 @@ -5015,9 +5160,6 @@ ldouble: 1 Test "Imaginary part of: ctan (0x1p1023 + 1 i)": ildouble: 1 ldouble: 1 -Test "Real part of: ctan (0x1p127 + 1 i)": -float: 1 -ifloat: 1 Test "Real part of: ctan (0x3.243f6cp-1 + 0 i)": float: 1 ifloat: 1 @@ -5044,14 +5186,12 @@ ildouble: 3 ldouble: 3 Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 3 ldouble: 3 Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)": -float: 3 -ifloat: 3 +float: 2 +ifloat: 2 ildouble: 4 ldouble: 4 @@ -5086,8 +5226,8 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)": -float: 3 -ifloat: 3 +float: 1 +ifloat: 1 ildouble: 4 ldouble: 4 @@ -5107,8 +5247,6 @@ idouble: 1 ildouble: 4 ldouble: 4 Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)": -float: 1 -ifloat: 1 ildouble: 2 ldouble: 2 Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)": @@ -5123,33 +5261,20 @@ ldouble: 1 Test "Real part of: ctanh (-2 - 3 i)": float: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: ctanh (-2 - 3 i)": -float: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i)": float: 1 ifloat: 1 Test "Imaginary part of: ctanh (0 + pi/4 i)": -float: 1 -ifloat: 1 ildouble: 1 ldouble: 1 -Test "Real part of: ctanh (0.75 + 1.25 i)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 Test "Imaginary part of: ctanh (0.75 + 1.25 i)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "Real part of: ctanh (1 + 0x1p1023 i)": ildouble: 1 ldouble: 1 @@ -5158,9 +5283,6 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 -Test "Imaginary part of: ctanh (1 + 0x1p127 i)": -float: 1 -ifloat: 1 Test "Imaginary part of: ctanh (45 + 1 i)": ildouble: 1 ldouble: 1 @@ -5180,15 +5302,13 @@ idouble: 1 ildouble: 2 ldouble: 2 Test "Real part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)": -float: 3 -ifloat: 3 +float: 2 +ifloat: 2 ildouble: 4 ldouble: 4 Test "Imaginary part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 3 ldouble: 3 Test "Imaginary part of: ctanh_downward (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)": @@ -5221,8 +5341,8 @@ idouble: 1 ildouble: 1 ldouble: 1 Test "Real part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)": -float: 3 -ifloat: 3 +float: 1 +ifloat: 1 ildouble: 4 ldouble: 4 Test "Imaginary part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)": @@ -5248,8 +5368,6 @@ ifloat: 2 ildouble: 1 ldouble: 1 Test "Imaginary part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)": -float: 1 -ifloat: 1 ildouble: 2 ldouble: 2 Test "Real part of: ctanh_upward (0x1p-16445 + 0x1.921fb54442d1846ap+0 i)": @@ -5265,9 +5383,6 @@ double: 1 idouble: 1 # erfc -Test "erfc (0.75)": -float: 1 -ifloat: 1 Test "erfc (0x1.f7303cp+1)": double: 1 idouble: 1 @@ -5291,20 +5406,10 @@ idouble: 1 ildouble: 1 ldouble: 1 -# exp -Test "exp (0.75)": -ildouble: 1 - # exp10 -Test "exp10 (-1)": +Test "exp10 (0.75)": ildouble: 1 ldouble: 1 -Test "exp10 (0.75)": -ildouble: 2 -ldouble: 2 -Test "exp10 (3)": -ildouble: 8 -ldouble: 8 # exp_downward Test "exp_downward (1)": @@ -5355,8 +5460,6 @@ ifloat: 1 Test "expm1 (-45.0)": ildouble: 1 ldouble: 1 -Test "expm1 (1)": -ildouble: 1 Test "expm1 (11356.25)": ildouble: 1 ldouble: 1 @@ -5410,9 +5513,9 @@ ildouble: 2 ldouble: 2 Test "j0 (-4.0)": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 2 ldouble: 2 Test "j0 (0x1.d7ce3ap+107)": @@ -5425,20 +5528,18 @@ Test "j0 (0x1p16382)": ildouble: 1 ldouble: 1 Test "j0 (10.0)": -double: 3 +double: 1 float: 1 -idouble: 3 +idouble: 1 ifloat: 1 Test "j0 (2.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "j0 (4.0)": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 2 ldouble: 2 Test "j0 (8.0)": @@ -5446,12 +5547,9 @@ float: 1 ifloat: 1 # j1 -Test "j1 (0.75)": -double: 1 -idouble: 1 Test "j1 (0x1.3ffp+74)": -float: 2 -ifloat: 2 +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "j1 (0x1.ff00000000002p+840)": @@ -5471,44 +5569,35 @@ Test "j1 (2.0)": double: 1 idouble: 1 Test "j1 (8.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 # jn Test "jn (0, -4.0)": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 2 ldouble: 2 Test "jn (0, 10.0)": -double: 3 +double: 1 float: 1 -idouble: 3 +idouble: 1 ifloat: 1 Test "jn (0, 2.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "jn (0, 4.0)": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 2 ldouble: 2 Test "jn (0, 8.0)": float: 1 ifloat: 1 -Test "jn (1, 0.75)": -double: 1 -idouble: 1 Test "jn (1, 10.0)": double: 2 float: 1 @@ -5520,12 +5609,8 @@ Test "jn (1, 2.0)": double: 1 idouble: 1 Test "jn (1, 8.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "jn (10, -1.0)": double: 1 float: 1 @@ -5534,9 +5619,7 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "jn (10, 0.125)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "jn (10, 0.75)": float: 1 @@ -5551,15 +5634,13 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "jn (10, 10.0)": -double: 5 -float: 2 -idouble: 5 -ifloat: 2 +double: 1 +float: 1 +idouble: 1 +ifloat: 1 ildouble: 2 ldouble: 2 Test "jn (10, 2.0)": -double: 2 -idouble: 2 ildouble: 1 ldouble: 1 Test "jn (2, 0x1.ffff62p+99)": @@ -5577,19 +5658,12 @@ ldouble: 1 Test "jn (3, -1.0)": ildouble: 1 ldouble: 1 -Test "jn (3, 0.75)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 Test "jn (3, 1.0)": ildouble: 1 ldouble: 1 Test "jn (3, 10.0)": -double: 5 -float: 2 -idouble: 5 -ifloat: 2 +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "jn (3, 2.0)": @@ -5642,9 +5716,7 @@ idouble: 1 ildouble: 1 ldouble: 1 Test "lgamma (0.7)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "lgamma (1.2)": double: 1 @@ -5654,11 +5726,6 @@ ifloat: 2 ildouble: 1 ldouble: 1 -# log -Test "log (e)": -float: 1 -ifloat: 1 - # log10 Test "log10 (0.75)": ildouble: 1 @@ -5683,25 +5750,17 @@ ldouble: 1 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_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)": @@ -5715,82 +5774,28 @@ idouble: 1 ildouble: 1 ldouble: 1 -# sin -Test "sin (-0x1p65)": -float: 1 -ifloat: 1 -Test "sin (0x1.fffff8p+127)": -float: 1 -Test "sin (0x1p+127)": -float: 1 -Test "sin (0x1p65)": -float: 1 -ifloat: 1 - # sin_downward Test "sin_downward (1)": ildouble: 1 ldouble: 1 -Test "sin_downward (10)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (2)": -double: 1 -idouble: 1 Test "sin_downward (3)": -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (4)": -double: 1 -idouble: 1 -ildouble: 1 -ldouble: 1 -Test "sin_downward (5)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "sin_downward (6)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "sin_downward (7)": ildouble: 1 ldouble: 1 Test "sin_downward (8)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "sin_downward (9)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -# sin_tonearest -Test "sin_tonearest (1)": -float: 1 -ifloat: 1 -Test "sin_tonearest (10)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (4)": -ildouble: 1 -ldouble: 1 -Test "sin_tonearest (9)": -ildouble: 1 -ldouble: 1 - # sin_towardzero Test "sin_towardzero (1)": ildouble: 1 @@ -5798,9 +5803,6 @@ ldouble: 1 Test "sin_towardzero (10)": float: 1 ifloat: 1 -Test "sin_towardzero (2)": -double: 1 -idouble: 1 Test "sin_towardzero (3)": ildouble: 1 ldouble: 1 @@ -5810,30 +5812,21 @@ ifloat: 1 Test "sin_towardzero (5)": float: 1 ifloat: 1 -Test "sin_towardzero (6)": -ildouble: 1 -ldouble: 1 Test "sin_towardzero (7)": ildouble: 1 ldouble: 1 Test "sin_towardzero (8)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "sin_towardzero (9)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 # sin_upward Test "sin_upward (1)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "sin_upward (10)": float: 1 @@ -5846,9 +5839,7 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "sin_upward (3)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -5866,31 +5857,13 @@ Test "sin_upward (6)": ildouble: 1 ldouble: 1 Test "sin_upward (7)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "sin_upward (8)": float: 1 ifloat: 1 -Test "sin_upward (9)": -float: 1 -ifloat: 1 # sincos -Test "sincos (-0x1p65) extra output 1": -float: 1 -ifloat: 1 -Test "sincos (0x1.fffff8p+127) extra output 1": -float: 1 -Test "sincos (0x1p+127) extra output 1": -float: 1 -Test "sincos (0x1p+50) extra output 2": -float: 1 -ifloat: 1 -Test "sincos (0x1p65) extra output 1": -float: 1 -ifloat: 1 Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 @@ -5900,14 +5873,14 @@ ildouble: 1 ldouble: 1 Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 -float: 1 idouble: 1 -ifloat: 1 # sinh Test "sinh (0.75)": -double: 1 ildouble: 1 +Test "sinh (0x8p-32)": +ildouble: 1 +ldouble: 1 # sinh_downward Test "sinh_downward (22)": @@ -6006,16 +5979,12 @@ Test "tan (1e22)": ildouble: 1 ldouble: 1 Test "tan (pi/4)": -double: 1 float: 1 -idouble: 1 ifloat: 1 # tan_downward Test "tan_downward (1)": -double: 1 float: 2 -idouble: 1 ifloat: 2 ildouble: 1 ldouble: 1 @@ -6025,31 +5994,20 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "tan_downward (2)": -double: 1 float: 1 -idouble: 1 ifloat: 1 Test "tan_downward (3)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "tan_downward (4)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "tan_downward (5)": ildouble: 1 ldouble: 1 Test "tan_downward (6)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -Test "tan_downward (7)": -double: 1 -idouble: 1 Test "tan_downward (8)": float: 1 ifloat: 1 @@ -6068,22 +6026,12 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "tan_tonearest (6)": -ildouble: 1 -ldouble: 1 Test "tan_tonearest (8)": ildouble: 1 ldouble: 1 -Test "tan_tonearest (9)": -ildouble: 1 -ldouble: 1 # tan_towardzero Test "tan_towardzero (1)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Test "tan_towardzero (10)": @@ -6097,34 +6045,18 @@ ldouble: 1 Test "tan_towardzero (3)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "tan_towardzero (4)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 Test "tan_towardzero (5)": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "tan_towardzero (6)": ildouble: 1 ldouble: 1 -Test "tan_towardzero (7)": -double: 1 -idouble: 1 -Test "tan_towardzero (8)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 Test "tan_towardzero (9)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 @@ -6135,8 +6067,6 @@ ifloat: 1 ildouble: 1 ldouble: 1 Test "tan_upward (10)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 Test "tan_upward (2)": @@ -6145,45 +6075,25 @@ ldouble: 1 Test "tan_upward (3)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "tan_upward (4)": -double: 1 -idouble: 1 Test "tan_upward (5)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 2 ldouble: 2 Test "tan_upward (6)": ildouble: 1 ldouble: 1 -Test "tan_upward (7)": -float: 1 -ifloat: 1 +Test "tan_upward (8)": ildouble: 1 ldouble: 1 -Test "tan_upward (8)": -double: 1 -idouble: 1 -ildouble: 2 -ldouble: 2 Test "tan_upward (9)": -double: 1 -idouble: 1 ildouble: 1 ldouble: 1 # tgamma Test "tgamma (-0.5)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 -ildouble: 1 -ldouble: 1 +double: 1 +idouble: 1 Test "tgamma (-0x0.ffffffffffffffffp0)": ildouble: 1 ldouble: 1 @@ -6231,8 +6141,8 @@ ldouble: 2 Test "tgamma (-0x1e.00002p0)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Test "tgamma (-0x1f4.00000000000002p0)": ildouble: 3 ldouble: 3 @@ -6741,8 +6651,6 @@ ldouble: 1 Test "tgamma (4)": float: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "tgamma (4.5)": double: 1 idouble: 1 @@ -6790,8 +6698,8 @@ float: 1 idouble: 1 ifloat: 1 Test "y0 (0x1.3ffp+74)": -float: 2 -ifloat: 2 +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 Test "y0 (0x1.ff00000000002p+840)": @@ -6823,28 +6731,15 @@ Test "y0 (0x1p16382)": ildouble: 1 ldouble: 1 Test "y0 (1.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 ildouble: 1 ldouble: 1 -Test "y0 (1.5)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 Test "y0 (10.0)": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "y0 (8.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -6872,9 +6767,6 @@ idouble: 1 Test "y1 (0x1p16382)": ildouble: 1 ldouble: 1 -Test "y1 (1.0)": -double: 1 -idouble: 1 Test "y1 (10.0)": double: 2 float: 2 @@ -6888,12 +6780,8 @@ ifloat: 2 ildouble: 1 ldouble: 1 Test "y1 (8.0)": -double: 1 float: 2 -idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 # yn Test "yn (0, 0.125)": @@ -6905,37 +6793,21 @@ float: 1 idouble: 1 ifloat: 1 Test "yn (0, 1.0)": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 ildouble: 1 ldouble: 1 -Test "yn (0, 1.5)": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 Test "yn (0, 10.0)": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Test "yn (0, 8.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 Test "yn (1, 0.125)": ildouble: 1 ldouble: 1 -Test "yn (1, 1.0)": -double: 1 -idouble: 1 Test "yn (1, 10.0)": double: 2 float: 2 @@ -6949,47 +6821,35 @@ ifloat: 2 ildouble: 1 ldouble: 1 Test "yn (1, 8.0)": -double: 1 float: 2 -idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 Test "yn (10, 0.125)": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 2 ldouble: 2 Test "yn (10, 0.75)": -float: 2 -ifloat: 2 +float: 1 +ifloat: 1 ildouble: 4 ldouble: 4 Test "yn (10, 1.0)": -double: 1 float: 2 -idouble: 1 ifloat: 2 Test "yn (10, 10.0)": double: 2 -float: 3 +float: 1 idouble: 2 -ifloat: 3 +ifloat: 1 Test "yn (10, 2.0)": -double: 2 float: 3 -idouble: 2 ifloat: 3 Test "yn (3, 0.125)": ildouble: 1 ldouble: 1 Test "yn (3, 0.75)": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 2 ldouble: 2 Test "yn (3, 10.0)": @@ -6998,9 +6858,7 @@ float: 1 idouble: 1 ifloat: 1 Test "yn (3, 2.0)": -double: 1 float: 1 -idouble: 1 ifloat: 1 # Maximal error of functions: @@ -7030,10 +6888,6 @@ idouble: 1 ildouble: 1 ldouble: 1 -Function: "asin": -ildouble: 1 -ldouble: 1 - Function: "asin_downward": double: 1 float: 1 @@ -7042,10 +6896,6 @@ ifloat: 1 ildouble: 1 ldouble: 1 -Function: "asin_tonearest": -ildouble: 1 -ldouble: 1 - Function: "asin_towardzero": double: 1 float: 1 @@ -7139,9 +6989,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "catanh": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -7181,9 +7031,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "cexp": -double: 2 +double: 1 float: 1 -idouble: 2 +idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -7204,10 +7054,6 @@ ifloat: 1 ildouble: 1 ldouble: 1 -Function: Imaginary part of "clog": -ildouble: 1 -ldouble: 1 - Function: Real part of "clog10": double: 1 float: 1 @@ -7233,31 +7079,19 @@ ildouble: 1 ldouble: 1 Function: "cos_downward": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 -ildouble: 1 -ldouble: 1 - -Function: "cos_tonearest": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 Function: "cos_towardzero": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 Function: "cos_upward": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -7292,14 +7126,14 @@ double: 2 float: 5 idouble: 2 ifloat: 5 -ildouble: 5 -ldouble: 5 +ildouble: 3 +ldouble: 3 Function: Imaginary part of "cpow": -double: 2 -float: 3 -idouble: 2 -ifloat: 3 +double: 1 +float: 1 +idouble: 1 +ifloat: 1 ildouble: 4 ldouble: 4 @@ -7330,8 +7164,6 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 2 -ldouble: 2 Function: Real part of "csqrt": ildouble: 1 @@ -7351,23 +7183,19 @@ ldouble: 2 Function: Imaginary part of "ctan": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Function: Real part of "ctan_downward": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 3 ldouble: 3 Function: Imaginary part of "ctan_downward": -float: 3 -ifloat: 3 +float: 2 +ifloat: 2 ildouble: 4 ldouble: 4 @@ -7390,14 +7218,12 @@ ildouble: 1 ldouble: 1 Function: Imaginary part of "ctan_towardzero": -float: 3 -ifloat: 3 +float: 1 +ifloat: 1 ildouble: 4 ldouble: 4 Function: Real part of "ctan_upward": -float: 1 -ifloat: 1 ildouble: 2 ldouble: 2 @@ -7426,16 +7252,14 @@ ildouble: 2 ldouble: 2 Function: Real part of "ctanh_downward": -float: 3 -ifloat: 3 +float: 2 +ifloat: 2 ildouble: 4 ldouble: 4 Function: Imaginary part of "ctanh_downward": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 3 ldouble: 3 @@ -7450,8 +7274,8 @@ float: 1 ifloat: 1 Function: Real part of "ctanh_towardzero": -float: 3 -ifloat: 3 +float: 1 +ifloat: 1 ildouble: 4 ldouble: 4 @@ -7472,8 +7296,6 @@ ildouble: 4 ldouble: 4 Function: Imaginary part of "ctanh_upward": -float: 1 -ifloat: 1 ildouble: 2 ldouble: 2 @@ -7483,15 +7305,13 @@ idouble: 1 Function: "erfc": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 1 ldouble: 1 Function: "exp10": -ildouble: 8 -ldouble: 8 +ildouble: 1 +ldouble: 1 Function: "exp_downward": double: 1 @@ -7532,25 +7352,25 @@ float: 1 ifloat: 1 Function: "j0": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 +double: 1 +float: 1 +idouble: 1 +ifloat: 1 ildouble: 2 ldouble: 2 Function: "j1": double: 2 -float: 2 +float: 1 idouble: 2 -ifloat: 2 +ifloat: 1 ildouble: 1 ldouble: 1 Function: "jn": -double: 5 +double: 2 float: 4 -idouble: 5 +idouble: 2 ifloat: 4 ildouble: 3 ldouble: 3 @@ -7586,16 +7406,12 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Function: "pow_towardzero": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 Function: "pow_upward": double: 1 @@ -7605,36 +7421,20 @@ ifloat: 1 ildouble: 1 ldouble: 1 -Function: "sin": -float: 1 -ifloat: 1 - Function: "sin_downward": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 - -Function: "sin_tonearest": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 Function: "sin_towardzero": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 Function: "sin_upward": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -7648,8 +7448,8 @@ ildouble: 1 ldouble: 1 Function: "sinh": -double: 1 ildouble: 1 +ldouble: 1 Function: "sinh_downward": double: 1 @@ -7682,9 +7482,7 @@ ildouble: 1 ldouble: 1 Function: "tan_downward": -double: 1 float: 2 -idouble: 1 ifloat: 2 ildouble: 1 ldouble: 1 @@ -7696,17 +7494,13 @@ ildouble: 1 ldouble: 1 Function: "tan_towardzero": -double: 1 float: 1 -idouble: 1 ifloat: 1 -ildouble: 2 -ldouble: 2 +ildouble: 1 +ldouble: 1 Function: "tan_upward": -double: 1 float: 1 -idouble: 1 ifloat: 1 ildouble: 2 ldouble: 2 @@ -7720,10 +7514,10 @@ ildouble: 4 ldouble: 4 Function: "y0": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 +double: 1 +float: 1 +idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 diff --git a/sysdeps/i386/i686/multiarch/memcmp-sse4.S b/sysdeps/i386/i686/multiarch/memcmp-sse4.S index 14226f5a84..2984a374cf 100644 --- a/sysdeps/i386/i686/multiarch/memcmp-sse4.S +++ b/sysdeps/i386/i686/multiarch/memcmp-sse4.S @@ -58,7 +58,7 @@ /* Get the entry and convert the relative offset to the \ absolute address. */ \ addl (%ebx,INDEX,SCALE), %ebx; \ -/* We loaded the jump table and adjuested EDX/ESI. Go. */ \ +/* We loaded the jump table and adjusted EDX/ESI. Go. */ \ jmp *%ebx # else # define JMPTBL(I, B) I diff --git a/sysdeps/i386/i686/multiarch/memset-sse2-rep.S b/sysdeps/i386/i686/multiarch/memset-sse2-rep.S index 53a0b3df0e..bcea296a9a 100644 --- a/sysdeps/i386/i686/multiarch/memset-sse2-rep.S +++ b/sysdeps/i386/i686/multiarch/memset-sse2-rep.S @@ -62,7 +62,7 @@ absolute address. */ \ add (%ebx,%ecx,4), %ebx; \ add %ecx, %edx; \ - /* We loaded the jump table and adjuested EDX. Go. */ \ + /* We loaded the jump table and adjusted EDX. Go. */ \ jmp *%ebx #else # define ENTRANCE diff --git a/sysdeps/i386/i686/multiarch/memset-sse2.S b/sysdeps/i386/i686/multiarch/memset-sse2.S index 2db588446e..36bca84a78 100644 --- a/sysdeps/i386/i686/multiarch/memset-sse2.S +++ b/sysdeps/i386/i686/multiarch/memset-sse2.S @@ -62,7 +62,7 @@ absolute address. */ \ add (%ebx,%ecx,4), %ebx; \ add %ecx, %edx; \ - /* We loaded the jump table and adjuested EDX. Go. */ \ + /* We loaded the jump table and adjusted EDX. Go. */ \ jmp *%ebx #else # define ENTRANCE diff --git a/sysdeps/i386/i686/multiarch/strcasecmp.S b/sysdeps/i386/i686/multiarch/strcasecmp.S index 3b38214c9b..25de4daf47 100644 --- a/sysdeps/i386/i686/multiarch/strcasecmp.S +++ b/sysdeps/i386/i686/multiarch/strcasecmp.S @@ -37,6 +37,8 @@ ENTRY(__strcasecmp) leal __strcasecmp_ssse3@GOTOFF(%ebx), %eax testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx) jz 2f + testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx) + jnz 2f leal __strcasecmp_sse4_2@GOTOFF(%ebx), %eax 2: popl %ebx cfi_adjust_cfa_offset (-4) @@ -54,12 +56,11 @@ ENTRY(__strcasecmp) testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features jz 2f leal __strcasecmp_ssse3, %eax -#if 0 - // XXX Temporarily testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features jz 2f + testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features + jnz 2f leal __strcasecmp_sse4_2, %eax -#endif 2: ret END(__strcasecmp) #endif diff --git a/sysdeps/i386/i686/multiarch/strcat-sse2.S b/sysdeps/i386/i686/multiarch/strcat-sse2.S index 72a1acad42..62d60cdb78 100644 --- a/sysdeps/i386/i686/multiarch/strcat-sse2.S +++ b/sysdeps/i386/i686/multiarch/strcat-sse2.S @@ -49,7 +49,7 @@ /* Get the entry and convert the relative offset to the \ absolute address. */ \ addl (%ecx,INDEX,SCALE), %ecx; \ - /* We loaded the jump table and adjuested ECX. Go. */ \ + /* We loaded the jump table and adjusted ECX. Go. */ \ jmp *%ecx # else # define JMPTBL(I, B) I diff --git a/sysdeps/i386/i686/multiarch/strcmp-sse4.S b/sysdeps/i386/i686/multiarch/strcmp-sse4.S index 7177205d0f..355ed4e674 100644 --- a/sysdeps/i386/i686/multiarch/strcmp-sse4.S +++ b/sysdeps/i386/i686/multiarch/strcmp-sse4.S @@ -53,7 +53,7 @@ # define STR1 8 # endif # define STR2 STR1+4 -# define LOCALE 12 /* Loaded before the adjustement. */ +# define LOCALE 12 /* Loaded before the adjustment. */ # ifdef PIC # define RETURN POP (%edi); POP (%ebx); ret; \ .p2align 4; CFI_PUSH (%ebx); CFI_PUSH (%edi) @@ -73,7 +73,7 @@ # endif # define STR2 STR1+4 # define CNT STR2+4 -# define LOCALE 16 /* Loaded before the adjustement. */ +# define LOCALE 16 /* Loaded before the adjustment. */ # ifdef PIC # define RETURN POP (%edi); POP (REM); POP (%ebx); ret; \ .p2align 4; \ @@ -121,8 +121,14 @@ ENTRY (__strcasecmp_sse4_2) movl (%eax), %eax # endif testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) +# ifdef PIC + je L(ascii) + POP (%ebx) + jmp __strcasecmp_nonascii +# else jne __strcasecmp_nonascii jmp L(ascii) +# endif END (__strcasecmp_sse4_2) #endif @@ -152,8 +158,14 @@ ENTRY (__strncasecmp_sse4_2) movl (%eax), %eax # endif testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) +# ifdef PIC + je L(ascii) + POP (%ebx) + jmp __strncasecmp_nonascii +# else jne __strncasecmp_nonascii jmp L(ascii) +# endif END (__strncasecmp_sse4_2) #endif diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S index f2bc204273..3eb304bca0 100644 --- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S +++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S @@ -61,7 +61,7 @@ # define STR1 4 # endif # define STR2 STR1+4 -# define LOCALE 12 /* Loaded before the adjustement. */ +# define LOCALE 12 /* Loaded before the adjustment. */ # ifdef PIC # define RETURN POP (%ebx); ret; .p2align 4; CFI_PUSH (%ebx) # else @@ -82,7 +82,7 @@ # endif # define STR2 STR1+4 # define CNT STR2+4 -# define LOCALE 16 /* Loaded before the adjustement. */ +# define LOCALE 16 /* Loaded before the adjustment. */ # ifdef PIC # define RETURN POP (REM); POP (%ebx); ret; \ .p2align 4; CFI_PUSH (%ebx); CFI_PUSH (REM) @@ -138,8 +138,14 @@ ENTRY (__strcasecmp_ssse3) movl (%eax), %eax # endif testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) +# ifdef PIC + je L(ascii) + POP (%ebx) + jmp __strcasecmp_nonascii +# else jne __strcasecmp_nonascii jmp L(ascii) +# endif END (__strcasecmp_ssse3) #endif @@ -169,8 +175,14 @@ ENTRY (__strncasecmp_ssse3) movl (%eax), %eax # endif testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) +# ifdef PIC + je L(ascii) + POP (%ebx) + jmp __strncasecmp_nonascii +# else jne __strncasecmp_nonascii jmp L(ascii) +# endif END (__strncasecmp_ssse3) #endif diff --git a/sysdeps/i386/i686/multiarch/strcmp.S b/sysdeps/i386/i686/multiarch/strcmp.S index 7dc2cefabe..41dd3b3f1c 100644 --- a/sysdeps/i386/i686/multiarch/strcmp.S +++ b/sysdeps/i386/i686/multiarch/strcmp.S @@ -68,6 +68,8 @@ ENTRY(STRCMP) leal __STRCMP_SSSE3@GOTOFF(%ebx), %eax testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx) jz 2f + testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx) + jnz 2f leal __STRCMP_SSE4_2@GOTOFF(%ebx), %eax 2: popl %ebx cfi_adjust_cfa_offset (-4) @@ -87,6 +89,8 @@ ENTRY(STRCMP) leal __STRCMP_SSSE3, %eax testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features jz 2f + testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features + jnz 2f leal __STRCMP_SSE4_2, %eax 2: ret END(STRCMP) diff --git a/sysdeps/i386/i686/multiarch/strcpy-sse2.S b/sysdeps/i386/i686/multiarch/strcpy-sse2.S index 07db134fa6..d942ac2852 100644 --- a/sysdeps/i386/i686/multiarch/strcpy-sse2.S +++ b/sysdeps/i386/i686/multiarch/strcpy-sse2.S @@ -64,7 +64,7 @@ /* Get the entry and convert the relative offset to the \ absolute address. */ \ addl (%ecx,INDEX,SCALE), %ecx; \ - /* We loaded the jump table and adjuested ECX. Go. */ \ + /* We loaded the jump table and adjusted ECX. Go. */ \ jmp *%ecx # else # define JMPTBL(I, B) I @@ -128,7 +128,7 @@ ENTRY (STRCPY) sub %ecx, %edi -/* If source adress alignment != destination adress alignment */ +/* If source address alignment != destination address alignment */ .p2align 4 L(Unalign16Both): mov $16, %ecx @@ -271,7 +271,7 @@ L(Unaligned64Leave): lea 49(%edi, %edx), %edi jmp L(StrncpyFillTailWithZero) -/* If source adress alignment == destination adress alignment */ +/* If source address alignment == destination address alignment */ L(SourceStringAlignmentZero): pxor %xmm0, %xmm0 diff --git a/sysdeps/i386/i686/multiarch/strncase.S b/sysdeps/i386/i686/multiarch/strncase.S index 51c6d721c9..de97e1b1a2 100644 --- a/sysdeps/i386/i686/multiarch/strncase.S +++ b/sysdeps/i386/i686/multiarch/strncase.S @@ -37,6 +37,8 @@ ENTRY(__strncasecmp) leal __strncasecmp_ssse3@GOTOFF(%ebx), %eax testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx) jz 2f + testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features@GOTOFF(%ebx) + jnz 2f leal __strncasecmp_sse4_2@GOTOFF(%ebx), %eax 2: popl %ebx cfi_adjust_cfa_offset (-4) @@ -54,12 +56,11 @@ ENTRY(__strncasecmp) testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features jz 2f leal __strncasecmp_ssse3, %eax -#if 0 - // XXX Temporarily testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features jz 2f + testl $bit_Slow_SSE4_2, CPUID_OFFSET+index_Slow_SSE4_2+__cpu_features + jnz 2f leal __strncasecmp_sse4_2, %eax -#endif 2: ret END(__strncasecmp) #endif diff --git a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S index 039f6c4fa3..14d36c7e40 100644 --- a/sysdeps/i386/setjmp.S +++ b/sysdeps/i386/setjmp.S @@ -29,7 +29,7 @@ ENTRY (__sigsetjmp) movl JMPBUF(%esp), %eax - /* Save registers. */ + /* Save registers. */ movl %ebx, (JB_BX*4)(%eax) movl %esi, (JB_SI*4)(%eax) movl %edi, (JB_DI*4)(%eax) @@ -37,13 +37,13 @@ ENTRY (__sigsetjmp) #ifdef PTR_MANGLE PTR_MANGLE (%ecx) #endif - movl %ecx, (JB_SP*4)(%eax) + movl %ecx, (JB_SP*4)(%eax) movl 0(%esp), %ecx /* Save PC we are returning to now. */ LIBC_PROBE (setjmp, 3, 4@%eax, -4@SIGMSK(%esp), 4@%ecx) #ifdef PTR_MANGLE PTR_MANGLE (%ecx) #endif - movl %ecx, (JB_PC*4)(%eax) + movl %ecx, (JB_PC*4)(%eax) movl %ebp, (JB_BP*4)(%eax) /* Save caller's frame pointer. */ #if defined NOT_IN_libc && defined IS_IN_rtld diff --git a/sysdeps/i386/stpncpy.S b/sysdeps/i386/stpncpy.S index 11882738d9..b23e8208a0 100644 --- a/sysdeps/i386/stpncpy.S +++ b/sysdeps/i386/stpncpy.S @@ -1,4 +1,4 @@ -/* copy no more then N bytes from SRC to DEST, returning the address of +/* copy no more than N bytes from SRC to DEST, returning the address of the terminating '\0' in DEST. For Intel 80x86, x>=3. Copyright (C) 1994-2013 Free Software Foundation, Inc. diff --git a/sysdeps/i386/strpbrk.S b/sysdeps/i386/strpbrk.S index bbc0cbeb6f..246ae27c53 100644 --- a/sysdeps/i386/strpbrk.S +++ b/sysdeps/i386/strpbrk.S @@ -205,7 +205,7 @@ L(1): leal -4(%edx), %eax /* prepare loop */ 1. a character in the stopset was found and 2. the end of the string was found - But as a sign that the chracter is in the stopset we store its + But as a sign that the character is in the stopset we store its value in the table. But the value of NUL is NUL so the loop terminates for NUL in every case. */ |