diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
commit | a65dd355fb80a05215e15ae97649de52aec885e3 (patch) | |
tree | 81701bb0c6b648630f2bf1729a85d7f5eb49e67b /sysdeps/i386 | |
parent | 296a5732f94abe4d5699dc981e4ccfb950b48cee (diff) | |
parent | b4578bab30f72cddd2cf38abfb39f9c8dc892249 (diff) |
Merge branch 'baseline' into refs/top-bases/tschwinge/Roger_Whittaker
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/configure | 2 | ||||
-rw-r--r-- | sysdeps/i386/configure.ac (renamed from sysdeps/i386/configure.in) | 0 | ||||
-rw-r--r-- | sysdeps/i386/ffs.c | 1 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_expl.S | 15 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_pow.S | 9 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_powf.S | 5 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_powl.S | 9 | ||||
-rw-r--r-- | sysdeps/i386/fpu/e_sqrt.S | 10 | ||||
-rw-r--r-- | sysdeps/i386/fpu/fegetround.c | 1 | ||||
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 3758 | ||||
-rw-r--r-- | sysdeps/i386/fpu/s_expm1.S | 11 | ||||
-rw-r--r-- | sysdeps/i386/fpu/s_expm1f.S | 11 | ||||
-rw-r--r-- | sysdeps/i386/fpu/w_sqrt.c | 8 | ||||
-rw-r--r-- | sysdeps/i386/i686/ffs.c | 1 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/Makefile | 7 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/ifunc-impl-list.c | 11 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcasestr-nonascii.c | 2 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcasestr.c | 1 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strstr-c.c | 29 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strstr.c | 1 | ||||
-rw-r--r-- | sysdeps/i386/stackguard-macros.h | 8 |
21 files changed, 3842 insertions, 58 deletions
diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure index 53b6a619d3..5dcc159900 100644 --- a/sysdeps/i386/configure +++ b/sysdeps/i386/configure @@ -29,7 +29,7 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/i386. # We no longer support i386 since it lacks the atomic instructions diff --git a/sysdeps/i386/configure.in b/sysdeps/i386/configure.ac index 96ab7b0f5a..96ab7b0f5a 100644 --- a/sysdeps/i386/configure.in +++ b/sysdeps/i386/configure.ac diff --git a/sysdeps/i386/ffs.c b/sysdeps/i386/ffs.c index 47496dcf79..77d2e60b76 100644 --- a/sysdeps/i386/ffs.c +++ b/sysdeps/i386/ffs.c @@ -41,6 +41,7 @@ __ffs (x) return cnt; } weak_alias (__ffs, ffs) +libc_hidden_def (__ffs) libc_hidden_builtin_def (ffs) #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/i386/fpu/e_expl.S b/sysdeps/i386/fpu/e_expl.S index af339f0ff4..a8a5e70b07 100644 --- a/sysdeps/i386/fpu/e_expl.S +++ b/sysdeps/i386/fpu/e_expl.S @@ -130,9 +130,24 @@ ENTRY(IEEE754_EXPL) #endif 3: FLDLOG /* 1 log2(base) */ fmul %st(1), %st /* 1 x log2(base) */ +#ifdef USE_AS_EXPM1L + /* Set round-to-nearest temporarily. */ + subl $8, %esp + cfi_adjust_cfa_offset (8) + fstcw 4(%esp) + movl $0xf3ff, %edx + andl 4(%esp), %edx + movl %edx, (%esp) + fldcw (%esp) +#endif frndint /* 1 i */ fld %st(1) /* 2 x */ frndint /* 2 xi */ +#ifdef USE_AS_EXPM1L + fldcw 4(%esp) + addl $8, %esp + cfi_adjust_cfa_offset (-8) +#endif fld %st(1) /* 3 i */ fldt MO(c0) /* 4 c0 */ fld %st(2) /* 5 xi */ diff --git a/sysdeps/i386/fpu/e_pow.S b/sysdeps/i386/fpu/e_pow.S index 109c395934..835c39b7bd 100644 --- a/sysdeps/i386/fpu/e_pow.S +++ b/sysdeps/i386/fpu/e_pow.S @@ -98,6 +98,9 @@ ENTRY(__ieee754_pow) cmpb $0x05, %ah je 15f // x is ħinf + cmpb $0x01, %ah + je 32f // x is NaN + fxch // y : x /* fistpll raises invalid exception for |y| >= 1L<<63. */ @@ -166,6 +169,12 @@ ENTRY(__ieee754_pow) ret cfi_adjust_cfa_offset (8) +32: addl $8, %esp + cfi_adjust_cfa_offset (-8) + fstp %st(1) + ret + + cfi_adjust_cfa_offset (8) .align ALIGNARG(4) 2: // y is a large integer (absolute value at least 1L<<10), but // may be odd unless at least 1L<<64. So it may be necessary diff --git a/sysdeps/i386/fpu/e_powf.S b/sysdeps/i386/fpu/e_powf.S index 7fad90f6cb..90d3d0ca6a 100644 --- a/sysdeps/i386/fpu/e_powf.S +++ b/sysdeps/i386/fpu/e_powf.S @@ -95,6 +95,9 @@ ENTRY(__ieee754_powf) cmpb $0x05, %ah je 15f // x is ħinf + cmpb $0x01, %ah + je 32f // x is NaN + fxch // y : x /* fistpl raises invalid exception for |y| >= 1L<<31. */ @@ -180,7 +183,7 @@ ENTRY(__ieee754_powf) f2xm1 // 2^fract(y*log2(x))-1 : int(y*log2(x)) faddl MO(one) // 2^fract(y*log2(x)) : int(y*log2(x)) fscale // 2^fract(y*log2(x))*2^int(y*log2(x)) : int(y*log2(x)) - addl $4, %esp +32: addl $4, %esp cfi_adjust_cfa_offset (-4) fstp %st(1) // 2^fract(y*log2(x))*2^int(y*log2(x)) ret diff --git a/sysdeps/i386/fpu/e_powl.S b/sysdeps/i386/fpu/e_powl.S index 3c23117c39..91e22c8a29 100644 --- a/sysdeps/i386/fpu/e_powl.S +++ b/sysdeps/i386/fpu/e_powl.S @@ -104,6 +104,9 @@ ENTRY(__ieee754_powl) cmpb $0x05, %ah je 15f // x is ħinf + cmpb $0x01, %ah + je 32f // x is NaN + fxch // y : x /* fistpll raises invalid exception for |y| >= 1L<<63. */ @@ -188,6 +191,12 @@ ENTRY(__ieee754_powl) ret cfi_adjust_cfa_offset (8) +32: addl $8, %esp + cfi_adjust_cfa_offset (-8) + fstp %st(1) + ret + + cfi_adjust_cfa_offset (8) .align ALIGNARG(4) 2: // y is a large integer (absolute value at least 8), but // may be odd unless at least 1L<<64. So it may be necessary diff --git a/sysdeps/i386/fpu/e_sqrt.S b/sysdeps/i386/fpu/e_sqrt.S index 1054ba4532..fba5833a9a 100644 --- a/sysdeps/i386/fpu/e_sqrt.S +++ b/sysdeps/i386/fpu/e_sqrt.S @@ -7,7 +7,17 @@ ENTRY(__ieee754_sqrt) fldl 4(%esp) + subl $8, %esp + cfi_adjust_cfa_offset (8) + fstcw 4(%esp) + movl $0xfeff, %edx + andl 4(%esp), %edx + movl %edx, (%esp) + fldcw (%esp) fsqrt + fldcw 4(%esp) + addl $8, %esp + cfi_adjust_cfa_offset (-8) ret END (__ieee754_sqrt) strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/i386/fpu/fegetround.c b/sysdeps/i386/fpu/fegetround.c index d0170d3c86..cd96ae99d3 100644 --- a/sysdeps/i386/fpu/fegetround.c +++ b/sysdeps/i386/fpu/fegetround.c @@ -28,3 +28,4 @@ fegetround (void) return cw & 0xc00; } +libm_hidden_def (fegetround) diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 530dbd7402..ca16bc5e53 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -4,6 +4,9 @@ Test "acos (0.75)": ildouble: 1 ldouble: 1 +Test "acos (0xcp-4)": +ildouble: 1 +ldouble: 1 # acos_downward Test "acos_downward (-0)": @@ -31,6 +34,26 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "acos_downward (0xf.fffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "acos_downward (0xf.ffffffffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "acos_downward (0xf.fffffffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "acos_downward (0xf.fffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "acos_downward (0xf.fffffp-4)": +ildouble: 1 +ldouble: 1 + +# acos_tonearest +Test "acos_tonearest (0xcp-4)": +ildouble: 1 +ldouble: 1 # acos_towardzero Test "acos_towardzero (-0)": @@ -58,6 +81,21 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "acos_towardzero (0xf.fffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "acos_towardzero (0xf.ffffffffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "acos_towardzero (0xf.fffffffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "acos_towardzero (0xf.fffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "acos_towardzero (0xf.fffffp-4)": +ildouble: 1 +ldouble: 1 # acos_upward Test "acos_upward (-0)": @@ -75,8 +113,32 @@ idouble: 1 Test "acos_upward (0.5)": ildouble: 1 ldouble: 1 +Test "acos_upward (0xcp-4)": +ildouble: 1 +ldouble: 1 +Test "acos_upward (0xf.fffffffffffffffp-4)": +ildouble: 1 +ldouble: 1 # asin_downward +Test "asin_downward (-0x8p-4)": +ildouble: 1 +ldouble: 1 +Test "asin_downward (-0xf.fffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "asin_downward (-0xf.ffffffffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "asin_downward (-0xf.fffffffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "asin_downward (-0xf.fffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "asin_downward (-0xf.fffffp-4)": +ildouble: 1 +ldouble: 1 Test "asin_downward (-1.0)": double: 1 idouble: 1 @@ -119,19 +181,48 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "asin_upward (-0xf.fffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "asin_upward (-0xf.ffffffffffff8p-4)": +ildouble: 1 +ldouble: 1 +Test "asin_upward (-0xf.fffffffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "asin_upward (-0xf.fffffffffffp-4)": +ildouble: 1 +ldouble: 1 +Test "asin_upward (-0xf.fffffp-4)": +ildouble: 1 +ldouble: 1 Test "asin_upward (-1.0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "asin_upward (0x8p-4)": +ildouble: 1 +ldouble: 1 Test "asin_upward (1.0)": double: 1 idouble: 1 +# atan2 +Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e5124664p-12)": +ildouble: 1 +ldouble: 1 +Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1ep-12)": +ildouble: 1 +ldouble: 1 + # atanh Test "atanh (0.75)": ildouble: 2 ldouble: 1 +Test "atanh (0xcp-4)": +ildouble: 2 +ldouble: 1 # cacos Test "Imaginary part of: cacos (+0 + 0.5 i)": @@ -4100,12 +4191,30 @@ ildouble: 1 ldouble: 1 # cbrt +Test "cbrt (-0x1.bp+4)": +ildouble: 1 +ldouble: 1 +Test "cbrt (-0x4.189374bc6a7ecp-12)": +ildouble: 1 +ldouble: 1 +Test "cbrt (-0x4.189374bc6a7ef9ep-12)": +ildouble: 1 +ldouble: 1 +Test "cbrt (-0x4.189374bc6a7fp-12)": +ildouble: 1 +ldouble: 1 +Test "cbrt (-0x4.18937p-12)": +ildouble: 1 +ldouble: 1 Test "cbrt (-27.0)": ildouble: 1 ldouble: 1 Test "cbrt (0.75)": ildouble: 1 ldouble: 1 +Test "cbrt (0xcp-4)": +ildouble: 1 +ldouble: 1 # ccos Test "Real part of: ccos (-0.75 + 710.5 i)": @@ -4758,6 +4867,9 @@ idouble: 1 ifloat: 1 # cos +Test "cos (0x1.921fb4p+0)": +ildouble: 1 +ldouble: 1 Test "cos (M_PI_6l * 2.0)": double: 1 idouble: 1 @@ -4768,6 +4880,151 @@ idouble: 2 ifloat: 1 # cos_downward +Test "cos_downward (0x1.000000cf4a2a2p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.0000010b239a9p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.00000162a932bp+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.000002d452a1p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.000002p+0)": +double: 1 +idouble: 1 +Test "cos_downward (0x1.0c152382d7365p+0)": +double: 1 +idouble: 1 +Test "cos_downward (0x1.921fb4p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.921fb54442d18468p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.921fb54442d1846ap+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.921fb54442d18p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.921fb54442d19p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1.921fb6p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1p+0)": +double: 1 +idouble: 1 +Test "cos_downward (0x1p+120)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x1p+28)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.182a44p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.182a4705ae6cap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.182a4705ae6cb08cp+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.182a4705ae6cb09p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.182a4705ae6ccp+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.182a48p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x2.1e19e0c9bab24p+72)": +double: 1 +idouble: 1 +Test "cos_downward (0x2.1e19e4p+72)": +double: 1 +idouble: 1 +Test "cos_downward (0x2.1e19ep+72)": +double: 1 +idouble: 1 +Test "cos_downward (0x2p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x3p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x4p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x4p+48)": +double: 1 +idouble: 1 +Test "cos_downward (0x8p+0)": +ildouble: 2 +ldouble: 2 +Test "cos_downward (0x8p+1020)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0x9p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0xa.217bap+12)": +ildouble: 1 +ldouble: 1 +Test "cos_downward (0xap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0xc.d4966d92d1708p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0xc.d4966d92d171p-4)": +double: 1 +idouble: 1 +Test "cos_downward (0xc.d4966p-4)": +double: 1 +idouble: 1 +Test "cos_downward (0xcp-4)": +double: 1 +idouble: 1 +Test "cos_downward (0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_downward (0xf.fffffp+124)": +double: 1 +idouble: 1 Test "cos_downward (1)": ildouble: 1 ldouble: 1 @@ -4800,7 +5057,105 @@ Test "cos_downward (9)": float: 1 ifloat: 1 +# cos_tonearest +Test "cos_tonearest (0x1.921fb4p+0)": +ildouble: 1 +ldouble: 1 + # cos_towardzero +Test "cos_towardzero (0x1.000000cf4a2a2p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0x1.0000010b239a9p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0x1.00000162a932bp+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0x1.000002d452a1p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0x1.000002p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x1.0c152382d7365p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x1.921fb4p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0x1.921fb54442d18p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x1.921fb54442d19p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x1p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x1p+120)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x2.182a4705ae6ccp+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x2.182a48p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x2.1e19e0c9bab24p+72)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x2.1e19e4p+72)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x2.1e19ep+72)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x2p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x4p+0)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x4p+48)": +double: 1 +idouble: 1 +Test "cos_towardzero (0x8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0x8p+1020)": +double: 1 +idouble: 1 +Test "cos_towardzero (0xa.217bap+12)": +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0xc.d4966d92d1708p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_towardzero (0xc.d4966d92d171p-4)": +double: 1 +idouble: 1 +Test "cos_towardzero (0xc.d4966p-4)": +double: 1 +idouble: 1 +Test "cos_towardzero (0xcp-4)": +double: 1 +idouble: 1 +Test "cos_towardzero (0xf.fffffp+124)": +double: 1 +idouble: 1 Test "cos_towardzero (1)": ildouble: 1 ldouble: 1 @@ -4832,6 +5187,139 @@ ildouble: 1 ldouble: 1 # cos_upward +Test "cos_upward (-0x2p+64)": +double: 1 +idouble: 1 +Test "cos_upward (0x1.000004p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x1.000005bc7d86dp+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x1.000006p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x1.0c1522p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x1.0c152382d7366p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x1.0c1524p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x1.921fb4p+0)": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "cos_upward (0x1.921fb54442d18468p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x1.921fb54442d1846ap+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x1.921fb54442d18p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x1.921fb54442d19p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x1.921fb6p+0)": +ildouble: 2 +ldouble: 2 +Test "cos_upward (0x1p+120)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x1p+28)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2.182a44p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2.182a4705ae6cap+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2.182a4705ae6cb08cp+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2.182a4705ae6cb09p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2.182a4705ae6ccp+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2.182a48p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x2p+64)": +double: 1 +idouble: 1 +Test "cos_upward (0x3p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x4p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x5p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x6p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x7p+0)": +double: 1 +idouble: 1 +Test "cos_upward (0x8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x8p+1020)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "cos_upward (0x8p+124)": +double: 1 +idouble: 1 +Test "cos_upward (0x9p+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0xa.217bap+12)": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "cos_upward (0xap+0)": +ildouble: 1 +ldouble: 1 +Test "cos_upward (0xc.d4967p-4)": +double: 1 +idouble: 1 +Test "cos_upward (0xf.ffffcp+124)": +double: 1 +idouble: 1 +Test "cos_upward (0xf.ffffffffffff8p+1020)": +ildouble: 1 +ldouble: 1 Test "cos_upward (1)": float: 1 ifloat: 1 @@ -4861,7 +5349,22 @@ Test "cos_upward (9)": ildouble: 1 ldouble: 1 +# cosh +Test "cosh (-0x2.c5e3acp+8)": +ildouble: 1 +Test "cosh (-0x2.c5e3bp+8)": +ildouble: 1 +Test "cosh (0x1.6p+4)": +ldouble: 1 + # cosh_downward +Test "cosh_downward (-0x2.c5e3acd2922a6p+8)": +ildouble: 1 +Test "cosh_downward (-0x2.c5e3bp+8)": +ildouble: 1 +Test "cosh_downward (0x1.6p+4)": +ildouble: 1 +ldouble: 2 Test "cosh_downward (22)": double: 1 float: 1 @@ -4883,10 +5386,21 @@ ildouble: 1 ldouble: 1 # cosh_tonearest +Test "cosh_tonearest (-0x2.c5e3acp+8)": +ildouble: 1 +Test "cosh_tonearest (-0x2.c5e3bp+8)": +ildouble: 1 +Test "cosh_tonearest (0x1.6p+4)": +ldouble: 1 Test "cosh_tonearest (22)": ldouble: 1 # cosh_towardzero +Test "cosh_towardzero (-0x2.c5e3acd2922a6p+8)": +ildouble: 1 +Test "cosh_towardzero (0x1.6p+4)": +ildouble: 1 +ldouble: 2 Test "cosh_towardzero (22)": double: 1 float: 1 @@ -4908,6 +5422,30 @@ ildouble: 1 ldouble: 1 # cosh_upward +Test "cosh_upward (-0x2.c5e3acd2922a6p+8)": +double: 1 +ildouble: 1 +ldouble: 1 +Test "cosh_upward (-0x2.c5e3acp+8)": +ildouble: 1 +Test "cosh_upward (-0x2.c5e3bp+8)": +ildouble: 1 +Test "cosh_upward (0x1.6p+4)": +ildouble: 1 +ldouble: 1 +Test "cosh_upward (0x1.7p+4)": +ildouble: 2 +ldouble: 1 +Test "cosh_upward (0x1.8p+4)": +ildouble: 1 +Test "cosh_upward (0x2.c5e3acd2922a6p+8)": +double: 1 +ildouble: 2 +ldouble: 1 +Test "cosh_upward (0x2.c5e3acp+8)": +ildouble: 1 +Test "cosh_upward (0x2.c5e3bp+8)": +ildouble: 1 Test "cosh_upward (22)": ildouble: 2 ldouble: 1 @@ -5269,6 +5807,9 @@ ldouble: 1 Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i)": float: 1 ifloat: 1 +Test "Imaginary part of: ctanh (0 + M_PI_4l i)": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: ctanh (0 + pi/4 i)": ildouble: 1 ldouble: 1 @@ -5378,11 +5919,20 @@ ildouble: 2 ldouble: 2 # erf +Test "erf (-0x8p-4)": +ildouble: 1 +ldouble: 1 +Test "erf (0x1.4p+0)": +double: 1 +idouble: 1 Test "erf (1.25)": double: 1 idouble: 1 # erfc +Test "erfc (0x1.4p+0)": +ildouble: 1 +ldouble: 1 Test "erfc (0x1.f7303cp+1)": double: 1 idouble: 1 @@ -5394,6 +5944,39 @@ ldouble: 1 Test "erfc (0x1.ffffc8p+2)": double: 1 idouble: 1 +Test "erfc (0x2p+0)": +double: 1 +idouble: 1 +Test "erfc (0x3.ee6078p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "erfc (0x4.2p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "erfc (0x6.4p+4)": +ildouble: 1 +ldouble: 1 +Test "erfc (0x7.fe8008p+0)": +ildouble: 1 +ldouble: 1 +Test "erfc (0x7.fffd58p+0)": +double: 1 +idouble: 1 +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.ffff2p+0)": +double: 1 +idouble: 1 Test "erfc (1.25)": ildouble: 1 ldouble: 1 @@ -5410,8 +5993,22 @@ ldouble: 1 Test "exp10 (0.75)": ildouble: 1 ldouble: 1 +Test "exp10 (0xcp-4)": +ildouble: 1 +ldouble: 1 # exp_downward +Test "exp_downward (0x2.c5cp+8)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "exp_downward (0x2p+0)": +ildouble: 1 +ldouble: 1 +Test "exp_downward (0x3.e8p+8)": +ildouble: 1 +ldouble: 1 Test "exp_downward (1)": ildouble: 1 ldouble: 1 @@ -5431,6 +6028,41 @@ ildouble: 1 ldouble: 1 # exp_towardzero +Test "exp_towardzero (-0x2.e870a4p+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.e870a7e5e88c1f0cp+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.e870a7e5e88c1f1p+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.e870a7e5e88c2p+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.e870a7e5e88cp+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.e870a8p+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.ebe224p+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (-0x2.ebe228p+8)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (0x2.c5cp+8)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (0x2p+0)": +ildouble: 1 +ldouble: 1 +Test "exp_towardzero (0x3.e8p+8)": +ildouble: 1 +ldouble: 1 Test "exp_towardzero (1)": ildouble: 1 ldouble: 1 @@ -5450,6 +6082,12 @@ ildouble: 1 ldouble: 1 # exp_upward +Test "exp_upward (-0x2.e870a7e5e88c1f0cp+8)": +ildouble: 1 +ldouble: 1 +Test "exp_upward (-0x2.e870a7e5e88cp+8)": +ildouble: 1 +ldouble: 1 Test "exp_upward (1)": double: 1 float: 1 @@ -5457,22 +6095,429 @@ idouble: 1 ifloat: 1 # expm1 +Test "expm1 (-0x1p-64)": +ildouble: 1 +ldouble: 1 +Test "expm1 (-0x2.dp+4)": +ildouble: 1 +ldouble: 1 +Test "expm1 (-0x4p-12)": +ildouble: 1 +ldouble: 1 Test "expm1 (-45.0)": ildouble: 1 ldouble: 1 +Test "expm1 (0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "expm1 (0x2.c5c4p+12)": +ildouble: 1 +ldouble: 1 Test "expm1 (11356.25)": ildouble: 1 ldouble: 1 +# expm1_downward +Test "expm1_downward (-0x1p-100)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (-0x2.ep+4)": +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (-0x4.9p+4)": +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (-0x4.bp+4)": +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (-0x4p-4)": +ildouble: 1 +ldouble: 1 +Test "expm1_downward (-0x5p+4)": +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (-0x6.4p+4)": +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x1p-100)": +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x1p-32)": +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x3.2p+4)": +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x4p-12)": +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x4p-52)": +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x7.fp+4)": +ildouble: 1 +ldouble: 1 +Test "expm1_downward (0x8p-32)": +ildouble: 1 +ldouble: 1 + +# expm1_tonearest +Test "expm1_tonearest (-0x1p-64)": +ildouble: 1 +ldouble: 1 +Test "expm1_tonearest (-0x2.dp+4)": +ildouble: 1 +ldouble: 1 +Test "expm1_tonearest (-0x4p-12)": +ildouble: 1 +ldouble: 1 +Test "expm1_tonearest (0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "expm1_tonearest (0x2.c5c4p+12)": +ildouble: 1 +ldouble: 1 + +# expm1_towardzero +Test "expm1_towardzero (-0x1.2p+4)": +float: 1 +Test "expm1_towardzero (-0x1.86ap+16)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x1p-100)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x1p-20)": +ildouble: 2 +ldouble: 2 +Test "expm1_towardzero (-0x1p-32)": +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x1p-64)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x2.4p+4)": +float: 1 +Test "expm1_towardzero (-0x2.5p+4)": +float: 1 +Test "expm1_towardzero (-0x2.6p+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x2.71p+12)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x2.cp+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x2.dp+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x2.ep+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x3.e8p+8)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x4.9p+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x4.ap+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x4.bp+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x4.ep+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x4.fp+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x4p-12)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0x4p-52)": +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "expm1_towardzero (-0x5p+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x6.4p+4)": +double: 1 +float: 1 +Test "expm1_towardzero (-0x8p-32)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0xf.fffffffffffffffp+16380)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (-0xf.fffffp+124)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x1p-100)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x1p-32)": +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x3.2p+4)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x4p-12)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x4p-52)": +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x7.fp+4)": +ildouble: 1 +ldouble: 1 +Test "expm1_towardzero (0x8p-32)": +ildouble: 1 +ldouble: 1 + +# expm1_upward +Test "expm1_upward (-0x1.2p+4)": +float: 1 +Test "expm1_upward (-0x1.86ap+16)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x1p-100)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x1p-20)": +ildouble: 2 +ldouble: 2 +Test "expm1_upward (-0x1p-32)": +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x1p-64)": +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x2.4p+4)": +float: 1 +Test "expm1_upward (-0x2.5p+4)": +float: 1 +Test "expm1_upward (-0x2.6p+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x2.71p+12)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x2.cp+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x2.dp+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x2.ep+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x3.e8p+8)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x4.9p+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x4.ap+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x4.bp+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x4.ep+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x4.fp+4)": +double: 1 +float: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x4p-12)": +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0x4p-52)": +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "expm1_upward (-0x5p+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x6.4p+4)": +double: 1 +float: 1 +Test "expm1_upward (-0x8p-32)": +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0xf.fffffffffffffffp+16380)": +ildouble: 1 +ldouble: 1 +Test "expm1_upward (-0xf.fffffp+124)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "expm1_upward (0x1.f4p+8)": +ildouble: 1 +ldouble: 1 +Test "expm1_upward (0x4p-4)": +ildouble: 1 +ldouble: 1 + # gamma Test "gamma (-0.5)": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "gamma (-0x1p-10)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "gamma (-0x1p-15)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "gamma (-0x1p-20)": +double: 1 +idouble: 1 +Test "gamma (-0x1p-30)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "gamma (-0x1p-5)": +double: 1 +idouble: 1 +Test "gamma (-0x2p-16)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "gamma (-0x4p-12)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "gamma (-0x4p-32)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "gamma (-0x8p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "gamma (-0x8p-8)": +double: 1 +idouble: 1 Test "gamma (0.7)": float: 1 ifloat: 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 (1.2)": double: 1 float: 2 @@ -5488,6 +6533,42 @@ ifloat: 1 Test "hypot (-0.7, 12.4)": float: 1 ifloat: 1 +Test "hypot (-0xb.333333333333333p-4, -0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (-0xb.333333333333333p-4, 0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (-0xb.333333333333334p-4, -0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (-0xb.333333333333334p-4, 0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (-0xb.3333333333338p-4, -0xc.6666666666668p+0)": +ldouble: 1 +Test "hypot (-0xb.3333333333338p-4, 0xc.6666666666668p+0)": +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 (-0xc.6666666666668p+0, -0xb.3333333333338p-4)": +ldouble: 1 +Test "hypot (-0xc.6666666666668p+0, 0xb.3333333333338p-4)": +ldouble: 1 +Test "hypot (-0xc.666666666666p+0, -0xb.333333333333333p-4)": +ildouble: 1 +Test "hypot (-0xc.666666666666p+0, -0xb.333333333333334p-4)": +ildouble: 1 +Test "hypot (-0xc.666666666666p+0, -0xb.33333p-4)": +ildouble: 1 +ldouble: 1 +Test "hypot (-0xc.666666666666p+0, 0xb.333333333333333p-4)": +ildouble: 1 +Test "hypot (-0xc.666666666666p+0, 0xb.333333333333334p-4)": +ildouble: 1 +Test "hypot (-0xc.666666666666p+0, 0xb.33333p-4)": +ildouble: 1 +ldouble: 1 Test "hypot (-12.4, -0.7)": float: 1 ifloat: 1 @@ -5500,6 +6581,52 @@ ifloat: 1 Test "hypot (0.7, 12.4)": float: 1 ifloat: 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)": +ldouble: 1 +Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdefp-500)": +ldouble: 1 +Test "hypot (0xb.333333333333333p-4, -0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (0xb.333333333333333p-4, 0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (0xb.333333333333334p-4, -0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (0xb.333333333333334p-4, 0xc.666666666666p+0)": +ildouble: 1 +Test "hypot (0xb.3333333333338p-4, -0xc.6666666666668p+0)": +ldouble: 1 +Test "hypot (0xb.3333333333338p-4, 0xc.6666666666668p+0)": +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 (0xc.6666666666668p+0, -0xb.3333333333338p-4)": +ldouble: 1 +Test "hypot (0xc.6666666666668p+0, 0xb.3333333333338p-4)": +ldouble: 1 +Test "hypot (0xc.666666666666p+0, -0xb.333333333333333p-4)": +ildouble: 1 +Test "hypot (0xc.666666666666p+0, -0xb.333333333333334p-4)": +ildouble: 1 +Test "hypot (0xc.666666666666p+0, -0xb.33333p-4)": +ildouble: 1 +ldouble: 1 +Test "hypot (0xc.666666666666p+0, 0xb.333333333333333p-4)": +ildouble: 1 +Test "hypot (0xc.666666666666p+0, 0xb.333333333333334p-4)": +ildouble: 1 +Test "hypot (0xc.666666666666p+0, 0xb.33333p-4)": +ildouble: 1 +ldouble: 1 Test "hypot (12.4, -0.7)": float: 1 ifloat: 1 @@ -5511,6 +6638,23 @@ ifloat: 1 Test "j0 (-0x1.001000001p+593)": ildouble: 2 ldouble: 2 +Test "j0 (-0x2.002000002p+592)": +ildouble: 2 +ldouble: 2 +Test "j0 (-0x4p+0)": +double: 1 +float: 1 +idouble: 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 (-4.0)": double: 1 float: 1 @@ -5527,6 +6671,43 @@ idouble: 1 Test "j0 (0x1p16382)": ildouble: 1 ldouble: 1 +Test "j0 (0x2p+0)": +float: 1 +ifloat: 1 +Test "j0 (0x4p+0)": +double: 1 +float: 1 +idouble: 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 +float: 1 +idouble: 1 +ifloat: 1 +Test "j0 (0xe.be71dp+104)": +float: 1 +ifloat: 1 +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 Test "j0 (10.0)": double: 1 float: 1 @@ -5558,6 +6739,32 @@ idouble: 1 Test "j1 (0x1p16382)": ildouble: 1 ldouble: 1 +Test "j1 (0x2p+0)": +double: 1 +idouble: 1 +Test "j1 (0x4.ffcp+72)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "j1 (0x4p+16380)": +ildouble: 1 +ldouble: 1 +Test "j1 (0x8p+0)": +float: 1 +ifloat: 1 +Test "j1 (0xap+0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "j1 (0xf.fffffp+124)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "j1 (10.0)": double: 2 float: 1 @@ -5573,6 +6780,13 @@ float: 1 ifloat: 1 # jn +Test "jn (0, -0x4p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 Test "jn (0, -4.0)": double: 1 float: 1 @@ -5580,6 +6794,24 @@ idouble: 1 ifloat: 1 ildouble: 2 ldouble: 2 +Test "jn (0, 0x2p+0)": +float: 1 +ifloat: 1 +Test "jn (0, 0x4p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "jn (0, 0x8p+0)": +float: 1 +ifloat: 1 +Test "jn (0, 0xap+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "jn (0, 10.0)": double: 1 float: 1 @@ -5598,6 +6830,19 @@ ldouble: 2 Test "jn (0, 8.0)": float: 1 ifloat: 1 +Test "jn (1, 0x2p+0)": +double: 1 +idouble: 1 +Test "jn (1, 0x8p+0)": +float: 1 +ifloat: 1 +Test "jn (1, 0xap+0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "jn (1, 10.0)": double: 2 float: 1 @@ -5611,6 +6856,13 @@ idouble: 1 Test "jn (1, 8.0)": float: 1 ifloat: 1 +Test "jn (10, -0x1p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "jn (10, -1.0)": double: 1 float: 1 @@ -5626,18 +6878,43 @@ float: 1 ifloat: 1 ildouble: 2 ldouble: 2 -Test "jn (10, 1.0)": +Test "jn (10, 0x1p+0)": double: 1 float: 1 idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "jn (10, 10.0)": +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 (10, 1.0)": double: 1 float: 1 idouble: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "jn (10, 10.0)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 ildouble: 2 ldouble: 2 Test "jn (10, 2.0)": @@ -5648,6 +6925,63 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "jn (2, 0x1p1023)": +double: 1 +idouble: 1 +Test "jn (2, 0x1p127)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (2, 0x2.67a2a4p+0)": +float: 1 +ifloat: 1 +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)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (2, 0x2.67a2a5d2e368p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (2, 0x2.67a2a8p+0)": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "jn (2, 0x8p+1020)": +double: 1 +idouble: 1 +Test "jn (2, 0x8p+124)": +double: 1 +idouble: 1 +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 (2, 2.4048255576957729)": double: 1 float: 1 @@ -5655,9 +6989,45 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "jn (3, -0x1p+0)": +ildouble: 1 +ldouble: 1 Test "jn (3, -1.0)": ildouble: 1 ldouble: 1 +Test "jn (3, 0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "jn (3, 0x2.67a2a4p+0)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "jn (3, 0x2.67a2a5d2e36801p+0)": +ildouble: 3 +ldouble: 3 +Test "jn (3, 0x2.67a2a5d2e3682p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (3, 0x2.67a2a8p+0)": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "jn (3, 0x2p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (3, 0xap+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "jn (3, 1.0)": ildouble: 1 ldouble: 1 @@ -5674,9 +7044,45 @@ ldouble: 1 Test "jn (3, 2.4048255576957729)": ildouble: 1 ldouble: 1 +Test "jn (4, 0x2.67a2a4p+0)": +float: 1 +ifloat: 1 +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.67a2a5d2e3682p+0)": +double: 1 +idouble: 1 +Test "jn (4, 0x2.67a2a5d2e368p+0)": +ildouble: 1 +ldouble: 1 +Test "jn (4, 0x2.67a2a8p+0)": +ildouble: 1 +ldouble: 1 Test "jn (4, 2.4048255576957729)": ildouble: 2 ldouble: 2 +Test "jn (5, 0x2.67a2a4p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +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 (5, 2.4048255576957729)": double: 1 float: 1 @@ -5684,6 +7090,32 @@ idouble: 1 ifloat: 1 ildouble: 3 ldouble: 3 +Test "jn (6, 0x2.67a2a4p+0)": +float: 2 +ifloat: 2 +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)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (6, 0x2.67a2a5d2e368p+0)": +double: 1 +idouble: 1 +Test "jn (6, 0x2.67a2a8p+0)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 Test "jn (6, 2.4048255576957729)": double: 1 float: 2 @@ -5691,11 +7123,53 @@ idouble: 1 ifloat: 2 ildouble: 1 ldouble: 1 +Test "jn (7, 0x2.67a2a4p+0)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +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)": +double: 1 +idouble: 1 +ildouble: 4 +ldouble: 4 +Test "jn (7, 0x2.67a2a5d2e368p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "jn (7, 0x2.67a2a8p+0)": +float: 1 +ifloat: 1 Test "jn (7, 2.4048255576957729)": double: 1 float: 2 idouble: 1 ifloat: 2 +Test "jn (8, 0x2.67a2a4p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "jn (8, 0x2.67a2a5d2e3682p+0)": +double: 2 +idouble: 2 +Test "jn (8, 0x2.67a2a5d2e368p+0)": +double: 1 +idouble: 1 +Test "jn (8, 0x2.67a2a8p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "jn (8, 2.4048255576957729)": double: 1 float: 3 @@ -5703,6 +7177,22 @@ idouble: 1 ifloat: 3 ildouble: 2 ldouble: 2 +Test "jn (9, 0x2.67a2a4p+0)": +float: 1 +ifloat: 1 +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)": +float: 3 +ifloat: 3 +ildouble: 3 +ldouble: 3 Test "jn (9, 2.4048255576957729)": float: 4 ifloat: 4 @@ -5715,9 +7205,69 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "lgamma (-0x1p-10)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "lgamma (-0x1p-15)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "lgamma (-0x1p-20)": +double: 1 +idouble: 1 +Test "lgamma (-0x1p-30)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "lgamma (-0x1p-5)": +double: 1 +idouble: 1 +Test "lgamma (-0x2p-16)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "lgamma (-0x4p-12)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "lgamma (-0x4p-32)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "lgamma (-0x8p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "lgamma (-0x8p-8)": +double: 1 +idouble: 1 Test "lgamma (0.7)": float: 1 ifloat: 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 (1.2)": double: 1 float: 2 @@ -5726,10 +7276,36 @@ ifloat: 2 ildouble: 1 ldouble: 1 +# log +Test "log (0x5.e2d59p-4)": +ildouble: 1 +ldouble: 1 + # log10 Test "log10 (0.75)": ildouble: 1 ldouble: 1 +Test "log10 (0x1.999998p-4)": +ildouble: 1 +ldouble: 1 +Test "log10 (0x1.9999999999999998p-4)": +ildouble: 1 +ldouble: 1 +Test "log10 (0x1.999999999999ap-4)": +ildouble: 1 +ldouble: 1 +Test "log10 (0x2.b7e151628aed2a68p+0)": +ildouble: 1 +ldouble: 1 +Test "log10 (0x2.b7e151628aed2p+0)": +ildouble: 1 +ldouble: 1 +Test "log10 (0x4p-128)": +ildouble: 1 +ldouble: 1 +Test "log10 (0xcp-4)": +ildouble: 1 +ldouble: 1 Test "log10 (e)": float: 1 ifloat: 1 @@ -5740,11 +7316,23 @@ ldouble: 1 Test "pow (0x0.ffffffp0, -0x1p24)": ildouble: 1 ldouble: 1 +Test "pow (0x1.0000000000001p+0, 0x2.468adp+60)": +ildouble: 1 +ldouble: 1 +Test "pow (0xf.ffffffffffff8p-4, 0x4.8d15ap+60)": +ildouble: 1 +ldouble: 1 +Test "pow (0xf.fffffp-4, -0x1p+24)": +ildouble: 1 +ldouble: 1 # pow10 Test "pow10 (0.75)": ildouble: 1 ldouble: 1 +Test "pow10 (0xcp-4)": +ildouble: 1 +ldouble: 1 # pow_downward Test "pow_downward (1.0625, 1.125)": @@ -5754,6 +7342,17 @@ Test "pow_downward (1.5, 1.03125)": float: 1 ifloat: 1 +# pow_tonearest +Test "pow_tonearest (0x1.0000000000001p+0, 0x2.468adp+60)": +ildouble: 1 +ldouble: 1 +Test "pow_tonearest (0xf.ffffffffffff8p-4, 0x4.8d15ap+60)": +ildouble: 1 +ldouble: 1 +Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)": +ildouble: 1 +ldouble: 1 + # pow_towardzero Test "pow_towardzero (1.0625, 1.125)": double: 1 @@ -5774,7 +7373,246 @@ idouble: 1 ildouble: 1 ldouble: 1 +# sin +Test "sin (0xf.ffffffffffff8p+1020)": +ildouble: 1 +ldouble: 1 + # sin_downward +Test "sin_downward (-0x1.921fb4p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (-0x1.921fb6p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (-0x2p+64)": +double: 1 +idouble: 1 +Test "sin_downward (-0x8.60a91c16b9b28p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (-0x8.60a91c16b9b2c24p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (-0x8.60a91c16b9b3p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (-0x8.60a91p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (-0x8.60a92p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x1.921fb54442d18468p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x1.921fb54442d1846ap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x1.921fb54442d18p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x1.921fb54442d19p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x1p+28)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x2.1e19e0c9bab24p+72)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x2.1e19e4p+72)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x2.1e19ep+72)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x2.553534p+0)": +double: 1 +idouble: 1 +Test "sin_downward (0x2.5535376715bap+0)": +double: 1 +idouble: 1 +Test "sin_downward (0x2p+0)": +double: 1 +idouble: 1 +Test "sin_downward (0x3.be735c19be9fep+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.be735c19be9ffffcp+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.be735c19beap+0)": +ildouble: 2 +ldouble: 2 +Test "sin_downward (0x3.be735cp+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.be736p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.ec2a0250032a0004p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.ec2a0250032a2p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.ec2a0250032ap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.ec2a04p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3.ec2ap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x3p+0)": +ildouble: 2 +ldouble: 2 +Test "sin_downward (0x4.093388p-4)": +double: 1 +idouble: 1 +Test "sin_downward (0x4.1237e153f7080008p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.1237e153f7084p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.1237e153f708p+0)": +double: 1 +idouble: 1 +Test "sin_downward (0x4.1237e8p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.1237ep+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.c92d08p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.c92d0ffa4bf00008p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.c92d0ffa4bf04p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.c92d0ffa4bfp+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4.c92d1p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x4p+48)": +double: 1 +idouble: 1 +Test "sin_downward (0x5.fbec7477d4a80008p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x5.fbec7477d4a84p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x5.fbec7477d4a8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x5.fbec78p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x5.fbec7p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x5p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x6p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0x8p+0)": +double: 1 +idouble: 1 +Test "sin_downward (0x8p+1020)": +double: 1 +idouble: 1 +Test "sin_downward (0x9p+0)": +double: 1 +idouble: 1 +Test "sin_downward (0xap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0xc.d4966d92d1708p-4)": +double: 1 +idouble: 1 +Test "sin_downward (0xc.d4966p-4)": +double: 1 +idouble: 1 +Test "sin_downward (0xe.ef3af1b5d8p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_downward (0xf.ffffcp+124)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_downward (0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "sin_downward (0xf.fffffp+124)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "sin_downward (1)": ildouble: 1 ldouble: 1 @@ -5796,7 +7634,137 @@ ifloat: 1 ildouble: 1 ldouble: 1 +# sin_tonearest +Test "sin_tonearest (0xf.ffffffffffff8p+1020)": +ildouble: 1 +ldouble: 1 + # sin_towardzero +Test "sin_towardzero (-0x1.921fb54442d18468p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (-0x1.921fb54442d1846ap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (-0x1.921fb54442d18p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (-0x1.921fb54442d19p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (-0x2p+64)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x1.921fb54442d18468p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x1.921fb54442d1846ap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x1.921fb54442d18p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x1.921fb54442d19p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x2.1e19e4p+72)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x2.1e19ep+72)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x2.553534p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x2.5535376715bap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x2p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x2p+64)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x3.be735c19beap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x3.be735cp+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x3.ec2a0250032ap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x3.ec2a04p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x4.093388p-4)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x4.1237e153f708p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0x4.1237e8p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x4.1237ep+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x4.c92d0ffa4bf04p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x4.c92d0ffa4bfp+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x4p+48)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x5.fbec7p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x8p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x8p+1020)": +double: 1 +idouble: 1 +Test "sin_towardzero (0x9p+0)": +double: 1 +idouble: 1 +Test "sin_towardzero (0xb.fa09ap+100)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0xc.d4966d92d1708p-4)": +double: 1 +idouble: 1 +Test "sin_towardzero (0xc.d4966p-4)": +double: 1 +idouble: 1 +Test "sin_towardzero (0xf.ffffcp+124)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_towardzero (0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 Test "sin_towardzero (1)": ildouble: 1 ldouble: 1 @@ -5825,6 +7793,258 @@ ildouble: 1 ldouble: 1 # sin_upward +Test "sin_upward (-0x1.921fb4p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x1.921fb54442d18468p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x1.921fb54442d1846ap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x1.921fb54442d18p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x1.921fb54442d19p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x1.921fb6p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x2p+64)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x8.60a91c16b9b28p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x8.60a91c16b9b2c23p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x8.60a91c16b9b2c24p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x8.60a91c16b9b3p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x8.60a91p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (-0x8.60a92p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x1.921fb4p+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x1.921fb6p+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x1p+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x1p+120)": +double: 1 +idouble: 1 +Test "sin_upward (0x1p+28)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x2.1e19e0c9bab24p+72)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x2.1e19e4p+72)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x2.1e19ep+72)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x2.5535376715b9ep+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x2.5535376715bap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x2.553538p+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x2p+64)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.be735c19be9fep+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.be735c19be9ffffcp+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.be735c19beap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.be735cp+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.be736p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.ec2a0250032a0004p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.ec2a0250032a2p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.ec2a0250032ap+0)": +ildouble: 2 +ldouble: 2 +Test "sin_upward (0x3.ec2a04p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3.ec2ap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x3p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.093385688a2d1508p-4)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.093385688a2d4p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0x4.093385688a2dp-4)": +double: 1 +idouble: 1 +Test "sin_upward (0x4.09338p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0x4.1237e153f7080008p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.1237e153f7084p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.1237e153f708p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.1237e8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.1237ep+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.c92d08p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.c92d0ffa4bf00008p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.c92d0ffa4bf04p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4.c92d0ffa4bfp+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x4.c92d1p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x4p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x5.fbec7477d4a80008p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x5.fbec7477d4a84p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x5.fbec7477d4a8p+0)": +ildouble: 2 +ldouble: 2 +Test "sin_upward (0x5.fbec78p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x5.fbec7p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x5p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x6p+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0x7p+0)": +double: 1 +idouble: 1 +Test "sin_upward (0x8.60a91c16b9b3p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0x8.60a91p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0x8.60a92p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0x8p+124)": +double: 1 +idouble: 1 +Test "sin_upward (0xap+0)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0xb.fa09ap+100)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0xc.d4966d92d171p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0xc.d4967p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "sin_upward (0xcp-4)": +double: 1 +idouble: 1 +Test "sin_upward (0xe.ef3af1b5d8008p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0xe.ef3af1b5d8p-4)": +double: 1 +idouble: 1 +Test "sin_upward (0xe.ef3afp-4)": +double: 1 +idouble: 1 +Test "sin_upward (0xe.ef3bp-4)": +double: 1 +idouble: 1 +Test "sin_upward (0xf.ffffffffffff8p+1020)": +ildouble: 1 +ldouble: 1 +Test "sin_upward (0xf.fffffp+124)": +ildouble: 1 +ldouble: 1 Test "sin_upward (1)": float: 1 ifloat: 1 @@ -5864,6 +8084,12 @@ float: 1 ifloat: 1 # sincos +Test "sincos (0x1.921fb4p+0) extra output 2": +ildouble: 1 +ldouble: 1 +Test "sincos (0xf.ffffffffffff8p+1020) extra output 1": +ildouble: 1 +ldouble: 1 Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 @@ -5881,8 +8107,25 @@ ildouble: 1 Test "sinh (0x8p-32)": ildouble: 1 ldouble: 1 +Test "sinh (0xcp-4)": +ildouble: 1 # sinh_downward +Test "sinh_downward (0x1.6p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_downward (0x1.7p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_downward (0x1.8p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_downward (0x8p-32)": +ildouble: 1 +ldouble: 1 +Test "sinh_downward (0xcp-4)": +float: 1 +ildouble: 1 Test "sinh_downward (22)": double: 1 float: 1 @@ -5903,7 +8146,26 @@ ifloat: 1 ildouble: 2 ldouble: 2 +# sinh_tonearest +Test "sinh_tonearest (0xcp-4)": +ildouble: 1 + # sinh_towardzero +Test "sinh_towardzero (0x1.6p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_towardzero (0x1.7p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_towardzero (0x1.8p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_towardzero (0x8p-32)": +ildouble: 1 +ldouble: 1 +Test "sinh_towardzero (0xcp-4)": +float: 1 +ildouble: 1 Test "sinh_towardzero (22)": double: 1 float: 1 @@ -5925,6 +8187,19 @@ ildouble: 2 ldouble: 2 # sinh_upward +Test "sinh_upward (0x1.6p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_upward (0x1.7p+4)": +ildouble: 1 +ldouble: 1 +Test "sinh_upward (0x8p-32)": +double: 1 +float: 1 +Test "sinh_upward (0xcp-4)": +float: 1 +ildouble: 2 +ldouble: 1 Test "sinh_upward (22)": ildouble: 1 ldouble: 1 @@ -5954,9 +8229,26 @@ ifloat: 1 Test "tan (-0xc.94p-4)": float: 1 ifloat: 1 +Test "tan (0x1p+0)": +ildouble: 1 +ldouble: 1 Test "tan (0x1p16383)": ildouble: 1 ldouble: 1 +Test "tan (0x2.1e19e0c9bab24p+72)": +ildouble: 1 +ldouble: 1 +Test "tan (0x2p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan (0x8p+0)": +ildouble: 1 +ldouble: 1 +Test "tan (0x8p+16380)": +ildouble: 1 +ldouble: 1 Test "tan (0xc.90fdbp-4)": float: 1 ifloat: 1 @@ -5983,6 +8275,168 @@ float: 1 ifloat: 1 # tan_downward +Test "tan_downward (-0x2p+64)": +double: 1 +idouble: 1 +Test "tan_downward (-0xc.908p-4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90cp-4)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90ep-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90f8p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fcp-4)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fd8p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fdap-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fdbp-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fdcp-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fdp-4)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fep-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.90fp-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.91p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.92p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.94p-4)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.98p-4)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.9p-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (-0xc.ap-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (0x1p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (0x2.1e19e0c9bab24p+72)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (0x2p+0)": +double: 1 +idouble: 1 +Test "tan_downward (0x3p+0)": +double: 1 +idouble: 1 +Test "tan_downward (0x4p+0)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (0x6p+0)": +double: 1 +idouble: 1 +Test "tan_downward (0x7p+0)": +double: 1 +idouble: 1 +Test "tan_downward (0x8p+0)": +ildouble: 1 +ldouble: 1 +Test "tan_downward (0x8p+1020)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_downward (0xc.908p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tan_downward (0xc.90cp-4)": +double: 1 +idouble: 1 +Test "tan_downward (0xc.90fcp-4)": +double: 1 +idouble: 1 +Test "tan_downward (0xc.90fdaa22168c8p-4)": +double: 1 +idouble: 1 +Test "tan_downward (0xc.90fdcp-4)": +float: 1 +ifloat: 1 +Test "tan_downward (0xc.90fdp-4)": +double: 1 +idouble: 1 +Test "tan_downward (0xc.90fep-4)": +float: 1 +ifloat: 1 +Test "tan_downward (0xc.91p-4)": +float: 1 +ifloat: 1 +Test "tan_downward (0xc.92p-4)": +float: 1 +ifloat: 1 +Test "tan_downward (0xc.94p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tan_downward (0xc.98p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tan_downward (0xcp-4)": +double: 1 +idouble: 1 Test "tan_downward (1)": float: 2 ifloat: 2 @@ -6018,6 +8472,59 @@ float: 1 ifloat: 1 # tan_tonearest +Test "tan_tonearest (-0xc.90fdbp-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (-0xc.90fdcp-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (-0xc.90fep-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (-0xc.91p-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (-0xc.92p-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (-0xc.94p-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "tan_tonearest (0x2.1e19e0c9bab24p+72)": +ildouble: 1 +ldouble: 1 +Test "tan_tonearest (0x2p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_tonearest (0x8p+0)": +ildouble: 1 +ldouble: 1 +Test "tan_tonearest (0x8p+16380)": +ildouble: 1 +ldouble: 1 +Test "tan_tonearest (0xc.90fdbp-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (0xc.90fdcp-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (0xc.90fep-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (0xc.91p-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (0xc.92p-4)": +float: 1 +ifloat: 1 +Test "tan_tonearest (0xc.94p-4)": +float: 1 +ifloat: 1 Test "tan_tonearest (1)": ildouble: 1 ldouble: 1 @@ -6031,6 +8538,100 @@ ildouble: 1 ldouble: 1 # tan_towardzero +Test "tan_towardzero (-0x2p+64)": +double: 1 +idouble: 1 +Test "tan_towardzero (-0xc.908p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tan_towardzero (-0xc.90cp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (-0xc.90fcp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (-0xc.90fdp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (-0xc.94p-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (-0xc.98p-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (-0xc.ap-4)": +float: 1 +ifloat: 1 +Test "tan_towardzero (0x1p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_towardzero (0x2.1e19e0c9bab24p+72)": +ildouble: 1 +ldouble: 1 +Test "tan_towardzero (0x2.1e19e4p+72)": +double: 1 +idouble: 1 +Test "tan_towardzero (0x2.1e19ep+72)": +double: 1 +idouble: 1 +Test "tan_towardzero (0x2p+64)": +double: 1 +idouble: 1 +Test "tan_towardzero (0x5p+0)": +double: 1 +idouble: 1 +Test "tan_towardzero (0x7p+0)": +double: 1 +idouble: 1 +Test "tan_towardzero (0x8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_towardzero (0x9p+0)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.908p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tan_towardzero (0xc.90cp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.90fcp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.90fdaa22168c8p-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.90fdp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.94p-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.98p-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xc.ap-4)": +float: 1 +ifloat: 1 +Test "tan_towardzero (0xcp-4)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 +Test "tan_towardzero (0xf.fffffp+124)": +double: 1 +idouble: 1 Test "tan_towardzero (1)": ildouble: 1 ldouble: 1 @@ -6061,6 +8662,174 @@ ildouble: 1 ldouble: 1 # tan_upward +Test "tan_upward (-0xc.908p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90cp-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90ep-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90f8p-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fcp-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fd8p-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fdap-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fdbp-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fdcp-4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fdp-4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fep-4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.90fp-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.91p-4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.92p-4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.94p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.98p-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.9p-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (-0xc.ap-4)": +ildouble: 1 +ldouble: 1 +Test "tan_upward (0x1p+0)": +float: 1 +ifloat: 1 +Test "tan_upward (0x2.1e19e4p+72)": +double: 1 +idouble: 1 +Test "tan_upward (0x2.1e19ep+72)": +double: 1 +idouble: 1 +Test "tan_upward (0x2p+64)": +double: 1 +idouble: 1 +Test "tan_upward (0x4p+0)": +double: 1 +idouble: 1 +Test "tan_upward (0x5p+0)": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tan_upward (0x7p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (0x8p+0)": +double: 1 +idouble: 1 +Test "tan_upward (0x9p+0)": +double: 1 +idouble: 1 +Test "tan_upward (0xap+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (0xc.908p-4)": +float: 1 +ifloat: 1 +Test "tan_upward (0xc.90ep-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90f8p-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90fd8p-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90fdap-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90fdbp-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90fdcp-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90fep-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.90fp-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.91p-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.92p-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.9p-4)": +double: 1 +idouble: 1 +Test "tan_upward (0xc.ap-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tan_upward (0xcp-4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tan_upward (0xf.ffffffffffff8p+1020)": +double: 1 +idouble: 1 +Test "tan_upward (0xf.fffffp+124)": +double: 1 +idouble: 1 Test "tan_upward (1)": float: 1 ifloat: 1 @@ -6097,6 +8866,11 @@ idouble: 1 Test "tgamma (-0x0.ffffffffffffffffp0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x1.000002p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x1.000002p0)": double: 1 idouble: 1 @@ -6105,11 +8879,61 @@ ldouble: 1 Test "tgamma (-0x1.0a32a2p+5)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x1.3ffffep+4)": +float: 1 +ifloat: 1 +Test "tgamma (-0x1.3ffffffffffffffep+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.3ffffffffffffp+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.4000000000001p+4)": +ildouble: 2 +ldouble: 2 Test "tgamma (-0x1.5800000080001p+7)": double: 1 idouble: 1 ildouble: 2 ldouble: 2 +Test "tgamma (-0x1.8p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.dffffep+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.dffffffffffffffep+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.e000000000000002p+4)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x1.e00002p+4)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.f3fffep+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.f3fffffffffffp+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.f400000000000002p+8)": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0x1.f40002p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x1.fffffffffffffp+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x1.fffffffffffffp0)": ildouble: 1 ldouble: 1 @@ -6149,17 +8973,89 @@ ldouble: 3 Test "tgamma (-0x1p-24)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x2.0000000000000004p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x2.0000000000000004p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x2.0000000000002p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x2.0000000000002p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x2.000004p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x2.000004p0)": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x2.146544p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.7ffffcp+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.7fffffffffffep+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.8000000000002p+4)": +double: 1 +idouble: 1 +Test "tgamma (-0x2.800004p+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.8ffffcp+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.8fffffffffffep+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.8ffffffffffffffcp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.8p+0)": +double: 1 +idouble: 1 +Test "tgamma (-0x2.9000000000000004p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.9000000000002p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.900004p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.9ffffcp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.a00004p+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.edfffffffffffffcp+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.ee00000000002p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x2.fffffcp+0)": +double: 1 +idouble: 1 Test "tgamma (-0x2.fffffcp0)": double: 1 idouble: 1 @@ -6212,18 +9108,62 @@ ldouble: 1 Test "tgamma (-0x2ed.fffffffffffffcp0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x3.0000000000002p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x3.0000000000002p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x3.000004p+0)": +double: 1 +idouble: 1 Test "tgamma (-0x3.000004p0)": double: 1 idouble: 1 +Test "tgamma (-0x3.1fffffffffffep+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.2000000000000004p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.2000000000002p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.200004p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.e7fffcp+8)": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0x3.e7fffffffffffffcp+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.e800000000000004p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.e800000000002p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.e80004p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x3.fffffcp+0)": +float: 1 +ifloat: 1 Test "tgamma (-0x3.fffffcp0)": float: 1 ifloat: 1 +Test "tgamma (-0x3.ffffffffffffep+0)": +double: 1 +idouble: 1 Test "tgamma (-0x3.ffffffffffffep0)": double: 1 idouble: 1 +Test "tgamma (-0x3.fffffffffffffffcp+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x3.fffffffffffffffcp0)": ildouble: 1 ldouble: 1 @@ -6244,51 +9184,152 @@ ldouble: 1 Test "tgamma (-0x3e8.00000000000004p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x4.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x4.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x4.000008p+0)": +float: 2 +ifloat: 2 Test "tgamma (-0x4.000008p0)": float: 2 ifloat: 2 +Test "tgamma (-0x4.8p+0)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.e200000000000008p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.e200000000004p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.e20008p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x4.fffff8p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x4.fffff8p0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x4.ffffffffffffcp+0)": +double: 1 +idouble: 1 Test "tgamma (-0x4.ffffffffffffcp0)": double: 1 idouble: 1 Test "tgamma (-0x4e2.00000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x5.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x5.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x5.0000000000004p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x5.0000000000004p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x5.000008p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x5.000008p0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x5.8p+0)": +float: 1 +ifloat: 1 +Test "tgamma (-0x5.dbfff8p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.dbffffffffffcp+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.dbfffffffffffff8p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.dc00000000004p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x5.fffff8p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "tgamma (-0x5.fffff8p0)": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (-0x5.ffffffffffffcp+0)": +double: 1 +idouble: 1 Test "tgamma (-0x5.ffffffffffffcp0)": double: 1 idouble: 1 Test "tgamma (-0x5db.fffffffffffff8p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x6.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x6.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x6.000008p+0)": +double: 1 +idouble: 1 Test "tgamma (-0x6.000008p0)": double: 1 idouble: 1 +Test "tgamma (-0x6.3ffff8p+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.3fffffffffffcp+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.3ffffffffffffff8p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.4000000000000008p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.4000000000004p+4)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x6.400008p+4)": +double: 1 +idouble: 1 +Test "tgamma (-0x6.8p+0)": +float: 1 +ifloat: 1 +Test "tgamma (-0x6.d600000000000008p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x6.fffff8p+0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 Test "tgamma (-0x6.fffff8p0)": double: 2 float: 1 @@ -6296,6 +9337,11 @@ idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 +Test "tgamma (-0x6.ffffffffffffcp+0)": +double: 3 +idouble: 3 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x6.ffffffffffffcp0)": double: 3 idouble: 3 @@ -6318,14 +9364,29 @@ ldouble: 2 Test "tgamma (-0x6d6.00000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x7.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0x7.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0x7.0000000000004p+0)": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x7.0000000000004p0)": double: 4 idouble: 4 ildouble: 1 ldouble: 1 +Test "tgamma (-0x7.000008p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x7.000008p0)": double: 1 float: 1 @@ -6333,25 +9394,81 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x7.8p+0)": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x7.fffff8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x7.fffff8p0)": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x7.ffffffffffffcp+0)": +double: 2 +idouble: 2 Test "tgamma (-0x7.ffffffffffffcp0)": double: 2 idouble: 2 +Test "tgamma (-0x7.fffffffffffffff8p+0)": +ildouble: 4 +ldouble: 4 Test "tgamma (-0x7.fffffffffffffff8p0)": ildouble: 4 ldouble: 4 +Test "tgamma (-0x8.000000000000001p+0)": +ildouble: 2 +ldouble: 2 Test "tgamma (-0x8.000000000000001p0)": ildouble: 2 ldouble: 2 +Test "tgamma (-0x8.00001p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x8.00001p0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0x8.8p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x8p-4)": +double: 1 +idouble: 1 +Test "tgamma (-0x9.5fffffffffff8p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.5ffffffffffffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.6000000000008p+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0x9.60001p+4)": +double: 1 +idouble: 1 +Test "tgamma (-0x9.8p+0)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0x9.ffffffffffff8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0x9.ffffffffffff8p0)": double: 1 idouble: 1 @@ -6368,12 +9485,25 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0xa.000000000000001p+0)": +ildouble: 2 +ldouble: 2 Test "tgamma (-0xa.000000000000001p0)": ildouble: 2 ldouble: 2 +Test "tgamma (-0xa.0000000000008p+0)": +double: 1 +idouble: 1 Test "tgamma (-0xa.0000000000008p0)": double: 1 idouble: 1 +Test "tgamma (-0xa.00001p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (-0xa.00001p0)": double: 1 float: 1 @@ -6381,6 +9511,85 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (-0xa.c000000400008p+4)": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xa.c0001p+4)": +double: 2 +idouble: 2 +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.4ffffffffffffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.500000000000001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.5000000000008p+4)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb.5ffffffffffffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.600000000000001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.6fffffffffff8p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.6ffffffffffffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.7fffffffffff8p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.7ffffffffffffffp+4)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb.8000000000008p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.bffffffffffffffp+4)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb.c00000000000001p+4)": +ildouble: 3 +ldouble: 3 +Test "tgamma (-0xb.c000000000008p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.d00000000000001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.d000000000008p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.dffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.e00000000000001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.e000000000008p+4)": +ildouble: 2 +ldouble: 2 +Test "tgamma (-0xb.e0001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.effffffffffffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.effffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.f00000000000001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xb.f000000000008p+4)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0xb4.ffffffffffffffp0)": ildouble: 1 ldouble: 1 @@ -6429,6 +9638,24 @@ ldouble: 1 Test "tgamma (-0xbf.00000000000001p0)": ildouble: 1 ldouble: 1 +Test "tgamma (-0xf.9fffffffffff8p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf.9ffffffffffffffp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf.a00000000000001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf.a000000000008p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf.a0001p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (-0xf.fffffffffffffffp-4)": +ildouble: 1 +ldouble: 1 Test "tgamma (-0xf9.ffffffffffffffp0)": ildouble: 1 ldouble: 1 @@ -6475,9 +9702,41 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "tgamma (0x1.28p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.38p+4)": +double: 1 +idouble: 1 +Test "tgamma (0x1.78p+4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.d8p+4)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x1.e8p+4)": +float: 1 +ifloat: 1 +Test "tgamma (0x1.f8p+4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "tgamma (0x1.fffffep+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x1.fffffep0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x1.fffffffffffffffep+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x1.fffffffffffffffep0)": ildouble: 1 ldouble: 1 @@ -6490,68 +9749,167 @@ idouble: 1 Test "tgamma (0x1p-64)": ildouble: 1 ldouble: 1 +Test "tgamma (0x2.0000000000002p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x2.0000000000002p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x2.000004p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x2.000004p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x2.08p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x2.28p+4)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x2.30a43cp+4)": double: 1 idouble: 1 +Test "tgamma (0x2.8p+0)": +float: 1 +ifloat: 1 +Test "tgamma (0x2.fffffcp+0)": +float: 2 +ifloat: 2 +ildouble: 1 +ldouble: 1 Test "tgamma (0x2.fffffcp0)": float: 2 ifloat: 2 ildouble: 1 ldouble: 1 +Test "tgamma (0x2.ffffffffffffep+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x2.ffffffffffffep0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x3.0000000000002p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x3.0000000000002p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x3.8p+0)": +float: 1 +ifloat: 1 +Test "tgamma (0x3.e8p+8)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x3.fffffcp+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x3.fffffcp0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x3.fffffffffffffffcp+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x3.fffffffffffffffcp0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x3p+0)": +float: 1 +ifloat: 1 +Test "tgamma (0x4.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x4.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x4.000008p+0)": +float: 1 +ifloat: 1 Test "tgamma (0x4.000008p0)": float: 1 ifloat: 1 +Test "tgamma (0x4.8p+0)": +double: 1 +idouble: 1 +Test "tgamma (0x4.fffff8p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x4.fffff8p0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x4.fffffffffffffff8p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x4.fffffffffffffff8p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x4p+0)": +float: 1 +ifloat: 1 +Test "tgamma (0x5.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x5.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x5.000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x5.000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x5.8p+0)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x5.fffff8p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x5.fffff8p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x5.ffffffffffffcp+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x5.ffffffffffffcp0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x6.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x6.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x6.000008p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x6.000008p0)": float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x6.8p+0)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x6.db8c603359a94p+8)": +ildouble: 2 +ldouble: 2 +Test "tgamma (0x6.fffff8p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x6.fffff8p0)": double: 1 float: 1 @@ -6559,17 +9917,35 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x6.ffffffffffffcp+0)": +double: 3 +idouble: 3 Test "tgamma (0x6.ffffffffffffcp0)": double: 3 idouble: 3 +Test "tgamma (0x7.0000000000000008p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x7.0000000000000008p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x7.0000000000004p+0)": +double: 4 +idouble: 4 +ildouble: 1 +ldouble: 1 Test "tgamma (0x7.0000000000004p0)": double: 4 idouble: 4 ildouble: 1 ldouble: 1 +Test "tgamma (0x7.000008p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x7.000008p0)": double: 1 float: 1 @@ -6577,33 +9953,106 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x7.8p+0)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x7.fffff8p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x7.fffff8p0)": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x7.ffffffffffffcp+0)": +double: 2 +idouble: 2 Test "tgamma (0x7.ffffffffffffcp0)": double: 2 idouble: 2 +Test "tgamma (0x7.fffffffffffffff8p+0)": +ildouble: 3 +ldouble: 3 Test "tgamma (0x7.fffffffffffffff8p0)": ildouble: 3 ldouble: 3 +Test "tgamma (0x8.000000000000001p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0x8.000000000000001p0)": ildouble: 1 ldouble: 1 +Test "tgamma (0x8.0000000000008p+0)": +double: 1 +idouble: 1 Test "tgamma (0x8.0000000000008p0)": double: 1 idouble: 1 +Test "tgamma (0x8.00001p+0)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "tgamma (0x8.00001p0)": double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "tgamma (0x8.8p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "tgamma (0x8p+0)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0x8p-4)": +float: 1 +ifloat: 1 +Test "tgamma (0x8p-56)": +double: 1 +idouble: 1 +Test "tgamma (0x9.8p+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "tgamma (0x9p+0)": +ildouble: 1 +ldouble: 1 Test "tgamma (0xa.b9fd72b0fb238p+4)": double: 1 idouble: 1 ildouble: 2 ldouble: 2 +Test "tgamma (0xa.b9fd72b0fb23a9dp+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0xa.b9fd72b0fb23a9ep+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0xa.b9fd7p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0xa.b9fd8p+4)": +ildouble: 1 +ldouble: 1 +Test "tgamma (0xap+0)": +double: 1 +idouble: 1 +Test "tgamma (0xb.333333333333p-4)": +ildouble: 1 +ldouble: 1 Test "tgamma (10)": double: 1 idouble: 1 @@ -6705,6 +10154,9 @@ ldouble: 1 Test "y0 (0x1.ff00000000002p+840)": double: 1 idouble: 1 +Test "y0 (0x1p+0)": +ildouble: 1 +ldouble: 1 Test "y0 (0x1p-10)": ildouble: 1 ldouble: 1 @@ -6730,6 +10182,48 @@ idouble: 1 Test "y0 (0x1p16382)": ildouble: 1 ldouble: 1 +Test "y0 (0x2p-4)": +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-12)": +ildouble: 1 +ldouble: 1 +Test "y0 (0x4p-32)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "y0 (0x4p-72)": +double: 1 +idouble: 1 +Test "y0 (0x8p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "y0 (0xap+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "y0 (0xcp-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "y0 (0xf.fffffp+124)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "y0 (1.0)": ildouble: 1 ldouble: 1 @@ -6767,6 +10261,53 @@ idouble: 1 Test "y1 (0x1p16382)": ildouble: 1 ldouble: 1 +Test "y1 (0x2.002000002p+592)": +ildouble: 2 +ldouble: 2 +Test "y1 (0x2p+0)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +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: 2 +ifloat: 2 +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 (0xap+0)": +double: 2 +float: 2 +idouble: 2 +ifloat: 2 +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 Test "y1 (10.0)": double: 2 float: 2 @@ -6784,6 +10325,12 @@ float: 2 ifloat: 2 # yn +Test "yn (-10, 0x1p+0)": +float: 2 +ifloat: 2 +Test "yn (-10, 1.0)": +float: 2 +ifloat: 2 Test "yn (0, 0.125)": ildouble: 1 ldouble: 1 @@ -6792,6 +10339,27 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "yn (0, 0x1p+0)": +ildouble: 1 +ldouble: 1 +Test "yn (0, 0x2p-4)": +ildouble: 1 +ldouble: 1 +Test "yn (0, 0x8p+0)": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "yn (0, 0xap+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "yn (0, 0xcp-4)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "yn (0, 1.0)": ildouble: 1 ldouble: 1 @@ -6808,6 +10376,24 @@ ldouble: 1 Test "yn (1, 0.125)": ildouble: 1 ldouble: 1 +Test "yn (1, 0x2p+0)": +double: 1 +float: 2 +idouble: 1 +ifloat: 2 +ildouble: 1 +ldouble: 1 +Test "yn (1, 0x2p-4)": +ildouble: 1 +ldouble: 1 +Test "yn (1, 0x8p+0)": +float: 2 +ifloat: 2 +Test "yn (1, 0xap+0)": +double: 2 +float: 2 +idouble: 2 +ifloat: 2 Test "yn (1, 10.0)": double: 2 float: 2 @@ -6833,6 +10419,36 @@ float: 1 ifloat: 1 ildouble: 4 ldouble: 4 +Test "yn (10, 0x1p+0)": +float: 2 +ifloat: 2 +Test "yn (10, 0x2p+0)": +float: 3 +ifloat: 3 +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)": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "yn (10, 0xcp-4)": +float: 1 +ifloat: 1 +ildouble: 4 +ldouble: 4 Test "yn (10, 1.0)": float: 2 ifloat: 2 @@ -6844,6 +10460,27 @@ ifloat: 1 Test "yn (10, 2.0)": float: 3 ifloat: 3 +Test "yn (2, 0x1.ffff62p+99)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "yn (2, 0x1p127)": +float: 2 +ifloat: 2 +Test "yn (2, 0x8p+124)": +float: 2 +ifloat: 2 +Test "yn (2, 0xf.fffb1p+96)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "yn (2, 0xf.fffffp+124)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "yn (3, 0.125)": ildouble: 1 ldouble: 1 @@ -6852,6 +10489,22 @@ double: 1 idouble: 1 ildouble: 2 ldouble: 2 +Test "yn (3, 0x2p+0)": +float: 1 +ifloat: 1 +Test "yn (3, 0x2p-4)": +ildouble: 1 +ldouble: 1 +Test "yn (3, 0xap+0)": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "yn (3, 0xcp-4)": +double: 1 +idouble: 1 +ildouble: 2 +ldouble: 2 Test "yn (3, 10.0)": double: 1 float: 1 @@ -6874,6 +10527,10 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: "acos_tonearest": +ildouble: 1 +ldouble: 1 + Function: "acos_towardzero": double: 1 float: 1 @@ -6912,6 +10569,10 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: "atan2": +ildouble: 1 +ldouble: 1 + Function: "atanh": ildouble: 2 ldouble: 1 @@ -7079,20 +10740,34 @@ ildouble: 1 ldouble: 1 Function: "cos_downward": +double: 1 float: 1 +idouble: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "cos_tonearest": 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: 2 +ldouble: 2 + +Function: "cosh": ildouble: 1 ldouble: 1 @@ -7105,6 +10780,7 @@ ildouble: 1 ldouble: 2 Function: "cosh_tonearest": +ildouble: 1 ldouble: 1 Function: "cosh_towardzero": @@ -7302,6 +10978,8 @@ ldouble: 2 Function: "erf": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Function: "erfc": double: 1 @@ -7334,11 +11012,41 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Function: "expm1": ildouble: 1 ldouble: 1 +Function: "expm1_downward": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 + +Function: "expm1_tonearest": +ildouble: 1 +ldouble: 1 + +Function: "expm1_towardzero": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "expm1_upward": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 + Function: "gamma": double: 1 float: 2 @@ -7350,6 +11058,8 @@ ldouble: 1 Function: "hypot": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Function: "j0": double: 1 @@ -7372,8 +11082,8 @@ double: 2 float: 4 idouble: 2 ifloat: 4 -ildouble: 3 -ldouble: 3 +ildouble: 4 +ldouble: 4 Function: "lgamma": double: 1 @@ -7386,6 +11096,8 @@ ldouble: 1 Function: "log": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Function: "log10": float: 1 @@ -7393,6 +11105,10 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: "log1p": +ildouble: 1 +ldouble: 1 + Function: "pow": ildouble: 1 ldouble: 1 @@ -7407,6 +11123,10 @@ float: 1 idouble: 1 ifloat: 1 +Function: "pow_tonearest": +ildouble: 1 +ldouble: 1 + Function: "pow_towardzero": double: 1 float: 1 @@ -7421,23 +11141,37 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: "sin": +ildouble: 1 +ldouble: 1 + Function: "sin_downward": +double: 1 float: 1 +idouble: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "sin_tonearest": 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 +ildouble: 2 +ldouble: 2 Function: "sincos": double: 1 @@ -7459,6 +11193,9 @@ ifloat: 1 ildouble: 2 ldouble: 2 +Function: "sinh_tonearest": +ildouble: 1 + Function: "sinh_towardzero": double: 1 float: 1 @@ -7469,8 +11206,9 @@ ldouble: 2 Function: "sinh_upward": double: 1 +float: 1 idouble: 1 -ildouble: 1 +ildouble: 2 ldouble: 1 Function: "tan": @@ -7482,7 +11220,9 @@ ildouble: 1 ldouble: 1 Function: "tan_downward": +double: 1 float: 2 +idouble: 1 ifloat: 2 ildouble: 1 ldouble: 1 @@ -7494,13 +11234,17 @@ ildouble: 1 ldouble: 1 Function: "tan_towardzero": +double: 1 float: 1 +idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 Function: "tan_upward": +double: 1 float: 1 +idouble: 1 ifloat: 1 ildouble: 2 ldouble: 2 diff --git a/sysdeps/i386/fpu/s_expm1.S b/sysdeps/i386/fpu/s_expm1.S index 91617eb74c..398055276e 100644 --- a/sysdeps/i386/fpu/s_expm1.S +++ b/sysdeps/i386/fpu/s_expm1.S @@ -78,7 +78,18 @@ ENTRY(__expm1) 5: fldt MO(l2e) // log2(e) : x fmulp // log2(e)*x fld %st // log2(e)*x : log2(e)*x + // Set round-to-nearest temporarily. + subl $8, %esp + cfi_adjust_cfa_offset (8) + fstcw 4(%esp) + movl $0xf3ff, %ecx + andl 4(%esp), %ecx + movl %ecx, (%esp) + fldcw (%esp) frndint // int(log2(e)*x) : log2(e)*x + fldcw 4(%esp) + addl $8, %esp + cfi_adjust_cfa_offset (-8) fsubr %st, %st(1) // int(log2(e)*x) : fract(log2(e)*x) fxch // fract(log2(e)*x) : int(log2(e)*x) f2xm1 // 2^fract(log2(e)*x)-1 : int(log2(e)*x) diff --git a/sysdeps/i386/fpu/s_expm1f.S b/sysdeps/i386/fpu/s_expm1f.S index 2f1b6f69fc..e5e52a08f3 100644 --- a/sysdeps/i386/fpu/s_expm1f.S +++ b/sysdeps/i386/fpu/s_expm1f.S @@ -78,7 +78,18 @@ ENTRY(__expm1f) 5: fldt MO(l2e) // log2(e) : x fmulp // log2(e)*x fld %st // log2(e)*x : log2(e)*x + // Set round-to-nearest temporarily. + subl $8, %esp + cfi_adjust_cfa_offset (8) + fstcw 4(%esp) + movl $0xf3ff, %ecx + andl 4(%esp), %ecx + movl %ecx, (%esp) + fldcw (%esp) frndint // int(log2(e)*x) : log2(e)*x + fldcw 4(%esp) + addl $8, %esp + cfi_adjust_cfa_offset (-8) fsubr %st, %st(1) // int(log2(e)*x) : fract(log2(e)*x) fxch // fract(log2(e)*x) : int(log2(e)*x) f2xm1 // 2^fract(log2(e)*x)-1 : int(log2(e)*x) diff --git a/sysdeps/i386/fpu/w_sqrt.c b/sysdeps/i386/fpu/w_sqrt.c new file mode 100644 index 0000000000..19b5074179 --- /dev/null +++ b/sysdeps/i386/fpu/w_sqrt.c @@ -0,0 +1,8 @@ +/* The inline __ieee754_sqrt is not correctly rounding; it's OK for + most internal uses in glibc, but not for sqrt itself. */ +#define __ieee754_sqrt __avoid_ieee754_sqrt +#include <math.h> +#include <math_private.h> +#undef __ieee754_sqrt +extern double __ieee754_sqrt (double); +#include <math/w_sqrt.c> diff --git a/sysdeps/i386/i686/ffs.c b/sysdeps/i386/i686/ffs.c index 5c97050e87..cde1c99566 100644 --- a/sysdeps/i386/i686/ffs.c +++ b/sysdeps/i386/i686/ffs.c @@ -39,6 +39,7 @@ __ffs (x) return cnt + 1; } weak_alias (__ffs, ffs) +libc_hidden_def (__ffs) libc_hidden_builtin_def (ffs) #undef ffsl weak_alias (__ffs, ffsl) diff --git a/sysdeps/i386/i686/multiarch/Makefile b/sysdeps/i386/i686/multiarch/Makefile index 8946bfa586..55778cbcd1 100644 --- a/sysdeps/i386/i686/multiarch/Makefile +++ b/sysdeps/i386/i686/multiarch/Makefile @@ -11,7 +11,7 @@ sysdep_routines += bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 \ memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \ memset-sse2-rep bzero-sse2-rep strcmp-ssse3 \ strcmp-sse4 strncmp-c strncmp-ssse3 strncmp-sse4 \ - memcmp-ssse3 memcmp-sse4 strcasestr-nonascii varshift \ + memcmp-ssse3 memcmp-sse4 varshift \ strlen-sse2 strlen-sse2-bsf strncpy-c strcpy-ssse3 \ strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 strcpy-sse2 \ strncpy-sse2 stpcpy-sse2 stpncpy-sse2 strcat-ssse3 \ @@ -25,14 +25,11 @@ sysdep_routines += bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 \ strncase_l-c strncase-c strncase_l-ssse3 \ strcasecmp_l-sse4 strncase_l-sse4 ifeq (yes,$(config-cflags-sse4)) -sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c +sysdep_routines += strcspn-c strpbrk-c strspn-c CFLAGS-varshift.c += -msse4 CFLAGS-strcspn-c.c += -msse4 CFLAGS-strpbrk-c.c += -msse4 CFLAGS-strspn-c.c += -msse4 -CFLAGS-strstr.c += -msse4 -CFLAGS-strcasestr.c += -msse4 -CFLAGS-strcasestr-nonascii.c += -msse4 endif endif diff --git a/sysdeps/i386/i686/multiarch/ifunc-impl-list.c b/sysdeps/i386/i686/multiarch/ifunc-impl-list.c index 2c282bdb72..3a8d094c89 100644 --- a/sysdeps/i386/i686/multiarch/ifunc-impl-list.c +++ b/sysdeps/i386/i686/multiarch/ifunc-impl-list.c @@ -141,12 +141,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, IFUNC_IMPL_ADD (array, i, strcasecmp_l, 1, __strcasecmp_l_ia32)) - /* Support sysdeps/i386/i686/multiarch/strcasestr.c. */ - IFUNC_IMPL (i, name, strcasestr, - IFUNC_IMPL_ADD (array, i, strcasestr, HAS_SSE4_2, - __strcasestr_sse42) - IFUNC_IMPL_ADD (array, i, strcasestr, 1, __strcasestr_ia32)) - /* Support sysdeps/i386/i686/multiarch/strcat.S. */ IFUNC_IMPL (i, name, strcat, IFUNC_IMPL_ADD (array, i, strcat, HAS_SSSE3, __strcat_ssse3) @@ -234,11 +228,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, IFUNC_IMPL_ADD (array, i, strspn, HAS_SSE4_2, __strspn_sse42) IFUNC_IMPL_ADD (array, i, strspn, 1, __strspn_ia32)) - /* Support sysdeps/i386/i686/multiarch/strstr-c.c. */ - IFUNC_IMPL (i, name, strstr, - IFUNC_IMPL_ADD (array, i, strstr, HAS_SSE4_2, __strstr_sse42) - IFUNC_IMPL_ADD (array, i, strstr, 1, __strstr_ia32)) - /* Support sysdeps/i386/i686/multiarch/wcschr.S. */ IFUNC_IMPL (i, name, wcschr, IFUNC_IMPL_ADD (array, i, wcschr, HAS_SSE2, __wcschr_sse2) diff --git a/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c b/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c deleted file mode 100644 index 4cc4444f7e..0000000000 --- a/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <nmmintrin.h> -#include <sysdeps/x86_64/multiarch/strcasestr-nonascii.c> diff --git a/sysdeps/i386/i686/multiarch/strcasestr.c b/sysdeps/i386/i686/multiarch/strcasestr.c deleted file mode 100644 index 511bb29ede..0000000000 --- a/sysdeps/i386/i686/multiarch/strcasestr.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/x86_64/multiarch/strcasestr.c> diff --git a/sysdeps/i386/i686/multiarch/strstr-c.c b/sysdeps/i386/i686/multiarch/strstr-c.c deleted file mode 100644 index 7516c7ffee..0000000000 --- a/sysdeps/i386/i686/multiarch/strstr-c.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Multiple versions of strstr - All versions must be listed in ifunc-impl-list.c. */ - -#include "init-arch.h" - -#define STRSTR __strstr_ia32 -#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN -#undef libc_hidden_builtin_def -#define libc_hidden_builtin_def(name) \ - __hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32); -#endif - -/* Redefine strstr so that the compiler won't complain about the type - mismatch with the IFUNC selector in strong_alias, below. */ -#undef strstr -#define strstr __redirect_strstr - -#include "string/strstr.c" - -extern __typeof (__redirect_strstr) __strstr_sse42 attribute_hidden; -extern __typeof (__redirect_strstr) __strstr_ia32 attribute_hidden; - -/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle - ifunc symbol properly. */ -extern __typeof (__redirect_strstr) __libc_strstr; -libc_ifunc (__libc_strstr, HAS_SSE4_2 ? __strstr_sse42 : __strstr_ia32) - -#undef strstr -strong_alias (__libc_strstr, strstr) diff --git a/sysdeps/i386/i686/multiarch/strstr.c b/sysdeps/i386/i686/multiarch/strstr.c deleted file mode 100644 index a97428c125..0000000000 --- a/sysdeps/i386/i686/multiarch/strstr.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/x86_64/multiarch/strstr.c> diff --git a/sysdeps/i386/stackguard-macros.h b/sysdeps/i386/stackguard-macros.h index 8c31e197e1..039762927c 100644 --- a/sysdeps/i386/stackguard-macros.h +++ b/sysdeps/i386/stackguard-macros.h @@ -2,3 +2,11 @@ #define STACK_CHK_GUARD \ ({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; }) + +#define POINTER_CHK_GUARD \ + ({ \ + uintptr_t x; \ + asm ("movl %%gs:%c1, %0" : "=r" (x) \ + : "i" (offsetof (tcbhead_t, pointer_guard))); \ + x; \ + }) |